{"data":[{"id":"70d003c5-0c94-4261-bebd-b93a57e652d4","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\":\"visual_proof\",\"deadlineAt\":\"2026-08-05T03:47:33.787242+00:00\",\"recoveryAction\":\"reconcile_release\"},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":4015,\"sourceSha\":\"29745644693d268d0c415ee381932a6e3aec5366\",\"deploymentId\":\"canonical-release-29745644693d\"}"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-10-03T10:25:37.581011+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:6adad9b3-2092-4b0c-880b-0e22841e6f06:owner-progress-heartbeat:119401541","mission_step_id":"2f14279e-adc0-4559-b168-a91817c7f94c","command_center_event_id":"6adad9b3-2092-4b0c-880b-0e22841e6f06"},{"id":"70d12136-1fca-4ca0-bf60-2b9b0d1ef9e6","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-902cb5058d19","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":2095,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-09-24T20:46:06.878Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.261-nonvisual-proof-precedence","prNumber":null,"terminal":false,"missionId":"902cb505-8d19-4a02-9c78-88ecaefc1ef4","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1162,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":323,"providerAuthMs":0,"ledgerPrepareMs":323,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":323,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":323,"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":"902cb505-8d19-4a02-9c78-88ecaefc1ef4"},"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":3656,"likelyAffectedFiles":["scripts/visual-witness-hosted-runner/test/lease-and-diagnostic-contract.test.mjs"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T20:46:06.922207+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:902cb505-8d19-4a02-9c78-88ecaefc1ef4:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"1630534f-388b-4152-a24a-93ea597f5f34","command_center_event_id":"902cb505-8d19-4a02-9c78-88ecaefc1ef4"},{"id":"70d1b0d1-8670-4a59-9b0b-d0406d4d9847","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/frontend-release-config-hydration","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":3210,"terminal":false,"missionId":"e1e0661c-0f97-4246-9254-bb28e5600473","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":10316,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":1084,"missionSetupMs":341,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":341,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":341,"repositoryMutationMs":9232,"repositoryProviderMs":9232,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":3609,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":341,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":5623},"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":"e1e0661c-0f97-4246-9254-bb28e5600473"},"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":3118,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-19T13:45:56.449723+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3210","receipt_type":"execute_mission","idempotency_key":"mission:e1e0661c-0f97-4246-9254-bb28e5600473:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"a2975754-1426-4bd0-b9a0-7fe872e628db","command_center_event_id":"e1e0661c-0f97-4246-9254-bb28e5600473"},{"id":"70d2aeba-aed9-4c7b-893e-598c77c9d8b0","source":"owner_authorized_full_backlog_cleanup","status":"recorded","payload":{"category":"platform_reliability","disposition":"superseded_execution_attempt","previousStatus":"blocked","sourcePreserved":true,"noCompletionClaim":true,"recoveryPortfolioId":"6eb26921-1579-51d6-318e-98f625550bfa"},"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:7cbb6947-42c0-483b-ad3b-9b100a6812bc","mission_step_id":null,"command_center_event_id":"7cbb6947-42c0-483b-ad3b-9b100a6812bc"},{"id":"70d469f4-5529-4a74-bb8e-662a3b5c74f5","source":"forgejo-runtime","status":"pending","payload":{"mainSha":"1c85c52ff2a4def5744f5f3cd090fef56700597b","sourceSha":"1c13b2680498c868453f30e1852a19f01ca5267d","sourceInMain":false,"compareStatus":"ancestry_read_retryable","ancestryProofResolved":false},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T22:30:04.18416+00:00","proof_gate":"canonical_release_ancestry_pending","source_sha":"1c13b2680498c868453f30e1852a19f01ca5267d","external_id":"canonical-release-1c13b2680498","receipt_type":"canonical_release_status","idempotency_key":"mission:0acc3e64-04d0-4fe4-a2ac-f81e2decf36f:forgejo-release-ancestry:1c13b2680498c868453f30e1852a19f01ca5267d:1c85c52ff2a4def5744f5f3cd090fef56700597b:ancestry_read_retryable","mission_step_id":"3aef0fb1-f869-4c12-9d8a-58eb2eace757","command_center_event_id":"0acc3e64-04d0-4fe4-a2ac-f81e2decf36f"},{"id":"70d498e3-5841-4ae7-ae0b-3cff503dec0d","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"67c764a7953a1224aa13b63b311a6b63a494fb54","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":false,"statement":"Repair the live Tennex Tax Solutions workspace at https://app.knocklaunch.app/tennex-tax-solutions/workspace. Current owner screenshot shows only the global search/header, tenant badge, Demo data pill and GodMode pill over an otherwise blank dark viewport. The Tennex workspace must not render blank. Restore the intended Tennex MODES/workspace landing experience and tenant shell, preserving GodMode projection/demo controls, tenant branding, avatar, and route authority. Diagnose the exact current-main/runtime regression, make the smallest safe repair from current main, run relevant Tennex/tenant-shell contracts, Gate, squash merge, release the affected frontend, and verify the exact production route on desktop and mobile with authenticated visual witness. Do not stop at PR/merge/deploy; terminal success requires live claim-matched proof that visible Tennex workspace content renders and is usable.","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 requested tenant. Do not import another tenant's logo, colors, imagery, copy, shell, customer data, business facts, or visual identity unless explicitly requested.","proofConditionIds":["proof-production","proof-visual"]},{"id":"visual-viewport-authority","satisfied":false,"statement":"The requested mobile viewport/form factor is authoritative. Do not create a mixed-device composite or add another viewport unless explicitly requested.","proofConditionIds":["proof-production","proof-visual"]},{"id":"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":"cbfff5b42b32f17df045f0127a21261d18af95d7654d71c14898e9ae4af5f9cf","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":"cbfff5b42b32f17df045f0127a21261d18af95d7654d71c14898e9ae4af5f9cf"},"required":true,"satisfied":true},{"id":"proof-visual","kind":"visual","evidence":{"modeBound":true,"claimBound":true,"routeBound":true,"witnessMode":"observe","witnessRoute":"https://app.knocklaunch.app/tennex-tax-solutions/workspace","currentSourceSha":"67c764a7953a1224aa13b63b311a6b63a494fb54","witnessSourceSha":"67c764a7953a1224aa13b63b311a6b63a494fb54","verificationState":null,"witnessRequestContractHash":"cbfff5b42b32f17df045f0127a21261d18af95d7654d71c14898e9ae4af5f9cf"},"required":true,"satisfied":false}],"validationErrors":[],"pendingProofKinds":["visual"],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T19:34:58.800229+00:00","proof_gate":"request_contract_pending","source_sha":"67c764a7953a1224aa13b63b311a6b63a494fb54","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:898167bc-be03-48c1-839c-aeda4a18fb5f:request-contract:cbfff5b42b32f17df045f0127a21261d18af95d7654d71c14898e9ae4af5f9cf:67c764a7953a1224aa13b63b311a6b63a494fb54:pending:visual","mission_step_id":"8f85ca59-d331-4021-9fc3-fa5987ce7b57","command_center_event_id":"898167bc-be03-48c1-839c-aeda4a18fb5f"},{"id":"70d522ee-af7f-4cf6-a6a7-7354902b9c18","source":"forgejo","status":"waiting","payload":{"branch":"ai/clean-legacy-tenant-media","prNumber":1888,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"dfbd8343352ab6f987cbedb3950e015aec85d1af","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-05T23:42:05.466175+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"dfbd8343352ab6f987cbedb3950e015aec85d1af","external_id":"1888","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:39cdbf8a-6321-4b83-b23a-f4230bdd9d82:merged-pr:1888:dfbd8343352ab6f987cbedb3950e015aec85d1af","mission_step_id":"30c2f41b-c8c0-4cac-bad7-5a9944077966","command_center_event_id":"39cdbf8a-6321-4b83-b23a-f4230bdd9d82"},{"id":"70d7c470-1037-4ea2-a8b9-332ff16c072c","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-8a9fdfd24833","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":8733,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":0,"executorlessWaitMs":22019,"firstUsefulResultAt":"2026-10-03T23:02:15.900Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.89-paul-continuation-receipt-scope","prNumber":4686,"terminal":false,"missionId":"8a9fdfd2-4833-4cae-8bb4-15b09fd5ec65","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4717,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":798,"missionSetupMs":255,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":255,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":255,"repositoryMutationMs":3919,"repositoryProviderMs":3919,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2458,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":255,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1461},"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":"8a9fdfd2-4833-4cae-8bb4-15b09fd5ec65"},"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":3749,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T23:02:44.74996+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"4686","receipt_type":"execute_mission","idempotency_key":"mission:8a9fdfd2-4833-4cae-8bb4-15b09fd5ec65:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"357d3b9f-e5ad-45a3-aa85-bbe38d3b03b1","command_center_event_id":"8a9fdfd2-4833-4cae-8bb4-15b09fd5ec65"},{"id":"70d8ea84-2d2a-41b8-8895-6ba5af61de03","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":null,"reason":"existing_branch_without_open_pr_branch_diverged_or_unproven:ai/fix-canonical-notification-destination","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.120-synthesis-fast-read","prNumber":null,"terminal":false,"missionId":"d71daa92-5275-4f0f-9e52-51c4ebe83007","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":8506,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":307,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":307,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":307,"repositoryMutationMs":8506,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":307,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"d71daa92-5275-4f0f-9e52-51c4ebe83007"},"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":1586,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T23:49:53.816501+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:d71daa92-5275-4f0f-9e52-51c4ebe83007:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"4db58778-e875-4606-af69-06cc2ce3be70","command_center_event_id":"d71daa92-5275-4f0f-9e52-51c4ebe83007"},{"id":"70d971d1-2c61-4f17-b3aa-c922427015d9","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/fix-big-papis-weather-rate-limit-20260830","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":9776,"releaseCount":0,"toolCallCount":5,"repeatedCallCount":1,"ownerInterruptionCount":0},"version":"1.56.3-source-scope-boundary","prNumber":1120,"terminal":false,"missionId":"db95de62-3636-4edb-a473-4fd0a608007e","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"handlerMs":1886,"prReadinessMs":1517,"approvedPlanMs":0,"missionSetupMs":1204,"shipAndProveMs":0},"nextAction":"Reconcile this same mission and pull request after the exact-head KnockLaunch Gate changes state.","receiptRef":{"mode":"full","missionId":"db95de62-3636-4edb-a473-4fd0a608007e"},"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":6054,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-30T18:15:07.989665+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"1120","receipt_type":"execute_mission","idempotency_key":"mission:db95de62-3636-4edb-a473-4fd0a608007e:execute_mission:repair_mission_waiting_for_gate:current-generation","mission_step_id":"f7c98f2c-d8c9-4dc0-9e29-8cc633b43ad3","command_center_event_id":"db95de62-3636-4edb-a473-4fd0a608007e"},{"id":"70da432b-e4be-4101-ad49-d9c080c82ec1","source":"cc-execution","status":"waiting","payload":{"body":{"body":"Route prestigiouscardgrading.com into the existing PCG public site while keeping the internal PCG route available as the editable build preview. Show a premium Under Construction state only on the new public host.","ship":true,"files":[],"title":"PCG public construction gate","branch":"ai/objective-first-repair-49d0f6ca786e","writes":[],"patches":[],"version":1,"approved":true,"missionId":"49d0f6ca-786e-4667-ae20-1b26f91c834a","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/PublicAppShell.tsx","src/pages/card-grading/PCGPublicSite.tsx"],"anchored_edits":[{"path":"src/PublicAppShell.tsx","new_content":"  const isPcgCustomHost = new Set(['prestigiouscardgrading.com', 'www.prestigiouscardgrading.com']).has(hostname);\n  const isPcgPublicSite = isPcgCustomHost || normalizedPath.toLowerCase() === '/prestigious-card-grading' || normalizedPath.toLowerCase().startsWith('/prestigious-card-grading/');","old_content":"  const isPcgPublicSite = normalizedPath.toLowerCase() === '/prestigious-card-grading' || normalizedPath.toLowerCase().startsWith('/prestigious-card-grading/');"},{"path":"src/pages/card-grading/PCGPublicSite.tsx","new_content":"const PCG_PUBLIC_HOSTS=new Set(['pcgslab.com','www.pcgslab.com','prestigeouscardgrading.com','www.prestigeouscardgrading.com','prestigiouscardgrading.com','www.prestigiouscardgrading.com']);","old_content":"const PCG_PUBLIC_HOSTS=new Set(['pcgslab.com','www.pcgslab.com','prestigeouscardgrading.com','www.prestigeouscardgrading.com']);"},{"path":"src/pages/card-grading/PCGPublicSite.tsx","new_content":"export default function PCGPublicSite({page='home'}:{page?:PCGPublicPage}){\n  const hostname=typeof window==='undefined'?'':window.location.hostname.toLowerCase();\n  const isConstructionHost=hostname==='prestigiouscardgrading.com'||hostname==='www.prestigiouscardgrading.com';\n  const[profile,setProfile]=useState<Profile|null>(null);const[featured,setFeatured]=useState<Card[]>([]);const[loading,setLoading]=useState(true);\n  if(isConstructionHost)return <main className=\"relative grid min-h-[100dvh] place-items-center overflow-hidden bg-[#050505] px-6 py-12 text-white\"><img src={FALLBACK_BACKGROUND} alt=\"\" aria-hidden=\"true\" className=\"absolute inset-0 h-full w-full object-cover opacity-20\"/><div className=\"absolute inset-0 bg-[radial-gradient(circle_at_top,rgba(228,199,127,.16),transparent_42%),linear-gradient(180deg,rgba(5,5,5,.72),#050505_78%)]\"/><section className=\"relative z-10 mx-auto w-full max-w-3xl text-center\"><img src={FALLBACK_LOGO} alt=\"Prestigious Card Grading\" className=\"mx-auto h-auto max-h-40 w-auto max-w-[min(78vw,420px)] object-contain\"/><p className=\"mt-10 text-xs font-black uppercase tracking-[.28em] text-[#e4c77f]\">Prestigious Card Grading</p><h1 className=\"mt-4 text-4xl font-black tracking-[-.04em] sm:text-6xl\">Under Construction</h1><p className=\"mx-auto mt-5 max-w-xl text-sm leading-7 text-white/60 sm:text-base\">We’re building a new home for PCG. Card grading, certification verification, submissions, population reporting, and collector tools are being brought together here.</p><div className=\"mx-auto mt-8 h-px w-24 bg-[#e4c77f]/50\"/><p className=\"mt-6 text-xs font-bold uppercase tracking-[.16em] text-white/40\">Coming soon</p></section></main>;","old_content":"export default function PCGPublicSite({page='home'}:{page?:PCGPublicPage}){\n  const[profile,setProfile]=useState<Profile|null>(null);const[featured,setFeatured]=useState<Card[]>([]);const[loading,setLoading]=useState(true);"}],"commit_message":"feat(pcg): add editable public construction gate","implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"49d0f6ca-786e-4667-ae20-1b26f91c834a","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/PublicAppShell.tsx","src/pages/card-grading/PCGPublicSite.tsx"],"requestContract":null,"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":"Prime structured exact mutation continuation"},"proofRequirements":null,"controlPlaneUnfreeze":true,"durableMutationResume":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":"Prime structured exact mutation continuation"},"recovery":false,"fingerprint":"28e916b9506fab8bc74f88cf3edffb08c12f35d0d7ec3c8b9634cf52939b659c","replayCount":0,"serializedBytes":4451},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-10-04T09:29:41.865569+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:49d0f6ca-786e-4667-ae20-1b26f91c834a:repository-mutation-intent:28e916b9506fab8bc74f88cf3edffb08c12f35d0d7ec3c8b9634cf52939b659c:0","mission_step_id":"5d3017d7-ff62-49eb-aba9-b476de78de3e","command_center_event_id":"49d0f6ca-786e-4667-ae20-1b26f91c834a"},{"id":"70da976c-55f3-49f0-a8ae-b24afdc1510e","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-bd3d1029801f","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":26755,"releaseCount":0,"toolCallCount":13,"repeatedCallCount":7,"executorlessWaitMs":1138006,"firstUsefulResultAt":"2026-09-28T19:48:37.740Z","recoveryAttemptCount":3,"ownerInterruptionCount":0},"version":null,"prNumber":4041,"terminal":false,"missionId":"bd3d1029-801f-41f6-9274-b54db51e46fb","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":5453,"approvedPlanMs":0,"shipAndProveMs":0,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"bd3d1029-801f-41f6-9274-b54db51e46fb"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":819,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T20:07:35.970744+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4041","receipt_type":"automatic_mission_resume","idempotency_key":"mission:bd3d1029-801f-41f6-9274-b54db51e46fb:automatic-mission-resume:4041:repair_mission_pr_ready_retryable","mission_step_id":"1de3b85c-993e-40cf-94a3-425cf176b1e8","command_center_event_id":"bd3d1029-801f-41f6-9274-b54db51e46fb"},{"id":"70e0a2d1-f70d-4256-8e55-0399b127564d","source":"cc-execution","status":"waiting","payload":{"sourceTargets":[],"continuationObjective":"Harden only src/components/routing/TenantRouteFailureSurface.tsx so arbitrary caller-provided title/message text cannot expose raw provider, Supabase, Edge Function, HTTP, auth credential, stack, URL, or exception details to tenant users. Preserve current calm defaults, deterministic reference IDs, toast deduplication, Retry/Back/Workspace actions, and tenant isolation. Add a focused unit contract for the sanitization behavior. Gate, squash merge, frontend release, and verify."},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T10:33:10.23307+00:00","proof_gate":"mission_continuation_scope_persisted","source_sha":null,"external_id":null,"receipt_type":"mission_continuation_scope_updated","idempotency_key":"mission:b25725fa-4e70-4257-9bee-5c0654b26ebb:mission_continuation_scope_updated:mission_continuation_scope_persisted:waiting","mission_step_id":"16dd6fa3-4ebd-4dbe-95ca-4540597c9d52","command_center_event_id":"b25725fa-4e70-4257-9bee-5c0654b26ebb"},{"id":"70e10b72-2643-4c69-9b14-dbb66204c5a0","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[{"path":"src/lib/tenantBackground.ts","content":"import { CANONICAL_BACKGROUND_TOKEN } from '@/lib/siteDesignSettings';\nimport { resolveTenantMediaBranding } from '@/lib/tenants/tenantMediaBranding';\n\ntype UnknownRecord = Record<string, unknown>;\n\nexport const ACTIVE_TENANT_BACKGROUND_KEY = 'active_tenant_background';\nexport const TENANT_BACKGROUND_CACHE_PREFIX = `${ACTIVE_TENANT_BACKGROUND_KEY}:`;\nexport const TENANT_BACKGROUND_CACHE_EVENT = 'knocklaunch:tenant-background-cache';\n\nfunction firstString(...values: unknown[]): string | null {\n  for (const value of values) {\n    if (typeof value === 'string' && value.trim()) return value.trim();\n  }\n  return null;\n}\n\nfunction validBackgroundUrl(value: string | null | undefined): string | null {\n  if (!value || value === CANONICAL_BACKGROUND_TOKEN) return null;\n  if (/^(https?:|data:(?:image|video)\\/|blob:|\\/)/i.test(value)) return value;\n  return null;\n}\n\nfunction objectValue(value: unknown): UnknownRecord {\n  return value && typeof value === 'object' && !Array.isArray(value) ? (value as UnknownRecord) : {};\n}\n\nfunction normalizeTenantSlug(value: string | null | undefined): string {\n  return String(value || '').trim().toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/^-+|-+$/g, '');\n}\n\nfunction isLegacyMsLawnBarberCachedBackground(value: string | null, tenantSlug: string): boolean {\n  return normalizeTenantSlug(tenantSlug) === 'ms-lawn-barber' && /^data:image\\/avif;base64,/i.test(value || '');\n}\n\nfunction tenantSlugForCache(tenantRecord: UnknownRecord): string {\n  return normalizeTenantSlug(firstString(\n    tenantRecord.company_slug,\n    tenantRecord.slug,\n    tenantRecord.company_dba_name,\n    tenantRecord.company_legal_name,\n    tenantRecord.name,\n    tenantRecord.id,\n  ));\n}\n\nexport function tenantBackgroundCacheKey(tenantSlug: string | null | undefined): string {\n  const slug = normalizeTenantSlug(tenantSlug);\n  return slug ? `${TENANT_BACKGROUND_CACHE_PREFIX}${slug}` : '';\n}\n\nfunction readTenantScopedCachedBackgroundUrl(tenantRecord: UnknownRecord): string | null {\n  if (typeof window === 'undefined') return null;\n  try {\n    const activeTenantSlug = normalizeTenantSlug(window.localStorage.getItem('active_tenant_slug'));\n    const tenantSlug = tenantSlugForCache(tenantRecord);\n    if (!activeTenantSlug || !tenantSlug || activeTenantSlug !== tenantSlug) return null;\n    const key = tenantBackgroundCacheKey(tenantSlug);\n    if (!key) return null;\n    const cached = validBackgroundUrl(window.localStorage.getItem(key));\n    if (isLegacyMsLawnBarberCachedBackground(cached, tenantSlug)) {\n      window.localStorage.removeItem(key);\n      return null;\n    }\n    return cached;\n  } catch {\n    return null;\n  }\n}\n\nexport function isTenantBackgroundVideoUrl(value: string): boolean {\n  return /\\.(mp4|webm|ogg)(?:[?#].*)?$/i.test(value) || /^data:video\\//i.test(value);\n}\n\nexport function resolveTenantBackgroundUrl(tenant: unknown): string | null {\n  const canonicalMedia = resolveTenantMediaBranding(tenant as any);\n  const tenantRecord = objectValue(tenant);\n  const settings = objectValue(tenantRecord.settings);\n  const branding = objectValue(settings.branding);\n  const siteDesign = objectValue(settings.siteDesign);\n  const background = objectValue(settings.background);\n  const explicitBackground = validBackgroundUrl(\n    firstString(\n      canonicalMedia.backgroundUrl,\n      canonicalMedia.featuredVideoUrl,\n      tenantRecord.company_background_url,\n      tenantRecord.background_image_url,\n      tenantRecord.site_background_url,\n      tenantRecord.hero_background_url,\n      tenantRecord.login_background_url,\n      settings.backgroundImageUrl,\n      settings.background_image_url,\n      settings.site_background_url,\n      settings.hero_background_url,\n      settings.login_background_url,\n      branding.backgroundImageUrl,\n      branding.background_image_url,\n      branding.site_background_url,\n      siteDesign.backgroundImageUrl,\n      siteDesign.background_image_url,\n      background.imageUrl,\n      background.image_url,\n      background.url,\n    ),\n  );\n\n  return explicitBackground || readTenantScopedCachedBackgroundUrl(tenantRecord);\n}\n\nexport function readCachedTenantBackgroundUrl(): string {\n  if (typeof window === 'undefined') return '';\n  try {\n    const tenantSlug = normalizeTenantSlug(window.localStorage.getItem('active_tenant_slug'));\n    const key = tenantBackgroundCacheKey(tenantSlug);\n    window.localStorage.removeItem(ACTIVE_TENANT_BACKGROUND_KEY);\n    if (!key) return '';\n    const cached = validBackgroundUrl(window.localStorage.getItem(key));\n    if (isLegacyMsLawnBarberCachedBackground(cached, tenantSlug)) {\n      window.localStorage.removeItem(key);\n      return '';\n    }\n    return cached || '';\n  } catch {\n    return '';\n  }\n}\n\nexport function persistCachedTenantBackground(tenant: unknown): string {\n  const tenantRecord = objectValue(tenant);\n  const tenantSlug = tenantSlugForCache(tenantRecord);\n  const settings = objectValue(tenantRecord.settings);\n  const canonicalMedia = resolveTenantMediaBranding(tenant as any);\n  const explicitBackground = validBackgroundUrl(firstString(\n    canonicalMedia.backgroundUrl,\n    canonicalMedia.featuredVideoUrl,\n    tenantRecord.company_background_url,\n    tenantRecord.background_image_url,\n    tenantRecord.site_background_url,\n    tenantRecord.hero_background_url,\n    tenantRecord.login_background_url,\n    settings.backgroundImageUrl,\n    settings.background_image_url,\n    settings.site_background_url,\n    settings.hero_background_url,\n    settings.login_background_url,\n  )) || '';\n  if (typeof window === 'undefined') return explicitBackground;\n  try {\n    window.localStorage.removeItem(ACTIVE_TENANT_BACKGROUND_KEY);\n    const key = tenantBackgroundCacheKey(tenantSlug);\n    if (key) {\n      if (explicitBackground) window.localStorage.setItem(key, explicitBackground);\n      else window.localStorage.removeItem(key);\n    }\n    window.dispatchEvent(new CustomEvent(TENANT_BACKGROUND_CACHE_EVENT, { detail: explicitBackground }));\n  } catch {\n    // Storage may be unavailable in privacy-restricted contexts.\n  }\n  return explicitBackground;\n}\n\nexport function clearCachedTenantBackground(): void {\n  if (typeof window === 'undefined') return;\n  try {\n    const tenantSlug = normalizeTenantSlug(window.localStorage.getItem('active_tenant_slug'));\n    const key = tenantBackgroundCacheKey(tenantSlug);\n    if (key) window.localStorage.removeItem(key);\n    window.localStorage.removeItem(ACTIVE_TENANT_BACKGROUND_KEY);\n    window.dispatchEvent(new CustomEvent(TENANT_BACKGROUND_CACHE_EVENT, { detail: '' }));\n  } catch {\n    // Storage may be unavailable in privacy-restricted contexts.\n  }\n}\n"},{"path":"src/shells/modesTenantShell.ts","content":"import {\n  applyTenantExperienceFamily,\n  tenantExperienceFamily,\n  type TenantExperienceFamily,\n} from '@/lib/tenants/tenantExperienceFamily';\nimport { getTenantApplicationByReference, isTenantApplicationSupported } from '@/config/applicationCapabilityRegistry';\nimport { getSafeConfiguredTenantRoute, getTenantDashboardPathForTenant } from '@/lib/tenantUtils';\n\nexport { applyTenantExperienceFamily, tenantExperienceFamily, type TenantExperienceFamily } from '@/lib/tenants/tenantExperienceFamily';\nexport const MODES_TENANT_SHELL_KEY = 'MODES' as const;\nexport const MODES_EXPERIENCE_FAMILY = 'modes' as const;\n\nexport interface TenantModeCardConfig {\n  key: string;\n  title: string;\n  canonical_title?: string;\n  subtitle?: string;\n  headline?: string;\n  color?: string;\n  route?: string;\n  roles?: readonly string[];\n  primary_applications?: readonly string[];\n  storage_slug?: string;\n  image_asset_id?: string | null;\n  image_url?: string | null;\n  fallback_image_url?: string | null;\n  default_image_key?: string | null;\n  default_image_url?: string | null;\n  image_source?: string | null;\n  image_position_x?: number;\n  image_position_y?: number;\n  image_zoom?: number;\n  image_opacity?: number;\n  image_blur_px?: number;\n}\n\nexport interface TenantModeApplicationConfig {\n  key: string;\n  title: string;\n  description: string;\n  route: string;\n  score: number;\n}\n\nexport const MODES_TENANT_SHELL_TEMPLATE = {\n  key: MODES_TENANT_SHELL_KEY,\n  label: 'Mode Cards',\n  description: 'Daily role-aware operating modes presented as premium tenant cards.',\n  modeDriven: true,\n  mediaPrefix: 'media/modes/<mode-slug>/',\n  profileSections: ['MODE_CARD_IMAGE_UPLOADS'] as const,\n} as const;\n\nconst MODE_COLORS = ['#67d7ff', '#68e0a8', '#f1bf72', '#b9a0ff'] as const;\nexport const MODE_DEFAULT_MEDIA_CONTRACT = 'MODE_DEFAULT_MEDIA_V2' as const;\nexport const MODES_TENANT_CAPABILITY_CONTRACT = 'MODES_TENANT_V1' as const;\nexport const MODE_NAME_CANONICAL_CONTRACT = 'MODE_NAME_CANONICAL_V1' as const;\nexport type ModeDefaultImageKey = 'operations' | 'planning' | 'growth' | 'financials' | 'back-office' | 'field' | 'rentals' | 'events' | 'activations' | 'vendors';\nexport const MODE_DEFAULT_IMAGE_KEYS: readonly ModeDefaultImageKey[] = ['operations', 'planning', 'growth', 'financials', 'back-office', 'field', 'rentals', 'events', 'activations', 'vendors'];\nconst MODE_DEFAULT_ALIASES: Record<string, ModeDefaultImageKey> = {operations:'operations',operation:'operations',command:'operations',today:'operations',work:'operations','work-queue':'operations',jobs:'operations',job:'operations',team:'operations',overview:'operations',focus:'operations',planning:'planning',plan:'planning',schedule:'planning',calendar:'planning',prep:'planning',prepare:'planning',growth:'growth',opportunity:'growth',opportunities:'growth',pipeline:'growth',sales:'growth',customers:'growth',customer:'growth','follow-up':'growth',followup:'growth',financials:'financials',financial:'financials',finance:'financials',money:'financials',performance:'financials',reports:'financials',analytics:'financials','back-office':'back-office',backoffice:'back-office',office:'back-office',admin:'back-office',administration:'back-office',documents:'back-office',document:'back-office',field:'field',popup:'field','pop-up':'field','on-site':'field',onsite:'field',rentals:'rentals',rental:'rentals',events:'events',event:'events','booked-event':'events',activations:'activations',activation:'activations',vendors:'vendors',vendor:'vendors'};\n\nexport function modesCardOverlayBackground(color: string): string {\n  const accent = String(color || '#ffffff').trim() || '#ffffff';\n  return `radial-gradient(circle at 50% 10%, rgba(255,255,255,.08), transparent 38%), linear-gradient(180deg, rgba(2,7,13,0) 0%, rgba(2,7,13,.02) 32%, rgba(2,7,13,.10) 56%, rgba(2,7,13,.32) 79%, rgba(2,7,13,.58) 100%), linear-gradient(135deg, ${accent}22 0%, transparent 46%)`;\n}\n\nfunction record(value: unknown): Record<string, any> {\n  return value && typeof value === 'object' && !Array.isArray(value) ? value as Record<string, any> : {};\n}\n\nfunction strings(value: unknown): string[] {\n  return Array.isArray(value) ? value.map((entry) => String(entry || '').trim()).filter(Boolean) : [];\n}\n\nfunction firstString(...values: unknown[]): string | undefined {\n  for (const value of values) {\n    const normalized = String(value || '').trim();\n    if (normalized) return normalized;\n  }\n  return undefined;\n}\n\nfunction imagePositionPercent(value: unknown): number | undefined {\n  if (value === null || value === undefined || value === '') return undefined;\n  const numeric = Number(value);\n  if (!Number.isFinite(numeric)) return undefined;\n  return Math.max(0, Math.min(100, numeric));\n}\n\nexport function modeToken(value: unknown): string {\n  return String(value || '').trim().toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/^-+|-+$/g, '').slice(0, 80);\n}\n\nexport function canonicalizeTenantModeCards(cards: readonly TenantModeCardConfig[]): TenantModeCardConfig[] {\n  const seenKeys = new Set<string>();\n  const seenTitles = new Set<string>();\n  const canonical: TenantModeCardConfig[] = [];\n  for (const card of cards) {\n    const key = modeToken(card.key || card.title);\n    const title = String(card.canonical_title || card.title || '').trim();\n    const titleIdentity = modeToken(title);\n    if (!key || !title || !titleIdentity || seenKeys.has(key) || seenTitles.has(titleIdentity)) return [];\n    seenKeys.add(key);\n    seenTitles.add(titleIdentity);\n    canonical.push({ ...card, key, title, canonical_title: title, storage_slug: modeToken(card.storage_slug || key) || key });\n  }\n  return canonical;\n}\n\ntype TenantTypeModePreset = Pick<TenantModeCardConfig, 'title' | 'subtitle' | 'headline' | 'primary_applications'>;\ntype TenantModeApplicationPresentation = Pick<TenantModeApplicationConfig, 'title' | 'description'>;\n\nconst EVENT_RENTAL_MODE_SHELL_PRESET: Record<string, TenantTypeModePreset> = {\n  plan: { title: 'Bookings', headline: 'Turn inquiries into reserved dates', subtitle: 'Availability, quotes, agreements, deposits & calendar', primary_applications: ['booking', 'rental-inventory', 'calendar', 'proposals', 'payments'] },\n  planning: { title: 'Bookings', headline: 'Turn inquiries into reserved dates', subtitle: 'Availability, quotes, agreements, deposits & calendar', primary_applications: ['booking', 'rental-inventory', 'calendar', 'proposals', 'payments'] },\n  booking: { title: 'Prep & Loadout', headline: 'Get every rental ready to roll', subtitle: 'Rental prep, loadout, delivery prep & tasks', primary_applications: ['event-rental-operations', 'rental-inventory', 'tasks', 'documents', 'calendar'] },\n  'pop-up': { title: 'Prep & Loadout', headline: 'Get every rental ready to roll', subtitle: 'Rental prep, loadout, delivery prep & tasks', primary_applications: ['event-rental-operations', 'rental-inventory', 'tasks', 'documents', 'calendar'] },\n  operations: { title: 'Delivery & Pickup', headline: 'Run the rental from delivery through return', subtitle: 'Delivery, setup, active rental, pickup & closeout', primary_applications: ['event-rental-operations', 'calendar', 'contacts', 'communications', 'forms'] },\n  'booked-event': { title: 'Delivery & Pickup', headline: 'Run the rental from delivery through return', subtitle: 'Delivery, setup, active rental, pickup & closeout', primary_applications: ['event-rental-operations', 'calendar', 'contacts', 'communications', 'forms'] },\n  events: { title: 'Delivery & Pickup', headline: 'Run the rental from delivery through return', subtitle: 'Delivery, setup, active rental, pickup & closeout', primary_applications: ['event-rental-operations', 'calendar', 'contacts', 'communications', 'forms'] },\n  'back-office': { title: 'Back Office', headline: 'Keep the rental business tight behind the scenes', subtitle: 'Customers, invoices, payments, documents & reporting', primary_applications: ['contacts', 'invoices', 'payments', 'documents', 'analytics'] },\n  financials: { title: 'Back Office', headline: 'Keep the rental business tight behind the scenes', subtitle: 'Customers, invoices, payments, documents & reporting', primary_applications: ['contacts', 'invoices', 'payments', 'documents', 'analytics'] },\n};\n\nconst EVENT_RENTAL_BOOKING_APPLICATIONS: Readonly<Record<string, TenantModeApplicationPresentation>> = {\n  booking: { title: 'Booking Board', description: 'Review inquiries, reserve dates, and move each rental toward confirmation.' },\n  'rental-inventory': { title: 'Rental Inventory & Availability', description: 'Check real gear availability and conflicts before promising a date.' },\n  calendar: { title: 'Event Calendar', description: 'See reserved dates, delivery windows, pickups, and event timing.' },\n  proposals: { title: 'Quotes & Agreements', description: 'Build the quote, agreement, and rental terms for approval.' },\n  payments: { title: 'Deposits & Balances', description: 'Track deposits, remaining balances, and payment status.' },\n};\n\nconst EVENT_RENTAL_PREP_APPLICATIONS: Readonly<Record<string, TenantModeApplicationPresentation>> = {\n  'event-rental-operations': { title: 'Loadout Board', description: 'Build the loadout and move each rental through prep.' },\n  'rental-inventory': { title: 'Rental Inventory', description: 'Confirm quantities, condition, and what is actually going on the truck.' },\n  tasks: { title: 'Prep Checklist', description: 'Keep cleaning, staging, packing, and final checks together.' },\n  documents: { title: 'Event Documents', description: 'Keep venue notes, agreements, photos, and rental paperwork with the event.' },\n  calendar: { title: 'Delivery Schedule', description: 'See prep deadlines and upcoming delivery windows.' },\n};\n\nconst EVENT_RENTAL_DELIVERY_APPLICATIONS: Readonly<Record<string, TenantModeApplicationPresentation>> = {\n  'event-rental-operations': { title: 'Event Run Sheet', description: 'Run delivery, setup, active rental, teardown, pickup, and return inspection.' },\n  calendar: { title: 'Delivery Schedule', description: 'See delivery, setup, pickup, and timing at a glance.' },\n  contacts: { title: 'Customer & Venue', description: 'Keep the renter, venue, site contact, and delivery details together.' },\n  communications: { title: 'Messages', description: 'Handle event-specific customer and crew communication.' },\n  forms: { title: 'Setup & Return Forms', description: 'Capture setup proof, condition notes, signatures, and return checks.' },\n};\n\nconst EVENT_RENTAL_BACK_OFFICE_APPLICATIONS: Readonly<Record<string, TenantModeApplicationPresentation>> = {\n  contacts: { title: 'Customers', description: 'Manage renters and repeat-customer history.' },\n  invoices: { title: 'Invoices', description: 'Bill rentals and track what is due.' },\n  payments: { title: 'Payments', description: 'See deposits, balances, refunds, and payment status.' },\n  documents: { title: 'Documents', description: 'Keep business and rental documents organized.' },\n  analytics: { title: 'Reports', description: 'Review booking, revenue, utilization, and operating trends.' },\n};\n\nconst EVENT_RENTAL_MODE_APPLICATION_PRESENTATION: Readonly<Record<string, Readonly<Record<string, TenantModeApplicationPresentation>>>> = {\n  plan: EVENT_RENTAL_BOOKING_APPLICATIONS,\n  planning: EVENT_RENTAL_BOOKING_APPLICATIONS,\n  booking: EVENT_RENTAL_PREP_APPLICATIONS,\n  'pop-up': EVENT_RENTAL_PREP_APPLICATIONS,\n  operations: EVENT_RENTAL_DELIVERY_APPLICATIONS,\n  'booked-event': EVENT_RENTAL_DELIVERY_APPLICATIONS,\n  events: EVENT_RENTAL_DELIVERY_APPLICATIONS,\n  'back-office': EVENT_RENTAL_BACK_OFFICE_APPLICATIONS,\n  financials: EVENT_RENTAL_BACK_OFFICE_APPLICATIONS,\n};\n\nfunction isEventRentalBusinessType(tenant: any): boolean {\n  const settings = record(tenant?.settings);\n  const manifest = record(settings.tenant_manifest);\n  const blueprint = record(settings.business_operating_blueprint || manifest.businessOperatingBlueprint);\n  const businessType = modeToken(\n    blueprint.businessTypeKey\n      || blueprint.business_type_key\n      || settings.declared_business_type\n      || settings.business_type\n      || tenant?.tenant_type,\n  );\n  return ['event-rental', 'event-rentals', 'party-rental', 'party-rentals'].includes(businessType);\n}\n\nexport function applyEventRentalModeShellPreset(tenant: any, cards: readonly TenantModeCardConfig[]): TenantModeCardConfig[] {\n  if (!isEventRentalBusinessType(tenant)) return [...cards];\n  return cards.map((card) => {\n    const preset = EVENT_RENTAL_MODE_SHELL_PRESET[card.key];\n    return preset ? { ...card, ...preset, canonical_title: preset.title, primary_applications: [...preset.primary_applications] } : card;\n  });\n}\n\nfunction applyEventRentalApplicationPresentation(\n  tenant: any,\n  mode: TenantModeCardConfig,\n  application: TenantModeApplicationConfig,\n): TenantModeApplicationConfig {\n  if (!isEventRentalBusinessType(tenant)) return application;\n  const presentation = EVENT_RENTAL_MODE_APPLICATION_PRESENTATION[modeToken(mode.key)]?.[modeToken(application.key)];\n  return presentation ? { ...application, ...presentation } : application;\n}\n\nfunction assertEventRentalModePrimitive(): void {\n  const expectedPrimary: Record<string, string> = {\n    plan: 'booking',\n    planning: 'booking',\n    booking: 'event-rental-operations',\n    'pop-up': 'event-rental-operations',\n    operations: 'event-rental-operations',\n    'booked-event': 'event-rental-operations',\n    events: 'event-rental-operations',\n    'back-office': 'contacts',\n    financials: 'contacts',\n  };\n  const banned = /\\b(crm|dashboard|pipeline|leads?)\\b/i;\n  for (const [modeKey, firstApplication] of Object.entries(expectedPrimary)) {\n    const preset = EVENT_RENTAL_MODE_SHELL_PRESET[modeKey];\n    if (!preset || preset.primary_applications?.length !== 5 || preset.primary_applications[0] !== firstApplication) {\n      throw new Error(`Event-rental mode ${modeKey} requires a five-app curated set beginning with ${firstApplication}.`);\n    }\n    const presentation = EVENT_RENTAL_MODE_APPLICATION_PRESENTATION[modeKey];\n    for (const applicationKey of preset.primary_applications) {\n      const copy = presentation?.[applicationKey];\n      if (!copy) throw new Error(`Event-rental mode ${modeKey} is missing contextual presentation for ${applicationKey}.`);\n      if (banned.test(`${copy.title} ${copy.description}`)) {\n        throw new Error(`Event-rental mode ${modeKey} contains generic CRM terminology in ${applicationKey}.`);\n      }\n    }\n  }\n}\nassertEventRentalModePrimitive();\n\nconst ENTERTAINMENT_MODE_SHELL_PRESET: Record<string, TenantTypeModePreset> = {\n  creative: { title: 'Creative', headline: 'Book the room. Build the crowd.', subtitle: 'Club sets, promoters, promotion, content & rebook momentum', primary_applications: ['booking', 'calendar', 'creative-studio', 'communications', 'opportunity-radar'] },\n  professional: { title: 'Professional', headline: 'Deliver the event without dropping a cue', subtitle: 'Clients, proposals, planning, show readiness & payment', primary_applications: ['booking', 'proposals', 'calendar', 'documents', 'payments'] },\n  fanbase: { title: 'Fans', headline: 'Turn every crowd into the next booking', subtitle: 'Fans, VIPs, capture, referrals, outreach & retention', primary_applications: ['contacts', 'communications', 'qr-suite', 'opportunity-radar', 'analytics'] },\n  office: { title: 'Back Office', headline: 'Run the business behind the booth', subtitle: 'Invoices, payments, documents, reporting & next actions', primary_applications: ['invoices', 'payments', 'documents', 'analytics', 'tasks'] },\n};\n\nconst ENTERTAINMENT_CREATIVE_APPLICATIONS: Readonly<Record<string, TenantModeApplicationPresentation>> = {\n  booking: { title: 'Bookings & Holds', description: 'Run pitches, holds, confirmed sets, promoters, venues, fees, guest lists, and rebook windows.' },\n  calendar: { title: 'Set Calendar', description: 'See door times, set times, travel, conflicts, and upcoming Creative commitments.' },  'creative-studio': { title: 'Promo & Content', description: 'Build flyers, promo assets, set content, and the material that keeps the artist visible.' },\n  communications: { title: 'Promoters & Venues', description: 'Keep promoter, talent-buyer, venue, and collaboration conversations tied to the booking.' },\n  'opportunity-radar': { title: 'Booking Radar', description: 'Work new rooms, promoter follow-up, venue rebooks, holds, and Creative opportunities.' },\n};\n\nconst ENTERTAINMENT_PROFESSIONAL_APPLICATIONS: Readonly<Record<string, TenantModeApplicationPresentation>> = {\n  booking: { title: 'Client Events', description: 'Run weddings, corporate events, private parties, schools, galas, and formal event bookings.' },\n  proposals: { title: 'Proposals & Agreements', description: 'Build the offer, terms, agreement, package, and approval path for each Professional event.' },\n  calendar: { title: 'Event Calendar', description: 'See event timing, setup, breakdown, travel, and readiness deadlines.' },\n  documents: { title: 'Show Sheets & Documents', description: 'Keep timelines, venue notes, music plans, cue sheets, files, and event proof together.' },\n  payments: { title: 'Deposits & Balances', description: 'Track deposits, remaining balances, settlement, and payment status.' },\n};\n\nconst ENTERTAINMENT_FANBASE_APPLICATIONS: Readonly<Record<string, TenantModeApplicationPresentation>> = {\n  contacts: { title: 'Fans & VIPs', description: 'Keep supporters, VIPs, ambassadors, referrals, attendance history, and relationship context together.' },\n  communications: { title: 'Fan Outreach', description: 'Reach opted-in supporters with invitations, updates, reactivation, and follow-up.' },\n  'qr-suite': { title: 'Fan Capture', description: 'Create event-specific QR entry points for guest list, fan club, referral, and campaign attribution.' },\n  'opportunity-radar': { title: 'Growth Radar', description: 'Turn fan engagement, referrals, promoter relationships, and repeat attendance into the next booking.' },\n  analytics: { title: 'Fanbase Pulse', description: 'Measure growth, repeat attendance, referrals, reactivation, and fan-to-booking conversion.' },\n};\n\nconst ENTERTAINMENT_OFFICE_APPLICATIONS: Readonly<Record<string, TenantModeApplicationPresentation>> = {\n  invoices: { title: 'Invoices', description: 'Keep Professional billing and Creative settlements visible without mixing the operating lanes.' },\n  payments: { title: 'Payments', description: 'Track deposits, balances, guarantees, and collected revenue.' },\n  documents: { title: 'Business Documents', description: 'Keep business records, agreements, templates, and reusable operating documents organized.' },\n  analytics: { title: 'Business Performance', description: 'See Creative revenue, Professional revenue, total business, booking conversion, and growth signals.' },\n  tasks: { title: 'Next Moves', description: 'Keep promoter follow-up, proposal follow-up, rebooks, reviews, referrals, and content due in one queue.' },\n};\n\nconst ENTERTAINMENT_MODE_APPLICATION_PRESENTATION: Readonly<Record<string, Readonly<Record<string, TenantModeApplicationPresentation>>>> = {\n  creative: ENTERTAINMENT_CREATIVE_APPLICATIONS,\n  professional: ENTERTAINMENT_PROFESSIONAL_APPLICATIONS,\n  fanbase: ENTERTAINMENT_FANBASE_APPLICATIONS,\n  office: ENTERTAINMENT_OFFICE_APPLICATIONS,\n};\n\nfunction isEntertainmentBusinessType(tenant: any): boolean {\n  const settings = record(tenant?.settings);\n  const classification = record(settings.tenant_classification);\n  const manifest = record(settings.tenant_manifest);\n  const blueprint = record(settings.business_operating_blueprint || manifest.businessOperatingBlueprint);\n  const primaryArchetype = modeToken(classification.primary_archetype);\n  const businessType = modeToken(\n    blueprint.businessTypeKey\n      || blueprint.business_type_key\n      || settings.declared_business_type\n      || settings.business_type\n      || tenant?.tenant_type,\n  );\n  return primaryArchetype === 'entertainment' || ['entertainment', 'entertainment-dj', 'dj', 'disc-jockey', 'mobile-dj', 'wedding-dj'].includes(businessType);\n}\n\nexport function applyEntertainmentModeShellPreset(tenant: any, cards: readonly TenantModeCardConfig[]): TenantModeCardConfig[] {\n  if (!isEntertainmentBusinessType(tenant)) return [...cards];\n  return cards.map((card) => {\n    const preset = ENTERTAINMENT_MODE_SHELL_PRESET[modeToken(card.key)];\n    return preset ? { ...card, ...preset, primary_applications: [...preset.primary_applications] } : card;\n  });\n}\n\nfunction applyEntertainmentApplicationPresentation(\n  tenant: any,\n  mode: TenantModeCardConfig,\n  application: TenantModeApplicationConfig,\n): TenantModeApplicationConfig {\n  if (!isEntertainmentBusinessType(tenant)) return application;\n  const presentation = ENTERTAINMENT_MODE_APPLICATION_PRESENTATION[modeToken(mode.key)]?.[modeToken(application.key)];\n  return presentation ? { ...application, ...presentation } : application;\n}\n\nfunction assertEntertainmentModePrimitive(): void {\n  const expected: Record<string, readonly string[]> = {\n    creative: ['booking', 'calendar', 'creative-studio', 'communications', 'opportunity-radar'],\n    professional: ['booking', 'proposals', 'calendar', 'documents', 'payments'],\n    fanbase: ['contacts', 'communications', 'qr-suite', 'opportunity-radar', 'analytics'],\n    office: ['invoices', 'payments', 'documents', 'analytics', 'tasks'],\n  };\n  const banned = /\\b(redfish|roof|roofing|icee|coquito|party rental|crm)\\b/i;\n  for (const [modeKey, applicationIds] of Object.entries(expected)) {\n    const preset = ENTERTAINMENT_MODE_SHELL_PRESET[modeKey];\n    if (!preset || JSON.stringify(preset.primary_applications) !== JSON.stringify(applicationIds)) {\n      throw new Error(`Entertainment mode ${modeKey} requires its canonical five-app set.`);\n    }\n    const presentation = ENTERTAINMENT_MODE_APPLICATION_PRESENTATION[modeKey];\n    for (const applicationKey of applicationIds) {\n      const copy = presentation?.[applicationKey];\n      if (!copy) throw new Error(`Entertainment mode ${modeKey} is missing contextual presentation for ${applicationKey}.`);\n      if (banned.test(`${copy.title} ${copy.description}`)) {\n        throw new Error(`Entertainment mode ${modeKey} contains donor-shell business terminology in ${applicationKey}.`);\n      }\n    }\n  }\n}\nassertEntertainmentModePrimitive();\n\nconst HANDYMAN_MODE_SHELL_PRESET: Record<string, TenantTypeModePreset> = {\n  dispatch: { title: 'Dispatch', headline: 'Turn requests into scheduled work', subtitle: 'Service requests, schedule, next actions & customer communication', primary_applications: ['booking', 'calendar', 'tasks', 'communications', 'contacts'] },\n  command: { title: 'Dispatch', headline: 'Turn requests into scheduled work', subtitle: 'Service requests, schedule, next actions & customer communication', primary_applications: ['booking', 'calendar', 'tasks', 'communications', 'contacts'] },\n  'active-jobs': { title: 'Active Jobs', headline: 'Keep every job moving toward completion', subtitle: 'Work orders, job proof, tasks, schedule & communication', primary_applications: ['jobs', 'documents', 'tasks', 'calendar', 'communications'] },\n  growth: { title: 'Active Jobs', headline: 'Keep every job moving toward completion', subtitle: 'Work orders, job proof, tasks, schedule & communication', primary_applications: ['jobs', 'documents', 'tasks', 'calendar', 'communications'] },\n  customers: { title: 'Customers', headline: 'Keep the customer and the work connected', subtitle: 'Customer records, estimates, requests, messages & documents', primary_applications: ['contacts', 'proposals', 'booking', 'communications', 'documents'] },\n  operations: { title: 'Customers', headline: 'Keep the customer and the work connected', subtitle: 'Customer records, estimates, requests, messages & documents', primary_applications: ['contacts', 'proposals', 'booking', 'communications', 'documents'] },\n  'back-office': { title: 'Back Office', headline: 'Close the loop on the business', subtitle: 'Invoices, payments, estimates, reporting & documents', primary_applications: ['invoices', 'payments', 'proposals', 'analytics', 'documents'] },\n  financials: { title: 'Back Office', headline: 'Close the loop on the business', subtitle: 'Invoices, payments, estimates, reporting & documents', primary_applications: ['invoices', 'payments', 'proposals', 'analytics', 'documents'] },\n};\n\nconst HANDYMAN_DISPATCH_APPLICATIONS: Readonly<Record<string, TenantModeApplicationPresentation>> = {\n  booking: { title: 'Service Requests', description: 'Review new customer requests and turn approved work into scheduled jobs.' },\n  calendar: { title: 'Schedule', description: 'See appointments, job windows, and what needs to happen next.' },\n  tasks: { title: 'Dispatch Queue', description: 'Keep call-backs, confirmations, approvals, and next actions visible.' },\n  communications: { title: 'Customer Messages', description: 'Keep service-request communication tied to the right customer.' },\n  contacts: { title: 'Customer Details', description: 'Open the customer and property context before work is assigned.' },\n};\n\nconst HANDYMAN_ACTIVE_JOB_APPLICATIONS: Readonly<Record<string, TenantModeApplicationPresentation>> = {\n  jobs: { title: 'Work Orders', description: 'Run active jobs from assigned scope through completion.' },\n  documents: { title: 'Job Photos & Documents', description: 'Keep photos, files, forms, and proof attached to the job.' },\n  tasks: { title: 'Job Tasks', description: 'Track the next actions needed to finish the work cleanly.' },\n  calendar: { title: 'Job Schedule', description: 'See active job timing, return visits, and upcoming commitments.' },\n  communications: { title: 'Job Communication', description: 'Keep job-specific customer communication in one place.' },\n};\n\nconst HANDYMAN_CUSTOMER_APPLICATIONS: Readonly<Record<string, TenantModeApplicationPresentation>> = {\n  contacts: { title: 'Customers', description: 'Manage customer records, properties, history, and contact details.' },\n  proposals: { title: 'Estimates & Proposals', description: 'Create and manage estimates and proposals for customer work.' },\n  booking: { title: 'Service Requests', description: 'See the requests that started or expanded customer work.' },\n  communications: { title: 'Customer Messages', description: 'Handle customer conversations and follow-up.' },\n  documents: { title: 'Customer Documents', description: 'Keep customer-facing files and job documents organized.' },\n};\n\nconst HANDYMAN_BACK_OFFICE_APPLICATIONS: Readonly<Record<string, TenantModeApplicationPresentation>> = {\n  invoices: { title: 'Invoices', description: 'Bill completed work and keep receivables clear.' },\n  payments: { title: 'Payments', description: 'Track collections and payment status.' },\n  proposals: { title: 'Estimates & Proposals', description: 'Review estimates and proposals before and after approval.' },\n  analytics: { title: 'Business Reports', description: 'See operational and financial trends that need attention.' },\n  documents: { title: 'Business Documents', description: 'Keep business files and generated documents organized.' },\n};\n\nconst HANDYMAN_MODE_APPLICATION_PRESENTATION: Readonly<Record<string, Readonly<Record<string, TenantModeApplicationPresentation>>>> = {\n  dispatch: HANDYMAN_DISPATCH_APPLICATIONS,\n  command: HANDYMAN_DISPATCH_APPLICATIONS,\n  'active-jobs': HANDYMAN_ACTIVE_JOB_APPLICATIONS,\n  growth: HANDYMAN_ACTIVE_JOB_APPLICATIONS,\n  customers: HANDYMAN_CUSTOMER_APPLICATIONS,\n  operations: HANDYMAN_CUSTOMER_APPLICATIONS,\n  'back-office': HANDYMAN_BACK_OFFICE_APPLICATIONS,\n  financials: HANDYMAN_BACK_OFFICE_APPLICATIONS,\n};\n\nfunction isHandymanBusinessType(tenant: any): boolean {\n  const settings = record(tenant?.settings);\n  const manifest = record(settings.tenant_manifest);\n  const blueprint = record(settings.business_operating_blueprint || manifest.businessOperatingBlueprint);\n  const businessType = modeToken(\n    blueprint.businessTypeKey\n      || blueprint.business_type_key\n      || settings.declared_business_type\n      || settings.business_type\n      || tenant?.tenant_type,\n  );\n  return ['handyman', 'handyman-service', 'handyman-services'].includes(businessType);\n}\n\nexport function applyHandymanModeShellPreset(tenant: any, cards: readonly TenantModeCardConfig[]): TenantModeCardConfig[] {\n  if (!isHandymanBusinessType(tenant)) return [...cards];\n  return cards.map((card) => {\n    const preset = HANDYMAN_MODE_SHELL_PRESET[card.key];\n    return preset ? { ...card, ...preset, primary_applications: [...preset.primary_applications] } : card;\n  });\n}\n\nfunction applyHandymanApplicationPresentation(\n  tenant: any,\n  mode: TenantModeCardConfig,\n  application: TenantModeApplicationConfig,\n): TenantModeApplicationConfig {\n  if (!isHandymanBusinessType(tenant)) return application;\n  const presentation = HANDYMAN_MODE_APPLICATION_PRESENTATION[modeToken(mode.key)]?.[modeToken(application.key)];\n  return presentation ? { ...application, ...presentation } : application;\n}\n\nfunction assertHandymanModePrimitive(): void {\n  const expected: Record<string, readonly string[]> = {\n    dispatch: ['booking', 'calendar', 'tasks', 'communications', 'contacts'],\n    'active-jobs': ['jobs', 'documents', 'tasks', 'calendar', 'communications'],\n    customers: ['contacts', 'proposals', 'booking', 'communications', 'documents'],\n    'back-office': ['invoices', 'payments', 'proposals', 'analytics', 'documents'],\n  };\n  const banned = /\\b(redfish|roof|roofing|mvgives|crm)\\b/i;\n  for (const [modeKey, applicationIds] of Object.entries(expected)) {\n    const preset = HANDYMAN_MODE_SHELL_PRESET[modeKey];\n    if (!preset || JSON.stringify(preset.primary_applications) !== JSON.stringify(applicationIds)) {\n      throw new Error(`Handyman mode ${modeKey} requires its canonical five-app set.`);\n    }\n    const presentation = HANDYMAN_MODE_APPLICATION_PRESENTATION[modeKey];\n    if (banned.test(`${preset.title} ${preset.headline} ${preset.subtitle}`)) {\n      throw new Error(`Handyman mode ${modeKey} contains donor-shell business terminology.`);\n    }\n    for (const applicationKey of applicationIds) {\n      const copy = presentation?.[applicationKey];\n      if (!copy) throw new Error(`Handyman mode ${modeKey} is missing contextual presentation for ${applicationKey}.`);\n      if (banned.test(`${copy.title} ${copy.description}`)) {\n        throw new Error(`Handyman mode ${modeKey} contains donor-shell business terminology in ${applicationKey}.`);\n      }\n    }\n  }\n}\nassertHandymanModePrimitive();\n\ntype CurriModeShellPresetKey = 'control-center' | 'realty-world' | 'one-call';\ntype CurriModePreset = Pick<TenantModeCardConfig, 'title' | 'subtitle' | 'headline' | 'primary_applications'>;\n\nconst CURRI_MODE_SHELL_PRESETS: Record<CurriModeShellPresetKey, Record<string, CurriModePreset>> = {\n  'control-center': {\n    command: { title: 'Command', headline: 'See what needs your attention', subtitle: 'Decisions and exceptions that need John now', primary_applications: ['tasks', 'analytics', 'calendar', 'communications'] },\n    growth: { title: 'Opportunities', headline: 'Find the next portfolio opportunity', subtitle: 'Cross-business referrals and revenue', primary_applications: ['opportunity-radar', 'contacts', 'communications', 'analytics'] },\n    operations: { title: 'Businesses', headline: 'Move between your operating businesses', subtitle: 'Realty World and One Call at a glance', primary_applications: ['tasks', 'calendar', 'documents', 'analytics'] },\n    financials: { title: 'Financials', headline: 'Know where the money stands', subtitle: 'Portfolio money, reports, and timing', primary_applications: ['analytics', 'reports', 'documents', 'tasks'] },\n  },\n  'realty-world': {\n    command: { title: 'Lead Mode', headline: 'Capture and work the next opportunity', subtitle: 'New leads, prospecting, and follow-up', primary_applications: ['opportunity-radar', 'contacts', 'communications', 'tasks'] },\n    growth: { title: 'Client Mode', headline: 'Move active buyers and sellers forward', subtitle: 'Active clients, appointments, and communication', primary_applications: ['contacts', 'calendar', 'communications', 'documents'] },\n    operations: { title: 'Transaction Mode', headline: 'Keep every deal moving toward close', subtitle: 'Transactions, documents, milestones, and closing', primary_applications: ['realtor-transaction-operations', 'documents', 'calendar', 'tasks'] },\n    financials: { title: 'Back Office', headline: 'Run the brokerage behind the scenes', subtitle: 'Reports, mail, documents, and admin', primary_applications: ['analytics', 'reports', 'mail', 'documents'] },\n  },\n  'one-call': {\n    command: { title: 'Dispatch', headline: 'Decide what moves next', subtitle: 'Requests, approvals, schedule changes, and communication', primary_applications: ['tasks', 'calendar', 'communications', 'mail'] },\n    growth: { title: \"Today's Route\", headline: 'Run the day in the right order', subtitle: 'Stops, schedule, customers, and next actions', primary_applications: ['jobs', 'calendar', 'contacts', 'tasks'] },\n    operations: { title: 'Job Mode', headline: 'Finish the work in front of you', subtitle: 'Scope, documents, customer context, and completion', primary_applications: ['jobs', 'documents', 'contacts', 'communications'] },\n    financials: { title: 'Back Office', headline: 'Close the loop on the business', subtitle: 'Invoices, payments, reporting, and documents', primary_applications: ['invoices', 'payments', 'analytics', 'documents'] },\n  },\n};\n\nfunction curriModeShellPresetKey(tenant: any): CurriModeShellPresetKey | null {\n  const settings = record(tenant?.settings);\n  const workspaceVariant = modeToken(settings.workspace_variant);\n  const portfolioFamily = modeToken(settings.portfolio_family);\n  const tenantType = modeToken(tenant?.tenant_type || settings.declared_business_type || settings.business_type);\n  const tenantSlug = modeToken(tenant?.company_slug || tenant?.name);\n  if (workspaceVariant === 'curri-control-center' || tenantType === 'portfolio-control-center' || tenantSlug === 'curri-control-center') return 'control-center';  if (portfolioFamily !== 'curri') return null;\n  if (workspaceVariant === 'realtor' || tenantType === 'realtor' || tenantSlug === 'curri-properties') return 'realty-world';\n  if (workspaceVariant === 'one-call-management' || tenantType === 'property-maintenance' || tenantSlug === 'one-call') return 'one-call';\n  return null;\n}\n\nexport function applyCurriModeShellPreset(tenant: any, cards: readonly TenantModeCardConfig[]): TenantModeCardConfig[] {\n  const presetKey = curriModeShellPresetKey(tenant);\n  if (!presetKey) return [...cards];\n  const presets = CURRI_MODE_SHELL_PRESETS[presetKey];\n  return cards.map((card) => {\n    const preset = presets[card.key];\n    return preset ? { ...card, ...preset, primary_applications: [...preset.primary_applications] } : card;\n  });\n}\n\nexport function resolveModeDefaultImageKey(key: unknown, title?: unknown): ModeDefaultImageKey {\n  for (const candidate of [modeToken(key), modeToken(title)]) if (candidate && MODE_DEFAULT_ALIASES[candidate]) return MODE_DEFAULT_ALIASES[candidate];\n  return 'operations';\n}\n\nexport function modeDefaultImageUrl(key: ModeDefaultImageKey): string {\n  const root = String(import.meta.env.VITE_SUPABASE_URL || '').trim().replace(/\\/+$/g, '');\n  return root ? `${root}/functions/v1/tenant-media-library?mode=default-mode&key=${encodeURIComponent(key)}&v=1` : '';\n}\n\nfunction applyModeDefaultImage(tenant: any, card: TenantModeCardConfig): TenantModeCardConfig {\n  const modes = record(record(tenant?.settings).modes);\n  const configuredKey = modeToken(card.default_image_key);\n  const defaultKey = MODE_DEFAULT_ALIASES[configuredKey] || resolveModeDefaultImageKey(card.key, card.title);\n  const defaultUrl = String(card.default_image_url || '').trim() || modeDefaultImageUrl(defaultKey);\n  const existingImage = String(card.image_url || '').trim();\n  const existingFallback = String(card.fallback_image_url || '').trim();\n  const custom = Boolean(card.image_asset_id || (existingImage && !existingImage.includes('mode=default-mode')) || existingFallback || card.image_source === 'custom');\n  return {...card,default_image_key:defaultKey,default_image_url:defaultUrl||null,image_source:custom?'custom':'default',image_url:(existingImage||existingFallback)?card.image_url:(defaultUrl||null)};\n}\n\nfunction roleToken(value: unknown): string {\n  return String(value || '').trim().toUpperCase().replace(/[\\s-]+/g, '_');\n}\n\nexport function isModesTenant(tenant: any): boolean {\n  if (tenantExperienceFamily(tenant) !== 'modes') return false;\n  const state = String(record(record(tenant?.settings).modes).activation_state || '').trim().toLowerCase();\n  return !['prepare', 'prerequisite_required', 'quarantined'].includes(state);\n}\n\nfunction configuredModeCards(tenant: any): TenantModeCardConfig[] {\n  const modes = record(record(tenant?.settings).modes);\n  return (Array.isArray(modes.cards) ? modes.cards : []).map((raw): TenantModeCardConfig | null => {\n    const card = record(raw);\n    const key = modeToken(card.key || card.id || card.title);\n    const title = String(card.canonical_title || card.title || card.label || '').trim();\n    if (!key || !title) return null;\n    return {\n      key,\n      title,\n      canonical_title: title,\n      subtitle: String(card.subtitle || '').trim() || undefined,\n      headline: String(card.headline || '').trim() || undefined,\n      color: String(card.color || '').trim() || undefined,\n      route: String(card.route || card.path || '').trim() || undefined,\n      roles: strings(card.roles),\n      primary_applications: strings(card.primary_applications || card.primaryApplications),\n      storage_slug: modeToken(card.storage_slug || key) || key,\n      image_asset_id: String(card.image_asset_id || '').trim() || null,\n      image_url: String(card.image_url || '').trim() || null,\n      fallback_image_url: String(card.fallback_image_url || '').trim() || null,\n      default_image_key: String(card.default_image_key || '').trim() || null,\n      default_image_url: String(card.default_image_url || '').trim() || null,\n      image_source: String(card.image_source || '').trim() || null,\n      image_position_x: imagePositionPercent(card.image_position_x),\n      image_position_y: imagePositionPercent(card.image_position_y),\n      image_zoom: Number.isFinite(Number(card.image_zoom)) ? Math.max(1, Math.min(2.5, Number(card.image_zoom))) : undefined,\n      image_opacity: Number.isFinite(Number(card.image_opacity)) ? Math.max(0, Math.min(1, Number(card.image_opacity))) : undefined,\n      image_blur_px: Number.isFinite(Number(card.image_blur_px)) ? Math.max(0, Math.min(20, Number(card.image_blur_px))) : undefined,\n    } satisfies TenantModeCardConfig;\n  }).filter((card): card is TenantModeCardConfig => Boolean(card));\n}\n\nexport function getTenantModeCards(tenant: any): TenantModeCardConfig[] {\n  if (!isModesTenant(tenant)) return [];\n  const configured = configuredModeCards(tenant);\n  const tenantTypePreset = applyHandymanModeShellPreset(tenant, applyEntertainmentModeShellPreset(tenant, applyEventRentalModeShellPreset(tenant, configured)));\n  return canonicalizeTenantModeCards(applyCurriModeShellPreset(tenant, tenantTypePreset)).map((card) => applyModeDefaultImage(tenant, card));\n}\n\nfunction tenantHomeRoute(tenant: any): string {\n  const settings = record(tenant?.settings);\n  const persisted = record(settings.tenant_operating_contract);\n  const workspace = record(persisted.workspace);\n  const routeTarget = {\n    tenant_type: tenant?.tenant_type,\n    company_slug: tenant?.company_slug,\n    name: tenant?.name,\n    company_dba_name: tenant?.company_dba_name,\n    company_legal_name: tenant?.company_legal_name,\n    settings,\n  };\n  const persistedWorkspaceRoute = getSafeConfiguredTenantRoute(\n    { ...routeTarget, settings: { canonical_workspace_route: workspace.canonical_workspace_route } },\n    'canonical_workspace_route',\n  );\n  return persistedWorkspaceRoute\n    || getSafeConfiguredTenantRoute(routeTarget, 'canonical_workspace_route')\n    || getSafeConfiguredTenantRoute(routeTarget, 'canonical_owner_route')\n    || getTenantDashboardPathForTenant(routeTarget);\n}\n\nfunction blueprintForTenant(tenant: any): Record<string, any> {\n  const settings = record(tenant?.settings);\n  const manifest = record(settings.tenant_manifest);\n  return record(settings.business_operating_blueprint || manifest.businessOperatingBlueprint);\n}\n\nfunction moduleScore(module: Record<string, any>, effectiveRole?: string | null): number {\n  const role = roleToken(effectiveRole);\n  const text = [module.id, module.key, module.title, module.label, module.name, module.module, module.application, module.description, module.subtitle].map((value) => String(value || '').toLowerCase()).join(' ');\n  let score = 0;\n  const has = (pattern: RegExp) => pattern.test(text);\n  const add = (pattern: RegExp, points: number) => { if (has(pattern)) score += points; };\n  const emphasis = String(module.emphasis || module.priority || '').toLowerCase();\n  if (emphasis === 'primary' || emphasis === 'critical') score += 35;\n  else if (emphasis === 'high') score += 22;\n  else if (emphasis === 'secondary') score += 8;\n  if (['OWNER', 'TENANT_OWNER', 'ADMIN', 'GODMODE'].includes(role) || !role) {\n    add(/decision|exception|approval|needs attention|risk/, 190);\n    add(/today|brief|overview|command|priority/, 175);\n    add(/opportunit|referral|pipeline|growth/, 155);\n    add(/operation|job|production|dispatch|service|work/, 145);\n    add(/money|revenue|sales|commission|finance|invoice|paid/, 135);\n    add(/performance|report|analytics|pulse|portfolio|business/, 125);\n    add(/team|agent|crew|staff/, 85);\n    add(/schedule|calendar|appointment/, 75);\n  } else if (['MANAGER', 'PM', 'OFFICE_ADMIN'].includes(role)) {\n    add(/operation|job|production|dispatch|service|work/, 190);\n    add(/schedule|calendar|appointment|task|queue|follow/, 175);\n    add(/team|agent|crew|staff/, 155);\n    add(/customer|contact|client|homeowner/, 130);\n    add(/opportunit|lead|pipeline|growth/, 120);\n    add(/performance|report|analytics/, 95);\n  } else if (['REP', 'AGENT', 'VIEWER'].includes(role)) {\n    add(/lead|opportunit|pipeline|prospect|deal/, 195);\n    add(/customer|contact|client|homeowner/, 170);\n    add(/schedule|calendar|appointment|showing/, 155);\n    add(/task|follow|next|cadence/, 145);\n    add(/message|mail|inbox|communication/, 110);\n    add(/document|proposal|estimate|quote/, 90);\n  } else {\n    add(/job|operation|production|work order|task|dispatch/, 195);\n    add(/schedule|calendar|appointment/, 165);\n    add(/customer|contact|client|homeowner/, 130);\n    add(/photo|document|form|checklist/, 115);\n    add(/message|mail|communication/, 95);\n  }\n  add(/settings|configuration|setup|onboarding/, -260);\n  add(/document|file|archive/, -45);\n  return score;\n}\n\nfunction moduleRoute(tenant: any, module: Record<string, any>, key: string): string {\n  const direct = firstString(module.route, module.path, module.href, module.ownerRoute, module.owner_route);\n  if (direct) return direct;\n  const home = tenantHomeRoute(tenant);\n  if (/^(today|home|dashboard|overview|brief|command)$/.test(key)) return home;\n  const separator = home.includes('?') ? '&' : '?';\n  return `${home}${separator}tab=${encodeURIComponent(key)}`;\n}\n\nfunction routeIdentity(value: unknown): string {\n  const raw = String(value || '').trim();\n  if (!raw) return '';\n  try {\n    const parsed = new URL(raw, 'https://knocklaunch.local');\n    parsed.searchParams.delete('mode');\n    const entries = [...parsed.searchParams.entries()].sort(([leftKey, leftValue], [rightKey, rightValue]) => leftKey.localeCompare(rightKey) || leftValue.localeCompare(rightValue));\n    const search = new URLSearchParams(entries).toString();\n    const path = parsed.pathname.replace(/\\/+$/g, '') || '/';\n    return `${path}${search ? `?${search}` : ''}`;\n  } catch {\n    return raw;\n  }\n}\n\nfunction modeSemanticScore(mode: TenantModeCardConfig, module: Record<string, any>): number {\n  const modeText = [mode.key, mode.title, mode.subtitle, mode.headline].map((value) => String(value || '').toLowerCase()).join(' ');\n  const moduleText = [module.id, module.key, module.title, module.label, module.name, module.module, module.application, module.description, module.subtitle, module.category].map((value) => String(value || '').toLowerCase()).join(' ');\n  const rules: Array<[RegExp, RegExp, number]> = [\n    [/today|focus|priority|decision|attention|command|overview/, /today|dashboard|overview|task|job|calendar|schedule|analytics|report|communication/, 110],\n    [/plan|schedule|calendar|prepare|prep|organize/, /calendar|schedule|booking|appointment|task|job|document|contact|communication/, 125],\n    [/opportunit|growth|sales|sell|pipeline|lead|prospect|market|hustle/, /opportunit|lead|pipeline|contact|customer|proposal|estimate|mail|communication|call|canvass|qr|booking/, 145],\n    [/operation|work|job|production|field|service|crew|execute|delivery/, /job|work|production|route|service|calendar|schedule|task|document|photo|contact|communication|estimate/, 140],\n    [/money|revenue|finance|billing|paid|payment|profit|performance|score|report/, /invoice|payment|billing|analytics|report|proposal|estimate|job|revenue/, 135],\n    [/customer|client|people|relationship|follow|support/, /contact|customer|client|mail|communication|call|task|calendar|proposal|booking/, 120],\n    [/event|booking|serve|show|appointment/, /event|booking|calendar|schedule|inventory|proposal|contact|mail|communication|task/, 140],\n    [/back office|admin|business|manage|owner/, /invoice|billing|analytics|report|document|contact|calendar|mail|communication|job|task/, 115],\n    [/create|design|proposal|quote|estimate/, /proposal|proposal-editor|estimate|document|contact|customer/, 135],\n    [/document|proof|paperwork|file|photo/, /document|form|proposal|estimate|photo|invoice/, 130],\n  ];\n  let score = 0;\n  for (const [modePattern, modulePattern, points] of rules) {\n    if (modePattern.test(modeText) && modulePattern.test(moduleText)) score += points;\n  }\n  const modeWords = [...new Set(modeText.split(/[^a-z0-9]+/g).filter((word) => word.length >= 4 && !['mode', 'with', 'from', 'your', 'what', 'needs'].includes(word)))];\n  for (const word of modeWords) if (moduleText.includes(word)) score += 24;\n  return score;\n}\n\nfunction modulePurpose(module: Record<string, any>, key: string, title: string): string {\n  const supplied = firstString(module.modeDescription, module.mode_description, module.description, module.summary, module.subtitle);\n  if (supplied) return supplied;\n  const text = `${key} ${title}`.toLowerCase();\n  if (/opportunit|lead|pipeline|prospect/.test(text)) return 'Find, qualify, and move the next opportunity forward.';\n  if (/calendar|schedule|booking|appointment/.test(text)) return 'Plan what is next and keep timing under control.';\n  if (/contact|customer|client|homeowner/.test(text)) return 'Keep the right people and relationship details together.';\n  if (/proposal|estimate|quote/.test(text)) return 'Build the next offer and move it toward approval.';\n  if (/invoice|billing|payment/.test(text)) return 'Keep billing, collections, and money movement clear.';\n  if (/job|production|work|route|service/.test(text)) return 'Move active work forward without losing the handoff.';\n  if (/mail|message|communication|call/.test(text)) return 'Handle the conversations that belong to this work.';\n  if (/document|form|photo|file/.test(text)) return 'Keep the files and proof for this work in one place.';\n  if (/analytic|report|performance/.test(text)) return 'See what is changing and where attention is needed.';\n  if (/task|follow/.test(text)) return 'Keep next actions visible and close the loop.';\n  return `Open ${title} for the work that belongs in this mode.`;\n}\n\nfunction modeApplicationCandidate(tenant: any, module: Record<string, any>, mode: TenantModeCardConfig, allModes: readonly TenantModeCardConfig[], effectiveRole: string | null | undefined, index: number): TenantModeApplicationConfig | null {\n  const application = moduleApplicationCapability(module);\n  if (application && !isTenantApplicationSupported(application, tenant?.tenant_type)) return null;\n  const title = firstString(module.applicationTitle, module.application_title, module.title, module.label, module.name, application?.label);\n  const key = modeToken(application?.id || module.applicationKey || module.application_key || module.id || module.key || title);\n  const roles = strings(module.roles);\n  const activeRole = roleToken(effectiveRole);\n  const allowedRoles = roles.map(roleToken);\n  if (!title || !key || (activeRole && allowedRoles.length && !allowedRoles.includes('*') && !allowedRoles.includes(activeRole))) return null;\n  const route = moduleRoute(tenant, module, key);\n  const directRoute = firstString(module.route, module.path, module.href, module.ownerRoute, module.owner_route);\n  const sameIdentity = key === mode.key || modeToken(title) === mode.key;\n  const distinctAction = Boolean(directRoute && routeIdentity(directRoute) !== routeIdentity(mode.route || tenantHomeRoute(tenant)));\n  if (sameIdentity && !distinctAction) return null;\n  const modeSet = allModes.length ? allModes : [mode];  const relevance = modeSemanticScore(mode, module);\n  const peerScores = modeSet.map((candidateMode) => modeSemanticScore(candidateMode, module));\n  const maxRelevance = Math.max(0, ...peerScores);\n  const modeIndex = Math.max(0, modeSet.findIndex((candidateMode) => candidateMode.key === mode.key));\n  const moduleText = `${key} ${title} ${module.description || ''}`.toLowerCase();\n  const sharedUtility = /calendar|schedule|mail|communication|contact|customer|document|task/.test(moduleText);\n  const unknownAssignment = maxRelevance === 0;\n  const belongsHere = unknownAssignment\n    ? index % Math.max(1, modeSet.length) === modeIndex\n    : relevance === maxRelevance || (sharedUtility && relevance > 0 && relevance >= maxRelevance - 35);\n  if (!belongsHere) return null;\n  return {\n    key,\n    title,\n    description: modulePurpose(module, key, title),\n    route,\n    score: relevance * 10 + moduleScore(module, effectiveRole) - index / 100,\n  };\n}\n\nfunction moduleApplicationCapability(module: Record<string, any>) {\n  const references = [\n    module.applicationKey,\n    module.application_key,\n    module.applicationId,\n    module.application_id,\n    module.application,\n    module.route,\n    module.path,\n    module.href,\n    module.ownerRoute,\n    module.owner_route,\n  ];\n  for (const reference of references) {\n    const application = getTenantApplicationByReference(reference);\n    if (application) return application;\n  }\n  return undefined;\n}\n\nfunction moduleApplicationTokens(module: Record<string, any>): string[] {\n  const application = moduleApplicationCapability(module);\n  return [...new Set([\n    module.applicationKey,\n    module.application_key,\n    module.applicationId,\n    module.application_id,\n    module.application,\n    module.id,\n    module.key,\n    module.title,\n    module.label,\n    module.name,\n    module.route,\n    module.path,\n    module.href,\n    module.ownerRoute,\n    module.owner_route,\n    application?.id,\n    application?.slug,\n    application?.workspaceSurface,\n    application?.standalonePath,\n  ].map(modeToken).filter(Boolean))];\n}\n\nfunction explicitModeApplicationCandidate(\n  tenant: any,\n  module: Record<string, any> | undefined,\n  requestedApplicationKey: string,\n  effectiveRole: string | null | undefined,\n  score: number,\n): TenantModeApplicationConfig | null {\n  const source = module || {};\n  const application = getTenantApplicationByReference(requestedApplicationKey) || moduleApplicationCapability(source);\n  if (application && !isTenantApplicationSupported(application, tenant?.tenant_type)) return null;\n  const title = firstString(source.applicationTitle, source.application_title, source.title, source.label, source.name, application?.label, requestedApplicationKey);\n  const key = modeToken(application?.id || requestedApplicationKey || source.applicationKey || source.application_key || source.applicationId || source.application_id || source.application || source.id || source.key || title);\n  const roles = strings(source.roles);\n  const activeRole = roleToken(effectiveRole);\n  const allowedRoles = roles.map(roleToken);\n  if (!title || !key || (activeRole && allowedRoles.length && !allowedRoles.includes('*') && !allowedRoles.includes(activeRole))) return null;\n  const route = module ? moduleRoute(tenant, source, key) : firstString(application?.workspaceSurface, application?.standalonePath) || tenantHomeRoute(tenant);\n  return { key, title, description: modulePurpose(source, key, title), route, score };\n}\n\nexport function getTenantModeApplicationsForRole(tenant: any, effectiveRole: string | null | undefined, mode: TenantModeCardConfig | null | undefined, allModes: readonly TenantModeCardConfig[] = []): TenantModeApplicationConfig[] {\n  if (!isModesTenant(tenant) || !mode) return [];\n  const blueprint = blueprintForTenant(tenant);\n  const modules = Array.isArray(blueprint.modules) ? blueprint.modules : Array.isArray(blueprint.operatingModules) ? blueprint.operatingModules : Array.isArray(blueprint.operating_modules) ? blueprint.operating_modules : [];\n  const explicitPrimaryApplications = (mode.primary_applications || []).map(modeToken).filter(Boolean);\n  const tenantSettings = record(tenant?.settings);\n  const enabledApplicationIds = new Set(strings(tenantSettings.application_ids).map(modeToken).filter(Boolean));\n  const hasEnabledApplicationManifest = enabledApplicationIds.size > 0;\n  const applicationIsEnabled = (applicationKey: string) => {\n    if (!hasEnabledApplicationManifest) return true;\n    const application = getTenantApplicationByReference(applicationKey);\n    const canonicalId = modeToken(application?.id || applicationKey);\n    return Boolean(canonicalId && enabledApplicationIds.has(canonicalId));\n  };\n\n  if (explicitPrimaryApplications.length) {\n    const moduleRecords = modules.map((raw: unknown) => record(raw));\n    const resolved = explicitPrimaryApplications\n      .filter(applicationIsEnabled)\n      .map((applicationKey, order) => {\n        const module = moduleRecords.find((candidate) => moduleApplicationTokens(candidate).includes(applicationKey));\n        return explicitModeApplicationCandidate(tenant, module, applicationKey, effectiveRole, 100000 - order);\n      })\n      .filter((entry): entry is TenantModeApplicationConfig => Boolean(entry));\n    const seen = new Set<string>();\n    return resolved\n      .map((entry) => applyEntertainmentApplicationPresentation(tenant, mode, applyHandymanApplicationPresentation(tenant, mode, applyEventRentalApplicationPresentation(tenant, mode, entry))))\n      .filter((entry) => !seen.has(entry.key) && Boolean(seen.add(entry.key)))\n      .slice(0, isEventRentalBusinessType(tenant) || isHandymanBusinessType(tenant) || isEntertainmentBusinessType(tenant) ? 5 : 6);\n  }\n\n  const ranked = modules\n    .map((raw: unknown, index: number) => modeApplicationCandidate(tenant, record(raw), mode, allModes, effectiveRole, index))\n    .filter((entry): entry is TenantModeApplicationConfig => Boolean(entry))\n    .sort((left, right) => right.score - left.score);\n  if (ranked.length >= 2) return ranked.slice(0, 6);\n  const modeSet = allModes.length ? allModes : [mode];\n  const modeIndex = Math.max(0, modeSet.findIndex((candidateMode) => candidateMode.key === mode.key));\n  const fallback = modules\n    .map((raw: unknown, index: number) => ({ module: record(raw), index }))\n    .filter(({ index }) => index % Math.max(1, modeSet.length) === modeIndex)\n    .map(({ module, index }) => {\n      const application = moduleApplicationCapability(module);\n      if (application && !isTenantApplicationSupported(application, tenant?.tenant_type)) return null;\n      const title = firstString(module.applicationTitle, module.application_title, module.title, module.label, module.name, application?.label);\n      const key = modeToken(application?.id || module.applicationKey || module.application_key || module.id || module.key || title);\n      if (!title || !key || key === mode.key || modeToken(title) === mode.key) return null;\n      return { key, title, description: modulePurpose(module, key, title), route: moduleRoute(tenant, module, key), score: moduleScore(module, effectiveRole) - index / 100 } satisfies TenantModeApplicationConfig;\n    })\n    .filter((entry): entry is TenantModeApplicationConfig => Boolean(entry))\n    .sort((left, right) => right.score - left.score);\n  const seen = new Set(ranked.map((entry) => entry.key));\n  return [...ranked, ...fallback.filter((entry) => !seen.has(entry.key))].slice(0, 6);\n}\n\nfunction derivedModeCards(tenant: any, effectiveRole?: string | null): TenantModeCardConfig[] {\n  const blueprint = blueprintForTenant(tenant);\n  const modules = Array.isArray(blueprint.modules) ? blueprint.modules : Array.isArray(blueprint.operatingModules) ? blueprint.operatingModules : Array.isArray(blueprint.operating_modules) ? blueprint.operating_modules : [];\n  return modules.map((raw: unknown, index: number): { card: TenantModeCardConfig; score: number; index: number } | null => {\n    const module = record(raw);\n    const title = firstString(module.modeTitle, module.mode_title, module.title, module.label, module.name);\n    const key = modeToken(module.modeKey || module.mode_key || module.id || module.key || title);\n    const roles = strings(module.roles);\n    const activeRole = roleToken(effectiveRole);\n    const allowedRoles = roles.map(roleToken);\n    if (!title || !key || (activeRole && allowedRoles.length && !allowedRoles.includes('*') && !allowedRoles.includes(activeRole))) return null;\n    return { card: { key, title, subtitle: firstString(module.subtitle, module.category, module.module), headline: firstString(module.headline, module.description, module.summary), color: firstString(module.color, module.accent) || MODE_COLORS[index % MODE_COLORS.length], route: moduleRoute(tenant, module, key), roles, storage_slug: key } satisfies TenantModeCardConfig, score: moduleScore(module, effectiveRole), index };\n  }).filter((entry): entry is { card: TenantModeCardConfig; score: number; index: number } => Boolean(entry)).sort((left, right) => right.score - left.score || left.index - right.index).map((entry) => entry.card);\n}\n\nfunction fallbackModeCards(tenant: any, effectiveRole?: string | null): TenantModeCardConfig[] {\n  const role = roleToken(effectiveRole);\n  const home = tenantHomeRoute(tenant);\n  const sets: Record<string, Array<[string, string, string]>> = {\n    manager: [['work', 'Work Queue', 'What needs movement now'], ['schedule', 'Schedule', 'What is next'], ['team', 'Team', 'People and handoffs'], ['performance', 'Performance', 'What is changing']],\n    rep: [['pipeline', 'Pipeline', 'Deals and opportunities'], ['customers', 'Customers', 'People to move forward'], ['schedule', 'Schedule', 'Today and next'], ['follow-up', 'Follow Up', 'What needs a response']],\n    field: [['jobs', 'Jobs', 'Work in front of you'], ['schedule', 'Schedule', 'Where to be next'], ['customers', 'Customers', 'Who you are serving'], ['documents', 'Documents', 'Photos, forms, and proof']],\n    owner: [['today', 'Today', 'What needs you now'], ['operations', 'Operations', 'What is moving'], ['opportunities', 'Opportunities', 'Where growth is'], ['performance', 'Performance', 'What the numbers say']],\n  };\n  const family = ['MANAGER', 'PM', 'OFFICE_ADMIN'].includes(role) ? 'manager' : ['REP', 'AGENT', 'VIEWER'].includes(role) ? 'rep' : role && !['OWNER', 'TENANT_OWNER', 'ADMIN', 'GODMODE'].includes(role) ? 'field' : 'owner';\n  return sets[family].map(([key, title, subtitle], index) => ({ key, title, subtitle, color: MODE_COLORS[index], route: home, storage_slug: key }));\n}\n\nexport function getTenantModeCardsForRole(tenant: any, effectiveRole?: string | null): TenantModeCardConfig[] {\n  if (!isModesTenant(tenant)) return [];\n  // Tenant-configured MODES are the stable top-level operating choices for every\n  // authorized tenant role. Role scope belongs inside each mode's applications;\n  // it must never replace the tenant's four configured mode identities.\n  const explicit = applyCurriModeShellPreset(tenant, applyHandymanModeShellPreset(tenant, applyEntertainmentModeShellPreset(tenant, applyEventRentalModeShellPreset(tenant, configuredModeCards(tenant)))));\n  const candidates = explicit.length >= 4\n    ? explicit\n    : [...explicit, ...derivedModeCards(tenant, effectiveRole), ...fallbackModeCards(tenant, effectiveRole)];\n  const seen = new Set<string>();\n  const selected: TenantModeCardConfig[] = [];\n  for (const card of candidates) {\n    const key = modeToken(card.key || card.title);\n    if (!key || seen.has(key)) continue;\n    seen.add(key);\n    selected.push(applyModeDefaultImage(tenant, { ...card, key, color: card.color || MODE_COLORS[selected.length % MODE_COLORS.length], storage_slug: modeToken(card.storage_slug || key) || key }));\n    if (selected.length === 4) break;\n  }\n  return canonicalizeTenantModeCards(selected);\n}\n\nexport function modeCardStoragePrefix(mode: Pick<TenantModeCardConfig, 'key' | 'storage_slug'>): string {\n  return `media/modes/${modeToken(mode.storage_slug || mode.key) || modeToken(mode.key)}`;\n}\n\nexport function applyModesTenantShell(settings: unknown, cards: readonly TenantModeCardConfig[]) {\n  const current = applyTenantExperienceFamily(settings, 'modes');\n  const currentModes = record(current.modes);\n  const normalizedCards = canonicalizeTenantModeCards(cards);\n  const existingNamespaces = strings(currentModes.storage_namespaces);\n  const storageNamespaces = [...new Set([...existingNamespaces, ...MODE_DEFAULT_IMAGE_KEYS.map((key) => `media/modes/${key}`), ...normalizedCards.map(modeCardStoragePrefix)])];\n  return { ...current, shell_template: MODES_TENANT_SHELL_KEY, modes: { ...currentModes, version: 4, capability_contract: MODES_TENANT_CAPABILITY_CONTRACT, canonical_name_contract: MODE_NAME_CANONICAL_CONTRACT, default_media_contract: MODE_DEFAULT_MEDIA_CONTRACT, activation_state: 'prepare', storage_namespaces: storageNamespaces, cards: normalizedCards } };\n}\n"},{"path":"src/PrivateAppShell.tsx","content":"/** KNOCKLAUNCH private application shell. */\nimport React,{Suspense} from 'react';\nimport {createPortal} from 'react-dom';\nimport {Link,Navigate,Route,Routes,useLocation,useNavigate,useParams} from 'react-router-dom';\nimport { ArrowLeft, Home, MessageCircle, RefreshCw } from 'lucide-react';\nimport {RouteHealthBanner} from '@/components/RouteHealthBanner';\nimport {UniversalLoadingScreen} from '@/components/ui/universal-loading-screen';\nimport {PageLoadingSkeleton} from '@/components/ux/PageLoadingSkeleton';\nimport {useCanonicalTenantRedirect} from '@/hooks/useCanonicalTenantRedirect';\nimport {MultiTenantProvider,useMultiTenant} from './contexts/MultiTenantContext';\nimport {RealtimeProvider} from './contexts/RealtimeContext';\nimport {TenantApplicationChromeContext} from './contexts/TenantApplicationChromeContext';\nimport {UserImpersonationProvider} from '@/contexts/UserImpersonationContext';\nimport {UserImpersonationBanner} from './components/admin/UserImpersonationBanner';\nimport {AuditorModeBanner} from './components/AuditorModeBanner';\nimport SiteBackground from './components/SiteBackground';\nimport {TelInterceptorBridge} from './components/communications/TelInterceptorBridge';\nimport {TenantBrandTheme} from '@/components/branding/TenantBrandTheme';\nimport TenantQuickTour from '@/components/onboarding/TenantQuickTour';\nimport {BaseErrorBoundary} from '@/components/error-boundary/BaseErrorBoundary';\nimport {GodModePageOverrideRuntime} from '@/components/godmode/GodModePageOverrideRuntime';\nimport TenantPublishedExperienceRuntime from '@/components/experience-editor/TenantPublishedExperienceRuntime';\nimport {setGlobalShortcutsState} from './hooks/useGlobalKeyboardShortcuts';\nimport {lazyWithRetry} from '@/lib/lazyWithRetry';\nimport {useShortcutHint} from './hooks/useShortcutHint';\nimport {FocusModeProvider} from './components/ux/FocusMode';\nimport {useSessionTracker} from './hooks/useSessionTracker';\nimport {useActivityLogger} from './hooks/useActivityLogger';\nimport {useRealtimeStormEvents} from './hooks/useRealtimeStormEvents';\nimport {ROLES} from './routes/helpers';\nimport {UnifiedProtectedRoute} from '@/components/UnifiedProtectedRoute';\n\nimport {getTenantDashboardPathForTenant,isKnockLaunchOsWorkspace} from '@/lib/tenantUtils';\nimport {persistCachedTenantBackground,resolveTenantBackgroundUrl} from '@/lib/tenantBackground';\nimport {resolveTenantWorkspaceRuntimeProfile} from '@/lib/tenants/tenantWorkspaceRuntimeProfile';\nimport {canonicalTenantRouteSlugForIdentity,resolveTenantRouteMembership,tenantRouteIdentityMatchesRequestedSlug} from '@/routes/verticalRouteRegistry';\nimport {buildTenantApplicationWorkspacePath,getTenantApplicationByReference,getTenantApplicationByStandaloneHost,type ApplicationCapability} from '@/config/applicationCapabilityRegistry';\nimport {resolveRequestedTenantRouteIdentity,resolveTenantApplicationRoute} from '@/routes/tenantApplicationRouteResolver';\nimport {readGodModeAccessContext} from '@/lib/godmodeAccess';\nimport {PROJECTED_TENANT_ROUTE_GRACE_MS,projectedTenantRouteIntentMatches,shouldHoldTenantRouteHydration} from '@/routes/tenantRouteIdentityBoundaryState';\nimport {resolvePrivateWorkspaceCompatibility} from '@/routes/privateWorkspaceCompatibility';\nimport RedfishWorkspaceShell from '@/components/redfish/RedfishWorkspaceShell';\nimport TenantModesShell from '@/shells/TenantModesShell';\nimport CurriControlCenterShell from '@/shells/curri/CurriControlCenterShell';\nimport { isModesTenant } from '@/shells/modesTenantShell';\nimport { TenantLayoutPreferenceBridge } from '@/components/layout/TenantLayoutControl';\nimport { CanonicalWorkspaceSidebarRoot, WorkspaceSidebarProvider } from '@/components/layout/TenantLayoutControl';\nimport PlatformContextMenu from '@/components/interaction/PlatformContextMenu';\nimport '@/styles/bigPapisApplicationFamily.css';\nimport '@/styles/bigPapisApplicationFamily.css';\n\nconst MailApplicationRoute=lazyWithRetry(()=>import('./pages/applications/MailApplicationRoute'));\nconst CalendarApplicationRoute=lazyWithRetry(()=>import('./pages/applications/CalendarApplicationRoute'));\nconst MessagingApplicationShell=lazyWithRetry(()=>import('./apps/messaging/MessagingApplicationShell'));\nconst DocumentsEvidenceApplicationRoute=lazyWithRetry(()=>import('./pages/applications/DocumentsEvidenceApplicationRoute'));\nconst BillingPaymentsApplicationRoute=lazyWithRetry(()=>import('./pages/applications/BillingPaymentsApplicationRoute'));\nconst ReportsAnalyticsApplicationRoute=lazyWithRetry(()=>import('./pages/applications/ReportsAnalyticsApplicationRoute'));\nconst JobsWorkOrdersApplicationRoute=lazyWithRetry(()=>import('./pages/applications/JobsWorkOrdersApplicationRoute'));\nconst ContactsRouter=lazyWithRetry(()=>import('./components/ContactsRouter').then(module=>({default:module.ContactsRouter})));\nconst TasksPage=lazyWithRetry(()=>import('./pages/TasksPage'));\nconst TenantSettingsPage=lazyWithRetry(()=>import('./pages/settings/TenantSettingsPageWithWebsiteAssets'));\nconst OpportunityRadarPage=lazyWithRetry(()=>import('./pages/crm/OpportunityRadarPage')); \nconst lazyNamedWithRetry=<TModule,TKey extends keyof TModule>(loader:()=>Promise<TModule>,exportName:TKey)=>lazyWithRetry(()=>loader().then(module=>({default:module[exportName] as React.ComponentType<any>})));\nconst AdminUsersCommandCenter=lazyNamedWithRetry(()=>import('./components/admin/TenantUserCommandCenters'),'AdminUsersCommandCenter');\nconst OwnerUsers=lazyWithRetry(()=>import('./pages/owner/OwnerUsers'));const KnockLaunchPortfolio=lazyWithRetry(()=>import('./pages/owner/KnockLaunchPortfolio'));const KnockLaunchOSDashboard=lazyWithRetry(()=>import('./pages/owner/KnockLaunchOSDashboard'));const KnockLaunchOSSettings=lazyWithRetry(()=>import('./pages/owner/KnockLaunchOSSettings'));const VideoStudio=lazyWithRetry(()=>import('./pages/owner/VideoStudio'));\nconst FirstClassAppTenantBoundary=lazyWithRetry(()=>import('./components/applications/FirstClassAppTenantBoundary'));const ProposalEditorApplicationRoute=lazyWithRetry(()=>import('./pages/applications/ProposalEditorApplicationRoute'));const UniversalProposalWorkspace=lazyWithRetry(()=>import('./pages/proposals/UniversalProposalWorkspace'));const CreativeStudioApplicationRoute=lazyWithRetry(()=>import('./pages/applications/CreativeStudioApplicationRoute'));const NotFound=lazyWithRetry(()=>import('./pages/NotFound'));const BackgroundOCRStatus=lazyNamedWithRetry(()=>import('./components/management/BackgroundOCRStatus'),'BackgroundOCRStatus');const GlobalCommandPalette=lazyNamedWithRetry(()=>import('./components/GlobalCommandPalette'),'GlobalCommandPalette');const KeyboardShortcutsModal=lazyNamedWithRetry(()=>import('./components/KeyboardShortcutsModal'),'KeyboardShortcutsModal');const TrialBanner=lazyNamedWithRetry(()=>import('./components/billing/TrialBanner'),'TrialBanner');const TrialAhaModal=lazyNamedWithRetry(()=>import('./components/billing/TrialAhaModal'),'TrialAhaModal');const ExperienceEditorCanvasBridge=lazyWithRetry(()=>import('./components/experience-editor/ExperienceEditorCanvasBridge'));const MiscAwareAccountMenu=lazyWithRetry(()=>import('./components/MiscAwareAccountMenu'));const RoofHelpFinderWorkspace=lazyWithRetry(()=>import('./pages/roof-help/RoofHelpFinderWorkspace'));const RedfishCanvassingRoute=lazyWithRetry(()=>import('./components/redfish/RedfishCanvassingRoute'));const RedfishContactWorkspace=lazyWithRetry(()=>import('./pages/crm/ContactWorkspace/index'));const MediaLibrary=lazyWithRetry(()=>import('./pages/admin/MediaLibrary'));const AutoUnlockWorkspaceRouter=lazyWithRetry(()=>import('./pages/auto-lockout/AutoUnlockWorkspaceRouter'));const PCGCanonicalWorkspaceRoute=lazyWithRetry(()=>import('./pages/card-grading/PCGCanonicalWorkspaceRoute'));const BookMeDirectlyWorkspace=lazyWithRetry(()=>import('./pages/book-me-directly/BookMeDirectlyWorkspace'));const CallCenterApplicationRoute=lazyWithRetry(()=>import('./pages/applications/CallCenterApplicationRoute'));const MarketingApplicationRoute=lazyWithRetry(()=>import('./pages/applications/MarketingApplicationRoute'));const EventRentalCustomersPage=lazyNamedWithRetry(()=>import('./pages/event-rentals/EventRentalWorkspace'),'EventRentalCustomersPage');const EventRentalInventoryPage=lazyNamedWithRetry(()=>import('./pages/event-rentals/EventRentalWorkspace'),'EventRentalInventoryPage');const EventRentalBookingsPage=lazyNamedWithRetry(()=>import('./pages/event-rentals/EventRentalWorkspace'),'EventRentalBookingsPage');const EventRentalOperationsPage=lazyNamedWithRetry(()=>import('./pages/event-rentals/EventRentalWorkspace'),'EventRentalOperationsPage');const EventRentalCalendarPage=lazyNamedWithRetry(()=>import('./pages/event-rentals/EventRentalWorkspace'),'EventRentalCalendarPage');const EventRentalPrepChecklistPage=lazyNamedWithRetry(()=>import('./pages/event-rentals/EventRentalWorkspace'),'EventRentalPrepChecklistPage');const EventRentalPaymentsPage=lazyNamedWithRetry(()=>import('./pages/event-rentals/EventRentalWorkspace'),'EventRentalPaymentsPage');const EventRentalReportsPage=lazyNamedWithRetry(()=>import('./pages/event-rentals/EventRentalWorkspace'),'EventRentalReportsPage');const EventRentalSetupReturnPage=lazyNamedWithRetry(()=>import('./pages/event-rentals/EventRentalWorkspace'),'EventRentalSetupReturnPage');\nconst RoofTracingPage=lazyWithRetry(()=>import('./pages/roof-estimator/RoofTracingPage'));\nconst TenantCrmRoutes=lazyWithRetry(()=>import('./routes/crmRoutes').then(module=>({default:function TenantCrmRoutesRuntime({locationOverride}:{locationOverride?:string}){return <Routes location={locationOverride}>{module.crmRoutes}<Route path=\"*\" element={<Suspense fallback={<RouteFallback/>}><NotFound/></Suspense>}/></Routes>}})));\nconst AdminRouteRegistry=lazyWithRetry(()=>import('./routes/adminRoutes').then(module=>({default:function AdminRouteRegistryRuntime(){return <Routes>{module.adminRoutes}<Route path=\"*\" element={<Suspense fallback={<RouteFallback/>}><NotFound/></Suspense>}/></Routes>}})));\nconst SceRouteRegistry=lazyWithRetry(()=>import('./routes/sceRoutes').then(module=>({default:function SceRouteRegistryRuntime(){return <Routes>{module.sceRoutes}<Route path=\"*\" element={<Suspense fallback={<RouteFallback/>}><NotFound/></Suspense>}/></Routes>}})));\nconst OwnerRouteRegistry=lazyWithRetry(()=>import('./routes/ownerRoutes').then(module=>({default:function OwnerRouteRegistryRuntime(){return <Routes>{module.ownerRoutes}<Route path=\"*\" element={<Suspense fallback={<RouteFallback/>}><NotFound/></Suspense>}/></Routes>}})));\nconst DefaultPrivateRouteRegistry=lazyWithRetry(()=>Promise.all([import('./routes/sceRoutes'),import('./routes/vanityRoutes'),import('./routes/ownerRoutes'),import('./routes/commandCenterRoutes')]).then(([sce,vanity,owner,commandCenter])=>({default:function DefaultPrivateRouteRegistryRuntime(){return <Routes>{sce.sceRoutes}{vanity.vanityRoutes}{owner.ownerRoutes}{commandCenter.commandCenterRoutes}<Route path=\"/index\" element={<Navigate to=\"/select-tenant\" replace/>}/><Route path=\"*\" element={<TenantCrmRouteFallback/>}/></Routes>}})));\nconst DIRECT_MODES_APPLICATION_IDS=new Set(['calendar','communications','mail','documents','invoices','payments','billing','analytics','reports','jobs','contacts','tasks','opportunity-radar','creative-studio','marketing']);\nfunction DirectModesApplicationSurface({app}:{app:ApplicationCapability}){let content:React.ReactNode=null;switch(app.id){case'calendar':content=<CalendarApplicationRoute/>;break;case'communications':content=<MessagingApplicationShell/>;break;case'mail':content=<MailApplicationRoute/>;break;case'documents':content=<DocumentsEvidenceApplicationRoute/>;break;case'invoices':case'payments':case'billing':content=<BillingPaymentsApplicationRoute/>;break;case'analytics':case'reports':content=<ReportsAnalyticsApplicationRoute/>;break;case'jobs':content=<JobsWorkOrdersApplicationRoute/>;break;case'contacts':content=<ContactsRouter/>;break;case'tasks':content=<TasksPage/>;break;case'opportunity-radar':content=<OpportunityRadarPage/>;break;case'creative-studio':content=<CreativeStudioApplicationRoute/>;break;case'marketing':content=<MarketingApplicationRoute/>;break;default:return null;}return <div data-tenant-application-surface=\"true\" data-tenant-application-id={app.id} className=\"relative h-full min-h-0 w-full overflow-hidden bg-transparent\"><Suspense fallback={<RouteFallback/>}>{content}</Suspense></div>}\nfunction isEventRentalTenantContext(tenant:any){const settings=((tenant as any)?.settings||{}) as Record<string,any>;const values=[tenant?.tenant_type,settings.declared_business_type,settings.business_type,settings.business_operating_blueprint?.businessTypeKey,settings.tenant_manifest?.businessOperatingBlueprint?.businessTypeKey].map(value=>String(value||'').trim().toUpperCase().replace(/[\\s-]+/g,'_'));return values.some(value=>value==='EVENT_RENTAL'||value==='EVENT_RENTALS'||value==='PARTY_RENTAL'||value==='PARTY_RENTALS')}\nfunction EventRentalModesApplicationSurface({app}:{app:ApplicationCapability}){const location=useLocation();const requestedKey=String(new URLSearchParams(location.search).get('modeApp')||'').trim();const requestedApp=requestedKey?getTenantApplicationByReference(requestedKey):undefined;const effectiveApp=requestedApp?.workspaceSurface&&requestedApp.workspaceSurface===app.workspaceSurface?requestedApp:app;let content:React.ReactNode=null;switch(effectiveApp.id){case'contacts':content=<EventRentalCustomersPage/>;break;case'booking':content=<EventRentalBookingsPage/>;break;case'rental-inventory':content=<EventRentalInventoryPage/>;break;case'event-rental-operations':content=<EventRentalOperationsPage/>;break;case'calendar':content=<CalendarApplicationRoute/>;break;case'tasks':content=<EventRentalPrepChecklistPage/>;break;case'invoices':content=<BillingPaymentsApplicationRoute embedded embeddedSurface=\"invoices\"/>;break;case'payments':case'billing':content=<EventRentalPaymentsPage/>;break;case'analytics':case'reports':content=<EventRentalReportsPage/>;break;case'forms':content=<EventRentalSetupReturnPage/>;break;case'proposals':content=<UniversalProposalWorkspace/>;break;default:if(DIRECT_MODES_APPLICATION_IDS.has(effectiveApp.id))return <DirectModesApplicationSurface app={effectiveApp}/>;return <EventRentalModesRouteFallback app={effectiveApp}/>;}return <Suspense fallback={<RouteFallback/>}>{content}</Suspense>}\nfunction EventRentalModesRouteFallback({app}:{app:ApplicationCapability}){const{activeTenant}=useMultiTenant();const home=activeTenant?.id?getTenantDashboardPathForTenant(activeTenant):'/select-tenant';return <section data-event-rental-route-fallback=\"true\" className=\"mx-auto my-6 w-full max-w-3xl rounded-3xl border border-white/12 bg-black/35 p-6 text-white shadow-[0_18px_48px_rgba(0,0,0,.22)] backdrop-blur-xl\"><div className=\"text-[10px] font-black uppercase tracking-[.2em] text-white/48\">Event rental workspace</div><h1 className=\"mt-2 text-2xl font-black\">{app.label} is not wired to this MODES workspace yet</h1><p className=\"mt-2 text-sm font-medium leading-6 text-white/60\">This route is blocked from falling through to the generic CRM. Return to the rental workspace instead.</p><Link to={home} className=\"mt-5 inline-flex min-h-11 items-center justify-center rounded-xl border border-white/14 bg-white/[.08] px-4 text-sm font-black text-white\">Back to workspace</Link></section>} \n\nfunction GlobalFallbackAccountMenu({verifyShellOwnership=false}:{verifyShellOwnership?:boolean}){const location=useLocation();const {activeTenant}=useMultiTenant();const normalizedPath=location.pathname.toLowerCase().replace(/\\/+$/g,'')||'/';const tenantType=String(activeTenant?.tenant_type||'').trim().toUpperCase().replace(/[\\s-]+/g,'_');const tenantSlug=String(activeTenant?.company_slug||'').trim().toLowerCase();const settings=((activeTenant as any)?.settings||{}) as Record<string,any>;const blueprintDriven=Boolean(settings.business_operating_blueprint||settings.tenant_manifest?.businessOperatingBlueprint||settings.declared_business_type);const adaptiveShellOwnsAccountMenu=(blueprintDriven||tenantType==='MISC'||tenantType==='MISCELLANEOUS')&&Boolean(tenantSlug)&&(normalizedPath===`/${tenantSlug}`||normalizedPath.startsWith(`/${tenantSlug}/`)||normalizedPath.startsWith('/crm/misc/'));const applicationRoute=resolveTenantApplicationRoute(normalizedPath);const selfContainedRouteFamily=resolveTenantWorkspaceRuntimeProfile(activeTenant,location.pathname).isSelfContainedTenantWorkspace;const shellContractOwnsAccountMenu=verifyShellOwnership||(adaptiveShellOwnsAccountMenu&&!selfContainedRouteFamily);if(location.pathname.startsWith('/admin'))return null;if(applicationRoute?.mode==='standalone')return null;const forcePcgMobileAvatar=tenantSlug==='pcg'&&typeof window!=='undefined'&&window.matchMedia('(max-width: 767px)').matches;if(shellContractOwnsAccountMenu&&!forcePcgMobileAvatar)return null;return <div data-global-fallback-avatar-host=\"true\"><MiscAwareAccountMenu singletonKey=\"global-private-shell-account-menu\" placement=\"fixed\" fallback avatarMode=\"tenant\" tenantShellOwner/></div>}\nfunction LazyShellSlot({children}:{children:React.ReactNode}){return <Suspense fallback={null}>{children}</Suspense>}\nfunction CanonicalRedirectHandler(){useCanonicalTenantRedirect();return null}\nfunction BigPapisApplicationFamilyStyle(){\n  const location=useLocation();\n  const{activeTenant}=useMultiTenant();\n\n  React.useEffect(()=>{\n    if(typeof document==='undefined')return;\n    const slug=String(activeTenant?.company_slug||'').trim().toLowerCase();\n    const path=location.pathname.toLowerCase();\n    const isBigPapis=slug==='big-papis'||path.startsWith('/big-papis/');\n    const modeClass=path.includes('/start-popup')||path.includes('/pop-up')||path.includes('/popup')?'kl-bp-popup':path.includes('/back-office')?'kl-bp-back-office':path.includes('/messages')||path.includes('/messaging')||path.includes('/communications')?'kl-bp-connect':path.includes('/event')?'kl-bp-event':'kl-bp-plan';\n    const classes=['kl-big-papis-app-family','kl-bp-plan','kl-bp-popup','kl-bp-event','kl-bp-back-office','kl-bp-connect'];\n    for(const className of classes)document.body.classList.remove(className);\n    if(isBigPapis)document.body.classList.add('kl-big-papis-app-family',modeClass);\n    return()=>{for(const className of classes)document.body.classList.remove(className)};\n  },[activeTenant?.company_slug,location.pathname]);\n\n  return null;\n}\nfunction MobileViewportRecovery(){const[zoomed,setZoomed]=React.useState(false);const lastTapRef=React.useRef<{time:number;x:number;y:number}|null>(null);const resetViewport=React.useCallback(()=>{if(typeof document==='undefined'||typeof window==='undefined')return;const active=document.activeElement as HTMLElement|null;if(active&&typeof active.blur==='function')active.blur();let viewport=document.querySelector('meta[name=\"viewport\"]') as HTMLMetaElement|null;const created=!viewport;if(!viewport){viewport=document.createElement('meta');viewport.name='viewport';document.head.appendChild(viewport)}const original=viewport.content;const fallback='width=device-width, initial-scale=1, viewport-fit=cover';viewport.content='width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, viewport-fit=cover';window.setTimeout(()=>{if(!viewport)return;viewport.content=original||fallback;if(created&&!original)viewport.content=fallback;window.dispatchEvent(new Event('resize'))},180)},[]);React.useEffect(()=>{const visualViewport=window.visualViewport;if(!visualViewport)return;const sync=()=>setZoomed(visualViewport.scale>1.05);sync();visualViewport.addEventListener('resize',sync);visualViewport.addEventListener('scroll',sync);return()=>{visualViewport.removeEventListener('resize',sync);visualViewport.removeEventListener('scroll',sync)}},[]);React.useEffect(()=>{const onPointerUp=(event:PointerEvent)=>{if(!zoomed||event.pointerType==='mouse')return;const target=event.target as Element|null;if(target?.closest('input,textarea,select,button,a,[role=\"button\"],[contenteditable=\"true\"],[data-no-viewport-reset]')){lastTapRef.current=null;return}const now=Date.now();const previous=lastTapRef.current;lastTapRef.current={time:now,x:event.clientX,y:event.clientY};if(!previous||now-previous.time>320)return;const dx=event.clientX-previous.x;const dy=event.clientY-previous.y;if(Math.hypot(dx,dy)>28)return;event.preventDefault();lastTapRef.current=null;resetViewport()};document.addEventListener('pointerup',onPointerUp,{passive:false});return()=>document.removeEventListener('pointerup',onPointerUp)},[resetViewport,zoomed]);return <><style>{`@media (max-width: 767px){.kl-responsive-tenant-runtime input:not([type=\"checkbox\"]):not([type=\"radio\"]):not([type=\"range\"]),.kl-responsive-tenant-runtime select,.kl-responsive-tenant-runtime textarea,.kl-responsive-tenant-runtime [contenteditable=\"true\"]{font-size:max(16px,1em)!important}.kl-responsive-tenant-runtime input,.kl-responsive-tenant-runtime select,.kl-responsive-tenant-runtime textarea,.kl-responsive-tenant-runtime button{touch-action:manipulation}}`}</style>{zoomed?<button type=\"button\" data-no-viewport-reset=\"true\" aria-label=\"Reset page zoom to normal\" onClick={resetViewport} className=\"fixed right-3 top-[calc(var(--comm-banner-h,0px)+env(safe-area-inset-top)+0.75rem)] z-[9999] min-h-10 rounded-full border border-white/20 bg-black/80 px-3 text-xs font-black text-white shadow-lg backdrop-blur-xl\">Reset view</button>:null}</>}\nfunction readInstalledAppSafeInsets(){if(typeof document==='undefined')return{top:0,right:0,bottom:0,left:0};const probe=document.createElement('div');probe.style.cssText='position:fixed;visibility:hidden;pointer-events:none;padding-top:env(safe-area-inset-top);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left)';document.body.appendChild(probe);const style=window.getComputedStyle(probe);const value=(input:string)=>Number.parseFloat(input)||0;const insets={top:value(style.paddingTop),right:value(style.paddingRight),bottom:value(style.paddingBottom),left:value(style.paddingLeft)};probe.remove();return insets}\nfunction InstalledAppNavigationRecovery(){const navigate=useNavigate();const location=useLocation();const{activeTenant}=useMultiTenant();const footerRef=React.useRef<HTMLElement|null>(null);const normalizedUtilityPath=location.pathname.toLowerCase().replace(/\\/+$/g,'')||'/';const suppressUtilityFooter=normalizedUtilityPath==='/select-tenant'||normalizedUtilityPath.startsWith('/sign-agreement')||normalizedUtilityPath.startsWith('/agreement-verification');const[mobile,setMobile]=React.useState(()=>!suppressUtilityFooter&&typeof window!=='undefined'&&window.matchMedia('(max-width: 767px)').matches);const[stackRevision,setStackRevision]=React.useState(0);React.useEffect(()=>{if(typeof window==='undefined')return;const media=window.matchMedia('(max-width: 767px)');const sync=()=>setMobile(!suppressUtilityFooter&&media.matches);sync();media.addEventListener('change',sync);return()=>media.removeEventListener('change',sync)},[suppressUtilityFooter]);React.useEffect(()=>{if(!mobile||typeof document==='undefined'||typeof window==='undefined')return;const footer=footerRef.current;if(!footer)return;const selectors=['[data-big-papis-mobile-nav=\"true\"]','[data-tenant-modes-mobile-nav=\"true\"]','[data-tenant-modes-mobile-landing-nav=\"true\"]','[data-mobile-bottom-nav=\"true\"]','[data-tenant-mobile-nav=\"true\"]'];const sync=()=>{const primary=selectors.map((selector)=>document.querySelector<HTMLElement>(selector)).find(Boolean);if(!primary)return;const style=window.getComputedStyle(primary);const active=primary.querySelector<HTMLElement>('[aria-current=\"page\"]');const activeStyle=active?window.getComputedStyle(active):null;footer.style.setProperty('--kl-utility-nav-bg',style.backgroundColor||'rgba(5,10,16,.94)');footer.style.setProperty('--kl-utility-nav-border',style.borderTopColor||'rgba(255,255,255,.12)');footer.style.setProperty('--kl-utility-nav-text',style.color||'rgba(255,255,255,.82)');footer.style.setProperty('--kl-utility-nav-accent',activeStyle?.color||style.color||'rgba(255,255,255,.92)');footer.style.setProperty('--kl-utility-nav-shadow',style.boxShadow||'0 -14px 44px rgba(0,0,0,.32)');footer.style.setProperty('--kl-utility-nav-backdrop',style.backdropFilter||'blur(24px)');document.documentElement.style.setProperty('--kl-platform-mobile-nav-h',`${Math.ceil(footer.getBoundingClientRect().height)}px`)};sync();const observer=new MutationObserver(sync);observer.observe(document.body,{childList:true,subtree:true,attributes:true,attributeFilter:['class','style','aria-current']});window.addEventListener('resize',sync,{passive:true});return()=>{observer.disconnect();window.removeEventListener('resize',sync)}},[mobile,activeTenant?.id]);React.useEffect(()=>{if(!mobile||typeof document==='undefined'||typeof window==='undefined')return;const footer=footerRef.current;if(!footer)return;const selectors=['[data-big-papis-mobile-nav=\"true\"]','[data-tenant-modes-mobile-nav=\"true\"]','[data-tenant-modes-mobile-landing-nav=\"true\"]','[data-mobile-bottom-nav=\"true\"]','[data-tenant-mobile-nav=\"true\"]'];const primary=selectors.map((selector)=>document.querySelector<HTMLElement>(selector)).find(Boolean);if(!primary){const utilityRoot=document.querySelector<HTMLElement>('.kl-responsive-tenant-runtime');const previousUtilityRootStyle=utilityRoot?.getAttribute('style')??null;const previousPlatformNavHeight=document.documentElement.style.getPropertyValue('--kl-platform-mobile-nav-h');const previousStackHeight=document.documentElement.style.getPropertyValue('--kl-mobile-bottom-stack-h');const syncUtilityOnly=()=>{const utilityHeight=Math.ceil(footer.getBoundingClientRect().height);footer.style.setProperty('bottom','0px','important');document.documentElement.style.setProperty('--kl-platform-mobile-nav-h',`${utilityHeight}px`);document.documentElement.style.setProperty('--kl-mobile-bottom-stack-h',`${utilityHeight}px`);if(utilityRoot){utilityRoot.style.setProperty('position','fixed','important');utilityRoot.style.setProperty('inset','0 0 '+utilityHeight+'px 0','important');utilityRoot.style.setProperty('height','auto','important');utilityRoot.style.setProperty('min-height','0','important');utilityRoot.style.setProperty('overflow-y','auto','important');utilityRoot.style.setProperty('padding-bottom','0px','important');utilityRoot.style.setProperty('overscroll-behavior-y','contain','important')}};syncUtilityOnly();let lateMounted=false;const lateMountObserver=new MutationObserver(()=>{if(lateMounted)return;const mounted=selectors.some((selector)=>Boolean(document.querySelector<HTMLElement>(selector)));if(!mounted)return;lateMounted=true;setStackRevision((revision)=>revision+1)});lateMountObserver.observe(document.body,{childList:true,subtree:true,attributes:true,attributeFilter:['class','style','aria-current']});window.addEventListener('resize',syncUtilityOnly,{passive:true});return()=>{lateMountObserver.disconnect();window.removeEventListener('resize',syncUtilityOnly);if(utilityRoot){if(previousUtilityRootStyle===null)utilityRoot.removeAttribute('style');else utilityRoot.setAttribute('style',previousUtilityRootStyle)}if(previousPlatformNavHeight)document.documentElement.style.setProperty('--kl-platform-mobile-nav-h',previousPlatformNavHeight);else document.documentElement.style.removeProperty('--kl-platform-mobile-nav-h');if(previousStackHeight)document.documentElement.style.setProperty('--kl-mobile-bottom-stack-h',previousStackHeight);else document.documentElement.style.removeProperty('--kl-mobile-bottom-stack-h')}}const canonicalTenantNavs=selectors.map((selector)=>document.querySelector<HTMLElement>(selector)).filter((candidate):candidate is HTMLElement=>Boolean(candidate)&&candidate!==footer&&!footer.contains(candidate));const ordered=[primary,...Array.from(new Set(canonicalTenantNavs.filter((candidate)=>candidate!==primary)))];const originalBottoms=new Map(ordered.map((element)=>[element,element.style.bottom]));const root=document.querySelector<HTMLElement>('.kl-responsive-tenant-runtime');const previousRootPadding=root?.style.paddingBottom||'';const previousPlatformNavHeight=document.documentElement.style.getPropertyValue('--kl-platform-mobile-nav-h');const previousStackHeight=document.documentElement.style.getPropertyValue('--kl-mobile-bottom-stack-h');const previousPrimaryNavHeight=document.documentElement.style.getPropertyValue('--kl-mobile-primary-nav-h');const syncStack=()=>{const utilityHeight=Math.ceil(footer.getBoundingClientRect().height);footer.style.setProperty('bottom','0px','important');document.documentElement.style.setProperty('--kl-platform-mobile-nav-h',`${utilityHeight}px`);document.documentElement.style.setProperty('--kl-mobile-primary-nav-h',`${Math.ceil(primary.getBoundingClientRect().height)}px`);let offset=utilityHeight;for(const element of ordered){element.style.setProperty('bottom',`${offset}px`,'important');offset+=Math.ceil(element.getBoundingClientRect().height)}document.documentElement.style.setProperty('--kl-mobile-bottom-stack-h',`${offset}px`);if(root)root.style.setProperty('padding-bottom',`${offset}px`,'important')};syncStack();const observer=new ResizeObserver(syncStack);observer.observe(footer);for(const element of ordered)observer.observe(element);window.addEventListener('resize',syncStack,{passive:true});return()=>{observer.disconnect();window.removeEventListener('resize',syncStack);for(const [element,previousBottom] of originalBottoms){if(previousBottom)element.style.bottom=previousBottom;else element.style.removeProperty('bottom')}if(root){if(previousRootPadding)root.style.paddingBottom=previousRootPadding;else root.style.removeProperty('padding-bottom')}if(previousPlatformNavHeight)document.documentElement.style.setProperty('--kl-platform-mobile-nav-h',previousPlatformNavHeight);else document.documentElement.style.removeProperty('--kl-platform-mobile-nav-h');if(previousStackHeight)document.documentElement.style.setProperty('--kl-mobile-bottom-stack-h',previousStackHeight);else document.documentElement.style.removeProperty('--kl-mobile-bottom-stack-h');if(previousPrimaryNavHeight)document.documentElement.style.setProperty('--kl-mobile-primary-nav-h',previousPrimaryNavHeight);else document.documentElement.style.removeProperty('--kl-mobile-primary-nav-h')}},[mobile,activeTenant?.id,location.pathname,location.search,stackRevision]);if(!mobile||!activeTenant?.id||typeof window==='undefined'||typeof document==='undefined'||window.location.hostname.toLowerCase()!=='app.knocklaunch.app')return null;const home=activeTenant?.id?getTenantDashboardPathForTenant(activeTenant):'/select-tenant';const goBack=()=>{if(window.history.length>1)navigate(-1);else navigate(home)};const goHome=()=>navigate(home);const reload=()=>window.location.reload();const openMessages=()=>window.dispatchEvent(new CustomEvent('knocklaunch:messages-open'));const iconStyle={color:'var(--kl-utility-nav-accent,var(--kl-utility-nav-text,rgba(255,255,255,.92)))'};return createPortal(<><style>{`@media (max-width:767px){.kl-responsive-tenant-runtime{--kl-mobile-primary-nav-h:64px;--kl-mobile-utility-footer-h:56px;box-sizing:border-box}}`}</style><nav ref={footerRef} data-platform-mobile-utility-footer=\"true\" aria-label=\"Mobile utility navigation\" className=\"fixed inset-x-0 bottom-0 z-[10050] grid h-[calc(var(--kl-mobile-utility-footer-h,56px)+env(safe-area-inset-bottom))] grid-cols-4 border-t pb-[env(safe-area-inset-bottom)] md:hidden\" style={{background:'var(--kl-utility-nav-bg,rgba(5,10,16,.94))',borderColor:'var(--kl-utility-nav-border,rgba(255,255,255,.12))',color:'var(--kl-utility-nav-text,rgba(255,255,255,.82))',boxShadow:'var(--kl-utility-nav-shadow,0 -14px 44px rgba(0,0,0,.32))',backdropFilter:'var(--kl-utility-nav-backdrop,blur(24px))'}}><button type=\"button\" data-installed-app-navigation-action=\"back\" onClick={goBack} className=\"flex min-h-14 flex-col items-center justify-center gap-0.5 text-[10px] font-black\"><ArrowLeft className=\"h-5 w-5\" style={iconStyle}/><span>Back</span></button><button type=\"button\" data-installed-app-navigation-action=\"home\" onClick={goHome} className=\"flex min-h-14 flex-col items-center justify-center gap-0.5 text-[10px] font-black\"><Home className=\"h-5 w-5\" style={iconStyle}/><span>Home</span></button><button type=\"button\" data-installed-app-navigation-action=\"reload\" onClick={reload} className=\"flex min-h-14 flex-col items-center justify-center gap-0.5 text-[10px] font-black\"><RefreshCw className=\"h-5 w-5\" style={iconStyle}/><span>Refresh</span></button><button type=\"button\" data-installed-app-navigation-action=\"messages\" onClick={openMessages} className=\"flex min-h-14 flex-col items-center justify-center gap-0.5 text-[10px] font-black\"><MessageCircle className=\"h-5 w-5\" style={iconStyle}/><span>Messages</span></button></nav></>,document.body)}\nfunction TenantRouteScrollRestoration(){const location=useLocation();React.useEffect(()=>{if(typeof window==='undefined'||typeof document==='undefined'||location.hash)return;const frame=window.requestAnimationFrame(()=>{const tenantOwner=document.querySelector<HTMLElement>('[data-experience-runtime-root=\"true\"][data-route-scroll-owner=\"tenant\"]');if(tenantOwner){tenantOwner.scrollTo({top:0,left:0,behavior:'auto'});return}window.scrollTo({top:0,left:0,behavior:'auto'})});return()=>window.cancelAnimationFrame(frame)},[location.pathname,location.hash]);return null}\nfunction GlobalTrackers(){useSessionTracker();useActivityLogger();useRealtimeStormEvents();React.useEffect(()=>{void import('@/lib/externalNativeCall').then(m=>m.installExternalNativeCallInterceptor())},[]);return null}\nfunction ConditionalRouteHealthBanner(){const location=useLocation();if(!location.pathname.startsWith('/crm'))return null;return <RouteHealthBanner/>}\nfunction GlobalImpersonationBanner(){return <UserImpersonationBanner/>}\nfunction RouteFallback(){return <PageLoadingSkeleton variant=\"minimal\"/>} \nfunction UsersRouteAlias(){const {activeTenant,effectiveRole,hasGodModeAnywhere,isLoading}=useMultiTenant();const platformAuthority=effectiveRole==='GodMode'||hasGodModeAnywhere();if(platformAuthority)return <Suspense fallback={<RouteFallback/>}><section className=\"mx-auto w-full max-w-[1600px] space-y-4 px-4 py-5 sm:px-6 sm:py-6\"><div><h1 className=\"text-2xl font-semibold tracking-tight\">Users</h1><p className=\"mt-1 text-sm text-muted-foreground\">Manage people, roles, and workspace access.</p></div><AdminUsersCommandCenter/></section></Suspense>;if(activeTenant?.id)return <Suspense fallback={<RouteFallback/>}><OwnerUsers/></Suspense>;if(isLoading)return <RouteFallback/>;return <Navigate to=\"/select-tenant?next=%2Fusers\" replace/>}\nfunction DemoWorkspaceEntry(){const {tenantId}=useParams();const navigate=useNavigate();const {activeTenant,memberships,isLoading,switchTenant}=useMultiTenant();const [error,setError]=React.useState('');const membership=memberships.find(m=>m.tenant_id===tenantId);React.useEffect(()=>{let cancelled=false;if(isLoading||!tenantId||!membership?.tenant)return;const tenant=membership.tenant;const readiness=((tenant as any)?.settings?.tenant_readiness||{}) as Record<string,any>;if(readiness.demo_ready!==true){const missing=Array.isArray(readiness.demo_missing)?readiness.demo_missing.map((value:unknown)=>String(value||'').trim()).filter(Boolean):[];setError(`Demo is still being prepared.${missing.length?` ${missing.join(' · ')}.`:''} Run Workspace Health after branding is complete.`);return}const target=getTenantDashboardPathForTenant(tenant);void(async()=>{try{if(activeTenant?.id!==tenant.id)await switchTenant(tenant.id);if(!cancelled)navigate(target,{replace:true})}catch(caught){if(!cancelled)setError(caught instanceof Error?caught.message:'Could not open the branded demo workspace.')}})();return()=>{cancelled=true}},[activeTenant?.id,isLoading,membership?.tenant,navigate,switchTenant,tenantId]);if(!tenantId)return <Navigate to=\"/select-tenant\" replace/>;if(error||(!isLoading&&!membership))return <section className=\"mx-auto mt-16 max-w-xl rounded-2xl border border-rose-300/20 bg-rose-400/10 p-6 text-white\"><h1 className=\"text-xl font-semibold\">Demo workspace unavailable</h1><p className=\"mt-2 text-sm text-white/70\">{error||'This branded demo tenant is not available to the current account.'}</p></section>;const targetTenant=membership?.tenant;return <UniversalLoadingScreen brandName={targetTenant?.company_dba_name||targetTenant?.company_legal_name||targetTenant?.name} logoUrl={targetTenant?.company_logo_url} backgroundUrl={resolveTenantBackgroundUrl(targetTenant)||undefined} tenantKey={targetTenant?.company_slug||targetTenant?.id} title=\"Opening branded demo\" subtitle=\"Loading the certified workspace.\" showCountdown={false}/>}\nfunction ShortcutsModalManager({children}:{children:React.ReactNode}){const [showShortcutsModal,setShowShortcutsModal]=React.useState(false);useShortcutHint();React.useEffect(()=>{setGlobalShortcutsState({showShortcutsModal,setShowShortcutsModal})},[showShortcutsModal]);return <><PlatformContextMenu/><LazyShellSlot><KeyboardShortcutsModal open={showShortcutsModal} onOpenChange={setShowShortcutsModal}/></LazyShellSlot>{children}</>}\nfunction AdminRoutesOnly(){return <Suspense fallback={<RouteFallback/>}><AdminRouteRegistry/></Suspense>}\nfunction roofingInternalCrmPath(pathname:string,activeTenant:any){const normalized=String(pathname||'').toLowerCase().replace(/\\/+$/g,'');const tenantSlug=canonicalTenantRouteSlugForIdentity(activeTenant).toLowerCase();const tenantType=String(activeTenant?.tenant_type||'ROOFING_COMPANY').trim().toUpperCase().replace(/[\\s-]+/g,'_');const rest=tenantSlug&&normalized.startsWith(`/${tenantSlug}`)?normalized.slice(tenantSlug.length+1).replace(/^\\//,''):'';if(!rest)return `/crm/${tenantType}/${tenantSlug}/dashboard`;const [head,...tail]=rest.split('/').filter(Boolean);const internalHead=({today:'dashboard',homeowners:'contacts',production:'jobs',schedule:'calendar',money:'billing',inbox:'communications',opportunities:'opportunity-radar',opportunity:'opportunity-radar',radar:'opportunity-radar','roof-measurement':'roof-tracer'} as Record<string,string>)[head]||head;return `/crm/${tenantType}/${tenantSlug}/${[internalHead,...tail].filter(Boolean).join('/')}`}\nfunction RedfishHomeownerDetailRouter(){return <Routes><Route path=\"/redfish-roofing/homeowners/:contactId\" element={<UnifiedProtectedRoute allowedRoles={ROLES.FIELD_STAFF} redirectTo=\"/crm/login\"><Suspense fallback={<RouteFallback/>}><RedfishContactWorkspace/></Suspense></UnifiedProtectedRoute>}/></Routes>}\nfunction RoofingOwnerWorkspaceRouter(){const location=useLocation();const {activeTenant}=useMultiTenant();const tenantSlug=activeTenant?.id?canonicalTenantRouteSlugForIdentity(activeTenant).toLowerCase():'';const normalized=location.pathname.toLowerCase().replace(/\\/+$/g,'');if(tenantSlug&&normalized===`/${tenantSlug}`)return <Navigate to={`/${tenantSlug}/today`} replace/>;if(tenantSlug&&normalized===`/${tenantSlug}/roof-measurement`)return <UnifiedProtectedRoute allowedRoles={['Rep','PA','Roofer','PM','Admin','Owner','Tenant Owner','GodMode']} redirectTo=\"/crm/login\"><Suspense fallback={<RouteFallback/>}><RoofTracingPage/></Suspense></UnifiedProtectedRoute>;const internalPath=roofingInternalCrmPath(location.pathname,activeTenant);return <Suspense fallback={<RouteFallback/>}><TenantCrmRoutes locationOverride={`${internalPath}${location.search||''}`}/></Suspense>} \nfunction TenantCrmRouteFallback(){const {activeTenant,isLoading}=useMultiTenant();if(!activeTenant?.id){if(isLoading)return <RouteFallback/>;return <Navigate to=\"/select-tenant\" replace/>}return <Suspense fallback={<RouteFallback/>}><TenantCrmRoutes/></Suspense>}\nfunction resolveTenantSettingsWorkspaceAlias(pathname:string,activeTenant:any){if(!activeTenant?.id)return null;const slug=canonicalTenantRouteSlugForIdentity(activeTenant).toLowerCase();const normalized=String(pathname||'').toLowerCase().replace(/\\/+$/g,'');const legacyBase=`/${slug}/dashboard/settings`;if(normalized!==legacyBase&&!normalized.startsWith(`${legacyBase}/`))return null;const suffix=normalized.slice(legacyBase.length);return `/${slug}/settings${suffix}`}function isTenantSettingsWorkspacePath(pathname:string,activeTenant:any){if(!activeTenant?.id)return false;const slug=canonicalTenantRouteSlugForIdentity(activeTenant).toLowerCase();const normalized=String(pathname||'').toLowerCase().replace(/\\/+$/g,'');const base=`/${slug}/settings`;return normalized===base||normalized.startsWith(`${base}/`)}\nfunction ModesTenantRouteFallback(){const location=useLocation();const {activeTenant,isLoading}=useMultiTenant();if(!activeTenant?.id){if(isLoading)return <RouteFallback/>;return <Navigate to=\"/select-tenant\" replace/>}const slug=canonicalTenantRouteSlugForIdentity(activeTenant).toLowerCase();const home=getTenantDashboardPathForTenant(activeTenant);const normalize=(value:string)=>String(value||'/').toLowerCase().replace(/\\/+$/g,'')||'/';const current=normalize(location.pathname);const homePath=normalize(home);const tenantRoot=`/${slug}`;const params=new URLSearchParams(location.search);const modeApp=String(params.get('modeApp')||'').trim();if(modeApp){const app=getTenantApplicationByReference(modeApp);if(app){const appPath=String(app.standalonePath||`/${app.slug}`).replace(/^\\/+|\\/+$/g,'');const target=`/${slug}/${appPath}`;if(current!==normalize(target))return <Navigate to={`${target}${location.search||''}${location.hash||''}`} replace/>;return <StandaloneApplicationWorkspace app={app} tenantSlugFromPath={slug}/>}}if(current===homePath||current===tenantRoot||current===`${tenantRoot}/dashboard`)return null;return <Navigate to={home} replace/>}\nfunction TenantRouteIdentityBoundary({children}:{children:React.ReactNode}){const location=useLocation();const {activeTenant,memberships,isLoading,switchTenant}=useMultiTenant();const requestedIdentity=React.useMemo(()=>resolveRequestedTenantRouteIdentity(location.pathname),[location.pathname]);const requestedSlug=requestedIdentity?.tenantSlug||'';const resolution=React.useMemo(()=>requestedSlug?resolveTenantRouteMembership(memberships,requestedSlug,requestedIdentity?.tenantType||undefined):null,[memberships,requestedIdentity?.tenantType,requestedSlug]);const requestedTenant=resolution?.membership?.tenant||null;const requestedTenantId=String(requestedTenant?.id||'');const activeMatchesRequested=!requestedSlug||tenantRouteIdentityMatchesRequestedSlug(activeTenant,requestedSlug);const projectedAccess=readGodModeAccessContext();const projectedIntentMatchesRequested=projectedTenantRouteIntentMatches({requestedSlug,projectedTenantSlug:projectedAccess?.tenantSlug,projectedRole:projectedAccess?.role,projectedMode:projectedAccess?.mode});const projectionGraceKey=projectedIntentMatchesRequested&&!activeMatchesRequested&&!requestedTenantId?`${requestedSlug}:${projectedAccess?.tenantId||''}`:'';const [expiredProjectionGraceKey,setExpiredProjectionGraceKey]=React.useState('');const projectionGraceElapsed=Boolean(projectionGraceKey&&expiredProjectionGraceKey===projectionGraceKey);const [switching,setSwitching]=React.useState(false);const [switchFailed,setSwitchFailed]=React.useState(false);React.useEffect(()=>{if(!projectionGraceKey){if(expiredProjectionGraceKey)setExpiredProjectionGraceKey('');return}if(expiredProjectionGraceKey===projectionGraceKey)return;const timeoutId=window.setTimeout(()=>setExpiredProjectionGraceKey(projectionGraceKey),PROJECTED_TENANT_ROUTE_GRACE_MS);return()=>window.clearTimeout(timeoutId)},[expiredProjectionGraceKey,projectionGraceKey]);React.useEffect(()=>{if(!requestedTenantId||requestedTenantId===activeTenant?.id){setSwitchFailed(false);setSwitching(false);return}let cancelled=false;setSwitchFailed(false);setSwitching(true);void switchTenant(requestedTenantId).then(()=>{if(!cancelled)setSwitching(false)}).catch(()=>{if(!cancelled){setSwitching(false);setSwitchFailed(true)}});return()=>{cancelled=true}},[activeTenant?.id,requestedTenantId,switchTenant]);if(switchFailed){const next=encodeURIComponent(`${location.pathname}${location.search||''}${location.hash||''}`);return <section data-tenant-route-boundary=\"switch-failed\" className=\"mx-auto mt-16 max-w-xl rounded-2xl border border-amber-300/20 bg-amber-300/10 p-6 text-white\"><h1 className=\"text-xl font-semibold\">Workspace connection needs another try</h1><p className=\"mt-2 text-sm text-white/70\">KNOCKLAUNCH kept this workspace route in place instead of sending you away. Retry the tenant connection or choose a workspace manually.</p><div className=\"mt-4 flex flex-wrap gap-3\"><button type=\"button\" onClick={()=>{setSwitchFailed(false);setSwitching(false)}} className=\"inline-flex rounded-xl border border-white/15 bg-white/[0.08] px-4 py-2 text-sm font-semibold text-white\">Retry workspace</button><Link to={`/select-tenant?manual=1&next=${next}`} className=\"inline-flex rounded-xl border border-white/10 bg-black/20 px-4 py-2 text-sm font-semibold text-white/80\">Choose workspace</Link></div></section>}if(requestedTenantId&&(switching||activeTenant?.id!==requestedTenantId))return <RouteFallback/>;if(shouldHoldTenantRouteHydration({requestedSlug,activeMatchesRequested,requestedTenantId,isLoading,projectedIntentMatchesRequested,projectionGraceElapsed}))return <RouteFallback/>;return <>{children}</>}\nfunction StandaloneApplicationWorkspace({app,tenantSlugFromPath='',suffixFromPath=''}:{app:ApplicationCapability;tenantSlugFromPath?:string;suffixFromPath?:string}){\n  const location=useLocation();\n  const {activeTenant,memberships,isLoading,switchTenant}=useMultiTenant();\n  const requestedTenantSlug=React.useMemo(()=>String(tenantSlugFromPath||new URLSearchParams(location.search).get('tenant')||'').trim().toLowerCase(),[tenantSlugFromPath,location.search]);\n  const standaloneHostApp=React.useMemo(()=>typeof window==='undefined'?undefined:getTenantApplicationByStandaloneHost(window.location.hostname),[]);\n  const applicationMode=tenantSlugFromPath?'tenant-integrated':'standalone';\n  const activeTenantSlug=React.useMemo(()=>activeTenant?.id?canonicalTenantRouteSlugForIdentity(activeTenant).toLowerCase():'',[activeTenant?.id,activeTenant?.company_slug,activeTenant?.tenant_type,activeTenant?.name]);\n  const requestedMembership=React.useMemo(()=>requestedTenantSlug?memberships.find(m=>m.tenant?.id&&canonicalTenantRouteSlugForIdentity(m.tenant).toLowerCase()===requestedTenantSlug)||null:null,[memberships,requestedTenantSlug]);\n  const [switchingTenant,setSwitchingTenant]=React.useState(false);\n  React.useEffect(()=>{if(!requestedTenantSlug||!requestedMembership?.tenant?.id||requestedMembership.tenant.id===activeTenant?.id)return;let cancelled=false;setSwitchingTenant(true);void switchTenant(requestedMembership.tenant.id).finally(()=>{if(!cancelled)setSwitchingTenant(false)});return()=>{cancelled=true}},[tenantSlugFromPath,requestedTenantSlug,requestedMembership?.tenant?.id,activeTenant?.id,switchTenant]);\n  if(isLoading||switchingTenant)return <RouteFallback/>;\n  if(!requestedTenantSlug){if(activeTenant?.id&&memberships.some(m=>m.tenant?.id===activeTenant.id)){const params=new URLSearchParams(location.search);params.set('tenant',canonicalTenantRouteSlugForIdentity(activeTenant));return <Navigate to={`${location.pathname}?${params.toString()}`} replace/>}const next=encodeURIComponent(`${location.pathname}${location.search||''}`);return <Navigate to={`/select-tenant?app=${encodeURIComponent(app.slug)}&next=${next}`} replace/>}\n  if(!requestedMembership?.tenant?.id)return <Navigate to={`/select-tenant?app=${encodeURIComponent(app.slug)}`} replace/>;\n  if(!activeTenant?.id||activeTenant.id!==requestedMembership.tenant.id||activeTenantSlug!==requestedTenantSlug)return <RouteFallback/>;\n  const base=app.standalonePath;const normalized=location.pathname.toLowerCase().replace(/\\/+$/g,'')||'/';const suffix=suffixFromPath||(tenantSlugFromPath?'':app.id==='mail'?normalized.replace(/^\\/(?:communications\\/)?(?:mail|email|emails|email-suite)(?:\\/|$)/,''):normalized.split('/').filter(Boolean).slice(base.split('/').filter(Boolean).length).join('/'));if(tenantSlugFromPath&&standaloneHostApp?.id===app.id){const params=new URLSearchParams(location.search);params.set('tenant',requestedTenantSlug);const hostStandalone=`${base}${suffix?`/${suffix}`:''}`;return <Navigate to={`${hostStandalone}?${params.toString()}`} replace/>}if(applicationMode==='tenant-integrated'&&isModesTenant(activeTenant)&&isEventRentalTenantContext(activeTenant)&&app.routeAdapter==='tenant-workspace')return <EventRentalModesApplicationSurface app={app}/>;if(applicationMode==='tenant-integrated'&&isModesTenant(activeTenant)&&DIRECT_MODES_APPLICATION_IDS.has(app.id))return <DirectModesApplicationSurface app={app}/>;if(app.routeAdapter==='mail')return <FirstClassAppTenantBoundary appSlug=\"mail\" applicationChrome={applicationMode!=='tenant-integrated'} applicationMode={applicationMode}><MailApplicationRoute/></FirstClassAppTenantBoundary>;if(app.routeAdapter==='call-center')return <FirstClassAppTenantBoundary appSlug={app.slug} platformDefault applicationChrome={applicationMode!=='tenant-integrated'} applicationMode={applicationMode}><CallCenterApplicationRoute/></FirstClassAppTenantBoundary>; if(app.routeAdapter==='proposal-editor')return <FirstClassAppTenantBoundary appSlug={app.slug} applicationChrome={applicationMode!=='tenant-integrated'} applicationMode={applicationMode}><ProposalEditorApplicationRoute/></FirstClassAppTenantBoundary>;if(app.routeAdapter==='creative-studio')return <FirstClassAppTenantBoundary appSlug={app.slug} applicationChrome={applicationMode!=='tenant-integrated'} applicationMode={applicationMode}><CreativeStudioApplicationRoute/></FirstClassAppTenantBoundary>;if(app.routeAdapter==='platform-workspace')return <Navigate to=\"/admin\" replace/>;const internal=buildTenantApplicationWorkspacePath(String(activeTenant.tenant_type||'MISC'),String(activeTenant.company_slug||''),app.slug,suffix);if(!internal)return <Navigate to={`/select-tenant?app=${encodeURIComponent(app.slug)}`} replace/>;return <FirstClassAppTenantBoundary appSlug={app.slug} applicationChrome={applicationMode!=='tenant-integrated'} applicationMode={applicationMode}><Suspense fallback={<RouteFallback/>}><TenantCrmRoutes locationOverride={`${internal}${location.search||''}`}/></Suspense></FirstClassAppTenantBoundary>\n}\n\nfunction TenantContractSafePrivateRouteFallback(){const location=useLocation();const {activeTenant,isLoading}=useMultiTenant();if(!activeTenant?.id){if(isLoading)return <RouteFallback/>;return <Navigate to=\"/select-tenant\" replace/>}const profile=resolveTenantWorkspaceRuntimeProfile(activeTenant,location.pathname);const settings=((activeTenant as any)?.settings||{}) as Record<string,any>;const workspaceVariant=String(settings.workspace_variant||'').trim().toLowerCase();const contractOwnsPrivateRouting=profile.isSelfContainedTenantWorkspace||profile.suppressGenericTenantChrome||profile.shellProfile!=='standard'||profile.navigationProfile!=='standard'||workspaceVariant==='curri_control_center';if(!contractOwnsPrivateRouting)return <Suspense fallback={<RouteFallback/>}><DefaultPrivateRouteRegistry/></Suspense>;const normalize=(value:string)=>String(value||'/').toLowerCase().replace(/\\/+$/g,'')||'/';const home=getTenantDashboardPathForTenant(activeTenant);const current=normalize(location.pathname);const homePath=normalize(home);const tenantSlug=canonicalTenantRouteSlugForIdentity(activeTenant).toLowerCase();const tenantRoot=tenantSlug?`/${tenantSlug}`:'';if(current===homePath||(tenantRoot&&(current===tenantRoot||current===`${tenantRoot}/dashboard`)))return null;return <Navigate to={home} replace/>}\nfunction PrivateRoutes(){const location=useLocation();const {activeTenant}=useMultiTenant();const applicationRoute=resolveTenantApplicationRoute(location.pathname);const tenantScopedApp=applicationRoute?.mode==='tenant-integrated'?applicationRoute:null;const {normalizedPath,isBigPapisPrivateWorkspace,isSavagePizzaPrivateWorkspace,isCafeQsrPrivateWorkspace,isScePrivateWorkspace,isRoofHelpFinderPrivateWorkspace,isRoofingPrivateWorkspace,isPcgPrivateWorkspace,isBookMeDirectlyPrivateWorkspace,isLegacyPcgCrmWorkspace,isRedfishHomeownerDetailWorkspace,isRedfishCanvassingWorkspace,isAutoUnlockPrivateWorkspace,isCallCenterPrivateWorkspace,nativeTenantRouteOwner}=resolvePrivateWorkspaceCompatibility(location.pathname,activeTenant);const isBareUsersAlias=normalizedPath==='/users'||normalizedPath==='/team';const standaloneApp=applicationRoute?.mode==='standalone'?applicationRoute.app:null;if(normalizedPath==='/knock-launch-os')return <Navigate to=\"/knock-launch-os/portfolio\" replace/>;if(normalizedPath==='/knock-launch-os/portfolio'||normalizedPath.startsWith('/knock-launch-os/portfolio/'))return <Suspense fallback={<RouteFallback/>}><KnockLaunchPortfolio/></Suspense>;if(normalizedPath.startsWith('/knock-launch-os'))return <Navigate to=\"/knock-launch-os/portfolio\" replace/>;if(normalizedPath==='/knock-launch-crm')return <Navigate to=\"/knock-launch-os/portfolio\" replace/>;if(normalizedPath.startsWith('/knock-launch-crm')){const suffix=location.pathname.slice('/knock-launch-crm'.length);return <Navigate to={`/knock-launch-os${suffix}${location.search||''}${location.hash||''}`} replace/>;}if(isBareUsersAlias)return <UsersRouteAlias/>;const isCanonicalPcgCardGradingRoute=normalizedPath==='/pcg/card-grading'||normalizedPath.startsWith('/pcg/card-grading/');if(isLegacyPcgCrmWorkspace)return <Navigate to=\"/pcg/workspace\" replace/>;if(isCanonicalPcgCardGradingRoute)return <Suspense fallback={<RouteFallback/>}><FirstClassAppTenantBoundary appSlug=\"card-grading\"><PCGCanonicalWorkspaceRoute/></FirstClassAppTenantBoundary></Suspense>;if(tenantScopedApp&&!nativeTenantRouteOwner)return <StandaloneApplicationWorkspace app={tenantScopedApp.app} tenantSlugFromPath={tenantScopedApp.tenantSlug} suffixFromPath={tenantScopedApp.suffix}/>;if(isBookMeDirectlyPrivateWorkspace)return <Suspense fallback={<RouteFallback/>}><BookMeDirectlyWorkspace/></Suspense>;const tenantSettingsAliasTarget=resolveTenantSettingsWorkspaceAlias(location.pathname,activeTenant);if(tenantSettingsAliasTarget)return <Navigate to={`${tenantSettingsAliasTarget}${location.search||''}${location.hash||''}`} replace/>;if(isTenantSettingsWorkspacePath(location.pathname,activeTenant))return <Suspense fallback={<RouteFallback/>}><TenantSettingsPage/></Suspense>;if(isPcgPrivateWorkspace)return <Suspense fallback={<RouteFallback/>}><FirstClassAppTenantBoundary appSlug=\"card-grading\"><PCGCanonicalWorkspaceRoute/></FirstClassAppTenantBoundary></Suspense>;if(isAutoUnlockPrivateWorkspace)return <Suspense fallback={<RouteFallback/>}><AutoUnlockWorkspaceRouter/></Suspense>;if(standaloneApp)return <StandaloneApplicationWorkspace app={standaloneApp}/>;if(normalizedPath.startsWith('/demo-workspace/'))return <Routes><Route path=\"/demo-workspace/:tenantId\" element={<DemoWorkspaceEntry/>}/></Routes>;if(normalizedPath==='/media-library')return <Suspense fallback={<RouteFallback/>}><MediaLibrary/></Suspense>;if(isAutoUnlockPrivateWorkspace)return <Suspense fallback={<RouteFallback/>}><AutoUnlockWorkspaceRouter/></Suspense>;if(isCallCenterPrivateWorkspace)return <Suspense fallback={<RouteFallback/>}><FirstClassAppTenantBoundary appSlug=\"call-center\" platformDefault applicationMode=\"tenant-integrated\"><CallCenterApplicationRoute/></FirstClassAppTenantBoundary></Suspense>;if(isRoofHelpFinderPrivateWorkspace)return <Suspense fallback={<RouteFallback/>}><RoofHelpFinderWorkspace/></Suspense>;if(isScePrivateWorkspace)return <Suspense fallback={<RouteFallback/>}><SceRouteRegistry/></Suspense>;if(isRedfishHomeownerDetailWorkspace)return <RedfishHomeownerDetailRouter/>;if(isRedfishCanvassingWorkspace)return <Suspense fallback={<RouteFallback/>}><RedfishCanvassingRoute/></Suspense>;if(normalizedPath==='/redfish-roofing/roof-measurement')return <RoofingOwnerWorkspaceRouter/>;if(isRoofingPrivateWorkspace)return <RoofingOwnerWorkspaceRouter/>;if(isBigPapisPrivateWorkspace||isSavagePizzaPrivateWorkspace||isCafeQsrPrivateWorkspace)return <Suspense fallback={<RouteFallback/>}><OwnerRouteRegistry/></Suspense>;if(isModesTenant(activeTenant))return <ModesTenantRouteFallback/>;return <TenantContractSafePrivateRouteFallback/>}\n\nfunction OwnerOsTenantBoundary({children}:{children:React.ReactNode}){const{activeTenant,memberships,isLoading,switchTenant}=useMultiTenant();const ownerMembership=React.useMemo(()=>memberships.find(m=>m.tenant?.id&&isKnockLaunchOsWorkspace(m.tenant))||null,[memberships]);const ownerTenantId=String(ownerMembership?.tenant?.id||'');const[isSwitching,setIsSwitching]=React.useState(false);const[switchFailed,setSwitchFailed]=React.useState(false);React.useEffect(()=>{if(isLoading||!ownerTenantId||activeTenant?.id===ownerTenantId){setIsSwitching(false);setSwitchFailed(false);return}let cancelled=false;setIsSwitching(true);setSwitchFailed(false);void switchTenant(ownerTenantId).then(()=>{if(!cancelled)setIsSwitching(false)}).catch(()=>{if(!cancelled){setIsSwitching(false);setSwitchFailed(true)}});return()=>{cancelled=true}},[activeTenant?.id,isLoading,ownerTenantId,switchTenant]);if(isLoading||isSwitching||(ownerTenantId&&activeTenant?.id!==ownerTenantId&&!switchFailed))return <UniversalLoadingScreen brandName=\"KNOCKLAUNCH OS\" title=\"Opening owner workspace\" subtitle=\"Binding the canonical KNOCKLAUNCH OS workspace context.\" platformAuthoritative presentationPreset=\"pcg-wmp\" showCountdown={false}/>;if(!ownerTenantId||switchFailed)return <section data-owner-os-tenant-boundary=\"blocked\" className=\"mx-auto mt-16 max-w-xl rounded-2xl border border-amber-300/20 bg-amber-300/10 p-6 text-white\"><h1 className=\"text-xl font-semibold\">KNOCKLAUNCH OS workspace unavailable</h1><p className=\"mt-2 text-sm text-white/70\">The owner workspace could not be resolved safely. Customer tenant context was not reused.</p><Link to=\"/select-tenant?manual=1\" className=\"mt-4 inline-flex rounded-xl border border-white/15 bg-white/[0.06] px-4 py-2 text-sm font-semibold text-white\">Choose workspace</Link></section>;return <div data-owner-os-tenant-boundary=\"bound\" data-owner-os-tenant-id={ownerTenantId}>{children}</div>}\nfunction AdminShell(){return <><MultiTenantProvider><FocusModeProvider><UserImpersonationProvider><ShortcutsModalManager><LazyShellSlot><GlobalCommandPalette/></LazyShellSlot><GlobalImpersonationBanner/><AuditorModeBanner/><div className=\"kl-platform-surface relative z-10 flex h-[calc(100dvh-var(--comm-banner-h,0px))] min-h-0 flex-col overflow-hidden\"><BaseErrorBoundary scope=\"AdminShell.Routes\" variant=\"panel\" title=\"Admin console route failed\" description=\"The platform shell loaded, but this route needs repair.\"><AdminRoutesOnly/></BaseErrorBoundary></div></ShortcutsModalManager></UserImpersonationProvider></FocusModeProvider></MultiTenantProvider></>}\nfunction PortfolioShell(){return <div className=\"min-h-screen bg-[#040806]\"><MultiTenantProvider><OwnerOsTenantBoundary><FocusModeProvider><UserImpersonationProvider><ShortcutsModalManager><LazyShellSlot><GlobalCommandPalette/></LazyShellSlot><GlobalImpersonationBanner/><AuditorModeBanner/><div className=\"kl-platform-surface relative z-10 min-h-screen w-full overflow-x-hidden overflow-y-auto\"><BaseErrorBoundary scope=\"PortfolioShell\" variant=\"panel\" title=\"Portfolio needs repair\" description=\"The KNOCKLAUNCH OS portfolio shell loaded, but the owner portfolio route needs repair.\"><Suspense fallback={<RouteFallback/>}><KnockLaunchPortfolio/></Suspense></BaseErrorBoundary></div></ShortcutsModalManager></UserImpersonationProvider></FocusModeProvider></OwnerOsTenantBoundary></MultiTenantProvider></div>}\nfunction PortfolioOpsShell(){return <div className=\"min-h-screen bg-[#040806]\"><MultiTenantProvider><OwnerOsTenantBoundary><FocusModeProvider><UserImpersonationProvider><ShortcutsModalManager><LazyShellSlot><GlobalCommandPalette/></LazyShellSlot><GlobalImpersonationBanner/><AuditorModeBanner/><div className=\"kl-platform-surface relative z-10 min-h-screen w-full overflow-x-hidden overflow-y-auto\"><BaseErrorBoundary scope=\"PortfolioOpsShell\" variant=\"panel\" title=\"Owner OS route needs repair\" description=\"The KNOCKLAUNCH OS shell loaded, but this owner route needs repair.\"><Suspense fallback={<RouteFallback/>}><KnockLaunchOSDashboard/></Suspense></BaseErrorBoundary></div></ShortcutsModalManager></UserImpersonationProvider></FocusModeProvider></OwnerOsTenantBoundary></MultiTenantProvider></div>}\n\nfunction PortfolioSettingsShell(){return <div className=\"min-h-screen bg-[#040806]\"><MultiTenantProvider><OwnerOsTenantBoundary><FocusModeProvider><UserImpersonationProvider><ShortcutsModalManager><LazyShellSlot><GlobalCommandPalette/></LazyShellSlot><GlobalImpersonationBanner/><AuditorModeBanner/><div className=\"kl-platform-surface relative z-10 min-h-screen w-full overflow-x-hidden overflow-y-auto\"><BaseErrorBoundary scope=\"PortfolioSettingsShell\" variant=\"panel\" title=\"Owner settings need repair\" description=\"The KNOCKLAUNCH OS owner shell loaded, but settings need repair.\"><Suspense fallback={<RouteFallback/>}><KnockLaunchOSSettings/></Suspense></BaseErrorBoundary></div></ShortcutsModalManager></UserImpersonationProvider></FocusModeProvider></OwnerOsTenantBoundary></MultiTenantProvider></div>}\nfunction TenantWorkspaceRuntime(){const location=useLocation();const {activeTenant,isLoading}=useMultiTenant();const applicationRoute=resolveTenantApplicationRoute(location.pathname);const tenantIntegratedApp=applicationRoute?.mode==='tenant-integrated'&&!resolvePrivateWorkspaceCompatibility(location.pathname,activeTenant).nativeTenantRouteOwner?applicationRoute:null;const {normalizedPath,isMsLawnBarberWorkspace,msLawnBarberBackgroundUrl,isSelfContainedSeasideLaunch,isSelfContainedBigPapisWorkspace,isSelfContainedSavagePizzaWorkspace,isSelfContainedAutoUnlockWorkspace,isSelfContainedRedfishWorkspace,isSelfContainedPcgWorkspace,isSelfContainedBookMeDirectlyWorkspace,isSelfContainedTenantWorkspace,suppressGenericTenantChrome,shellProfile,navigationProfile,viewportOwner,tenantOwnsViewport,operatingContractSource,compatibilitySource,backgroundOwnership}=resolveTenantWorkspaceRuntimeProfile(activeTenant,location.pathname);const activeTenantSettings=((activeTenant as any)?.settings||{}) as Record<string,any>;const useCurriControlCenterShell=String(activeTenant?.company_slug||'').trim().toLowerCase()==='curri-control-center'||String(activeTenantSettings.workspace_variant||'').trim().toLowerCase()==='curri_control_center';const useTenantModesShell=isModesTenant(activeTenant)&&applicationRoute?.mode!=='standalone'&&!isSelfContainedBigPapisWorkspace&&!isSelfContainedPcgWorkspace&&!useCurriControlCenterShell;const suppressTenantPresentationChrome=suppressGenericTenantChrome||useTenantModesShell;const usePcgSharedApplicationBackground=isSelfContainedPcgWorkspace;const effectiveBackgroundOwner=usePcgSharedApplicationBackground?'tenant':backgroundOwnership.owner;const effectiveBackgroundContractValid=usePcgSharedApplicationBackground?true:backgroundOwnership.contractValid;if(!activeTenant?.id&&!isSelfContainedBigPapisWorkspace){if(isLoading)return <UniversalLoadingScreen/>;const next=encodeURIComponent(`${location.pathname}${location.search||''}`);return <Navigate to={`/select-tenant?next=${next}`} replace/>}const tenantPresentationClass=isSelfContainedTenantWorkspace?(isSelfContainedBigPapisWorkspace?'z-[70] bg-transparent':isSelfContainedSavagePizzaWorkspace?'z-10 bg-[#100d0b]':isSelfContainedAutoUnlockWorkspace?'z-20 bg-[#02050a]':isSelfContainedBookMeDirectlyWorkspace?'z-20 bg-[#030409]':isSelfContainedRedfishWorkspace||isSelfContainedPcgWorkspace?'z-20 bg-transparent':isMsLawnBarberWorkspace?'z-10 bg-transparent':'z-10 bg-transparent'):'z-10 bg-transparent';const viewportClass=tenantOwnsViewport?`fixed inset-0 h-dvh min-h-0 min-w-0 w-full max-w-full overflow-x-hidden overflow-y-auto overscroll-y-none ${isSelfContainedTenantWorkspace?'':'flex flex-col'}`:'relative min-h-[calc(100dvh-var(--comm-banner-h,0px))] min-w-0 w-full max-w-full flex flex-col overflow-x-hidden overflow-y-auto';return <TenantApplicationChromeContext.Provider value=\"tenant-integrated\"><>{(backgroundOwnership.renderPlatformBackground||usePcgSharedApplicationBackground)&&!useTenantModesShell?<SiteBackground/>:null}{useTenantModesShell?null:<GodModePageOverrideRuntime/>}<TenantBrandTheme/><TenantLayoutPreferenceBridge/><RealtimeProvider><FocusModeProvider><UserImpersonationProvider><ShortcutsModalManager>{suppressTenantPresentationChrome?null:<LazyShellSlot><TrialBanner/></LazyShellSlot>}<ConditionalRouteHealthBanner/><CanonicalRedirectHandler/><GlobalTrackers/><TenantRouteScrollRestoration/><BigPapisApplicationFamilyStyle/><MobileViewportRecovery/><InstalledAppNavigationRecovery/>{suppressTenantPresentationChrome?null:<GlobalImpersonationBanner/>}{suppressTenantPresentationChrome?null:<AuditorModeBanner/>}{suppressTenantPresentationChrome?null:<LazyShellSlot><BackgroundOCRStatus/></LazyShellSlot>}{suppressTenantPresentationChrome?null:<LazyShellSlot><TrialAhaModal/></LazyShellSlot>}{isSelfContainedRedfishWorkspace||isSelfContainedPcgWorkspace||useCurriControlCenterShell||useTenantModesShell?null:<LazyShellSlot><GlobalFallbackAccountMenu/></LazyShellSlot>}{suppressTenantPresentationChrome?null:<TenantPublishedExperienceRuntime/>}{suppressTenantPresentationChrome?null:<LazyShellSlot><ExperienceEditorCanvasBridge/></LazyShellSlot>}{suppressTenantPresentationChrome||isSelfContainedTenantWorkspace?null:<TenantQuickTour/>}<TelInterceptorBridge/><div data-experience-runtime-root=\"true\" data-experience-region-id=\"experience-route-canvas\" data-tenant-shell-profile={shellProfile} data-tenant-navigation-profile={navigationProfile} data-tenant-operating-contract-source={operatingContractSource} data-tenant-runtime-compatibility-source={compatibilitySource} data-tenant-background-owner={effectiveBackgroundOwner} data-tenant-background-contract-valid={effectiveBackgroundContractValid?'true':'false'} data-tenant-viewport-owner={viewportOwner} data-tenant-mobile-shell-contract=\"canonical-v2\" data-seaside-viewport-host={isSelfContainedSeasideLaunch?'true':undefined} data-big-papis-viewport-host={isSelfContainedBigPapisWorkspace?'true':undefined} data-savage-pizza-viewport-host={isSelfContainedSavagePizzaWorkspace?'true':undefined} data-auto-unlock-viewport-host={isSelfContainedAutoUnlockWorkspace?'true':undefined} data-pcg-viewport-host={isSelfContainedPcgWorkspace?'true':undefined} data-book-me-directly-viewport-host={isSelfContainedBookMeDirectlyWorkspace?'true':undefined} data-mslawnbarber-viewport-host={isMsLawnBarberWorkspace?'true':undefined} data-route-scroll-owner={tenantOwnsViewport?'tenant':'document'} className={`kl-platform-surface kl-responsive-tenant-runtime ${viewportClass} ${tenantPresentationClass}`}  style={{paddingTop:isSelfContainedTenantWorkspace?0:'var(--comm-banner-h, 0px)',...(isSelfContainedPcgWorkspace?{['--primary' as string]:'43 48% 66%',['--primary-foreground' as string]:'220 18% 7%',['--ring' as string]:'43 48% 66%',['--accent' as string]:'42 60% 78%',['--accent-foreground' as string]:'220 18% 7%',['--tenant-brand-primary' as string]:'#d8bb78',['--tenant-brand-accent' as string]:'#f2d99f'}:{}),...(isMsLawnBarberWorkspace&&msLawnBarberBackgroundUrl?{backgroundImage:`linear-gradient(180deg,rgba(1,8,5,.30),rgba(1,8,5,.58)),url(\"${msLawnBarberBackgroundUrl}\")`,backgroundSize:'cover',backgroundPosition:'center',backgroundRepeat:'no-repeat',['--ms-lawn-barber-background' as string]:`url(\"${msLawnBarberBackgroundUrl}\")`}:{})} as React.CSSProperties}><BaseErrorBoundary scope=\"TenantWorkspaceRuntime.RouteCanvas\" variant=\"panel\" title=\"Workspace route needs repair\" description=\"The tenant shell is still available while this route recovers.\">{useCurriControlCenterShell?<CurriControlCenterShell>{tenantIntegratedApp?<FirstClassAppTenantBoundary appSlug={tenantIntegratedApp.app.slug} applicationChrome={false} applicationMode=\"tenant-integrated\"><PrivateRoutes/></FirstClassAppTenantBoundary>:<PrivateRoutes/>}</CurriControlCenterShell>:useTenantModesShell?<TenantModesShell>{tenantIntegratedApp?<FirstClassAppTenantBoundary appSlug={tenantIntegratedApp.app.slug} applicationChrome={false} applicationMode=\"tenant-integrated\"><PrivateRoutes/></FirstClassAppTenantBoundary>:<PrivateRoutes/>}</TenantModesShell>:isSelfContainedRedfishWorkspace?<RedfishWorkspaceShell>{tenantIntegratedApp?<FirstClassAppTenantBoundary appSlug={tenantIntegratedApp.app.slug} applicationChrome={false} applicationMode=\"tenant-integrated\"><PrivateRoutes/></FirstClassAppTenantBoundary>:<PrivateRoutes/>}</RedfishWorkspaceShell>:tenantIntegratedApp?<FirstClassAppTenantBoundary appSlug={tenantIntegratedApp.app.slug} applicationChrome={false} applicationMode=\"tenant-integrated\"><PrivateRoutes/></FirstClassAppTenantBoundary>:<PrivateRoutes/>}</BaseErrorBoundary></div></ShortcutsModalManager></UserImpersonationProvider></FocusModeProvider></RealtimeProvider></></TenantApplicationChromeContext.Provider>}\nfunction TenantBackgroundCacheBridge(){const {activeTenant}=useMultiTenant();React.useEffect(()=>{if(activeTenant?.id)persistCachedTenantBackground(activeTenant)},[activeTenant]);return null}\nfunction TenantWorkspaceShell(){return <MultiTenantProvider><TenantBackgroundCacheBridge/><WorkspaceSidebarProvider><TenantRouteIdentityBoundary><TenantWorkspaceRuntime/><CanonicalWorkspaceSidebarRoot/></TenantRouteIdentityBoundary></WorkspaceSidebarProvider></MultiTenantProvider>}\nfunction GlobalAccountRouteAlias({section}:{section:'settings'|'profile'}){const {activeTenant,effectiveRole,hasGodModeAnywhere,isLoading}=useMultiTenant();if(isLoading)return <RouteFallback/>;if(activeTenant?.id){const slug=canonicalTenantRouteSlugForIdentity(activeTenant).toLowerCase();const target=`/${slug}/settings`;return <Navigate to={`${target}${section==='profile'?'?section=profile':''}`} replace/>}const platformAuthority=effectiveRole==='GodMode'||hasGodModeAnywhere();if(platformAuthority)return <Navigate to={section==='profile'?'/admin/account?section=profile':'/admin/account?section=settings'} replace/>;return <Navigate to={`/select-tenant?workspace=settings${section==='profile'?'&section=profile':''}`} replace/>}\nexport default function PrivateAppShell(){const location=useLocation();const normalizedPath=location.pathname.toLowerCase().replace(/\\/+$/g,'')||'/';if(normalizedPath==='/settings'||normalizedPath==='/profile')return <MultiTenantProvider><GlobalAccountRouteAlias section={normalizedPath==='/profile'?'profile':'settings'}/></MultiTenantProvider>;if(normalizedPath==='/bookmedirectly-com'||normalizedPath.startsWith('/bookmedirectly-com/')){const suffix=location.pathname.slice('/bookmedirectly-com'.length);return <Navigate to={`/bookmedirectly${suffix}${location.search||''}${location.hash||''}`} replace/>}if(normalizedPath==='/knock-launch-os')return <PortfolioOpsShell/>;if(normalizedPath==='/knock-launch-crm')return <Navigate to=\"/knock-launch-os\" replace/>;if(normalizedPath==='/knock-launch-os/profile'||normalizedPath==='/knock-launch-crm/profile')return <Navigate to={`/knock-launch-os/settings?section=profile${location.hash||''}`} replace/>;if(normalizedPath==='/knock-launch-crm/settings'||normalizedPath.startsWith('/knock-launch-crm/settings/')){const suffix=location.pathname.slice('/knock-launch-crm'.length);return <Navigate to={`/knock-launch-os${suffix}${location.search||''}${location.hash||''}`} replace/>}if(normalizedPath==='/knock-launch-os/video-studio')return <div className=\"min-h-screen bg-[#040806]\"><MultiTenantProvider><OwnerOsTenantBoundary><FocusModeProvider><UserImpersonationProvider><ShortcutsModalManager><LazyShellSlot><GlobalCommandPalette/></LazyShellSlot><GlobalImpersonationBanner/><AuditorModeBanner/><div className=\"kl-platform-surface relative z-10 min-h-screen w-full overflow-x-hidden overflow-y-auto\"><BaseErrorBoundary scope=\"VideoStudioShell\" variant=\"panel\" title=\"Video Studio needs repair\" description=\"The KNOCKLAUNCH owner shell loaded, but Video Studio needs repair.\"><Suspense fallback={<RouteFallback/>}><VideoStudio/></Suspense></BaseErrorBoundary></div></ShortcutsModalManager></UserImpersonationProvider></FocusModeProvider></OwnerOsTenantBoundary></MultiTenantProvider></div>;if(normalizedPath==='/knock-launch-os/settings'||normalizedPath.startsWith('/knock-launch-os/settings/'))return <PortfolioSettingsShell/>;if(normalizedPath==='/knock-launch-crm/portfolio'||normalizedPath.startsWith('/knock-launch-crm/portfolio/')){const suffix=location.pathname.slice('/knock-launch-crm'.length);return <Navigate to={`/knock-launch-os${suffix}${location.search||''}${location.hash||''}`} replace/>}if(normalizedPath==='/knock-launch-os/portfolio'||normalizedPath.startsWith('/knock-launch-os/portfolio/'))return <PortfolioShell/>;if(normalizedPath.startsWith('/knock-launch-os/'))return <PortfolioOpsShell/>;if(normalizedPath.startsWith('/knock-launch-crm/')){const suffix=location.pathname.slice('/knock-launch-crm'.length);return <Navigate to={`/knock-launch-os${suffix}${location.search||''}${location.hash||''}`} replace/>}if(normalizedPath==='/godmode/console')return <Navigate to=\"/admin/console\" replace/>;if(location.pathname.startsWith('/admin'))return <AdminShell/>;return <TenantWorkspaceShell/>}\n"},{"path":"src/__tests__/contracts/tenant-isolation-hardening.contract.test.ts","content":"import { readFileSync } from 'node:fs';\nimport { resolve } from 'node:path';\nimport { describe, expect, it } from 'vitest';\nimport { tenantBackgroundCacheKey } from '@/lib/tenantBackground';\n\nconst read=(path:string)=>readFileSync(resolve(process.cwd(),path),'utf8');\n\ndescribe('tenant isolation hardening',()=>{\n  it('keys cached workspace backgrounds by tenant slug instead of one global media slot',()=>{\n    expect(tenantBackgroundCacheKey('pcg')).toBe('active_tenant_background:pcg');\n    expect(tenantBackgroundCacheKey('tennex-tax-solutions')).toBe('active_tenant_background:tennex-tax-solutions');\n    expect(tenantBackgroundCacheKey('pcg')).not.toBe(tenantBackgroundCacheKey('tennex-tax-solutions'));\n    const source=read('src/lib/tenantBackground.ts');\n    expect(source).toContain('TENANT_BACKGROUND_CACHE_PREFIX');\n    expect(source).toContain('window.localStorage.removeItem(ACTIVE_TENANT_BACKGROUND_KEY)');\n  });\n\n  it('filters explicit MODES applications through the tenant enabled-application manifest',()=>{\n    const source=read('src/shells/modesTenantShell.ts');\n    expect(source).toContain('enabledApplicationIds');\n    expect(source).toContain('.filter(applicationIsEnabled)');\n    expect(source).toContain('tenantSettings.application_ids');\n  });\n\n  it('keeps global profile/settings aliases inside an active tenant even for GodMode users',()=>{\n    const source=read('src/PrivateAppShell.tsx');\n    const start=source.indexOf('function GlobalAccountRouteAlias');\n    const end=source.indexOf('export default function PrivateAppShell');\n    const fn=source.slice(start,end);\n    expect(fn.indexOf('if(activeTenant?.id)')).toBeGreaterThanOrEqual(0);\n    expect(fn.indexOf('const platformAuthority=')).toBeGreaterThan(fn.indexOf('if(activeTenant?.id)'));\n    expect(fn).toContain('`/${slug}/settings`');\n  });\n});\n"}],"branch":"ai/objective-first-repair-ab0633c28407","writes":[],"patches":[],"version":1,"approved":true,"missionId":"ab0633c2-8407-4376-9d91-a68bd046417b","objective":"Fix the proven tenant-boundary contamination affecting Tennex Tax Solutions. The current workspace background cache uses one global localStorage key, allowing PCG media to survive a tenant switch and be accepted under the new active slug; replace it with tenant-slug-scoped background cache keys, actively purge the legacy global cache, and never persist a cached fallback as if it were explicit media for a new tenant. Also prevent MODES from exposing explicit primary applications that are not in the tenant's enabled application manifest; Tennex currently advertises billing/payments while those apps are not enabled, which can escape into platform/GodMode routing. Finally, when bare /settings or /profile is reached while an active tenant exists, tenant context must win even for GodMode users; route to the active tenant's canonical settings/profile instead of /admin/account. Preserve legitimate PCG media inside PCG, all Tennex apps/data/theme/profile/settings, and all explicit platform /admin routes. Gate, merge, release frontend only, and do not run Visual Witness; owner will confirm live.","sourceSha":"04e815578d88ec5a87abcd5dcec6a08ccd0e85e2","repository":"noel/KnockLaunchOS","visualProof":false,"ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/lib/tenantBackground.ts","src/shells/modesTenantShell.ts","src/PrivateAppShell.tsx","src/__tests__/contracts/tenant-isolation-hardening.contract.test.ts"],"implementation":{"files":[],"writes":[]},"requestContract":{"outcomes":[{"id":"media-isolation","statement":"A cached background belonging to one tenant cannot render in another tenant after switching workspaces.","proofConditionIds":["live"]},{"id":"modes-route-isolation","statement":"MODES only exposes explicit applications that are enabled for the active tenant, preventing disabled Tennex apps from escaping into platform routes.","proofConditionIds":["live"]},{"id":"account-route-isolation","statement":"With an active tenant, bare /settings and /profile resolve to that tenant even when the user also has GodMode authority.","proofConditionIds":["live"]}],"constraints":[{"id":"preserve-pcg","statement":"Do not remove or alter PCG-owned media; isolate it to PCG.","proofConditionIds":["live"]},{"id":"preserve-admin","statement":"Explicit /admin routes and GodMode platform routes remain available when intentionally navigated.","proofConditionIds":["live"]},{"id":"no-witness","statement":"Do not run Visual Witness; owner will confirm from production.","proofConditionIds":["live"]}],"proofConditions":[{"id":"live","kind":"runtime","claim":"Merged production frontend contains tenant-keyed background caching, enabled-app MODES filtering, and tenant-first account aliases.","required":true}]},"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":null,"ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/lib/tenantBackground.ts","src/shells/modesTenantShell.ts","src/PrivateAppShell.tsx","src/__tests__/contracts/tenant-isolation-hardening.contract.test.ts"],"requestContract":{"outcomes":[{"id":"media-isolation","statement":"A cached background belonging to one tenant cannot render in another tenant after switching workspaces.","proofConditionIds":["live"]},{"id":"modes-route-isolation","statement":"MODES only exposes explicit applications that are enabled for the active tenant, preventing disabled Tennex apps from escaping into platform routes.","proofConditionIds":["live"]},{"id":"account-route-isolation","statement":"With an active tenant, bare /settings and /profile resolve to that tenant even when the user also has GodMode authority.","proofConditionIds":["live"]}],"constraints":[{"id":"preserve-pcg","statement":"Do not remove or alter PCG-owned media; isolate it to PCG.","proofConditionIds":["live"]},{"id":"preserve-admin","statement":"Explicit /admin routes and GodMode platform routes remain available when intentionally navigated.","proofConditionIds":["live"]},{"id":"no-witness","statement":"Do not run Visual Witness; owner will confirm from production.","proofConditionIds":["live"]}],"proofConditions":[{"id":"live","kind":"runtime","claim":"Merged production frontend contains tenant-keyed background caching, enabled-app MODES filtering, and tenant-first account aliases.","required":true}]},"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":false,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"proofRequirements":null,"controlPlaneUnfreeze":false,"durableMutationResume":true,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"recovery":false,"fingerprint":"41be59c11f260512a9ef68896dec532a99de441f766f501123401d03cd9fdf6e","replayCount":0,"serializedBytes":150895},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-01T02:12:11.769619+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:ab0633c2-8407-4376-9d91-a68bd046417b:repository-mutation-intent:41be59c11f260512a9ef68896dec532a99de441f766f501123401d03cd9fdf6e:0","mission_step_id":"5e716718-9f38-45c0-a3f2-1133c0dfdf2b","command_center_event_id":"ab0633c2-8407-4376-9d91-a68bd046417b"},{"id":"70e39777-c1a6-4731-a2e0-90eed9f720c3","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending","supabase-migrations/live":"success"},"mainSha":"550edc53e24851070c927146e1c267e0ffb5ff91","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live","supabase-migrations/live"],"sourceSha":"550edc53e24851070c927146e1c267e0ffb5ff91","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"migrations":true,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"pending","migrations":"success"},"requestContractHash":"6f4c65f0b825f6c7af20c22be93d0ed155c087fb94fa600cf63cb9ce0c59d30a","forgejoWorkflowProof":{"runId":13560,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"frontend":"pending","migrations":"success"},"targetJobCount":6,"observedTargetStates":{"frontend":"pending","migrations":"success"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-01T01:36:13.900498+00:00","proof_gate":"canonical_release_pending","source_sha":"550edc53e24851070c927146e1c267e0ffb5ff91","external_id":"forgejo-main-550edc53e248","receipt_type":"canonical_release_status","idempotency_key":"mission:bcfa07a6-481e-4d84-b4fd-ddd22ca0d2a8:forgejo-release-status:550edc53e24851070c927146e1c267e0ffb5ff91:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending|supabase-migrations/live=success","mission_step_id":"0498afe1-e505-44d1-94a9-20bb96276c64","command_center_event_id":"bcfa07a6-481e-4d84-b4fd-ddd22ca0d2a8"},{"id":"70e43eec-9991-4662-b696-62923a7761f9","source":"github","status":"retryable","payload":{"baseSha":"997bfceca86ee5ef2ad084f09a9903c9c13f1122","nextBranch":"ai/brand-invitation-email-20260809-g2","branchCreated":true,"mergeCommitSha":"997bfceca86ee5ef2ad084f09a9903c9c13f1122","nextGeneration":2,"previousBranch":"ai/brand-invitation-email-20260809","previousPrNumber":4483},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-09T20:25:10.651753+00:00","proof_gate":"merged_pr_deleted_branch_reconciled","source_sha":"997bfceca86ee5ef2ad084f09a9903c9c13f1122","external_id":"4483","receipt_type":"source_lineage_reconciled","idempotency_key":"mission:9b5a44d4-29e3-49e0-b791-5cd30f0aaf5e:generation:2:merged-pr-deleted-branch","mission_step_id":"6e997fc5-0362-4302-96da-8c4534e6ca61","command_center_event_id":"9b5a44d4-29e3-49e0-b791-5cd30f0aaf5e"},{"id":"70e4801a-61b7-44b3-a928-77d7275a5fc3","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-748b503bdd0d","prNumber":3856,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"2787c96b0131f8cb0550560508cc0baa9e306cbe","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T04:21:17.433374+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"2787c96b0131f8cb0550560508cc0baa9e306cbe","external_id":"3856","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:748b503b-dd0d-48b8-b7f3-b8be40a0c49f:merged-pr:3856:2787c96b0131f8cb0550560508cc0baa9e306cbe","mission_step_id":"6d3e8a99-c3ce-4846-ba3c-ff7a9db3723e","command_center_event_id":"748b503b-dd0d-48b8-b7f3-b8be40a0c49f"},{"id":"70e4935f-b9a6-41b6-a8f9-99481a4efa67","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/curri-route-isolation-final","reason":"retryable_provider_transport:GET:The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.64-mutation-ledger-handoff","prNumber":null,"terminal":false,"missionId":"1b92f14e-7d9d-4164-8265-a572e3afdb1b","operation":"execute_mission","proofGate":"repair_mission_execution_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":6616,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":320,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":320,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":320,"repositoryMutationMs":6616,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":320,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"1b92f14e-7d9d-4164-8265-a572e3afdb1b"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1549,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"90ed5bf4-8abd-4d3a-af7c-024664b5b99d","created_at":"2026-09-05T13:23:51.305344+00:00","proof_gate":"repair_mission_execution_retryable","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:1b92f14e-7d9d-4164-8265-a572e3afdb1b:execute_mission:repair_mission_execution_retryable:current-generation","mission_step_id":"554b1c49-6349-49ce-b374-3c167908ff9e","command_center_event_id":"1b92f14e-7d9d-4164-8265-a572e3afdb1b"},{"id":"70e6654f-b607-4156-9e1c-8bde00c8bbf3","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-4ea549f79921","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":10524,"releaseCount":0,"toolCallCount":6,"repeatedCallCount":1,"executorlessWaitMs":548688,"firstUsefulResultAt":"2026-09-28T01:57:28.346Z","recoveryAttemptCount":1,"ownerInterruptionCount":0},"version":null,"prNumber":3945,"terminal":false,"missionId":"4ea549f7-9921-40dc-ba6e-78731d7e1b18","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":5401,"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":"4ea549f7-9921-40dc-ba6e-78731d7e1b18"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":819,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T02:06:37.088536+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"3945","receipt_type":"automatic_mission_resume","idempotency_key":"mission:4ea549f7-9921-40dc-ba6e-78731d7e1b18:automatic-mission-resume:3945:repair_mission_pr_ready_retryable","mission_step_id":"e5945719-e103-4686-8b64-a92f4579b500","command_center_event_id":"4ea549f7-9921-40dc-ba6e-78731d7e1b18"},{"id":"70e8aee8-80a9-4bdf-95c7-952e1b5eab6f","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-f1fb7a7ad1df","reason":null,"status":"source_resolution_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.66-repair-generation-continuation","prNumber":null,"terminal":false,"missionId":"f1fb7a7a-d1df-40d8-9f27-7c88862256d5","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":138,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":619,"providerAuthMs":0,"ledgerPrepareMs":619,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":619,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":619,"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":"f1fb7a7a-d1df-40d8-9f27-7c88862256d5"},"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":2388,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-06T03:09:43.086112+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:f1fb7a7a-d1df-40d8-9f27-7c88862256d5:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"c8474c74-7e0d-446f-8f1f-62eb16bfd0a0","command_center_event_id":"f1fb7a7a-d1df-40d8-9f27-7c88862256d5"},{"id":"70e94f5a-d66e-4ab6-927e-39903b242568","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-mthg843u","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":10857,"releaseCount":0,"toolCallCount":6,"repeatedCallCount":2,"ownerInterruptionCount":0},"version":"1.56.5-premium-motion-source-targets","prNumber":1201,"terminal":false,"missionId":"a6e42adf-13a8-42f5-a707-4925ef73999b","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"handlerMs":3046,"prReadinessMs":1322,"approvedPlanMs":1717,"missionSetupMs":569,"shipAndProveMs":0},"nextAction":"Reconcile this same mission and pull request after the exact-head KnockLaunch Gate changes state.","receiptRef":{"mode":"full","missionId":"a6e42adf-13a8-42f5-a707-4925ef73999b"},"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":1499,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"385f3582-1b06-5a13-85b5-ad36fa03b397","created_at":"2026-08-31T16:34:12.393562+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"1201","receipt_type":"execute_mission","idempotency_key":"mission:a6e42adf-13a8-42f5-a707-4925ef73999b:execute_mission:repair_mission_waiting_for_gate:current-generation","mission_step_id":"02fc9bea-f050-4d7c-aea5-98ffb850f26f","command_center_event_id":"a6e42adf-13a8-42f5-a707-4925ef73999b"},{"id":"70ec5061-1e71-4056-966f-5ec2d5a41d5a","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":"Ship the existing PCG Squarespace handoff repair from branch ai/pcg-upload-squarespace-handoff.","proofKinds":["repository","runtime"],"adaptiveDomains":["intent","tenant_route_role_viewport","urgency_deadline","dependency_scope","risk_blast_radius","runner_capacity","queue_active_work","provider_failure_circuits","qa_scope","retry_recovery","release_ownership","proof_depth"],"expansionPolicy":"later_stages_may_only_narrow_or_expand_with_machine_readable_dependency_evidence","dynamicStatePolicy":"live_state_may_change_execution_tactics_but_never_owner_outcome_or_explicit_constraints","dynamicRefreshStages":["preflight","gate","release","runtime_proof"],"adaptiveCompilerVersion":"paul-adaptive-objective-v1","inheritedContextBlockingAuthority":false},"rawUtterance":"Ship the existing PCG Squarespace handoff repair from branch ai/pcg-upload-squarespace-handoff.","wordingChanged":false,"canonicalIntent":"Ship the existing PCG Squarespace handoff repair from branch ai/pcg-upload-squarespace-handoff.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-handoff","statement":"Completed PCG cards can be prepared as a durable Squarespace Card Database handoff with card metadata and image references instead of being incorrectly created as Squarespace Commerce products.","provenance":{"reason":null,"source":"explicit_request_contract","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-repository","proof-runtime"]},{"id":"outcome-future-site","statement":"The website publishing boundary remains swappable so a configured PCG website endpoint can publish directly later without rebuilding the upload UX.","provenance":{"reason":null,"source":"explicit_request_contract","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-repository","proof-runtime"]},{"id":"outcome-truthful-ui","statement":"The PCG Publish & Sell UI clearly separates Prepare/Copy Squarespace handoff from price-gated eBay publishing and never labels the legacy handoff Live.","provenance":{"reason":null,"source":"explicit_request_contract","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-repository","proof-runtime"]}],"objective":"Ship the existing PCG Squarespace handoff repair from branch ai/pcg-upload-squarespace-handoff.","constraints":[{"id":"constraint-preserve-intake","statement":"Do not delete, overwrite, migrate, or alter existing imported PCG card records or the canonical Receive Cards intake/storage workflow.","provenance":{"reason":null,"source":"explicit_request_contract","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-repository"]},{"id":"constraint-tenant-scope","statement":"Preserve existing tenant-scoped authorization and publication state persistence.","provenance":{"reason":null,"source":"explicit_request_contract","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-repository","proof-runtime"]},{"id":"constraint-no-fake-api","statement":"Do not claim unsupported Squarespace Portfolio automation or fake provider success.","provenance":{"reason":null,"source":"explicit_request_contract","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-repository","proof-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":["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.","provenance":{"reason":null,"source":"hard_safety_invariant","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-repository","proof-runtime"]}],"adaptivePolicy":{"risk":{"tier":"standard","blastRadius":"scoped"},"proof":{"requiredKinds":["repository","runtime"],"visualProofScope":"none","interactionRequired":true,"runtimeProofRequired":true},"scope":{"route":null,"roleRef":null,"tenantRef":null,"sourceTargets":["src/pages/card-grading/PCGBatchPublishingCenter.tsx","supabase/functions/pcg-commerce-publisher/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":"normal","deadlineSignals":[],"deadlineExplicit":false},"version":"paul-adaptive-objective-v1","recovery":{"transient":"one_bounded_retry_then_alternate_eligible_pool_or_provider_path","deterministic":"repair_source_or_contract_do_not_blind_rerun","mutationDependencyFailure":"prerequisite_required_or_targeted_recovery_never_invent","readOnlyDependencyFailure":"degrade_to_available_grounded_context_and_keep_conversation_alive"},"unknowns":["tenant","route","deadline"],"authority":{"outcome":"current_explicit_owner_request","tactics":"live_prime_truth","unknownPolicy":"preserve_unknown_never_invent","historicalContext":"advisory_unless_current_request_confirms"},"execution":{"mutation":true,"concurrency":"parallel_non_overlapping_work","scopePolicy":"start_bounded_expand_only_with_machine_readable_dependency_evidence","staleStatePolicy":"refresh_dynamic_state_before_irreversible_or_acceptance_stage","conversationIsolation":true,"ownerOutcomeMayBeChangedByAdaptation":false},"experience":{"visual":false,"viewports":["desktop","mobile"],"behavioral":true,"visualProofScope":"none"},"dependencies":{"requiredDomains":["frontend","schema_data_storage","release_ownership","backend_runtime","provider_configuration"],"capabilityDomains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"releaseTargetHints":["frontend","supabaseEdge"]},"inputSignals":{"rawUtterance":"Ship the existing PCG Squarespace handoff repair from branch ai/pcg-upload-squarespace-handoff.","canonicalIntent":"Ship the existing PCG Squarespace handoff repair from branch ai/pcg-upload-squarespace-handoff.","conversationContextPresent":false}},"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-repository","kind":"repository","claim":"The exact merged diff is limited to the PCG publishing UI and pcg-commerce-publisher adapter and contains no legacy Squarespace Commerce product creation path.","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":"The affected frontend and pcg-commerce-publisher runtime are released from the merged source and healthy in production.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}],"validationErrors":[],"capabilityManifest":{"id":"Ship-the-existing-PCG-Squarespace-handoff-repair-from-branch-ai-pcg-upload-squarespace-handoff.","driftPolicy":"exact_manifest_source_release_dependency_or_runtime_identity_mismatch_is_nonterminal","proofLedger":"command_center_mission_ledger_request_contract_hash_bound","schemaVersion":1,"releaseTargets":[],"lifecycleStates":["prepare","deploy","verify","activate"],"activationPolicy":"dependencies_and_claim_matched_live_proof_before_exposure","dependencyDomains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_required_not_runtime_failures","compatibilityWindow":["N","N-1"],"failureIsolationPolicy":"quarantine_or_rollback_affected_capability_only_preserve_unrelated_working_capabilities","canaryProofConditionIds":["proof-repository","proof-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":"8a814ee87b009074c47cf657860460c34807a2af43b7dd428c7752a0c8c03558","requestContractRevision":2,"previousRequestContractHash":"eedc878997f6fbdb880023c7a113504687deb72021d26ca0d949911720713535"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T12:13:13.068616+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:0f0b97bd-6ebe-4c9f-9bf1-0ecf07127511:request-contract:8a814ee87b009074c47cf657860460c34807a2af43b7dd428c7752a0c8c03558","mission_step_id":"76240a40-364c-4828-8563-457f067c2cb9","command_center_event_id":"0f0b97bd-6ebe-4c9f-9bf1-0ecf07127511"},{"id":"70ed26d0-b479-4e27-931f-64a1487eefa1","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-65b5f19c42ce","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":94566,"releaseCount":0,"toolCallCount":50,"repeatedCallCount":45,"executorlessWaitMs":217766,"firstUsefulResultAt":"2026-10-05T17:08:33.074Z","recoveryAttemptCount":47,"ownerInterruptionCount":0},"version":null,"prNumber":4998,"terminal":false,"missionId":"65b5f19c-42ce-43fa-899c-583ee23f6a32","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":"65b5f19c-42ce-43fa-899c-583ee23f6a32"},"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-05T17:09:28.390478+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4998","receipt_type":"automatic_mission_resume","idempotency_key":"mission:65b5f19c-42ce-43fa-899c-583ee23f6a32:automatic-mission-resume:4998:repair_mission_pr_ready_retryable","mission_step_id":"9168fec3-7c68-4d7a-9ade-27033bb3322b","command_center_event_id":"65b5f19c-42ce-43fa-899c-583ee23f6a32"},{"id":"70ed5c82-88bd-48ac-bc2a-07ba6caab4c4","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\":2,\"verified\":0,\"pending\":2,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\",\"proof-visual\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"release\",\"deadlineAt\":\"2026-10-06T18:05:11.120325+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-a7964f4e12e0\",\"prNumber\":null,\"sourceSha\":null,\"deploymentId\":null}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T15:21:20.278032+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:a7964f4e-12e0-4fe9-94db-70c118e0802a:owner-progress-heartbeat:119420005","mission_step_id":"0b9961ef-0488-4f00-b36e-48a2e182b36c","command_center_event_id":"a7964f4e-12e0-4fe9-94db-70c118e0802a"},{"id":"70ee300d-651b-4afe-a087-6e04b0d39841","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-a750fb22e66f","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.91-virtual-witness-cold-standby","prNumber":null,"terminal":false,"missionId":"a750fb22-e66f-4eb8-af50-e9da49464879","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3369,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":7138,"providerAuthMs":0,"ledgerPrepareMs":2281,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":7138,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":2281,"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":"a750fb22-e66f-4eb8-af50-e9da49464879"},"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":3477,"likelyAffectedFiles":["src/pages/card-grading/PCGWorkspace.tsx"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-10-04T15:18:16.644831+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:a750fb22-e66f-4eb8-af50-e9da49464879:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"a478aaa2-d1ca-4e2b-8486-283f0252b538","command_center_event_id":"a750fb22-e66f-4eb8-af50-e9da49464879"},{"id":"70eecd58-e978-4120-b23e-b3953a560c24","source":"forgejo-runtime","status":"superseded","payload":{"reason":"forgejo_release_source_not_contained_in_current_main","mainSha":"7b349a15a4cf06380d91b53a41f9e5fc3c69536f","sourceSha":"97561e78512c7b8ce7ea356aeb543ff1def81dbd","deploymentId":"forgejo-main-97561e78512c","releaseState":"superseded","sourceInMain":false,"compareStatus":null,"workflowRunId":6720},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-10T06:10:08.213208+00:00","proof_gate":"canonical_release_source_superseded_by_current_main","source_sha":"97561e78512c7b8ce7ea356aeb543ff1def81dbd","external_id":"forgejo-main-97561e78512c","receipt_type":"canonical_release_status","idempotency_key":"mission:43eb9b8c-c50a-4a2e-8ae8-b4ffe6cc3338:forgejo-release-status:97561e78512c7b8ce7ea356aeb543ff1def81dbd:superseded:7b349a15a4cf06380d91b53a41f9e5fc3c69536f","mission_step_id":"8fac1352-03c8-46c7-a2ea-6aa33a3f71b3","command_center_event_id":"43eb9b8c-c50a-4a2e-8ae8-b4ffe6cc3338"},{"id":"70f66dc9-0538-4c4d-a7fc-5735fa6d53c6","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","cc-execution/runtime-proof":"pending"},"mainSha":"c0720ad592789e60d04b45bc2bc1a5afc3714658","missing":[],"pending":["forgejo-release/workflow","cc-execution/runtime-proof"],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"c0720ad592789e60d04b45bc2bc1a5afc3714658","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":"864f544c274868e2d0c3050c7a98243f51047a0100d34608f11b7c2e60fcef46","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/6404","runId":6404,"status":"running","sourceSha":"c0720ad592789e60d04b45bc2bc1a5afc3714658","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"ccExecution":"pending"},"targetJobCount":7,"observedTargetStates":{"ccExecution":"pending"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"4f06fe66fde1178cea24b60c8399b13c1e741ec1","deploymentId":"forgejo-main-4f06fe66fde1178cea24b60c8399b13c1e741ec1","compareStatus":null,"identitySource":"local_build_metadata","runtimeVersion":"1.58.77-mcp-oauth-es256","containsSourceSha":false},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-08T20:35:44.20732+00:00","proof_gate":"canonical_release_pending","source_sha":"c0720ad592789e60d04b45bc2bc1a5afc3714658","external_id":"forgejo-main-c0720ad59278","receipt_type":"canonical_release_status","idempotency_key":"mission:813c75ae-c335-460c-b3d0-fc3a6af8c909:forgejo-release-status:c0720ad592789e60d04b45bc2bc1a5afc3714658:pending:forgejo-main/source=success|forgejo-release/workflow=pending|cc-execution/runtime-proof=pending","mission_step_id":"b2d15816-200f-49b0-9f94-5387792ee954","command_center_event_id":"813c75ae-c335-460c-b3d0-fc3a6af8c909"},{"id":"70f74681-95d8-4693-b124-3f31b9150150","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"80c08425d651621dd2b9931f2ccda07da6b916d2","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"populate-demo-data","satisfied":true,"statement":"Fix the live GodMode tenant-demo population failure. The existing Demo data indicator is visible in Tennex, but synthetic records remain empty because (1) useLeadVisibility can complete its first fetch before demo.enabled becomes true and its initial fetch effect does not rerun when the demo callback changes, and (2) TennexWorkspace bypasses the demo adapter and reads unified_contacts/provider credentials directly.\n\nRequired outcome:\n- GodMode inside a selected tenant with no impersonation must refetch contacts when tenant-demo mode activates or synthetic state changes.\n- TennexWorkspace must render its client metrics/recent-client intelligence from demo.state.contacts in demo mode instead of production Supabase rows.\n- TennexWorkspace must show synthetic connected Google Workspace and QuickBooks readiness in demo mode without touching provider credentials.\n- Ordinary tenant users and explicit impersonation/support projections keep their existing real-data paths.\n- No production data/provider writes are added.\n- Add regression coverage for the activation race and Tennex dashboard bypass.\n- Run canonical Gate, auto-merge when green, release frontend, and prove live Tennex GodMode co","proofConditionIds":["contacts-live","tennex-home-live"]}],"satisfied":true,"constraints":[{"id":"no-production-demo-writes","satisfied":true,"statement":"Demo-mode reads and writes must remain synthetic and must not mutate production tenant or provider data.","proofConditionIds":["contacts-live","tennex-home-live"]},{"id":"real-data-projection-preserved","satisfied":true,"statement":"Ordinary tenant users and explicit impersonation/support projections must retain existing real-data behavior.","proofConditionIds":["contacts-live"]},{"id":"atomic-lifecycle","satisfied":true,"statement":"Do not claim completion until Gate, merge, release, and live proof are satisfied.","proofConditionIds":["contacts-live","tennex-home-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":["contacts-live","tennex-home-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":["contacts-live","tennex-home-live"]}],"contractHash":"38e6ade207ab9a267127409e39669deb307febba0c68672978eacb10ad652555","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"contacts-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":"38e6ade207ab9a267127409e39669deb307febba0c68672978eacb10ad652555"},"required":true,"satisfied":true},{"id":"tennex-home-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":"38e6ade207ab9a267127409e39669deb307febba0c68672978eacb10ad652555"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":2},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T02:04:29.30741+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"80c08425d651621dd2b9931f2ccda07da6b916d2","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:743f5b14-d471-49f7-b101-a6e9352fb114:request-contract:38e6ade207ab9a267127409e39669deb307febba0c68672978eacb10ad652555:80c08425d651621dd2b9931f2ccda07da6b916d2:verified:","mission_step_id":"ce23dcf1-ba58-4823-b37a-66dd2bcdb3f1","command_center_event_id":"743f5b14-d471-49f7-b101-a6e9352fb114"},{"id":"70f75068-8066-418e-98ad-2a9ab8bde2a4","source":"cc-execution","status":"release_verification_pending","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/layout-aware-drag-static-map-preview-r202608032348","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":3920,"terminal":false,"missionId":"695f1b70-e276-46fa-9cda-fd1fba5b05ae","operation":"execute_mission","proofGate":"ship_and_prove_release_pending","sourceSha":"d768407d008f0cbf72955a3199250809df9f38e8","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"695f1b70-e276-46fa-9cda-fd1fba5b05ae"},"performance":null,"deploymentId":"canonical-release-d768407d008f","workflowRunId":30863543681,"releaseTargets":{"frontend":true,"onrunner":false,"ccExecution":false,"supabaseEdge":false},"detailsAvailable":true,"sourceReceiptBytes":2314,"ownerActionRequired":false},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-08-03T23:49:13.824207+00:00","proof_gate":"ship_and_prove_release_pending","source_sha":"d768407d008f0cbf72955a3199250809df9f38e8","external_id":"canonical-release-d768407d008f","receipt_type":"execute_mission","idempotency_key":"mission:695f1b70-e276-46fa-9cda-fd1fba5b05ae:execute_mission:ship_and_prove_release_pending","mission_step_id":"bca5fc0c-2d0c-4c3e-a6e5-504be9780448","command_center_event_id":"695f1b70-e276-46fa-9cda-fd1fba5b05ae"},{"id":"70f845ac-a920-42c6-88fa-4977785695fa","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/version.js"],"reason":"Owner-authorized repository authority decruft: remove the remaining hosted Render visual execution fallback on the existing corrective PR.","baseSha":"c3c1c44ad33cda70f5887e0e345076b461ab8c5e","issuedAt":1790635656001,"expiresAt":1790635836001,"missionId":"1e80df0f-2421-4b73-90c6-6db618326f6d","authorizationId":"77c3da27-09d9-4145-bf21-bb63e251c049","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T22:47:36.344217+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"c3c1c44ad33cda70f5887e0e345076b461ab8c5e","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:77c3da27-09d9-4145-bf21-bb63e251c049","mission_step_id":"03039772-41cd-4c1e-ad69-031310093eae","command_center_event_id":"1e80df0f-2421-4b73-90c6-6db618326f6d"},{"id":"70f877f7-bda4-4c17-9199-7dded6781e8d","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/big-papis-events-event-day-layout-20260819","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":4435,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.48.4-single-mutation-lane","prNumber":472,"terminal":false,"missionId":"3112c6be-157b-4a0a-a33d-b813dc00e568","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":null,"nextAction":"Reconcile this same mission and pull request after the exact-head KnockLaunch Gate changes state.","receiptRef":{"mode":"full","missionId":"3112c6be-157b-4a0a-a33d-b813dc00e568"},"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":5458,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-20T03:48:52.80451+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"472","receipt_type":"execute_mission","idempotency_key":"mission:3112c6be-157b-4a0a-a33d-b813dc00e568:execute_mission:repair_mission_waiting_for_gate","mission_step_id":"f3573111-f90a-47b4-b59e-e6bdeac1b62d","command_center_event_id":"3112c6be-157b-4a0a-a33d-b813dc00e568"},{"id":"70f9a861-e260-48a0-bfe3-9c3b3e52f91c","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-d3d2bdbc6dfa","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.220-terminal-step-projection","prNumber":3495,"terminal":false,"missionId":"d3d2bdbc-6dfa-468f-b46a-ec1830c37c87","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":5064,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":699,"missionSetupMs":232,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":232,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":232,"repositoryMutationMs":4365,"repositoryProviderMs":4365,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2401,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":232,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1964},"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":"d3d2bdbc-6dfa-468f-b46a-ec1830c37c87"},"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":3735,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T04:34:59.388576+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3495","receipt_type":"execute_mission","idempotency_key":"mission:d3d2bdbc-6dfa-468f-b46a-ec1830c37c87:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"ca03a1fc-a73e-47e7-b6d0-ebe78cf5b6b1","command_center_event_id":"d3d2bdbc-6dfa-468f-b46a-ec1830c37c87"},{"id":"70fa31d2-2989-4eb1-95d7-5e503332de83","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","render-onrunner/runtime-proof":"success"},"mainSha":"1db3e9523f3291e9ba6b9e2b7f4f61309324d287","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","render-onrunner/runtime-proof"],"sourceSha":"408a8cb75e551aba18ad4a867c877197ca7fbc2b","releaseState":"verified","sourceInMain":true,"compareStatus":"known_exact_protected_main_push_history","releaseTargets":{"frontend":false,"onrunner":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"onrunner":"success"},"requestContractHash":"81a6f8334e63e6d5f52905f32b8f9ccad0920825658d87b1ce1f267689221632","forgejoWorkflowProof":{"runId":11178,"source":"signed_push_receipt","status":"success","results":{},"conclusion":"success","targetStates":{"onrunner":"success"},"targetJobCount":7,"observedTargetStates":{"onrunner":"success"}},"onrunnerRuntimeProof":{"reason":null,"hostedUrl":"https://knocklaunchcrm.onrender.com","brokerReady":true,"exactSource":true,"healthStatus":200,"runtimeReady":true,"liveSourceSha":"408a8cb75e551aba18ad4a867c877197ca7fbc2b","runnerVersion":"onrunner-408a8cb75e55","expectedSourceSha":"408a8cb75e551aba18ad4a867c877197ca7fbc2b"},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T11:29:16.898353+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"408a8cb75e551aba18ad4a867c877197ca7fbc2b","external_id":"forgejo-main-408a8cb75e55","receipt_type":"canonical_release_status","idempotency_key":"mission:bc17ba05-a9c9-4da0-851b-bb322456939b:forgejo-release-status:408a8cb75e551aba18ad4a867c877197ca7fbc2b:verified:forgejo-main/source=success|forgejo-release/workflow=success|render-onrunner/runtime-proof=success","mission_step_id":"c87017f3-db09-4feb-8d1f-19a74b9a2faa","command_center_event_id":"bc17ba05-a9c9-4da0-851b-bb322456939b"},{"id":"70fad023-b5e8-464e-b20c-760c6408f98b","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","cc-execution/runtime-proof":"pending"},"mainSha":"03e56921f6459e539ff442d8a4d5f9dcd071441d","missing":[],"pending":["forgejo-release/workflow","cc-execution/runtime-proof"],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"03e56921f6459e539ff442d8a4d5f9dcd071441d","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"ccExecution":"pending"},"requestContractHash":"8719ad5a9731db8e9d12bc019caf79557b1edcc270f8e2a6c5ad5ec0564f12fb","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/16037","runId":16037,"status":"running","sourceSha":"03e56921f6459e539ff442d8a4d5f9dcd071441d","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"ccExecution":"pending"},"targetJobCount":7,"observedTargetStates":{"ccExecution":"pending"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"de1f9822b7e6ac1fb12d5bbe95f211c1957c0e57","deploymentId":"forgejo-main-de1f9822b7e6ac1fb12d5bbe95f211c1957c0e57","compareStatus":null,"identitySource":"local_build_metadata","runtimeVersion":"1.65.4-release-terminal-proof-unblocks-queue","containsSourceSha":false},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T21:19:25.042846+00:00","proof_gate":"canonical_release_pending","source_sha":"03e56921f6459e539ff442d8a4d5f9dcd071441d","external_id":"forgejo-main-03e56921f645","receipt_type":"canonical_release_status","idempotency_key":"mission:a0cf2318-917c-4421-b575-c956ca53c810:forgejo-release-status:03e56921f6459e539ff442d8a4d5f9dcd071441d:pending:forgejo-main/source=success|forgejo-release/workflow=pending|cc-execution/runtime-proof=pending","mission_step_id":"b0d173c6-3698-4edb-b8ab-9727c0e4fdc0","command_center_event_id":"a0cf2318-917c-4421-b575-c956ca53c810"},{"id":"70fb8ffc-29a8-4ca7-a5a2-45345991d22f","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in release.","nextAction":{"lane":"production-release-conductor","action":"reconcile_release","reason":"merged_source_requires_release_proof","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_pending\"},\"activeStep\":{\"key\":\"pull_request\",\"status\":\"waiting\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"release\",\"status\":\"waiting\",\"lane\":\"production-release-conductor\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_release\",\"recoveryOwner\":\"production-release-conductor\"},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"runtime_proof\",\"deadlineAt\":\"2026-10-06T03:20:30.100443+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-6f54f4fa36c2\",\"prNumber\":5099,\"sourceSha\":\"b45fd8c9fd5d57f80fe95aba194eaae1f6da163c\",\"deploymentId\":\"forgejo-main-b45fd8c9fd5d\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T23:51:20.509359+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:6f54f4fa-36c2-421d-aac8-170cc986046a:owner-progress-heartbeat:119416285","mission_step_id":"ee489250-081c-45d3-8d41-89c7b463d2d3","command_center_event_id":"6f54f4fa-36c2-421d-aac8-170cc986046a"},{"id":"71006f7b-2272-4014-96df-ec3ad880d17e","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-mttzd6u1","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.77-mcp-oauth-es256","prNumber":null,"terminal":false,"missionId":"26e1be2e-f3cc-4eba-ae94-605b7f0b0e14","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":14,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":932,"providerAuthMs":0,"ledgerPrepareMs":932,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":932,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":932,"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":"26e1be2e-f3cc-4eba-ae94-605b7f0b0e14"},"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":4196,"likelyAffectedFiles":["workers/cc-execution/src/mcp-synthesis-source-bundle.js","workers/cc-execution/test/mcp-synthesis-source-bundle.test.js","workers/cc-execution/src/version.js","config/control-plane-capabilities.json"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-09T11:11:54.71504+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:26e1be2e-f3cc-4eba-ae94-605b7f0b0e14:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"73eade95-2751-4665-905d-4d8bbbfc6605","command_center_event_id":"26e1be2e-f3cc-4eba-ae94-605b7f0b0e14"},{"id":"71014e39-7f57-4862-b5d9-44f62ad48e58","source":"forgejo","status":"waiting","payload":{"branch":"","prNumber":4014,"nextAction":null,"mergeCommitSha":"106ab61474aceecf4cd3e89b68351c1828e24dac","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-10-03T09:26:31.853155+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"106ab61474aceecf4cd3e89b68351c1828e24dac","external_id":"4014","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:ea8a0178-4f27-4600-8f21-a6b8e7f6e466:merged-pr:4014:106ab61474aceecf4cd3e89b68351c1828e24dac","mission_step_id":"471698f1-934f-4658-ac12-ead76034d73f","command_center_event_id":"ea8a0178-4f27-4600-8f21-a6b8e7f6e466"},{"id":"71023705-886a-4292-b858-51ec733f0555","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Reconcile the same mission after successful frontend release. Do not mutate source. Main is b4e00efb5a74d258c64305cbb68854991facaccf and Cloudflare exact-artifact proof succeeded at 100% production traffic. Verify the Big Papi Mail route and satisfy repository/live proof; visual proof will be collected separately.","wordingChanged":false,"canonicalIntent":"Reconcile the same mission after successful frontend release. Do not mutate source. Main is b4e00efb5a74d258c64305cbb68854991facaccf and Cloudflare exact-artifact proof succeeded at 100% production traffic. Verify the Big Papi Mail route and satisfy repository/live proof; visual proof will be collected separately.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-reader","statement":"Big Papi Mail desktop reader uses the available pane/viewport instead of a narrow centered island, with readable subject/from/body sizing and full-height pane scrolling.","proofConditionIds":["proof-mail-live","proof-mail-visual"]},{"id":"outcome-logo","statement":"Big Papi Mail signatures and branded mail resolve the logo from the live tenant company_logo_url and no longer override it with the legacy hardcoded Big Papi logo asset.","proofConditionIds":["proof-mail-live","proof-logo-source"]},{"id":"outcome-images","statement":"Existing received-email HTML/CID/image containment remains intact so images cannot expand or repaint the entire reader surface.","proofConditionIds":["proof-mail-live"]}],"objective":"Reconcile the same mission after successful frontend release. Do not mutate source. Main is b4e00efb5a74d258c64305cbb68854991facaccf and Cloudflare exact-artifact proof succeeded at 100% production traffic. Verify the Big Papi Mail route and satisfy repository/live proof; visual proof will be collected separately.","constraints":[{"id":"constraint-scope","statement":"Use existing PR #1886 and its exact gated head; do not create another branch or PR and release frontend only.","proofConditionIds":["proof-mail-live"]},{"id":"constraint-mail-behavior","statement":"Preserve compose, reply/forward, attachments, search, folders, templates, signatures, event scanning, CID hydration and mobile behavior.","proofConditionIds":["proof-mail-live"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-mail-live","kind":"runtime","claim":"The exact PR #1886 frontend source is released live on /big-papis/owner/email.","route":"/big-papis/owner/email","roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"]},{"id":"proof-logo-source","kind":"repository","claim":"MailWorkspace no longer contains the legacy Big Papi logo hardcode and uses the live tenant brand company_logo_url.","route":"/big-papis/owner/email","roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"proof-mail-visual","kind":"visual","claim":"Desktop Big Papi Mail visibly uses the available reader pane rather than rendering the message as a tiny centered column with excessive dead space.","route":"/big-papis/owner/email","roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestContractHash":"b059d5ed66e0990d03b108897a5cdfdcec84430e921e07dc8ad01121f3975e7a","requestContractRevision":7,"previousRequestContractHash":"068508fb65458cc6a233d8c8c4b72dc7da5619e6f02ffc9dfb419998f96de3a0"},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-09-05T23:32:11.631229+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:5e54bf13-67e0-425f-abbd-4712ed4fe248:request-contract:b059d5ed66e0990d03b108897a5cdfdcec84430e921e07dc8ad01121f3975e7a","mission_step_id":"2d377a8e-c18f-4147-bf54-961a792a0353","command_center_event_id":"5e54bf13-67e0-425f-abbd-4712ed4fe248"},{"id":"7102e630-0a35-427d-8e20-f9efaa7d29dd","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-7cc973aa6b60","reason":"control_plane_frozen_explicit_unfreeze_required","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.166-cancelled-release-signed-run-identity","prNumber":2950,"terminal":false,"missionId":"7cc973aa-6b60-43e3-9757-7a0ae138ba99","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":2088,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":1674,"ledgerReconcileMs":0,"lineageReconcileMs":414,"resolvePreflightMs":2088,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":1674,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"7cc973aa-6b60-43e3-9757-7a0ae138ba99"},"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":1479,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-16T20:56:02.435555+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:7cc973aa-6b60-43e3-9757-7a0ae138ba99:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"fd54e8a1-aafd-44b1-82a5-1481b60d02ba","command_center_event_id":"7cc973aa-6b60-43e3-9757-7a0ae138ba99"},{"id":"710447fd-d477-461d-9817-072d581e8c20","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","cc-execution/runtime-proof":"pending"},"mainSha":"9283f167134f32871af0e3a14e19b4638d38c8f2","missing":[],"pending":["forgejo-release/workflow","cc-execution/runtime-proof"],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"9283f167134f32871af0e3a14e19b4638d38c8f2","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"ccExecution":"pending"},"requestContractHash":"c3bb9e25b888a79be9f77054f201826720d627bd88bf90b0516498a9c7f849e0","forgejoWorkflowProof":{"runId":16214,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"ccExecution":"pending"},"targetJobCount":7,"observedTargetStates":{"ccExecution":"pending"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"49a280467666f6dbb18944a77a05bda7434b903f","deploymentId":"forgejo-main-49a280467666f6dbb18944a77a05bda7434b903f","compareStatus":null,"identitySource":"local_build_metadata","runtimeVersion":"1.65.10-boundary-fix-release-retry","containsSourceSha":false},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T02:54:05.604527+00:00","proof_gate":"canonical_release_pending","source_sha":"9283f167134f32871af0e3a14e19b4638d38c8f2","external_id":"forgejo-main-9283f167134f","receipt_type":"canonical_release_status","idempotency_key":"mission:c6da50d2-2650-4d91-ae63-5932134ebd03:forgejo-release-status:9283f167134f32871af0e3a14e19b4638d38c8f2:pending:forgejo-main/source=success|forgejo-release/workflow=pending|cc-execution/runtime-proof=pending","mission_step_id":"0b5fc136-02fb-49ea-acf4-627976109d56","command_center_event_id":"c6da50d2-2650-4d91-ae63-5932134ebd03"},{"id":"7104d397-3e9b-4b24-b1af-5ce6bb053f6d","source":"cc-execution","status":"cancelled","payload":{"cancelled":true,"missionId":"9f47c05d-3325-4228-b475-04d83c6da7e2"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T17:26:15.725784+00:00","proof_gate":"durable_mission_cancelled","source_sha":null,"external_id":null,"receipt_type":"owner_mission_cancelled","idempotency_key":"mission:9f47c05d-3325-4228-b475-04d83c6da7e2:mission-cancel:9f47c05d-3325-4228-b475-04d83c6da7e2","mission_step_id":"511a09bb-2842-49c4-a7ea-a14a305bdb3a","command_center_event_id":"9f47c05d-3325-4228-b475-04d83c6da7e2"},{"id":"71064a3a-f35b-4702-bd16-b7842fe78002","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/enforce-single-mission-workflow-20260804","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.30.10-mutation-release-routing-fix","prNumber":null,"terminal":false,"missionId":"23d42119-5fa4-4fd5-acf4-584f572b5978","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":"23d42119-5fa4-4fd5-acf4-584f572b5978"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"sourceReceiptBytes":1211,"likelyAffectedFiles":[],"ownerActionRequired":false},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-04T15:58:19.820355+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:23d42119-5fa4-4fd5-acf4-584f572b5978:execute_mission:repair_mission_synthesis_ready","mission_step_id":"db01faf4-da84-4fda-9fd8-c27cd8b74b26","command_center_event_id":"23d42119-5fa4-4fd5-acf4-584f572b5978"},{"id":"7107ae44-77c1-4f01-a51c-7d16b030f153","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":"df0053b2741b95cbbb4eba6d281c6bc5d3ed5ee6","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":"df0053b2741b95cbbb4eba6d281c6bc5d3ed5ee6","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["customer-portal"]},"releaseTargetStates":{"frontend":"pending","supabaseEdge":"pending"},"requestContractHash":"e50361b4580f4e15320c1697e2b8ca9ef15ed02f7a51dfb2a7b93ca4e34b6dd8","forgejoWorkflowProof":{"runId":13191,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"frontend":"pending","supabaseEdge":"pending"},"targetJobCount":6,"observedTargetStates":{"frontend":"pending","supabaseEdge":"pending"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-09-29T20:36:43.224602+00:00","proof_gate":"canonical_release_pending","source_sha":"df0053b2741b95cbbb4eba6d281c6bc5d3ed5ee6","external_id":"forgejo-main-df0053b2741b","receipt_type":"canonical_release_status","idempotency_key":"mission:4489b794-fe0b-4298-b860-3ec38862b32d:forgejo-release-status:df0053b2741b95cbbb4eba6d281c6bc5d3ed5ee6:pending:forgejo-main/source=success|forgejo-release/workflow=pending|supabase-edge-production/live=pending|frontend-cloudflare/live=pending","mission_step_id":"dc7ade8b-0029-4a5d-ad0d-f343700f81e5","command_center_event_id":"4489b794-fe0b-4298-b860-3ec38862b32d"},{"id":"71083360-e177-40f2-b2f2-57118d28b07a","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"5c12c6cea6b4e23fc65a27aef8d9e3b8c9adddd6","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":true,"statement":"Public mission_status and mission_receipt responses expose durable semantic ownerCheckpoint data with latest meaningful checkpoint, active step, next step, blocker, and terminal state; canonical Gate proves checkpoint resume and dedupe invariants.","proofConditionIds":["proof-runtime","proof-regression"]}],"satisfied":true,"constraints":[{"id":"bounded-control-plane-maintenance","satisfied":true,"statement":"Corrective control plane maintenance is limited to the exact three declared cc-execution paths and preserves existing mission, merge, Gate, and release ownership.","proofConditionIds":["proof-runtime","proof-regression"]},{"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","proof-regression"]},{"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","proof-regression"]}],"contractHash":"413d25b9709f283ebfc97dc17e18ecb9c0eaf16251560bd04d5047f92078ca57","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":["ccExecution"],"migrationReleaseVerified":null,"releaseRequestContractHash":"413d25b9709f283ebfc97dc17e18ecb9c0eaf16251560bd04d5047f92078ca57"},"required":true,"satisfied":true},{"id":"proof-regression","kind":"repository","evidence":{"reason":null,"gateRunId":10311,"satisfied":true,"gateTestProof":"successful_exact_head_gate_log_contains:workers/cc-execution/test/release-orchestration-invariants.test.js","gateTestPassed":true,"missingTargets":[],"gateTestExecuted":true,"disallowedTargets":[],"migrationRequired":false,"namedGateTestPath":"workers/cc-execution/test/release-orchestration-invariants.test.js","releaseTargetStates":{"ccExecution":"success"},"repositoryProofGate":"request_contract_repository_verified","repositoryProofPath":null,"requestContractHash":"413d25b9709f283ebfc97dc17e18ecb9c0eaf16251560bd04d5047f92078ca57","unsuccessfulTargets":[],"activeReleaseTargets":["ccExecution"],"allowedReleaseTargets":[],"repositoryProofStatus":"verified","expectedRepositoryPath":null,"namedGateTestSatisfied":true,"requiredReleaseTargets":["ccExecution"],"migrationReleaseVerified":null,"repositoryConditionBound":true,"repositoryProofSourceSha":"5c12c6cea6b4e23fc65a27aef8d9e3b8c9adddd6"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["ccExecution"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":4},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-20T14:59:25.897564+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"5c12c6cea6b4e23fc65a27aef8d9e3b8c9adddd6","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:8e26e826-1995-4e7d-9622-7dbc2271ae39:request-contract:413d25b9709f283ebfc97dc17e18ecb9c0eaf16251560bd04d5047f92078ca57:5c12c6cea6b4e23fc65a27aef8d9e3b8c9adddd6:verified:","mission_step_id":"125e98c0-986a-4b4f-a496-160ac4c74d56","command_center_event_id":"8e26e826-1995-4e7d-9622-7dbc2271ae39"},{"id":"710a1647-abd9-4466-bea8-289e85641351","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/forgejo-pack-retry-20260904","reason":"fresh_pr_provider_receipt_already_proves_auto_progress_gate_notifier_owns_next_state","status":"waiting_for_gate","metrics":{"receiptBytes":6257,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.28-forgejo-pack-corrective-refreeze","prNumber":1667,"terminal":false,"missionId":"f37d7aa8-4980-41c1-a818-cb2c32a25da8","operation":"execute_mission","proofGate":"repair_mission_fresh_pr_handed_off_to_gate","sourceSha":null,"timingsMs":{"handlerMs":12955,"prReadinessMs":0,"approvedPlanMs":12955,"missionSetupMs":1639,"shipAndProveMs":0},"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":"f37d7aa8-4980-41c1-a818-cb2c32a25da8"},"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":3240,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T04:46:49.611377+00:00","proof_gate":"repair_mission_fresh_pr_handed_off_to_gate","source_sha":null,"external_id":"1667","receipt_type":"execute_mission","idempotency_key":"mission:f37d7aa8-4980-41c1-a818-cb2c32a25da8:execute_mission:repair_mission_fresh_pr_handed_off_to_gate:current-generation","mission_step_id":"7b9a8635-4d9b-49e2-90c4-909fda6acc78","command_center_event_id":"f37d7aa8-4980-41c1-a818-cb2c32a25da8"},{"id":"710d0ef9-ac61-4a39-bca1-3e84c4372f11","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/proposal-operating-task-source-fix-20260911","reason":"existing_branch_without_open_pr_branch_diverged_or_unproven:ai/proposal-operating-task-source-fix-20260911","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.102-self-healing-ledger-provider","prNumber":null,"terminal":false,"missionId":"d315527a-1fbe-4f14-9a16-72f53acaedcc","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":9036,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":512,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":512,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":512,"repositoryMutationMs":9036,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":512,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"d315527a-1fbe-4f14-9a16-72f53acaedcc"},"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":1595,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-11T17:00:44.139141+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:d315527a-1fbe-4f14-9a16-72f53acaedcc:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"3dedb3ef-0a1d-4ecc-b6d1-747ca14634b5","command_center_event_id":"d315527a-1fbe-4f14-9a16-72f53acaedcc"},{"id":"710d21a1-4d84-4a6c-b4a5-e12c18b14a07","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/test/model-provider-gateway.test.js"],"baseSha":"c36e066dcd0e6cdd98db62eddb16300812f11cfe","issuedAt":1791838342788,"expiresAt":1791838522788,"missionId":"581df9c4-93ab-4811-809d-01ae3059ab2f","autoRefreeze":true,"authorizationId":"4effe57b-9954-4f54-8350-57c23be1c183","authorizationSource":"explicit_owner_request_contract"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-12T20:52:23.629161+00:00","proof_gate":"control_plane_maintenance_exact_scope_authorized","source_sha":"c36e066dcd0e6cdd98db62eddb16300812f11cfe","external_id":"4effe57b-9954-4f54-8350-57c23be1c183","receipt_type":"control_plane_maintenance_authorized","idempotency_key":"control-plane-maintenance:581df9c4-93ab-4811-809d-01ae3059ab2f:4effe57b-9954-4f54-8350-57c23be1c183","mission_step_id":null,"command_center_event_id":"581df9c4-93ab-4811-809d-01ae3059ab2f"},{"id":"710f8ee8-7736-4991-b636-1984f945254b","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-9c619be0b3b4","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":23845,"releaseCount":0,"toolCallCount":12,"repeatedCallCount":8,"executorlessWaitMs":224246,"firstUsefulResultAt":"2026-10-02T17:56:39.033Z","recoveryAttemptCount":9,"ownerInterruptionCount":0},"version":null,"prNumber":4509,"terminal":false,"missionId":"9c619be0-b3b4-4982-bb1d-5c218a155771","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":2174,"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":"9c619be0-b3b4-4982-bb1d-5c218a155771"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":819,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T17:58:38.817282+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4509","receipt_type":"automatic_mission_resume","idempotency_key":"mission:9c619be0-b3b4-4982-bb1d-5c218a155771:automatic-mission-resume:4509:repair_mission_pr_ready_retryable","mission_step_id":"8c61fac1-ad68-4051-b5a0-a9893bf142e0","command_center_event_id":"9c619be0-b3b4-4982-bb1d-5c218a155771"},{"id":"7111fcd8-42b7-4691-a7c2-d37d6905c15f","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"0d2ea387c8d4e1d89a2bcb8d4b934523fbb97217","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"0d2ea387c8d4e1d89a2bcb8d4b934523fbb97217","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"success"},"requestContractHash":"88bab7381e73e86f5a2eea96683be6e3627a7331a5fe3356a72882fff9a81d52","forgejoWorkflowProof":{"runId":14515,"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-02T21:19:49.393499+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"0d2ea387c8d4e1d89a2bcb8d4b934523fbb97217","external_id":"forgejo-main-0d2ea387c8d4","receipt_type":"canonical_release_status","idempotency_key":"mission:087c36fd-86a5-4764-8931-33070ebf851b:forgejo-release-status:0d2ea387c8d4e1d89a2bcb8d4b934523fbb97217:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"d825ce8d-00cb-46e5-90a5-b5cf655d1fb7","command_center_event_id":"087c36fd-86a5-4764-8931-33070ebf851b"},{"id":"711225d2-1872-420c-9bdf-f5777c308203","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Continue the same Virtual Witness evidence self-healing mission from the exact live failure on Big Papi job e05765f1-520b-4472-883a-18943bdb6d5f. Route prerequisite recovery is proven healthy: the job remained on /big-papis/owner/dashboard with the exact tenant projection and did not terminate at /select-tenant. The remaining causal failure is screenshot evidence exhaustion: CDP capture timed out 10s, Playwright animation-disabled capture timed out 20s, Playwright recovery with animations allowed timed out 10s, and final CDP after stopLoading timed out 10s. Add one final bounded DevTools screencast-frame evidence fallback that captures the already-rendered viewport without reloading, changing projection, or rerunning product actions. Bound start, frame wait, stop, and CDP detach so the recovery primitive itself cannot wedge. Keep unknown/persistent failures fail-closed. Add regression coverage in the Gate-executed Visual Witness hard-safety test and dedicated screenshot tests. Ship one corrective PR, Gate, squash merge, OnRunner-only release, then rerun the exact Big Papi protected route and require an uploaded visual artifact.","wordingChanged":false,"canonicalIntent":"Continue the same Virtual Witness evidence self-healing mission from the exact live failure on Big Papi job e05765f1-520b-4472-883a-18943bdb6d5f. Route prerequisite recovery is proven healthy: the job remained on /big-papis/owner/dashboard with the exact tenant projection and did not terminate at /select-tenant. The remaining causal failure is screenshot evidence exhaustion: CDP capture timed out 10s, Playwright animation-disabled capture timed out 20s, Playwright recovery with animations allowed timed out 10s, and final CDP after stopLoading timed out 10s. Add one final bounded DevTools screencast-frame evidence fallback that captures the already-rendered viewport without reloading, changing projection, or rerunning product actions. Bound start, frame wait, stop, and CDP detach so the recovery primitive itself cannot wedge. Keep unknown/persistent failures fail-closed. Add regression coverage in the Gate-executed Visual Witness hard-safety test and dedicated screenshot tests. Ship one corrective PR, Gate, squash merge, OnRunner-only release, then rerun the exact Big Papi protected route and require an uploaded visual artifact.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"protected-route-visual-proof-live","statement":"A Big Papi tenant-projected protected-route audit reaches the intended path and stores visual evidence even when the ordinary screenshot operation hangs, using one bounded DevTools screencast-frame fallback if needed.","proofConditionIds":["repo-proof","release-proof","live-proof"]}],"objective":"Continue the same Virtual Witness evidence self-healing mission from the exact live failure on Big Papi job e05765f1-520b-4472-883a-18943bdb6d5f. Route prerequisite recovery is proven healthy: the job remained on /big-papis/owner/dashboard with the exact tenant projection and did not terminate at /select-tenant. The remaining causal failure is screenshot evidence exhaustion: CDP capture timed out 10s, Playwright animation-disabled capture timed out 20s, Playwright recovery with animations allowed timed out 10s, and final CDP after stopLoading timed out 10s. Add one final bounded DevTools screencast-frame evidence fallback that captures the already-rendered viewport without reloading, changing projection, or rerunning product actions. Bound start, frame wait, stop, and CDP detach so the recovery primitive itself cannot wedge. Keep unknown/persistent failures fail-closed. Add regression coverage in the Gate-executed Visual Witness hard-safety test and dedicated screenshot tests. Ship one corrective PR, Gate, squash merge, OnRunner-only release, then rerun the exact Big Papi protected route and require an uploaded visual artifact.","constraints":[{"id":"bounded","statement":"All visual evidence methods, including screencast start/frame/stop/session-detach, are time-bounded with no retry loop.","proofConditionIds":["live-proof"]},{"id":"non-mutating","statement":"Evidence fallback never reloads the route, changes tenant/user/role projection, reruns product actions, or mutates product data.","proofConditionIds":["live-proof"]},{"id":"fail-closed","statement":"If the screencast frame also cannot be obtained, the verifier returns a structured explicit failure rather than claiming visual proof.","proofConditionIds":["live-proof"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"repo-proof","kind":"repository","claim":"The exact corrective screencast-fallback PR passes KnockLaunch Gate and is squash-merged.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"release-proof","kind":"runtime","claim":"Only Render OnRunner releases from the corrective merge SHA and serves that exact source identity.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["onrunner"],"requiredReleaseTargets":["onrunner"]},{"id":"live-proof","kind":"runtime","claim":"A live Big Papi protected-route audit with tenantRef 766cfaa7-ac42-46c8-bbef-69d13268a29d reaches /big-papis/owner/dashboard and stores an uploaded visual artifact without selector termination.","route":"/big-papis/owner/dashboard","roleRef":"GodMode","userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["onrunner"],"requiredReleaseTargets":["onrunner"]}],"validationErrors":[]},"requestContractHash":"6ebba1d3f9672e3f46f384810b251e7c6d0471e8fc097d703d59f257fb6f0a89","requestContractRevision":2,"previousRequestContractHash":"4aa73727e0f1b7e37209c50fcba14428e01b2c80ff0024b46ffce49e74e57dc9"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-06T16:06:50.43253+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:e83b3f5e-a605-44e4-9df0-eb88786bbea3:request-contract:6ebba1d3f9672e3f46f384810b251e7c6d0471e8fc097d703d59f257fb6f0a89","mission_step_id":"b326ec8b-95de-4d0b-b8b5-4759c6b244fb","command_center_event_id":"e83b3f5e-a605-44e4-9df0-eb88786bbea3"},{"id":"71131189-5216-4e75-b5b6-5cad3d5be09d","source":"forgejo","status":"waiting","payload":{"branch":"ai/barbershop-rpc-anon-hardening","prNumber":3104,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"66841c5ecffefcb5fecf50844c5ba8ddc7a33216","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-18T15:04:28.543325+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"66841c5ecffefcb5fecf50844c5ba8ddc7a33216","external_id":"3104","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:f0b88042-7665-45be-9efb-8d9b3849dfd0:merged-pr:3104:66841c5ecffefcb5fecf50844c5ba8ddc7a33216","mission_step_id":"8c1286e2-b723-4f62-a2fc-8cdb9c226f8c","command_center_event_id":"f0b88042-7665-45be-9efb-8d9b3849dfd0"},{"id":"7113adc3-91b3-4ebe-a2a7-1252a2eac1e6","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.38.0-forgejo-only-core","prNumber":25,"terminal":false,"missionId":"a1aabfed-e59a-4aed-b2a2-445c39b8e227","operation":"ship_and_prove","proofGate":"canonical_release_dispatched","sourceSha":"4876925376ab4a3bbccbffdabd501314bbe53dee","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"a1aabfed-e59a-4aed-b2a2-445c39b8e227"},"performance":null,"deploymentId":"forgejo-main-4876925376ab","workflowRunId":null,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":true,"edgeFunctionSlugs":["cc-tools"]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1121,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-14T16:29:16.741453+00:00","proof_gate":"canonical_release_dispatched","source_sha":"4876925376ab4a3bbccbffdabd501314bbe53dee","external_id":"forgejo-main-4876925376ab","receipt_type":"ship_and_prove","idempotency_key":"mission:a1aabfed-e59a-4aed-b2a2-445c39b8e227:ship_and_prove:canonical_release_dispatched:4876925376ab4a3bbccbffdabd501314bbe53dee:no-run","mission_step_id":"3a3f7582-5661-4cc1-9478-69ce40b11672","command_center_event_id":"a1aabfed-e59a-4aed-b2a2-445c39b8e227"},{"id":"7117e4e3-23db-490a-ad9c-849b72c7eea7","source":"forgejo","status":"retryable","payload":{"branch":"ai/objective-first-repair-fd1d5d93ed32","merged":false,"prNumber":3313,"remediationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-20T22:51:21.931357+00:00","proof_gate":"forgejo_closed_pr_is_authoritative_source_lineage","source_sha":null,"external_id":"3313","receipt_type":"source_lineage_pr_closed_without_merge","idempotency_key":"mission:fd1d5d93-ed32-47b0-b95f-d829a400befa:closed-pr:3313:unmerged","mission_step_id":"27693382-4d18-466d-bef0-385ae46e3ba5","command_center_event_id":"fd1d5d93-ed32-47b0-b95f-d829a400befa"},{"id":"71195da4-2d48-43c7-9b56-08245d4bc18d","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-dbdce2d841be","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.151-mission-create-single-rpc","prNumber":null,"terminal":false,"missionId":"dbdce2d8-41be-42be-8313-7fef179b605e","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":101,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":4715,"providerAuthMs":0,"ledgerPrepareMs":4715,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":4715,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":4715,"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":"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":5367,"likelyAffectedFiles":["src/lib/tenants/declaredBusinessIdentity.ts","src/lib/pipelines.ts","src/__tests__/contracts/tenant-pipeline-declared-types.contract.test.ts"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-15T15:18:49.475481+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:dbdce2d8-41be-42be-8313-7fef179b605e:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"6aa2932a-fc34-4c64-876c-921725f1e746","command_center_event_id":"dbdce2d8-41be-42be-8313-7fef179b605e"},{"id":"71197b61-2dfd-40be-9aad-704a15fac6f1","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/forgejo-bounded-explicit-get-retries-v2","reason":"retryable_provider_transport:GET:The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":2917,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.50.48-visual-proof-intent-routing","prNumber":null,"terminal":false,"missionId":"60071156-01c6-4e52-a2c0-620f095c8f80","operation":"execute_mission","proofGate":"repair_mission_execution_retryable","sourceSha":null,"timingsMs":{"handlerMs":4000,"prReadinessMs":0,"approvedPlanMs":4000,"missionSetupMs":276,"shipAndProveMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"60071156-01c6-4e52-a2c0-620f095c8f80"},"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":5213,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-26T00:58:25.443235+00:00","proof_gate":"repair_mission_execution_retryable","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:60071156-01c6-4e52-a2c0-620f095c8f80:execute_mission:repair_mission_execution_retryable","mission_step_id":"d7da91bd-11e1-4867-9199-0c1ba0018d59","command_center_event_id":"60071156-01c6-4e52-a2c0-620f095c8f80"},{"id":"7119db2d-ebb1-4379-9906-125b4f84a26a","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/curri-realtor-frontend-truth-20260906","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.70-forgejo-source-discovery-retry-window","prNumber":2029,"terminal":false,"missionId":"9ff7ac30-5f48-488f-ac01-b7f863082d1e","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4340,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":3099,"approvedPlanMs":0,"missionSetupMs":1930,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":832,"ledgerReconcileMs":0,"lineageReconcileMs":1098,"resolvePreflightMs":1930,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":832,"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":"9ff7ac30-5f48-488f-ac01-b7f863082d1e"},"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":1975,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"90ed5bf4-8abd-4d3a-af7c-024664b5b99d","created_at":"2026-09-07T02:29:40.418327+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"2029","receipt_type":"execute_mission","idempotency_key":"mission:9ff7ac30-5f48-488f-ac01-b7f863082d1e:execute_mission:repair_mission_waiting_for_gate:current-generation","mission_step_id":"cac563ba-600b-48c7-8a88-e8f80ab074f9","command_center_event_id":"9ff7ac30-5f48-488f-ac01-b7f863082d1e"},{"id":"711a704d-ac7f-4f79-90b6-37e4e40bb8b7","source":"forgejo-runtime","status":"pending","payload":{"mainSha":"bb14af6cb22d8fbca9ce3b193502e8ce0bd1e350","sourceSha":"66291afbd112e53a82d558de3097a7c4d93d6a24","sourceInMain":false,"compareStatus":"main_history_page_inconclusive","ancestryProofResolved":false},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-10-04T11:40:13.225337+00:00","proof_gate":"canonical_release_ancestry_pending","source_sha":"66291afbd112e53a82d558de3097a7c4d93d6a24","external_id":"canonical-release-66291afbd112","receipt_type":"canonical_release_status","idempotency_key":"mission:07e9933e-c5b9-42b6-89c6-4757f246c102:forgejo-release-ancestry:66291afbd112e53a82d558de3097a7c4d93d6a24:bb14af6cb22d8fbca9ce3b193502e8ce0bd1e350:main_history_page_inconclusive","mission_step_id":"8acb4213-ca86-44b2-859b-f15b89997046","command_center_event_id":"07e9933e-c5b9-42b6-89c6-4757f246c102"},{"id":"711cd3b5-bdb3-4762-b89f-fee26e1f21b1","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/enforce-single-mission-workflow-20260804-r202608041602","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":1730,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.30.10-mutation-release-routing-fix","prNumber":3993,"terminal":false,"missionId":"23d42119-5fa4-4fd5-acf4-584f572b5978","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"6cf30174af34602f95935b4a62c51478c7b18a4c","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"23d42119-5fa4-4fd5-acf4-584f572b5978"},"performance":null,"deploymentId":"canonical-release-6cf30174af34","workflowRunId":30927228240,"releaseTargets":{"frontend":false,"onrunner":false,"ccExecution":true,"supabaseEdge":false},"detailsAvailable":true,"sourceReceiptBytes":2656,"ownerActionRequired":false},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-04T16:02:56.943114+00:00","proof_gate":"canonical_release_dispatched","source_sha":"6cf30174af34602f95935b4a62c51478c7b18a4c","external_id":"canonical-release-6cf30174af34","receipt_type":"execute_mission","idempotency_key":"mission:23d42119-5fa4-4fd5-acf4-584f572b5978:execute_mission:canonical_release_dispatched","mission_step_id":"8f0d64f6-1d7a-4ad3-a913-c2dfcd44fe68","command_center_event_id":"23d42119-5fa4-4fd5-acf4-584f572b5978"},{"id":"711d175d-6018-47b7-be72-9ed3406a190a","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success","supabase-migrations/live":"success"},"mainSha":"74721043e6ab8017be48412e64dcea7c2e96adda","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live","supabase-migrations/live"],"sourceSha":"1d4db07b8b9d63d1a8c56a884acee13c6985c04b","releaseState":"verified","sourceInMain":true,"compareStatus":"known_exact_protected_main_push_history","releaseTargets":{"frontend":true,"migrations":true,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"success","migrations":"success"},"requestContractHash":"29e489ca2bd582ae09daf13dd6a493ad3c81420818843e9d8361a112499b804d","forgejoWorkflowProof":{"runId":14767,"source":"signed_push_receipt","status":"cancelled","results":{},"conclusion":"cancelled","fingerprint":"cancelled||","failureClass":"release_cancelled_transient","targetStates":{"frontend":"success","migrations":"success"},"safeAutoRetry":true,"targetJobCount":7,"observedTargetStates":{"frontend":"success","migrations":"success"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T04:40:48.046085+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"1d4db07b8b9d63d1a8c56a884acee13c6985c04b","external_id":"forgejo-main-1d4db07b8b9d","receipt_type":"canonical_release_status","idempotency_key":"mission:079636c9-f7b3-4faf-85fd-deca1528b03b:forgejo-release-status:1d4db07b8b9d63d1a8c56a884acee13c6985c04b:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success|supabase-migrations/live=success","mission_step_id":"2f4842f0-57ab-4c86-834f-6b083f3e3fa4","command_center_event_id":"079636c9-f7b3-4faf-85fd-deca1528b03b"},{"id":"711d2b05-581e-4be1-95cf-e2e92b29e79f","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-ad3715ae1d45","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":58940,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"executorlessWaitMs":41694,"firstUsefulResultAt":"2026-09-29T02:37:29.637Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.63.0-mission-freedom-web-research","prNumber":4087,"terminal":false,"missionId":"ad3715ae-1d45-4de0-9799-35804937bcc7","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3877,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":703,"missionSetupMs":345,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":345,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":345,"repositoryMutationMs":3174,"repositoryProviderMs":3174,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2020,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":345,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1154},"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":"ad3715ae-1d45-4de0-9799-35804937bcc7"},"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":3883,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T02:38:16.300407+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"4087","receipt_type":"execute_mission","idempotency_key":"mission:ad3715ae-1d45-4de0-9799-35804937bcc7:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"c0ea7fff-de4b-431d-8093-4a8b659a2d32","command_center_event_id":"ad3715ae-1d45-4de0-9799-35804937bcc7"},{"id":"711d4d64-7cc1-41db-bf34-e6acce151431","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"5cb6e875c1f91b6e53d6458f601a607dc5b805fb","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"5cb6e875c1f91b6e53d6458f601a607dc5b805fb","releaseState":"verified","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"requestContractHash":"c4ce74564b8a85aa0684bc9637c2b95194b8793fef1ef444d17fc6b4708989cb","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/3459","runId":3459,"status":"success","sourceSha":"5cb6e875c1f91b6e53d6458f601a607dc5b805fb","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"71b397ba-b9ad-496b-914c-985d97dbb12e","created_at":"2026-08-29T21:31:59.710784+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"5cb6e875c1f91b6e53d6458f601a607dc5b805fb","external_id":"forgejo-main-5cb6e875c1f9","receipt_type":"canonical_release_status","idempotency_key":"mission:9f4a3c89-fb46-49a0-9648-fdd92c9b0aac:forgejo-release-status:5cb6e875c1f91b6e53d6458f601a607dc5b805fb:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"36fcfa5a-d823-47b0-b3e2-469b53b2c033","command_center_event_id":"9f4a3c89-fb46-49a0-9648-fdd92c9b0aac"},{"id":"711deff5-efc7-4ca4-8e69-e3098482ff6e","source":"forgejo","status":"waiting","payload":{"branch":"ai/tenant-media-oauth-verified-claims","prNumber":2599,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"e84b18bc7a1afff03b6224f3f3cf87d63bedfe42","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-13T01:58:00.911168+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"e84b18bc7a1afff03b6224f3f3cf87d63bedfe42","external_id":"2599","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:c7e65a70-fb9b-4b2b-a791-083ace4f46c9:merged-pr:2599:e84b18bc7a1afff03b6224f3f3cf87d63bedfe42","mission_step_id":"3c6e1954-ffa1-4190-90d2-0634040b28b1","command_center_event_id":"c7e65a70-fb9b-4b2b-a791-083ace4f46c9"},{"id":"71255833-720d-4fa6-8d69-93169aea8b13","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"04134b3fd9d1a9db54870b05cddcf893c664ceff","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"04134b3fd9d1a9db54870b05cddcf893c664ceff","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"requestContractHash":"8c5ca4aeb633874a378d99da265c0a5de2d07a7076f94693e1012d9a270279de","forgejoWorkflowProof":{"error":"workflow_run_id_missing","runId":null},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"de8369b6-a78f-40bb-ae1f-28ffca62bc7e","created_at":"2026-08-29T00:52:03.06905+00:00","proof_gate":"canonical_release_pending","source_sha":"04134b3fd9d1a9db54870b05cddcf893c664ceff","external_id":"forgejo-main-04134b3fd9d1","receipt_type":"canonical_release_status","idempotency_key":"mission:3f5b39af-b842-4ff5-816c-2c5a5447f5b4:forgejo-release-status:04134b3fd9d1a9db54870b05cddcf893c664ceff:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"c6a964c6-cd5a-490e-b9d7-2ff100981c6f","command_center_event_id":"3f5b39af-b842-4ff5-816c-2c5a5447f5b4"},{"id":"712613ef-d9c2-493f-a172-c567388112bd","source":"owner_authorized_full_backlog_cleanup","status":"recorded","payload":{"category":"platform_reliability","disposition":"superseded_execution_attempt","previousStatus":"blocked","sourcePreserved":true,"noCompletionClaim":true,"recoveryPortfolioId":"77f7c671-6ebe-7e32-65dc-50070ff85e2b"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-11T16:14:39.646808+00:00","proof_gate":"source_objective_preserved_in_existing_mission_ledger","source_sha":null,"external_id":null,"receipt_type":"owner_backlog_disposition","idempotency_key":"owner-full-backlog-cleanup-20261011:67bae98c-16f1-4c17-87a4-104feb1c8815","mission_step_id":null,"command_center_event_id":"67bae98c-16f1-4c17-87a4-104feb1c8815"},{"id":"71266032-32c8-445a-b5c4-52782263b560","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-5296af7648d5","reason":null,"status":"source_resolution_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.151-mission-create-single-rpc","prNumber":null,"terminal":false,"missionId":"5296af76-48d5-465a-ba28-f77eb9c78f5c","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":9,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":4300,"providerAuthMs":0,"ledgerPrepareMs":4300,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":4300,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":4300,"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":"5296af76-48d5-465a-ba28-f77eb9c78f5c"},"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":3104,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-15T15:39:42.660638+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:5296af76-48d5-465a-ba28-f77eb9c78f5c:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"ea965719-c98d-4748-b3cd-8bd861972174","command_center_event_id":"5296af76-48d5-465a-ba28-f77eb9c78f5c"},{"id":"71280f29-8860-4316-a487-c21898363761","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"f6046800d5259554ac911c5439853c107236bc15","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"f6046800d5259554ac911c5439853c107236bc15","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"pending"},"requestContractHash":"fd79e6634e77f6a3f9f9ead6735617e50590f5334d5745359aa5e87db437a242","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/15360","runId":15360,"status":"running","sourceSha":"f6046800d5259554ac911c5439853c107236bc15","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"frontend":"pending"},"targetJobCount":7,"observedTargetStates":{"frontend":"pending"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-10-04T15:51:27.740328+00:00","proof_gate":"canonical_release_pending","source_sha":"f6046800d5259554ac911c5439853c107236bc15","external_id":"forgejo-main-f6046800d525","receipt_type":"canonical_release_status","idempotency_key":"mission:8457c7f4-d1ed-4372-bb14-8a2b0e1a1557:forgejo-release-status:f6046800d5259554ac911c5439853c107236bc15:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"c22f5286-40a6-4fc4-ab42-f6f0a53ea953","command_center_event_id":"8457c7f4-d1ed-4372-bb14-8a2b0e1a1557"},{"id":"71293bb3-2e7e-4ede-8aea-f0bab92d5797","source":"forgejo-runtime","status":"verified","payload":{"headSha":"07387df450ba9d6a02fc5204e982552040c30c02","prNumber":6749,"sourceSha":"16a886d223f9e9a0d2fd9b951ba4ca620a7fdc14","headRefreshed":true,"mergedPrVerified":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-14T02:53:21.479779+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"16a886d223f9e9a0d2fd9b951ba4ca620a7fdc14","external_id":"6749","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:2c26cb95-5b0e-4da9-bc68-23a1ab45b210:merged-pr:6749:16a886d223f9e9a0d2fd9b951ba4ca620a7fdc14","mission_step_id":"6f9e86e4-5f4e-4903-bc66-f4c457768805","command_center_event_id":"2c26cb95-5b0e-4da9-bc68-23a1ab45b210"},{"id":"712b3d81-2b8c-4130-b03a-86a8b1fa227c","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-d40faf9b30b1","prNumber":3489,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"5ef2c11ba36eeebdf84d0f393881b99ae7c9a9dc","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T03:48:49.260551+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"5ef2c11ba36eeebdf84d0f393881b99ae7c9a9dc","external_id":"3489","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:d40faf9b-30b1-42c5-afbc-00c56245f6ca:merged-pr:3489:5ef2c11ba36eeebdf84d0f393881b99ae7c9a9dc","mission_step_id":"9fac0524-dbbe-4f5a-82ce-e3c29bc1a97a","command_center_event_id":"d40faf9b-30b1-42c5-afbc-00c56245f6ca"},{"id":"712b7315-467d-473c-b0f5-0db96d8a0edb","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":null,"reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.36.9-github-read-resilience","prNumber":4766,"terminal":false,"missionId":"e8e3edd0-3434-421a-aa76-4bcd715f0d3c","operation":"ship_and_prove","proofGate":"canonical_release_dispatched","sourceSha":"0f2582add63dc40bf6f739ccf4bfe221a15d6bd5","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"e8e3edd0-3434-421a-aa76-4bcd715f0d3c"},"performance":null,"deploymentId":"canonical-release-0f2582add63d","workflowRunId":31692961237,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["generate-pa-claim-review"]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1276,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-13T10:51:43.5891+00:00","proof_gate":"canonical_release_dispatched","source_sha":"0f2582add63dc40bf6f739ccf4bfe221a15d6bd5","external_id":"canonical-release-0f2582add63d","receipt_type":"ship_and_prove","idempotency_key":"mission:e8e3edd0-3434-421a-aa76-4bcd715f0d3c:ship_and_prove:canonical_release_dispatched:0f2582add63dc40bf6f739ccf4bfe221a15d6bd5:31692961237","mission_step_id":"c7d8cb55-da5f-43f0-91c2-9ad47a739673","command_center_event_id":"e8e3edd0-3434-421a-aa76-4bcd715f0d3c"},{"id":"712b7e4f-4b35-4c85-8588-628d929895e5","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/big-papis-site-photo-refresh","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":2204,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"executorlessWaitMs":3248,"firstUsefulResultAt":"2026-10-04T13:09:18.164Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.90-owner-contract-autocompile","prNumber":null,"terminal":false,"missionId":"8570bad0-532c-4b4b-8cca-001a9cace0e5","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3131,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":277,"providerAuthMs":0,"ledgerPrepareMs":277,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":277,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":277,"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":"8570bad0-532c-4b4b-8cca-001a9cace0e5"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["repository","release","runtime","visual"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":5904,"likelyAffectedFiles":[".forgejo/workflows/knocklaunch.yml","src/pages/mobile-vendor/BigPapisPublic.tsx","workers/cc-execution/scripts/tenant-r2-ingest.mjs","ops/r2-ingest/big-papis-2026-10-04/manifest.json","ops/r2-ingest/big-papis-2026-10-04/assets/cheers-cups.webp","ops/r2-ingest/big-papis-2026-10-04/assets/cup-logo-wall.webp","ops/r2-ingest/big-papis-2026-10-04/assets/friends-at-trailer.webp","ops/r2-ingest/big-papis-2026-10-04/assets/group-at-trailer.webp","ops/r2-ingest/big-papis-2026-10-04/assets/kid-enjoying.webp","ops/r2-ingest/big-papis-2026-10-04/assets/kid-pink-cup.webp","ops/r2-ingest/big-papis-2026-10-04/assets/product-mango-coconut.webp","ops/r2-ingest/big-papis-2026-10-04/assets/product-white-cup.webp","ops/r2-ingest/big-papis-2026-10-04/assets/trailer-brand.webp"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T13:09:37.345662+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:8570bad0-532c-4b4b-8cca-001a9cace0e5:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"c9f4f77e-8c9d-4376-8a81-557b310988dd","command_center_event_id":"8570bad0-532c-4b4b-8cca-001a9cace0e5"},{"id":"712c2494-dfd1-4ad2-a5b8-b2cb31466bd7","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":"d65dabe6c7655a2be9635cd1b4826696806e69b9","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":"d65dabe6c7655a2be9635cd1b4826696806e69b9","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["pcg-customer-progress"]},"releaseTargetStates":{"frontend":"pending","supabaseEdge":"pending"},"requestContractHash":"d534bf0f43d3d21771f525ba0550ed730d91be16f89f3ab4b82b1158555b2069","forgejoWorkflowProof":{"runId":12887,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"frontend":"pending","supabaseEdge":"pending"},"targetJobCount":6,"observedTargetStates":{"frontend":"pending","supabaseEdge":"pending"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T02:47:38.174077+00:00","proof_gate":"canonical_release_pending","source_sha":"d65dabe6c7655a2be9635cd1b4826696806e69b9","external_id":"forgejo-main-d65dabe6c765","receipt_type":"canonical_release_status","idempotency_key":"mission:e26bb076-6723-46b3-b6c1-0c9e1a31b85f:forgejo-release-status:d65dabe6c7655a2be9635cd1b4826696806e69b9:pending:forgejo-main/source=success|forgejo-release/workflow=pending|supabase-edge-production/live=pending|frontend-cloudflare/live=pending","mission_step_id":"af6d850e-f60e-4791-9d0f-18e09026e8ee","command_center_event_id":"e26bb076-6723-46b3-b6c1-0c9e1a31b85f"},{"id":"712db271-caa1-4f36-92af-50b4565bf30a","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[{"path":"src/pages/admin/GodModeCommandConsole.tsx","content":"import { useEffect, useRef, useState } from 'react';\nimport { useMultiTenant } from '@/contexts/MultiTenantContext';\nimport { supabase } from '@/integrations/supabase/client';\nimport { getTenantDashboardPathForTenant } from '@/lib/tenantUtils';\n\ntype ConsoleMessage = { id: string; role: 'user' | 'assistant'; content: string; error?: boolean };\ntype ConsoleOperatorContext = { route?: string; tenantRef?: string; roleRef?: string; viewports?: string[]; [key: string]: unknown };\ntype ResolvedConsoleTarget = { route: string; tenantRef: string; tenant: any | null; confidence: number; ambiguous: boolean };\ntype ResolverTrace = { status: 'idle' | 'resolving' | 'resolved' | 'ambiguous' | 'error'; query?: string; tenantName?: string; tenantRef?: string; confidence?: number; matchKind?: string; route?: string; message?: string };\n\ntype HistoryTab = 'live' | 'chats' | 'runs';\n\nfunction parseStoredConsoleTurn(raw: unknown): any {\n  if (raw && typeof raw === 'object') return raw;\n  const text = String(raw || '');\n  try { return JSON.parse(text); } catch { return { assistant_message: text }; }\n}\n\nfunction consoleSessionTitle(row: any) {\n  const payload = parseStoredConsoleTurn(row?.first_message);\n  return String(payload?.user_message || row?.event_title || 'Console session').trim().slice(0, 110);\n}\n\nfunction consoleSessionRoute(row: any) {\n  const payload = parseStoredConsoleTurn(row?.last_message);\n  return String(payload?.route || payload?.witness?.currentRoute || payload?.witness?.route || '').trim();\n}\n\nfunction runRoute(row: any) {\n  const context = row?.mission_context && typeof row.mission_context === 'object' ? row.mission_context : {};\n  const receipt = row?.latest_receipt && typeof row.latest_receipt === 'object' ? row.latest_receipt : {};\n  const payload = receipt?.payload && typeof receipt.payload === 'object' ? receipt.payload : {};\n  return String(context.route || context.proofRoute || context.requestedRoute || payload.route || payload.requestedRoute || '').trim();\n}\n\nfunction isWitnessRequest(value: string) {\n  const text = String(value || '').toLowerCase();\n  const direct = /\\b(witness|visually|visual proof|screenshot|screen capture|capture|render|mobile view|desktop view|compare live|compare candidate)\\b/i.test(text);\n  const verb = /\\b(analyz\\w*|analys\\w*|inspect|review|look at|take a look|tell me what you see|what do you see|show me|check out|watch|verify)\\b/i.test(text);\n  const surface = /\\b(dashboard|page|screen|layout|route|workspace|website|site|app|application|mode|inventory|calendar|proposal|event|back office|form|viewer)\\b/i.test(text);\n  return direct || (verb && surface);\n}\n\nfunction extractInternalRoute(value: string) {\n  const urlMatch = String(value || '').match(/https?:\\/\\/[^\\s]+/i);\n  if (urlMatch) {\n    try {\n      const url = new URL(urlMatch[0]);\n      if (url.hostname.endsWith('knocklaunch.app')) return `${url.pathname}${url.search}`;\n    } catch {}\n  }\n  const routeMatch = String(value || '').match(/(?:^|\\s)(\\/(?!\\/)[a-z0-9][^\\s,;]*)/i);\n  return routeMatch?.[1]?.replace(/[.!?]+$/g, '') || '';\n}\n\nfunction bigPapisSurfaceRoute(text: string, dashboardRoute: string) {\n  if (!dashboardRoute.startsWith('/big-papis/owner/')) return '';\n  const value = String(text || '').toLowerCase();\n  const base = '/big-papis/owner';\n  if (/\\binventory\\b/.test(value)) return base + '/inventory';\n  if (/\\bcalendar\\b|\\bschedule\\b/.test(value)) return base + '/calendar';\n  if (/\\bproposal/.test(value)) return base + '/proposals';\n  if (/\\bevent day\\b/.test(value)) return base + '/event-day';\n  if (/\\bevents?\\b|\\bbooking\\b/.test(value)) return base + '/events';\n  if (/\\bcustomer/.test(value)) return base + '/customers';\n  if (/\\binvoice|payment|money\\b/.test(value)) return base + '/invoices';\n  if (/\\bdocuments?\\b|\\bfiles?\\b/.test(value)) return base + '/documents';\n  if (/\\bmessages?\\b|\\binbox\\b/.test(value)) return base + '/inbox';\n  if (/\\bmail\\b|\\bemail\\b/.test(value)) return base + '/mail';\n  if (/\\breports?\\b/.test(value)) return base + '/reports';\n  if (/\\bsettings?\\b/.test(value)) return base + '/settings';\n  return '';\n}\n\nfunction cleanConsoleError(value: unknown) {\n  const raw = value instanceof Error ? value.message : String(value || 'KNOCKLAUNCH control plane is unavailable.');\n  if (/repo session is not open|open a repo session in operator/i.test(raw)) return 'Repository access did not initialize through the current control plane.';\n  return raw.replace(/^blocked by the sidekick execution lane:\\s*/i, '').slice(0, 500);\n}\n\n/** One shared Console UI. Provider credentials and owner tokens never cross the iframe boundary. */\nexport default function GodModeCommandConsole() {\n  const frame = useRef<HTMLIFrameElement>(null);\n  const { activeTenant } = useMultiTenant();\n\n  const [messages, setMessages] = useState<ConsoleMessage[]>([]);\n  const [sending, setSending] = useState(false);\n  const [consoleError, setConsoleError] = useState<string | null>(null);\n  const [witnessMode, setWitnessMode] = useState(false);\n  const [mobilePane, setMobilePane] = useState<'witness' | 'chat'>('witness');\n  const [operatorContext, setOperatorContext] = useState<ConsoleOperatorContext>({ viewports: ['desktop'] });\n  const [lastReceipt, setLastReceipt] = useState<any>(null);\n  const [draft, setDraft] = useState('');\n  const [resolverTrace, setResolverTrace] = useState<ResolverTrace>({ status: 'idle' });\n  const [historyOpen, setHistoryOpen] = useState(false);\n  const [historyTab, setHistoryTab] = useState<HistoryTab>('live');\n  const [historyQuery, setHistoryQuery] = useState('');\n  const [historyLoading, setHistoryLoading] = useState(false);\n  const [historyError, setHistoryError] = useState<string | null>(null);\n  const [sessionRows, setSessionRows] = useState<any[]>([]);\n  const [runRows, setRunRows] = useState<any[]>([]);\n  const [liveRows, setLiveRows] = useState<any[]>([]);\n  const [currentSessionId, setCurrentSessionId] = useState(() => typeof window === 'undefined' ? '' : (window.sessionStorage.getItem('kl-console-session-v1') || ''));\n  const sendRef = useRef<(prompt: string) => void>(() => undefined);\n  const transcriptRef = useRef<HTMLDivElement>(null);\n  const composerRef = useRef<HTMLTextAreaElement>(null);\n\n  const postWitnessSync = (context = operatorContext, receipt = lastReceipt) => {\n    const target = frame.current?.contentWindow;\n    if (!target) return;\n    target.postMessage({ type: 'kl-witness-sync', context, receipt }, window.location.origin);\n  };\n\n  async function consoleAccessToken(refresh = false) {\n    const sessionResult = refresh ? await supabase.auth.refreshSession() : await supabase.auth.getSession();\n    const accessToken = sessionResult.data.session?.access_token;\n    if (!accessToken) throw new Error('Sign in required');\n    return accessToken;\n  }\n\n  async function consoleFetch(path: string, init: RequestInit = {}) {\n    let lastResponse: Response | null = null;\n    for (let attempt = 0; attempt < 2; attempt += 1) {\n      const accessToken = await consoleAccessToken(attempt === 1);\n      const headers = new Headers(init.headers || {});\n      headers.set('Authorization', 'Bearer ' + accessToken);\n      if (init.body && !headers.has('Content-Type')) headers.set('Content-Type', 'application/json');\n      const response = await fetch(path, { ...init, headers });\n      lastResponse = response;\n      if (response.status === 401 && attempt === 0) continue;\n      const data = await response.json().catch(() => ({ error: 'Console backend returned invalid JSON' }));\n      if (!response.ok || data?.ok === false || data?.error) throw new Error(data?.error || `Console backend returned ${response.status}`);\n      return data;\n    }\n    throw new Error(`Console backend returned ${lastResponse?.status || 401}`);\n  }\n\n  async function persistConsoleTurn(args: {\n    userMessage: string;\n    assistantMessage: string;\n    contextTenantId?: string | null;\n    route?: string;\n    tenantRef?: string;\n    context?: Record<string, unknown>;\n    witness?: Record<string, unknown>;\n  }) {\n    const rpc = await (supabase as any).rpc('append_console_session_turn', {\n      _session_id: currentSessionId || null,\n      _context_tenant_id: args.contextTenantId || null,\n      _user_message: args.userMessage,\n      _assistant_message: args.assistantMessage,\n      _route: args.route || null,\n      _tenant_ref: args.tenantRef || null,\n      _context: args.context || {},\n      _witness: args.witness || {},\n    });\n    if (rpc?.error) throw rpc.error;\n    const id = String(rpc?.data || '').trim();\n    if (id) {\n      setCurrentSessionId(id);\n      window.sessionStorage.setItem('kl-console-session-v1', id);\n    }\n    return id;\n  }\n\n  async function refreshConsoleHistory(tab = historyTab, query = historyQuery) {\n    setHistoryLoading(true);\n    setHistoryError(null);\n    try {\n      if (tab === 'live') {\n        const activity = await consoleFetch('/__knocklaunch/console/witness/activity', { method: 'GET' });\n        const rows = [activity?.active, ...(Array.isArray(activity?.runs) ? activity.runs : [])].filter(Boolean);\n        const deduped = rows.filter((run: any, index: number, all: any[]) => {\n          const key = String(run?.id || run?.supervisorId || run?.jobId || run?.currentRoute || '');\n          return all.findIndex((candidate: any) => String(candidate?.id || candidate?.supervisorId || candidate?.jobId || candidate?.currentRoute || '') === key) === index;\n        });\n        setLiveRows(deduped);\n      } else if (tab === 'chats') {\n        const rpc = await (supabase as any).rpc('list_console_sessions', { _query: query || null, _limit: 150 });\n        if (rpc?.error) throw rpc.error;\n        setSessionRows(Array.isArray(rpc?.data) ? rpc.data : []);\n      } else {\n        const rpc = await (supabase as any).rpc('search_console_runs', { _query: query || null, _limit: 150 });\n        if (rpc?.error) throw rpc.error;\n        setRunRows(Array.isArray(rpc?.data) ? rpc.data : []);\n      }\n    } catch (error) {\n      setHistoryError(cleanConsoleError(error));\n    } finally {\n      setHistoryLoading(false);\n    }\n  }\n\n  async function openConsoleSession(sessionId: string, closeDrawer = true) {\n    const rpc = await (supabase as any).rpc('get_console_session', { _session_id: sessionId });\n    if (rpc?.error) {\n      setHistoryError(cleanConsoleError(rpc.error));\n      return;\n    }\n    const row = Array.isArray(rpc?.data) ? rpc.data[0] : rpc?.data;\n    if (!row) {\n      setHistoryError('Session not found.');\n      return;\n    }\n    const turns = Array.isArray(row.turns) ? row.turns : [];\n    const recovered: ConsoleMessage[] = [];\n    for (const turn of turns) {\n      const payload = parseStoredConsoleTurn(turn?.raw_message);\n      if (String(payload?.user_message || '').trim()) recovered.push({ id: String(turn?.id || crypto.randomUUID()) + ':user', role: 'user', content: String(payload.user_message) });\n      if (String(payload?.assistant_message || '').trim()) recovered.push({ id: String(turn?.id || crypto.randomUUID()) + ':assistant', role: 'assistant', content: String(payload.assistant_message), error: Boolean(payload?.metadata?.error) });\n    }\n    const lastPayload = turns.length ? parseStoredConsoleTurn(turns[turns.length - 1]?.raw_message) : {};\n    setMessages(recovered);\n    setCurrentSessionId(sessionId);\n    window.sessionStorage.setItem('kl-console-session-v1', sessionId);\n    setOperatorContext((previous) => ({\n      ...previous,\n      ...(lastPayload?.route ? { route: String(lastPayload.route) } : {}),\n      ...(lastPayload?.tenant_ref ? { tenantRef: String(lastPayload.tenant_ref) } : {}),\n    }));\n    setResolverTrace({ status: 'idle' });\n    setConsoleError(null);\n    setWitnessMode(false);\n    if (closeDrawer) setHistoryOpen(false);\n    window.setTimeout(() => composerRef.current?.focus(), 0);\n  }\n\n  function openWitnessHistoryRun(run: any) {\n    const route = String(run?.currentRoute || run?.route || '').trim();\n    const nextContext = {\n      ...operatorContext,\n      ...(route ? { route } : {}),\n      mode: 'witness',\n      witnessRequested: true,\n      witnessHistoryRunId: String(run?.id || run?.supervisorId || run?.jobId || ''),\n      witnessHistoryLane: String(run?.runnerLane || run?.runtimeLane || ''),\n    };\n    setOperatorContext(nextContext);\n    setLastReceipt(run);\n    setWitnessMode(true);\n    setMobilePane('witness');\n    setHistoryOpen(false);\n    window.setTimeout(() => postWitnessSync(nextContext, run), 100);\n  }\n\n  useEffect(() => {\n    if (!historyOpen) return;\n    const timer = window.setTimeout(() => { void refreshConsoleHistory(historyTab, historyQuery); }, 180);\n    return () => window.clearTimeout(timer);\n  }, [historyOpen, historyTab, historyQuery]);\n\n  useEffect(() => {\n    const remembered = typeof window === 'undefined' ? '' : (window.sessionStorage.getItem('kl-console-session-v1') || '');\n    if (remembered && !messages.length) void openConsoleSession(remembered, false);\n  }, []);\n\n  async function resolveConsoleTarget(text: string, wantsWitness: boolean): Promise<ResolvedConsoleTarget> {\n    const explicitRoute = extractInternalRoute(text);\n    if (explicitRoute) {\n      const tenantRef = String(operatorContext.tenantRef || '');\n      setResolverTrace({ status: 'resolved', query: text, tenantRef, confidence: 1, matchKind: 'explicit_route', route: explicitRoute });\n      return { route: explicitRoute, tenantRef, tenant: null, confidence: 1, ambiguous: false };\n    }\n\n    setResolverTrace({ status: 'resolving', query: text });\n    const rpc = await (supabase as any).rpc('resolve_console_tenant_context', { _tenant_ref: text });\n    if (rpc?.error) {\n      setResolverTrace({ status: 'error', query: text, message: cleanConsoleError(rpc.error) });\n      throw rpc.error;\n    }\n    const matches = Array.isArray(rpc?.data) ? rpc.data : [];\n    const best = matches[0];\n    const second = matches[1];\n    const confidence = Number(best?.confidence || 0);\n    const gap = confidence - Number(second?.confidence || 0);\n    const clear = Boolean(best?.tenant_id) && confidence >= 0.72 && (!second || gap >= 0.08);\n    if (!clear) {\n      const route = String(operatorContext.route || '');\n      const tenantRef = String(operatorContext.tenantRef || '');\n      setResolverTrace({\n        status: 'ambiguous',\n        query: text,\n        tenantName: String(best?.tenant_name || ''),\n        tenantRef: String(best?.company_slug || tenantRef),\n        confidence,\n        matchKind: String(best?.match_kind || ''),\n        route,\n      });\n      return {\n        route,\n        tenantRef,\n        tenant: null,\n        confidence,\n        ambiguous: matches.length > 1,\n      };\n    }\n\n    const tenantResult = await (supabase as any)\n      .from('tenants')\n      .select('id,company_slug,tenant_type,name,company_dba_name,company_legal_name,settings')\n      .eq('id', String(best.tenant_id))\n      .maybeSingle();\n    if (tenantResult?.error) throw tenantResult.error;\n    const tenant = tenantResult?.data || {\n      id: best.tenant_id,\n      company_slug: best.company_slug,\n      name: best.tenant_name,\n    };\n    const tenantRef = String(tenant.company_slug || best.company_slug || tenant.id || '');\n    let route = '';\n    if (wantsWitness) {\n      try {\n        const dashboardRoute = getTenantDashboardPathForTenant(tenant);\n        route = /\\b(dashboard|home|workspace|overview)\\b/i.test(text)\n          ? dashboardRoute\n          : bigPapisSurfaceRoute(text, dashboardRoute) || dashboardRoute;\n      } catch {}\n    }\n    setResolverTrace({\n      status: 'resolved',\n      query: text,\n      tenantName: String(tenant.name || best?.tenant_name || ''),\n      tenantRef,\n      confidence,\n      matchKind: String(best?.match_kind || ''),\n      route,\n    });\n    return { route, tenantRef, tenant, confidence, ambiguous: false };\n  }\n\n  async function callConsoleOperator(message: string, context: ConsoleOperatorContext) {\n    return consoleFetch('/__knocklaunch/console/operator', {\n      method: 'POST',\n      body: JSON.stringify({ message: message.slice(0, 2000), context }),\n    });\n  }\n\n  async function navigateWitness(route: string, tenantRef: string, viewport: string) {\n    return consoleFetch('/__knocklaunch/console/witness/navigate', {\n      method: 'POST',\n      body: JSON.stringify({\n        route: route.slice(0, 500),\n        viewport: viewport === 'mobile' ? 'mobile' : 'desktop',\n        tenantRef: tenantRef.slice(0, 200),\n      }),\n    });\n  }\n\n  async function waitForWitnessStart(route: string) {\n    for (let attempt = 0; attempt < 8; attempt += 1) {\n      try {\n        const activity = await consoleFetch('/__knocklaunch/console/witness/activity', { method: 'GET' });\n        const runs = [activity?.active, ...(Array.isArray(activity?.runs) ? activity.runs : [])].filter(Boolean);\n        const match = runs.find((run: any) => String(run?.currentRoute || '') === route);\n        if (match) return match;\n      } catch {}\n      await new Promise((resolve) => window.setTimeout(resolve, 900));\n    }\n    return null;\n  }\n\n  async function sendConsolePrompt(prompt: string) {\n    const text = String(prompt || '').trim();\n    if (!text || sending) return;\n    const wantsWitness = witnessMode || isWitnessRequest(text);\n    setConsoleError(null);\n    setMessages((prev) => [...prev, { id: crypto.randomUUID(), role: 'user', content: text }]);\n    setSending(true);\n\n    try {\n      const inferred = await resolveConsoleTarget(text, wantsWitness);\n      const inferredRoute = inferred.route;\n      const inferredTenantRef = inferred.tenantRef;\n      const baseContext: ConsoleOperatorContext = {\n        ...operatorContext,\n        ...(inferredRoute ? { route: inferredRoute } : {}),\n        ...(inferredTenantRef ? { tenantRef: inferredTenantRef } : {}),\n        mode: wantsWitness ? 'witness' : 'chat',\n        witnessRequested: wantsWitness,\n        consoleSurface: 'sidekick-v3-actual-routes',\n        capabilities: ['repository', 'forgejo', 'cloudflare', 'supabase', 'missions', 'releases', 'runners', 'witness'],\n        legacyRepoSessionAllowed: false,\n        recentConversation: messages.slice(-6).map((item) => ({ role: item.role, content: item.content.slice(0, 900) })),\n        inferenceContract: 'owner-conversational-context-v2',\n        clarificationPolicy: 'ask_only_when_materially_ambiguous',\n        intentConfidence: inferred.confidence,\n      };\n\n      setOperatorContext(baseContext);\n\n      let witnessReceipt: any = null;\n      let witnessRun: any = null;\n      if (wantsWitness && inferredRoute) {\n        setWitnessMode(true);\n        setMobilePane('witness');\n        window.setTimeout(() => postWitnessSync(baseContext, null), 80);\n        witnessReceipt = await navigateWitness(\n          inferredRoute,\n          inferredTenantRef,\n          String((baseContext.viewports || ['desktop'])[0]),\n        );\n        if (witnessReceipt) setLastReceipt(witnessReceipt);\n        window.setTimeout(() => postWitnessSync(baseContext, witnessReceipt), 120);\n        witnessRun = await waitForWitnessStart(inferredRoute);\n      } else if (wantsWitness) {\n        setWitnessMode(true);\n        setMobilePane('witness');\n      }\n\n      const executionMessage = inferredRoute\n        ? `${text}\\n\\nAuthoritative Console resolution: tenant=${inferredTenantRef || 'current'}, route=${inferredRoute}. The Witness has already been dispatched to this exact route. Do not ask the owner to choose a page. Report on this target only.`\n        : `${text}\\n\\nInfer obvious owner context before clarifying. Ask only when materially different targets remain plausible.`;\n\n      let data: any = await callConsoleOperator(executionMessage, {\n        ...baseContext,\n        ...(witnessRun ? { witnessRun: { id: witnessRun.id, status: witnessRun.status, phase: witnessRun.phase, currentRoute: witnessRun.currentRoute } } : {}),\n        witnessAlreadyDispatched: Boolean(wantsWitness && inferredRoute),\n      });\n\n      const nextContext = (data?.context && typeof data.context === 'object')\n        ? { ...baseContext, ...data.context, ...(inferredRoute ? { route: inferredRoute } : {}), ...(inferredTenantRef ? { tenantRef: inferredTenantRef } : {}) }\n        : baseContext;\n      setOperatorContext(nextContext);\n      const receipt = data?.receipt ?? witnessReceipt ?? null;\n      if (receipt) setLastReceipt(receipt);\n\n      let assistantMessage = String(data?.message || '').trim();\n      const dumbClarification = /which\\s+(?:big papi\\s+)?page|which page|say\\s+(?:inventory|calendar|proposals)|pick\\s+(?:a\\s+)?page|what page/i.test(assistantMessage);\n      if (wantsWitness && inferredRoute && (dumbClarification || !assistantMessage)) {\n        assistantMessage = `Witness is on ${inferredRoute}. I resolved the tenant and route already, so no page selection is needed. The live frame will appear in the canvas as the inspection completes.`;\n      }\n      if (!assistantMessage) assistantMessage = 'The control plane returned no message.';\n      setMessages((prev) => [...prev, { id: crypto.randomUUID(), role: 'assistant', content: assistantMessage }]);\n\n      try {\n        await persistConsoleTurn({\n          userMessage: text,\n          assistantMessage,\n          contextTenantId: String(inferred?.tenant?.id || activeTenant?.id || '') || null,\n          route: String(nextContext.route || ''),\n          tenantRef: String(nextContext.tenantRef || ''),\n          context: {\n            consoleSurface: 'sidekick-v3-session-history',\n            witnessRequested: wantsWitness,\n            intentConfidence: inferred.confidence,\n            resolverMatch: resolverTrace.matchKind || null,\n          },\n          witness: {\n            runId: String(witnessRun?.id || witnessReceipt?.run?.id || ''),\n            status: String(witnessRun?.status || witnessReceipt?.run?.status || ''),\n            phase: String(witnessRun?.phase || witnessReceipt?.run?.phase || ''),\n            currentRoute: String(witnessRun?.currentRoute || nextContext.route || ''),\n            runnerLane: String(witnessRun?.runnerLane || witnessReceipt?.runnerLane || ''),\n          },\n        });\n      } catch (historySaveError) {\n        setHistoryError('Session history save failed: ' + cleanConsoleError(historySaveError));\n      }\n\n      if (wantsWitness || receipt || nextContext.route) {\n        setWitnessMode(true);\n        window.setTimeout(() => postWitnessSync(nextContext, receipt), 180);\n        window.setTimeout(() => postWitnessSync(nextContext, receipt), 800);\n      }\n    } catch (error) {\n      const message = cleanConsoleError(error);\n      setResolverTrace((current) => ({ ...current, status: 'error', message }));\n      setConsoleError(message);\n      setMessages((prev) => [...prev, { id: crypto.randomUUID(), role: 'assistant', content: message, error: true }]);\n      try {\n        await persistConsoleTurn({\n          userMessage: text,\n          assistantMessage: message,\n          contextTenantId: String(activeTenant?.id || '') || null,\n          route: String(operatorContext.route || ''),\n          tenantRef: String(operatorContext.tenantRef || ''),\n          context: { consoleSurface: 'sidekick-v3-session-history', error: true },\n          witness: {},\n        });\n      } catch (historySaveError) {\n        setHistoryError('Session history save failed: ' + cleanConsoleError(historySaveError));\n      }\n    } finally {\n      setSending(false);\n    }\n  }\n\n  useEffect(() => {\n    sendRef.current = (prompt: string) => { void sendConsolePrompt(prompt); };\n  });\n\n  useEffect(() => {\n    const handleConsoleSend = (event: Event) => {\n      const prompt = String((event as CustomEvent<{ prompt?: string }>).detail?.prompt || '').trim();\n      if (prompt) sendRef.current(prompt);\n    };\n    const handleConsoleFocus = () => window.setTimeout(() => composerRef.current?.focus(), 0);\n    window.addEventListener('knocklaunch:console-assistant:send', handleConsoleSend as EventListener);\n    window.addEventListener('knocklaunch:console-assistant:focus', handleConsoleFocus);\n    return () => {\n      window.removeEventListener('knocklaunch:console-assistant:send', handleConsoleSend as EventListener);\n      window.removeEventListener('knocklaunch:console-assistant:focus', handleConsoleFocus);\n    };\n  }, []);\n\n  useEffect(() => {\n    const node = transcriptRef.current;\n    if (node) node.scrollTop = node.scrollHeight;\n  }, [messages, sending, witnessMode]);\n\n  useEffect(() => {\n    const pending = new Set<string>();\n    const handle = async (event: MessageEvent) => {\n      if (event.origin !== window.location.origin || event.source !== frame.current?.contentWindow) return;\n      const { type, id, action, payload } = event.data || {};\n      const allowed = ['cloudflare','supabase','forgejo','runner-proof','operator','witness','witness-activity','witness-route'];\n      if (type !== 'kl-console-request' || typeof id !== 'string' || id.length > 80 || !allowed.includes(action) || pending.has(action)) return;\n      pending.add(action);\n      try {\n        let data: any;\n        if (action === 'witness-activity') {\n          data = await consoleFetch('/__knocklaunch/console/witness/activity', { method: 'GET' });\n        } else if (action === 'witness-route') {\n          const tenantRef = String(payload?.tenantRef || operatorContext.tenantRef || activeTenant?.company_slug || activeTenant?.id || '').slice(0, 200);\n          data = await consoleFetch('/__knocklaunch/console/witness/navigate', {\n            method: 'POST',\n            body: JSON.stringify({\n              route: String(payload?.route || '').slice(0, 500),\n              viewport: payload?.viewport === 'mobile' ? 'mobile' : 'desktop',\n              tenantRef,\n            }),\n          });\n        } else if (action === 'operator') {\n          data = await callConsoleOperator(String(payload?.message || ''), payload?.context || {});\n        } else if (action === 'witness') {\n          data = await consoleFetch('/__knocklaunch/console/witness', { method: 'GET' });\n        } else if (action === 'forgejo' || action === 'runner-proof') {\n          data = await consoleFetch('/__knocklaunch/console/forgejo', {\n            method: 'POST',\n            body: JSON.stringify({ action }),\n          });\n        } else {\n          const result = await supabase.functions.invoke('console-ops', { body: { action } });\n          if (result.error || result.data?.error) throw new Error(result.error?.message || result.data.error);\n          data = result.data;\n        }\n        frame.current?.contentWindow?.postMessage({ type:'kl-console-result', id, data }, window.location.origin);\n      } catch (error) {\n        frame.current?.contentWindow?.postMessage({ type:'kl-console-result', id, error:error instanceof Error ? error.message : 'Provider unavailable' }, window.location.origin);\n      } finally {\n        pending.delete(action);\n      }\n    };\n    window.addEventListener('message', handle);\n    return () => window.removeEventListener('message', handle);\n  }, [operatorContext.tenantRef, activeTenant?.company_slug, activeTenant?.id]);\n\n\n\n  const submitDraft = () => {\n    const prompt = draft.trim();\n    if (!prompt || sending) return;\n    setDraft('');\n    void sendConsolePrompt(prompt);\n  };\n\n  const clearConversation = () => {\n    const previousSessionId = currentSessionId;\n    if (previousSessionId) {\n      void (supabase as any).rpc('close_console_session', { _session_id: previousSessionId });\n    }\n    setCurrentSessionId('');\n    window.sessionStorage.removeItem('kl-console-session-v1');\n    setMessages([]);\n    setConsoleError(null);\n    setLastReceipt(null);\n    setResolverTrace({ status: 'idle' });\n    window.setTimeout(() => composerRef.current?.focus(), 0);\n  };\n\n  const toolChips = (\n    <div className=\"flex min-w-0 flex-wrap gap-1\">\n      {['Repo', 'Forgejo', 'Cloudflare', 'Supabase', 'Witness'].map((label) => <span key={label} className=\"rounded-full border border-white/[0.08] bg-white/[0.025] px-2 py-0.5 text-[8px] font-medium uppercase tracking-[0.08em] text-white/38\">{label}</span>)}\n    </div>\n  );\n\n  const resolverLabel = resolverTrace.status === 'idle' ? 'IDLE' : resolverTrace.status === 'resolving' ? 'RESOLVING' : resolverTrace.status === 'resolved' ? 'RESOLVED' : resolverTrace.status === 'ambiguous' ? 'AMBIGUOUS' : 'ERROR';\n  const resolverStrip = (\n    <div data-testid=\"console-live-resolver\" aria-live=\"polite\" className=\"flex min-h-8 shrink-0 items-center gap-2 overflow-hidden border-b border-white/[0.06] bg-black/30 px-4 py-1.5 text-[9px]\">\n      <span className=\"shrink-0 font-semibold uppercase tracking-[0.16em] text-emerald-300/65\">Backend Resolver</span>\n      <span className={(resolverTrace.status === 'resolving' ? 'animate-pulse text-emerald-200' : resolverTrace.status === 'error' ? 'text-amber-200' : 'text-white/45') + ' shrink-0 font-semibold'}>{resolverLabel}</span>\n      {resolverTrace.tenantName ? <span className=\"min-w-0 truncate text-white/72\">{resolverTrace.tenantName}</span> : null}\n      {typeof resolverTrace.confidence === 'number' ? <span className=\"shrink-0 text-white/42\">{Math.round(resolverTrace.confidence * 100)}%</span> : null}\n      {resolverTrace.matchKind ? <span className=\"hidden shrink-0 text-white/30 sm:inline\">{resolverTrace.matchKind}</span> : null}\n      {resolverTrace.route ? <span className=\"min-w-0 truncate font-mono text-emerald-200/70\">→ {resolverTrace.route}</span> : null}\n      {resolverTrace.message ? <span className=\"min-w-0 truncate text-amber-200/80\">{resolverTrace.message}</span> : null}\n    </div>\n  );\n\n  const composer = (\n    <form onSubmit={(event) => { event.preventDefault(); submitDraft(); }} className=\"shrink-0 border-t border-white/[0.08] bg-[#020604]/96 p-3 backdrop-blur-xl\">\n      <div className=\"rounded-2xl border border-emerald-300/16 bg-black/40 p-2 shadow-[inset_0_1px_0_rgba(255,255,255,.025)] focus-within:border-emerald-300/35\">\n        <textarea\n          ref={composerRef}\n          data-testid=\"console-sidekick-composer\"\n          aria-label=\"Chat with KNOCKLAUNCH\"\n          value={draft}\n          onChange={(event) => setDraft(event.target.value)}\n          onKeyDown={(event) => { if (event.key === 'Enter' && !event.shiftKey) { event.preventDefault(); submitDraft(); } }}\n          rows={2}\n          placeholder={witnessMode ? 'Tell Sidekick what to inspect, change, or verify…' : 'Ask KNOCKLAUNCH anything about the platform…'}\n          className=\"max-h-32 min-h-[56px] w-full min-w-0 resize-none bg-transparent px-2 py-1.5 text-[13px] leading-5 text-white outline-none placeholder:text-white/28 [overflow-wrap:anywhere]\"\n        />\n        <div className=\"mt-1 flex items-center justify-between gap-2 px-1\">\n          <span className=\"text-[9px] text-white/25\">Enter sends · Shift+Enter adds a line · ⌘K focuses</span>\n          <button type=\"submit\" disabled={!draft.trim() || sending} className=\"grid h-8 w-8 shrink-0 place-items-center rounded-full border border-emerald-300/20 bg-emerald-300/[0.09] text-sm font-black text-emerald-100 transition hover:bg-emerald-300/[0.16] disabled:opacity-25\" aria-label=\"Send to KNOCKLAUNCH\">↑</button>\n        </div>\n      </div>\n    </form>\n  );\n\n  const transcript = (\n    <div ref={transcriptRef} className=\"min-h-0 min-w-0 flex-1 overflow-x-hidden overflow-y-auto\">\n      <div className={witnessMode ? \"space-y-3 p-4\" : \"mx-auto w-full max-w-4xl space-y-4 px-5 py-10 sm:px-8\"}>\n        {!messages.length ? (\n          <div className={witnessMode ? \"rounded-xl border border-white/10 bg-white/[0.025] p-4\" : \"mx-auto mt-[12vh] max-w-2xl text-center\"}>\n            <div className=\"text-[10px] font-semibold uppercase tracking-[0.24em] text-emerald-300/65\">SIDEKICK V3</div>\n            <h1 className={witnessMode ? \"mt-2 text-lg font-semibold text-white\" : \"mt-4 text-3xl font-semibold tracking-tight text-white\"}>KNOCKLAUNCH Console</h1>\n            <p className=\"mt-3 text-sm leading-6 text-white/48\">Chat with the platform normally. The interactive witness stays closed until you ask to see, inspect, capture, compare, or visually verify something.</p>\n          </div>\n        ) : null}\n        {messages.map((message) => (\n          <article key={message.id} className={message.role === 'user' ? \"ml-auto min-w-0 max-w-[90%] rounded-2xl border border-emerald-300/15 bg-emerald-300/[0.06] px-4 py-3\" : \"min-w-0 max-w-full rounded-2xl border border-white/[0.07] bg-white/[0.025] px-4 py-3\"}>\n            <div className=\"mb-1.5 text-[9px] font-semibold uppercase tracking-[0.18em] text-white/35\">{message.role === 'user' ? 'You' : 'KNOCKLAUNCH'}</div>\n            <p className={message.error ? \"max-w-full whitespace-pre-wrap break-words text-sm leading-6 text-amber-200/90 [overflow-wrap:anywhere]\" : \"max-w-full whitespace-pre-wrap break-words text-sm leading-6 text-white/78 [overflow-wrap:anywhere]\"}>{message.content}</p>\n          </article>\n        ))}\n        {sending ? <div className=\"max-w-full rounded-2xl border border-emerald-300/12 bg-emerald-300/[0.035] px-4 py-3 text-sm text-emerald-100/70\">KNOCKLAUNCH is working…</div> : null}\n        {consoleError && !messages.some((item) => item.error && item.content === consoleError) ? <div className=\"rounded-xl border border-amber-300/15 bg-amber-300/[0.04] px-4 py-3 text-sm text-amber-100/80\">{consoleError}</div> : null}\n      </div>\n    </div>\n  );\n\n\n  const visibleLiveRows = historyQuery.trim()\n    ? liveRows.filter((run) => JSON.stringify(run).toLowerCase().includes(historyQuery.trim().toLowerCase()))\n    : liveRows;\n\n  const historyPanel = historyOpen ? (\n    <>\n      <button type=\"button\" aria-label=\"Close session archive\" onClick={() => setHistoryOpen(false)} className=\"absolute inset-0 z-40 bg-black/50 backdrop-blur-[1px]\" />\n      <aside data-testid=\"console-session-archive\" className=\"absolute inset-y-0 right-0 z-50 flex w-[min(94vw,520px)] flex-col border-l border-emerald-300/14 bg-[#030806] shadow-[-24px_0_70px_rgba(0,0,0,.45)]\">\n        <div className=\"shrink-0 border-b border-white/[0.07] px-4 py-3\">\n          <div className=\"flex items-center justify-between gap-3\">\n            <div>\n              <div className=\"text-[9px] font-semibold uppercase tracking-[0.2em] text-emerald-300/65\">Session Archive</div>\n              <div className=\"mt-1 text-sm font-semibold text-white\">Console memory & run history</div>\n            </div>\n            <button type=\"button\" onClick={() => setHistoryOpen(false)} className=\"rounded-md border border-white/10 px-2.5 py-1.5 text-[10px] text-white/45 hover:bg-white/[0.04] hover:text-white\">Close</button>\n          </div>\n          <div className=\"mt-3 rounded-xl border border-white/[0.08] bg-black/35 px-3 py-2\">\n            <input\n              data-testid=\"console-history-search\"\n              value={historyQuery}\n              onChange={(event) => setHistoryQuery(event.target.value)}\n              placeholder=\"Search chats, tenants, routes, run IDs, errors, proof…\"\n              className=\"w-full bg-transparent text-xs text-white outline-none placeholder:text-white/28\"\n            />\n          </div>\n          <div className=\"mt-3 flex gap-1\">\n            {(['live','chats','runs'] as HistoryTab[]).map((tab) => (\n              <button key={tab} type=\"button\" onClick={() => setHistoryTab(tab)} className={(historyTab === tab ? 'border-emerald-300/25 bg-emerald-300/10 text-emerald-100' : 'border-white/10 text-white/42 hover:text-white') + ' rounded-md border px-3 py-1.5 text-[10px] font-semibold uppercase tracking-[0.1em]'}>\n                {tab === 'live' ? 'Current' : tab === 'chats' ? 'Chats' : 'Runs'}\n              </button>\n            ))}\n          </div>\n        </div>\n\n        <div className=\"min-h-0 flex-1 overflow-y-auto p-3\">\n          {historyLoading ? <div className=\"rounded-xl border border-white/[0.07] bg-white/[0.02] p-4 text-xs text-white/45\">Loading Console history…</div> : null}\n          {historyError ? <div className=\"mb-3 rounded-xl border border-amber-300/15 bg-amber-300/[0.04] p-3 text-xs leading-5 text-amber-100/80\">{historyError}</div> : null}\n\n          {!historyLoading && historyTab === 'live' ? (\n            <div className=\"space-y-2\">\n              {currentSessionId ? (\n                <button type=\"button\" onClick={() => { void openConsoleSession(currentSessionId); }} className=\"w-full rounded-xl border border-emerald-300/18 bg-emerald-300/[0.05] p-3 text-left hover:bg-emerald-300/[0.08]\">\n                  <div className=\"flex items-center justify-between gap-3\"><span className=\"text-[9px] font-semibold uppercase tracking-[0.14em] text-emerald-300/75\">Current chat</span><span className=\"font-mono text-[9px] text-white/30\">{currentSessionId.slice(0,8)}</span></div>\n                  <div className=\"mt-1 text-xs text-white/70\">{messages.length ? messages[messages.length - 1]?.content.slice(0,120) : 'Resume current Console session'}</div>\n                </button>\n              ) : null}\n              {visibleLiveRows.map((run: any) => (\n                <button key={String(run?.id || run?.supervisorId || run?.jobId || run?.currentRoute)} type=\"button\" onClick={() => openWitnessHistoryRun(run)} className=\"w-full rounded-xl border border-white/[0.08] bg-white/[0.025] p-3 text-left hover:border-emerald-300/20 hover:bg-emerald-300/[0.04]\">\n                  <div className=\"flex items-center justify-between gap-3\">\n                    <span className={(run?.terminal ? 'text-white/42' : 'text-emerald-300/80') + ' text-[9px] font-semibold uppercase tracking-[0.14em]'}>{run?.terminal ? 'Completed witness' : 'Live witness'}</span>\n                    <span className=\"text-[9px] text-white/30\">{String(run?.runnerLane || run?.runtimeLane || 'witness').toUpperCase()}</span>\n                  </div>\n                  <div className=\"mt-1 truncate font-mono text-xs text-white/68\">{String(run?.currentRoute || 'Witness run')}</div>\n                  <div className=\"mt-1 truncate text-[10px] text-white/30\">{String(run?.id || run?.supervisorId || run?.jobId || '')}</div>\n                </button>\n              ))}\n              {!currentSessionId && !visibleLiveRows.length ? <div className=\"rounded-xl border border-white/[0.07] bg-white/[0.02] p-4 text-xs text-white/38\">No active Console or Witness sessions right now.</div> : null}\n            </div>\n          ) : null}\n\n          {!historyLoading && historyTab === 'chats' ? (\n            <div className=\"space-y-2\">\n              {sessionRows.map((row: any) => {\n                const route = consoleSessionRoute(row);\n                const isCurrent = String(row.session_id) === currentSessionId;\n                return (\n                  <button key={String(row.session_id)} type=\"button\" onClick={() => { void openConsoleSession(String(row.session_id)); }} className={(isCurrent ? 'border-emerald-300/22 bg-emerald-300/[0.05]' : 'border-white/[0.08] bg-white/[0.02]') + ' w-full rounded-xl border p-3 text-left hover:border-emerald-300/20 hover:bg-emerald-300/[0.04]'}>\n                    <div className=\"flex items-center justify-between gap-3\">\n                      <span className={(isCurrent ? 'text-emerald-300/80' : 'text-white/34') + ' text-[9px] font-semibold uppercase tracking-[0.13em]'}>{isCurrent ? 'Current' : String(row.session_status || 'history')}</span>\n                      <span className=\"text-[9px] text-white/28\">{row.updated_at ? new Date(row.updated_at).toLocaleString() : ''}</span>\n                    </div>\n                    <div className=\"mt-1 line-clamp-2 text-xs font-medium leading-5 text-white/72\">{consoleSessionTitle(row)}</div>\n                    <div className=\"mt-2 flex flex-wrap items-center gap-2 text-[9px] text-white/32\">\n                      <span>{Number(row.turn_count || 0)} turns</span>\n                      {route ? <span className=\"max-w-[250px] truncate font-mono text-emerald-200/55\">{route}</span> : null}\n                      {row.ledger_tenant_name ? <span>{String(row.ledger_tenant_name)}</span> : null}\n                    </div>\n                  </button>\n                );\n              })}\n              {!sessionRows.length ? <div className=\"rounded-xl border border-white/[0.07] bg-white/[0.02] p-4 text-xs text-white/38\">No matching Console chats.</div> : null}\n            </div>\n          ) : null}\n\n          {!historyLoading && historyTab === 'runs' ? (\n            <div className=\"space-y-2\">\n              {runRows.map((row: any) => {\n                const route = runRoute(row);\n                const receipt = row?.latest_receipt || {};\n                return (\n                  <button key={String(row.run_id)} type=\"button\" onClick={() => route ? openWitnessHistoryRun({ id: row.run_id, currentRoute: route, status: row.mission_status || row.event_status, terminal: ['verified','completed_with_findings','failed','cancelled','timed_out'].includes(String(row.mission_status || '')), runnerLane: receipt?.payload?.runnerLane || receipt?.source || 'ledger' }) : undefined} className=\"w-full rounded-xl border border-white/[0.08] bg-white/[0.02] p-3 text-left hover:border-emerald-300/20 hover:bg-emerald-300/[0.04]\">\n                    <div className=\"flex items-center justify-between gap-3\">\n                      <span className=\"text-[9px] font-semibold uppercase tracking-[0.13em] text-white/38\">{String(row.mission_type || 'run')} · {String(row.mission_status || row.event_status || 'unknown')}</span>\n                      <span className=\"text-[9px] text-white/28\">{row.updated_at ? new Date(row.updated_at).toLocaleString() : ''}</span>\n                    </div>\n                    <div className=\"mt-1 line-clamp-2 text-xs font-medium leading-5 text-white/72\">{String(row.title || 'Command Center run')}</div>\n                    <div className=\"mt-2 flex flex-wrap items-center gap-2 text-[9px] text-white/32\">\n                      {row.tenant_name ? <span>{String(row.tenant_name)}</span> : null}\n                      {route ? <span className=\"max-w-[250px] truncate font-mono text-emerald-200/55\">{route}</span> : null}\n                      {receipt?.proof_gate ? <span>{String(receipt.proof_gate)}</span> : null}\n                      <span className=\"font-mono\">{String(row.run_id || '').slice(0,8)}</span>\n                    </div>\n                  </button>\n                );\n              })}\n              {!runRows.length ? <div className=\"rounded-xl border border-white/[0.07] bg-white/[0.02] p-4 text-xs text-white/38\">No matching Command Center runs.</div> : null}\n            </div>\n          ) : null}\n        </div>\n      </aside>\n    </>\n  ) : null;\n\n  return <div className=\"relative h-full min-h-0 overflow-hidden bg-[#020604] text-white\">\n    {!witnessMode ? (\n      <section className=\"flex h-full min-h-0 flex-col\">\n        <div className=\"flex min-h-12 shrink-0 items-center gap-3 border-b border-white/[0.07] px-4 py-2\">\n          <div className=\"flex items-center gap-2 text-[10px] font-semibold uppercase tracking-[0.18em] text-emerald-300/70\"><span className=\"h-1.5 w-1.5 rounded-full bg-emerald-300 shadow-[0_0_10px_rgba(52,211,153,.8)]\" />Sidekick</div>\n          <div className=\"min-w-0 flex-1 overflow-hidden\">{toolChips}</div>\n          <button type=\"button\" onClick={() => setHistoryOpen(true)} className=\"shrink-0 rounded-md border border-white/10 px-2.5 py-1.5 text-[10px] text-white/45 hover:border-emerald-300/20 hover:bg-emerald-300/[0.05] hover:text-white\">Sessions</button>\n          <button type=\"button\" onClick={clearConversation} className=\"shrink-0 text-[10px] text-white/35 hover:text-white\">New chat</button>\n          <div className=\"shrink-0 text-[9px] text-white/24\">Witness closed</div>\n        </div>\n        {resolverStrip}\n        {transcript}\n        {composer}\n      </section>\n    ) : (\n      <section className=\"flex h-full min-h-0 flex-col\">\n        <div className=\"flex h-10 shrink-0 items-center justify-between border-b border-white/[0.07] px-3 lg:hidden\">\n          <div className=\"flex gap-1\">\n            <button type=\"button\" onClick={() => setMobilePane('witness')} className={mobilePane === 'witness' ? \"border border-emerald-300/25 bg-emerald-300/10 px-3 py-1 text-xs text-emerald-100\" : \"border border-white/10 px-3 py-1 text-xs text-white/50\"}>Witness</button>\n            <button type=\"button\" onClick={() => setMobilePane('chat')} className={mobilePane === 'chat' ? \"border border-emerald-300/25 bg-emerald-300/10 px-3 py-1 text-xs text-emerald-100\" : \"border border-white/10 px-3 py-1 text-xs text-white/50\"}>Sidekick</button>\n          </div>\n          <div className=\"flex items-center gap-3\">\n            <button type=\"button\" onClick={() => setHistoryOpen(true)} className=\"text-xs text-white/45\">Sessions</button>\n            <button type=\"button\" onClick={() => setWitnessMode(false)} className=\"text-xs text-white/50\">Exit witness</button>\n          </div>\n        </div>\n        <div className=\"grid min-h-0 flex-1 lg:grid-cols-[minmax(0,1fr)_430px] xl:grid-cols-[minmax(0,1fr)_450px]\">\n          <div className={(mobilePane === 'witness' ? 'block' : 'hidden') + \" min-h-0 bg-black lg:block\"}>\n            <iframe ref={frame} onLoad={() => postWitnessSync()} src=\"/console/index-v3-11.html?v=sidekick-v3-session-aware-1\" title=\"KNOCKLAUNCH Interactive Witness\" className=\"h-full w-full border-0\" />\n          </div>\n          <aside className={(mobilePane === 'chat' ? 'flex' : 'hidden') + \" min-h-0 min-w-0 flex-col border-l border-emerald-300/12 bg-[#030806] lg:flex\"}>\n            <div className=\"shrink-0 border-b border-white/[0.07] px-4 py-3\">\n              <div className=\"flex items-start justify-between gap-3\">\n                <div className=\"min-w-0\"><div className=\"text-[9px] font-semibold uppercase tracking-[0.18em] text-emerald-300/70\">SIDEKICK · WITNESS MODE</div><div className=\"mt-1 truncate text-xs text-white/60\">{String(operatorContext.route || 'Interactive witness')}</div></div>\n                <div className=\"flex shrink-0 items-center gap-2\">\n                  <button type=\"button\" onClick={() => setHistoryOpen(true)} className=\"text-[10px] text-white/35 hover:text-white\">Sessions</button>\n                  <button type=\"button\" onClick={clearConversation} className=\"text-[10px] text-white/35 hover:text-white\">New</button>\n                  <button type=\"button\" onClick={() => setWitnessMode(false)} className=\"hidden rounded-md border border-white/10 px-2.5 py-1.5 text-[10px] text-white/45 hover:bg-white/[0.04] hover:text-white lg:block\">Exit</button>\n                </div>\n              </div>\n              <div className=\"mt-2\">{toolChips}</div>\n              <div className=\"mt-2 flex items-center gap-2 text-[9px] text-white/28\"><span>{lastReceipt ? 'Proof attached' : 'Control plane ready'}</span><span>•</span><span>{String((operatorContext.viewports || ['desktop'])[0])}</span></div>\n            </div>\n            {resolverStrip}\n            {transcript}\n            {composer}\n          </aside>\n        </div>\n      </section>\n    )}\n    {historyPanel}\n  </div>;\n\n}\n"},{"path":"config/capabilities/knocklaunch-console.json","content":"{\n  \"schemaVersion\": 1,\n  \"id\": \"knocklaunch-console\",\n  \"owner\": \"knocklaunch-platform\",\n  \"status\": \"enforced\",\n  \"surfaces\": [\n    \"src/pages/admin/GodModeCommandConsole.tsx\",\n    \"src/pages/Admin.tsx\",\n    \"public/console/console.js\"\n  ],\n  \"dependencies\": {\n    \"backendRuntime\": [\n      \"supabase/functions/console-ops\",\n      \"supabase/functions/_shared\"\n    ],\n    \"dataStorage\": [\n      \"command_center_events\",\n      \"command_center_messages\",\n      \"command_center_receipts\"\n    ],\n    \"authPermissions\": [\n      \"is_system_admin\",\n      \"local_session_pairing\"\n    ],\n    \"providers\": [\n      {\n        \"id\": \"cloudflare\",\n        \"optional\": true,\n        \"unavailableState\": \"prerequisite_required\"\n      },\n      {\n        \"id\": \"supabase_management\",\n        \"optional\": true,\n        \"unavailableState\": \"prerequisite_required\"\n      },\n      {\n        \"id\": \"msi\",\n        \"optional\": true,\n        \"unavailableState\": \"prerequisite_required\"\n      }\n    ]\n  },\n  \"independentCapabilities\": [\n    {\n      \"id\": \"local-console\",\n      \"mustRemainAvailableWhen\": [\n        \"prime:unavailable\",\n        \"chatgpt:unavailable\",\n        \"cursor:unavailable\"\n      ]\n    },\n    {\n      \"id\": \"durable-console-history\",\n      \"mustRemainAvailableWhen\": [\n        \"witness:idle\",\n        \"provider:partial\"\n      ],\n      \"searchScopes\": [\n        \"chat_transcripts\",\n        \"tenant_routes\",\n        \"mission_runs\",\n        \"proof_receipts\"\n      ]\n    }\n  ],\n  \"lifecycle\": {\n    \"states\": [\n      \"prepare\",\n      \"deploy\",\n      \"verify\",\n      \"activate\"\n    ],\n    \"activationRequirements\": [\n      \"declared_dependencies_ready_or_explicit_prerequisite\",\n      \"compatibility_window_satisfied\",\n      \"required_canary_verified\"\n    ],\n    \"compatibilityWindow\": [\n      \"N\",\n      \"N-1\"\n    ],\n    \"driftPolicy\": \"exact_source_release_runtime_mismatch_is_nonterminal_and_quarantines_only_the_affected_capability\",\n    \"quarantinePolicy\": \"capability_scoped_no_sibling_outage\"\n  },\n  \"release\": {\n    \"order\": [\n      \"data_storage\",\n      \"backend_runtime\",\n      \"frontend\"\n    ],\n    \"runtimeFirst\": true,\n    \"targets\": [\n      \"supabaseEdge\",\n      \"frontend\"\n    ]\n  },\n  \"canary\": {\n    \"required\": true,\n    \"claims\": [\n      \"Console renders stage controls and provider evidence\",\n      \"Unpaired local actions fail closed\",\n      \"Provider errors do not report health\"\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      \"dependency_readiness\",\n      \"canary\",\n      \"activation_state\",\n      \"drift_state\",\n      \"quarantine_state\"\n    ]\n  }\n}\n"},{"path":"supabase/migrations/20260927163500_console_session_archive.sql","content":"\ncreate or replace function public.append_console_session_turn(\n  _session_id uuid,\n  _context_tenant_id uuid,\n  _user_message text,\n  _assistant_message text,\n  _route text default null,\n  _tenant_ref text default null,\n  _context jsonb default '{}'::jsonb,\n  _witness jsonb default '{}'::jsonb\n)\nreturns uuid\nlanguage plpgsql\nsecurity definer\nset search_path = ''\nas $function$\ndeclare\n  v_session_id uuid := _session_id;\n  v_event_tenant_id uuid;\n  v_payload jsonb;\n  v_title text;\nbegin\n  if auth.uid() is null or not public.is_system_admin(auth.uid()) then\n    raise exception 'Platform owner required' using errcode = '42501';\n  end if;\n\n  select t.id\n  into v_event_tenant_id\n  from public.tenants t\n  where t.company_slug = 'knocklaunch-crm'\n    and coalesce(t.status, 'active') = 'active'\n  limit 1;\n\n  if v_event_tenant_id is null then\n    v_event_tenant_id := _context_tenant_id;\n  end if;\n  if v_event_tenant_id is null then\n    raise exception 'Console session tenant unavailable';\n  end if;\n\n  if v_session_id is null then\n    v_title := 'Console · ' || left(regexp_replace(trim(coalesce(_user_message, 'New session')), '\\s+', ' ', 'g'), 96);\n    insert into public.command_center_events (\n      tenant_id,\n      created_by_user_id,\n      created_by_role,\n      source_module,\n      event_type,\n      priority,\n      title,\n      message,\n      status,\n      actor_type,\n      actor_display_name,\n      owner_authorized,\n      authorization_scope,\n      mission_context\n    ) values (\n      v_event_tenant_id,\n      auth.uid(),\n      'GodMode',\n      'ai',\n      'sidekick_conversation_log',\n      'info',\n      v_title,\n      left(coalesce(_user_message, ''), 500),\n      'in_progress',\n      'human',\n      'KNOCKLAUNCH Console',\n      true,\n      'platform_admins:console',\n      jsonb_build_object(\n        'console_session', true,\n        'session_version', 'sidekick-v3-history-v1',\n        'context_tenant_id', _context_tenant_id,\n        'last_tenant_ref', nullif(_tenant_ref, ''),\n        'last_route', nullif(_route, '')\n      )\n    )\n    returning id into v_session_id;\n  else\n    select e.tenant_id\n    into v_event_tenant_id\n    from public.command_center_events e\n    where e.id = v_session_id\n      and e.event_type = 'sidekick_conversation_log';\n\n    if v_event_tenant_id is null then\n      raise exception 'Console session not found' using errcode = 'P0002';\n    end if;\n  end if;\n\n  v_payload := jsonb_build_object(\n    'type', 'sidekick_conversation',\n    'actor_user_id', auth.uid(),\n    'actor_role', 'GodMode',\n    'sidekick_mode', 'godmode',\n    'visibility_scope', 'platform_admins',\n    'context_tenant_id', _context_tenant_id,\n    'tenant_ref', nullif(_tenant_ref, ''),\n    'route', nullif(_route, ''),\n    'user_message', coalesce(_user_message, ''),\n    'assistant_message', coalesce(_assistant_message, ''),\n    'metadata', coalesce(_context, '{}'::jsonb),\n    'witness', coalesce(_witness, '{}'::jsonb),\n    'created_at', now()\n  );\n\n  insert into public.command_center_messages (\n    tenant_id,\n    command_center_event_id,\n    sender_user_id,\n    sender_role,\n    message,\n    actor_type,\n    actor_display_name\n  ) values (\n    v_event_tenant_id,\n    v_session_id,\n    auth.uid(),\n    'GodMode',\n    v_payload::text,\n    'human',\n    'KNOCKLAUNCH Console'\n  );\n\n  update public.command_center_events\n  set\n    status = 'in_progress',\n    updated_at = now(),\n    mission_context = coalesce(mission_context, '{}'::jsonb) || jsonb_build_object(\n      'console_session', true,\n      'session_version', 'sidekick-v3-history-v1',\n      'context_tenant_id', _context_tenant_id,\n      'last_tenant_ref', nullif(_tenant_ref, ''),\n      'last_route', nullif(_route, ''),\n      'last_witness', coalesce(_witness, '{}'::jsonb)\n    )\n  where id = v_session_id;\n\n  return v_session_id;\nend;\n$function$;\n\ncreate or replace function public.close_console_session(_session_id uuid)\nreturns boolean\nlanguage plpgsql\nsecurity definer\nset search_path = ''\nas $function$\nbegin\n  if auth.uid() is null or not public.is_system_admin(auth.uid()) then\n    raise exception 'Platform owner required' using errcode = '42501';\n  end if;\n\n  update public.command_center_events\n  set status = 'closed', updated_at = now()\n  where id = _session_id\n    and event_type = 'sidekick_conversation_log';\n\n  return found;\nend;\n$function$;\n\ncreate or replace function public.list_console_sessions(\n  _query text default null,\n  _limit integer default 100\n)\nreturns table(\n  session_id uuid,\n  event_title text,\n  session_status text,\n  ledger_tenant_id uuid,\n  ledger_tenant_name text,\n  ledger_tenant_slug text,\n  turn_count bigint,\n  first_message text,\n  last_message text,\n  created_at timestamptz,\n  updated_at timestamptz,\n  last_message_at timestamptz\n)\nlanguage plpgsql\nstable\nsecurity definer\nset search_path = ''\nas $function$\ndeclare\n  v_query text := trim(coalesce(_query, ''));\n  v_pattern text := '%' || trim(coalesce(_query, '')) || '%';\n  v_limit integer := greatest(1, least(coalesce(_limit, 100), 250));\nbegin\n  if auth.uid() is null or not public.is_system_admin(auth.uid()) then\n    raise exception 'Platform owner required' using errcode = '42501';\n  end if;\n\n  return query\n  select\n    e.id,\n    e.title,\n    e.status,\n    e.tenant_id,\n    t.name,\n    t.company_slug,\n    (select count(*) from public.command_center_messages cm where cm.command_center_event_id = e.id),\n    fm.message,\n    lm.message,\n    e.created_at,\n    greatest(e.updated_at, coalesce(lm.created_at, e.updated_at)),\n    lm.created_at\n  from public.command_center_events e\n  left join public.tenants t on t.id = e.tenant_id\n  left join lateral (\n    select cm.message, cm.created_at\n    from public.command_center_messages cm\n    where cm.command_center_event_id = e.id\n    order by cm.created_at asc\n    limit 1\n  ) fm on true\n  left join lateral (\n    select cm.message, cm.created_at\n    from public.command_center_messages cm\n    where cm.command_center_event_id = e.id\n    order by cm.created_at desc\n    limit 1\n  ) lm on true\n  where e.event_type = 'sidekick_conversation_log'\n    and (\n      v_query = ''\n      or e.title ilike v_pattern\n      or coalesce(t.name, '') ilike v_pattern\n      or coalesce(t.company_slug, '') ilike v_pattern\n      or exists (\n        select 1\n        from public.command_center_messages sm\n        where sm.command_center_event_id = e.id\n          and sm.message ilike v_pattern\n      )\n      or exists (\n        select 1\n        from public.command_center_receipts sr\n        where sr.command_center_event_id = e.id\n          and (\n            coalesce(sr.external_id, '') ilike v_pattern\n            or coalesce(sr.proof_gate, '') ilike v_pattern\n            or coalesce(sr.source_sha, '') ilike v_pattern\n            or sr.payload::text ilike v_pattern\n          )\n      )\n    )\n  order by greatest(e.updated_at, coalesce(lm.created_at, e.updated_at)) desc\n  limit v_limit;\nend;\n$function$;\n\ncreate or replace function public.get_console_session(_session_id uuid)\nreturns table(\n  session_id uuid,\n  event_title text,\n  session_status text,\n  ledger_tenant_id uuid,\n  ledger_tenant_name text,\n  ledger_tenant_slug text,\n  created_at timestamptz,\n  updated_at timestamptz,\n  event_context jsonb,\n  turns jsonb,\n  receipts jsonb\n)\nlanguage plpgsql\nstable\nsecurity definer\nset search_path = ''\nas $function$\nbegin\n  if auth.uid() is null or not public.is_system_admin(auth.uid()) then\n    raise exception 'Platform owner required' using errcode = '42501';\n  end if;\n\n  return query\n  select\n    e.id,\n    e.title,\n    e.status,\n    e.tenant_id,\n    t.name,\n    t.company_slug,\n    e.created_at,\n    e.updated_at,\n    coalesce(e.mission_context, '{}'::jsonb),\n    coalesce((\n      select jsonb_agg(\n        jsonb_build_object(\n          'id', cm.id,\n          'created_at', cm.created_at,\n          'sender_role', cm.sender_role,\n          'actor_type', cm.actor_type,\n          'actor_display_name', cm.actor_display_name,\n          'raw_message', cm.message\n        )\n        order by cm.created_at asc\n      )\n      from public.command_center_messages cm\n      where cm.command_center_event_id = e.id\n    ), '[]'::jsonb),\n    coalesce((\n      select jsonb_agg(\n        jsonb_build_object(\n          'id', cr.id,\n          'created_at', cr.created_at,\n          'receipt_type', cr.receipt_type,\n          'source', cr.source,\n          'status', cr.status,\n          'proof_gate', cr.proof_gate,\n          'external_id', cr.external_id,\n          'source_sha', cr.source_sha,\n          'payload', cr.payload\n        )\n        order by cr.created_at asc\n      )\n      from public.command_center_receipts cr\n      where cr.command_center_event_id = e.id\n    ), '[]'::jsonb)\n  from public.command_center_events e\n  left join public.tenants t on t.id = e.tenant_id\n  where e.id = _session_id\n    and e.event_type = 'sidekick_conversation_log'\n  limit 1;\nend;\n$function$;\n\ncreate or replace function public.search_console_runs(\n  _query text default null,\n  _limit integer default 100\n)\nreturns table(\n  run_id uuid,\n  tenant_id uuid,\n  tenant_name text,\n  tenant_slug text,\n  title text,\n  mission_type text,\n  mission_phase text,\n  mission_status text,\n  event_status text,\n  created_at timestamptz,\n  updated_at timestamptz,\n  last_progress_at timestamptz,\n  terminal_reason text,\n  receipt_count bigint,\n  latest_receipt jsonb,\n  mission_context jsonb\n)\nlanguage plpgsql\nstable\nsecurity definer\nset search_path = ''\nas $function$\ndeclare\n  v_query text := trim(coalesce(_query, ''));\n  v_pattern text := '%' || trim(coalesce(_query, '')) || '%';\n  v_limit integer := greatest(1, least(coalesce(_limit, 100), 250));\nbegin\n  if auth.uid() is null or not public.is_system_admin(auth.uid()) then\n    raise exception 'Platform owner required' using errcode = '42501';\n  end if;\n\n  return query\n  select\n    e.id,\n    e.tenant_id,\n    t.name,\n    t.company_slug,\n    e.title,\n    e.mission_type,\n    e.mission_phase,\n    e.mission_status,\n    e.status,\n    e.created_at,\n    e.updated_at,\n    e.last_progress_at,\n    e.terminal_reason,\n    (select count(*) from public.command_center_receipts cr where cr.command_center_event_id = e.id),\n    (\n      select jsonb_build_object(\n        'id', cr.id,\n        'created_at', cr.created_at,\n        'receipt_type', cr.receipt_type,\n        'source', cr.source,\n        'status', cr.status,\n        'proof_gate', cr.proof_gate,\n        'external_id', cr.external_id,\n        'source_sha', cr.source_sha,\n        'payload', cr.payload\n      )\n      from public.command_center_receipts cr\n      where cr.command_center_event_id = e.id\n      order by cr.created_at desc\n      limit 1\n    ),\n    coalesce(e.mission_context, '{}'::jsonb)\n  from public.command_center_events e\n  left join public.tenants t on t.id = e.tenant_id\n  where e.mission_type is not null\n    and (\n      v_query = ''\n      or e.title ilike v_pattern\n      or coalesce(e.message, '') ilike v_pattern\n      or coalesce(e.mission_type, '') ilike v_pattern\n      or coalesce(e.mission_phase, '') ilike v_pattern\n      or coalesce(e.mission_status, '') ilike v_pattern\n      or coalesce(t.name, '') ilike v_pattern\n      or coalesce(t.company_slug, '') ilike v_pattern\n      or e.mission_context::text ilike v_pattern\n      or exists (\n        select 1\n        from public.command_center_messages sm\n        where sm.command_center_event_id = e.id\n          and sm.message ilike v_pattern\n      )\n      or exists (\n        select 1\n        from public.command_center_receipts sr\n        where sr.command_center_event_id = e.id\n          and (\n            coalesce(sr.external_id, '') ilike v_pattern\n            or coalesce(sr.proof_gate, '') ilike v_pattern\n            or coalesce(sr.source_sha, '') ilike v_pattern\n            or sr.payload::text ilike v_pattern\n          )\n      )\n    )\n  order by coalesce(e.last_progress_at, e.updated_at, e.created_at) desc\n  limit v_limit;\nend;\n$function$;\n\nrevoke all on function public.append_console_session_turn(uuid, uuid, text, text, text, text, jsonb, jsonb) from public;\nrevoke all on function public.append_console_session_turn(uuid, uuid, text, text, text, text, jsonb, jsonb) from anon;\ngrant execute on function public.append_console_session_turn(uuid, uuid, text, text, text, text, jsonb, jsonb) to authenticated;\ngrant execute on function public.append_console_session_turn(uuid, uuid, text, text, text, text, jsonb, jsonb) to service_role;\n\nrevoke all on function public.close_console_session(uuid) from public;\nrevoke all on function public.close_console_session(uuid) from anon;\ngrant execute on function public.close_console_session(uuid) to authenticated;\ngrant execute on function public.close_console_session(uuid) to service_role;\n\nrevoke all on function public.list_console_sessions(text, integer) from public;\nrevoke all on function public.list_console_sessions(text, integer) from anon;\ngrant execute on function public.list_console_sessions(text, integer) to authenticated;\ngrant execute on function public.list_console_sessions(text, integer) to service_role;\n\nrevoke all on function public.get_console_session(uuid) from public;\nrevoke all on function public.get_console_session(uuid) from anon;\ngrant execute on function public.get_console_session(uuid) to authenticated;\ngrant execute on function public.get_console_session(uuid) to service_role;\n\nrevoke all on function public.search_console_runs(text, integer) from public;\nrevoke all on function public.search_console_runs(text, integer) from anon;\ngrant execute on function public.search_console_runs(text, integer) to authenticated;\ngrant execute on function public.search_console_runs(text, integer) to service_role;\n"}],"branch":"ai/objective-first-repair-29a78e00e80b","writes":[],"patches":[],"version":1,"approved":true,"missionId":"29a78e00-e80b-4f8f-81aa-aba19badaafb","objective":"Turn KNOCKLAUNCH Console into a durable operations cockpit with memory. Restore Sidekick v3 persistence into the existing Command Center ledger, expose owner-only session APIs over command_center_events/messages/receipts, and add a Sessions archive available in both normal chat and Witness mode. The archive must show current Console/Witness sessions, all durable past chats with complete user+assistant transcript restoration, keyword search across chat text/tenant/route/proof metadata, a searchable Runs tab across durable Command Center missions/receipts, and reopen/resume behavior for chat sessions and route-bearing Witness/run history. New Chat must close the current durable chat without deleting it. Use existing ledger tables rather than creating a duplicate history silo. Preserve current resolver, Witness layout, route inference, and provider tooling.","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/pages/admin/GodModeCommandConsole.tsx","config/capabilities/knocklaunch-console.json","supabase/migrations/20260927163500_console_session_archive.sql"],"implementation":{"files":[],"writes":[]},"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Turn KNOCKLAUNCH Console into a durable operations cockpit with memory. Restore Sidekick v3 persistence into the existing Command Center ledger, expose owner-only session APIs over command_center_events/messages/receipts, and add a Sessions archive available in both normal chat and Witness mode. The archive must show current Console/Witness sessions, all durable past chats with complete user+assistant transcript restoration, keyword search across chat text/tenant/route/proof metadata, a searchable Runs tab across durable Command Center missions/receipts, and reopen/resume behavior for chat sessions and route-bearing Witness/run history. New Chat must close the current durable chat without deleting it. Use existing ledger tables rather than creating a duplicate history silo. Preserve current resolver, Witness layout, route inference, and provider tooling.","wordingChanged":false,"canonicalIntent":"Turn KNOCKLAUNCH Console into a durable operations cockpit with memory. Restore Sidekick v3 persistence into the existing Command Center ledger, expose owner-only session APIs over command_center_events/messages/receipts, and add a Sessions archive available in both normal chat and Witness mode. The archive must show current Console/Witness sessions, all durable past chats with complete user+assistant transcript restoration, keyword search across chat text/tenant/route/proof metadata, a searchable Runs tab across durable Command Center missions/receipts, and reopen/resume behavior for chat sessions and route-bearing Witness/run history. New Chat must close the current durable chat without deleting it. Use existing ledger tables rather than creating a duplicate history silo. Preserve current resolver, Witness layout, route inference, and provider tooling.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"durable-chat","statement":"Every Sidekick v3 turn is durably appended to the existing Command Center session ledger and survives refresh/reopen.","provenance":{"reason":"Current v3 persistence regressed after the rewrite.","source":"owner_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-storage","proof-ui"]},{"id":"session-archive","statement":"The Console exposes current sessions plus searchable past chats with restored chat history and searchable Command Center runs/proof.","provenance":{"reason":null,"source":"owner_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-ui","proof-search"]},{"id":"resume","statement":"Selecting a past chat restores its transcript/context and selecting a route-bearing Witness/run entry reopens the Witness around that historical route.","provenance":{"reason":null,"source":"owner_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-ui"]}],"objective":"Turn KNOCKLAUNCH Console into a durable operations cockpit with memory. Restore Sidekick v3 persistence into the existing Command Center ledger, expose owner-only session APIs over command_center_events/messages/receipts, and add a Sessions archive available in both normal chat and Witness mode. The archive must show current Console/Witness sessions, all durable past chats with complete user+assistant transcript restoration, keyword search across chat text/tenant/route/proof metadata, a searchable Runs tab across durable Command Center missions/receipts, and reopen/resume behavior for chat sessions and route-bearing Witness/run history. New Chat must close the current durable chat without deleting it. Use existing ledger tables rather than creating a duplicate history silo. Preserve current resolver, Witness layout, route inference, and provider tooling.","constraints":[{"id":"reuse-ledger","statement":"Reuse command_center_events, command_center_messages, and command_center_receipts; do not create a parallel session-history table.","provenance":{"reason":"Existing durable ledger already contains historical Sidekick conversations.","source":"hard_safety_invariant","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-storage"]},{"id":"owner-only","statement":"All history/search/append RPCs are system-admin gated and browser access is least-privilege.","provenance":{"reason":null,"source":"hard_safety_invariant","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-storage"]},{"id":"visual-content-truth","statement":"Do not present invented names, metrics, prices, dates, services, testimonials, credentials, customer records, or other unknown business facts as real. Omit unknowns or mark them clearly as placeholder/example content.","provenance":{"reason":null,"source":"heuristic_current_objective","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-ui"]},{"id":"tenant-visual-isolation","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.","provenance":{"reason":null,"source":"heuristic_current_objective","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-ui"]},{"id":"reference-visual-fidelity","statement":"Preserve the approved Console composition and current full-canvas Witness/Sidekick hierarchy while adding the session drawer.","provenance":{"reason":"Owner provided the current Console screenshot as the active surface.","source":"owner_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-ui"]},{"id":"responsive-visual-continuity","statement":"Session archive remains usable on desktop and mobile without replacing the existing Console/Witness information hierarchy.","provenance":{"reason":null,"source":"hard_safety_invariant","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-ui"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-storage","kind":"runtime","claim":"Owner-only session append/list/get/close/run-search RPCs are live and write/read the existing Command Center ledger.","route":"/admin/console","roleRef":"GodMode","userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["migrations","frontend"],"requiredReleaseTargets":["migrations","frontend"],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false},{"id":"proof-ui","kind":"visual","claim":"Live /admin/console exposes Sessions, Current/Chats/Runs tabs, search, and can surface a persisted historical chat without altering tenant identity.","route":"/admin/console","roleRef":"GodMode","userRef":null,"required":true,"expectedText":"Session Archive","targetedActions":[{"id":"open-sessions","name":"Sessions","role":"button","type":"click","exact":true,"waitMs":500,"required":true},{"id":"archive-visible","text":"Console memory & run history","type":"wait_for_text","exact":false,"waitMs":10000,"required":true},{"id":"chats-tab","name":"Chats","role":"button","type":"click","exact":true,"waitMs":500,"required":true},{"id":"history-search","type":"fill","value":"bigpapis","testid":"console-history-search","waitMs":700,"required":true},{"id":"legacy-chat-visible","text":"can you show me bigpapis dashboard","type":"wait_for_text","exact":false,"waitMs":10000,"required":true}],"allowedReleaseTargets":["migrations","frontend"],"requiredReleaseTargets":["migrations","frontend"],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false},{"id":"proof-search","kind":"runtime","claim":"Keyword search can find durable chat sessions and Command Center mission runs by transcript/tenant/route/run/proof metadata.","route":"/admin/console","roleRef":"GodMode","userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["migrations","frontend"],"requiredReleaseTargets":["migrations","frontend"],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}],"validationErrors":[]},"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":null,"ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/pages/admin/GodModeCommandConsole.tsx","config/capabilities/knocklaunch-console.json","supabase/migrations/20260927163500_console_session_archive.sql"],"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Turn KNOCKLAUNCH Console into a durable operations cockpit with memory. Restore Sidekick v3 persistence into the existing Command Center ledger, expose owner-only session APIs over command_center_events/messages/receipts, and add a Sessions archive available in both normal chat and Witness mode. The archive must show current Console/Witness sessions, all durable past chats with complete user+assistant transcript restoration, keyword search across chat text/tenant/route/proof metadata, a searchable Runs tab across durable Command Center missions/receipts, and reopen/resume behavior for chat sessions and route-bearing Witness/run history. New Chat must close the current durable chat without deleting it. Use existing ledger tables rather than creating a duplicate history silo. Preserve current resolver, Witness layout, route inference, and provider tooling.","wordingChanged":false,"canonicalIntent":"Turn KNOCKLAUNCH Console into a durable operations cockpit with memory. Restore Sidekick v3 persistence into the existing Command Center ledger, expose owner-only session APIs over command_center_events/messages/receipts, and add a Sessions archive available in both normal chat and Witness mode. The archive must show current Console/Witness sessions, all durable past chats with complete user+assistant transcript restoration, keyword search across chat text/tenant/route/proof metadata, a searchable Runs tab across durable Command Center missions/receipts, and reopen/resume behavior for chat sessions and route-bearing Witness/run history. New Chat must close the current durable chat without deleting it. Use existing ledger tables rather than creating a duplicate history silo. Preserve current resolver, Witness layout, route inference, and provider tooling.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"durable-chat","statement":"Every Sidekick v3 turn is durably appended to the existing Command Center session ledger and survives refresh/reopen.","provenance":{"reason":"Current v3 persistence regressed after the rewrite.","source":"owner_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-storage","proof-ui"]},{"id":"session-archive","statement":"The Console exposes current sessions plus searchable past chats with restored chat history and searchable Command Center runs/proof.","provenance":{"reason":null,"source":"owner_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-ui","proof-search"]},{"id":"resume","statement":"Selecting a past chat restores its transcript/context and selecting a route-bearing Witness/run entry reopens the Witness around that historical route.","provenance":{"reason":null,"source":"owner_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-ui"]}],"objective":"Turn KNOCKLAUNCH Console into a durable operations cockpit with memory. Restore Sidekick v3 persistence into the existing Command Center ledger, expose owner-only session APIs over command_center_events/messages/receipts, and add a Sessions archive available in both normal chat and Witness mode. The archive must show current Console/Witness sessions, all durable past chats with complete user+assistant transcript restoration, keyword search across chat text/tenant/route/proof metadata, a searchable Runs tab across durable Command Center missions/receipts, and reopen/resume behavior for chat sessions and route-bearing Witness/run history. New Chat must close the current durable chat without deleting it. Use existing ledger tables rather than creating a duplicate history silo. Preserve current resolver, Witness layout, route inference, and provider tooling.","constraints":[{"id":"reuse-ledger","statement":"Reuse command_center_events, command_center_messages, and command_center_receipts; do not create a parallel session-history table.","provenance":{"reason":"Existing durable ledger already contains historical Sidekick conversations.","source":"hard_safety_invariant","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-storage"]},{"id":"owner-only","statement":"All history/search/append RPCs are system-admin gated and browser access is least-privilege.","provenance":{"reason":null,"source":"hard_safety_invariant","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-storage"]},{"id":"visual-content-truth","statement":"Do not present invented names, metrics, prices, dates, services, testimonials, credentials, customer records, or other unknown business facts as real. Omit unknowns or mark them clearly as placeholder/example content.","provenance":{"reason":null,"source":"heuristic_current_objective","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-ui"]},{"id":"tenant-visual-isolation","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.","provenance":{"reason":null,"source":"heuristic_current_objective","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-ui"]},{"id":"reference-visual-fidelity","statement":"Preserve the approved Console composition and current full-canvas Witness/Sidekick hierarchy while adding the session drawer.","provenance":{"reason":"Owner provided the current Console screenshot as the active surface.","source":"owner_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-ui"]},{"id":"responsive-visual-continuity","statement":"Session archive remains usable on desktop and mobile without replacing the existing Console/Witness information hierarchy.","provenance":{"reason":null,"source":"hard_safety_invariant","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-ui"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-storage","kind":"runtime","claim":"Owner-only session append/list/get/close/run-search RPCs are live and write/read the existing Command Center ledger.","route":"/admin/console","roleRef":"GodMode","userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["migrations","frontend"],"requiredReleaseTargets":["migrations","frontend"],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false},{"id":"proof-ui","kind":"visual","claim":"Live /admin/console exposes Sessions, Current/Chats/Runs tabs, search, and can surface a persisted historical chat without altering tenant identity.","route":"/admin/console","roleRef":"GodMode","userRef":null,"required":true,"expectedText":"Session Archive","targetedActions":[{"id":"open-sessions","name":"Sessions","role":"button","type":"click","exact":true,"waitMs":500,"required":true},{"id":"archive-visible","text":"Console memory & run history","type":"wait_for_text","exact":false,"waitMs":10000,"required":true},{"id":"chats-tab","name":"Chats","role":"button","type":"click","exact":true,"waitMs":500,"required":true},{"id":"history-search","type":"fill","value":"bigpapis","testid":"console-history-search","waitMs":700,"required":true},{"id":"legacy-chat-visible","text":"can you show me bigpapis dashboard","type":"wait_for_text","exact":false,"waitMs":10000,"required":true}],"allowedReleaseTargets":["migrations","frontend"],"requiredReleaseTargets":["migrations","frontend"],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false},{"id":"proof-search","kind":"runtime","claim":"Keyword search can find durable chat sessions and Command Center mission runs by transcript/tenant/route/run/proof metadata.","route":"/admin/console","roleRef":"GodMode","userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["migrations","frontend"],"requiredReleaseTargets":["migrations","frontend"],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}],"validationErrors":[]},"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":false,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"proofRequirements":null,"controlPlaneUnfreeze":false,"durableMutationResume":true,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"recovery":false,"fingerprint":"197e5f728a5819c185594c04fc07664b94ddc3f260d205a159904c68e6560c6f","replayCount":0,"serializedBytes":84607},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T16:39:14.704558+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:29a78e00-e80b-4f8f-81aa-aba19badaafb:repository-mutation-intent:197e5f728a5819c185594c04fc07664b94ddc3f260d205a159904c68e6560c6f:0","mission_step_id":"4e329a6d-8d34-4cb0-b156-ca07f3a5f736","command_center_event_id":"29a78e00-e80b-4f8f-81aa-aba19badaafb"},{"id":"712e1e80-a075-4abe-8287-a162eb0540a4","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-05f245d801b1","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":36750,"releaseCount":0,"toolCallCount":24,"repeatedCallCount":18,"executorlessWaitMs":45477,"firstUsefulResultAt":"2026-10-06T18:20:37.822Z","recoveryAttemptCount":8,"ownerInterruptionCount":0},"version":null,"prNumber":5224,"terminal":false,"missionId":"05f245d8-01b1-4573-9c71-3f27682bdcf3","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"c93a75c5c47f030c6a5a1de8a706e3c949027d4d","timingsMs":{"prReadinessMs":1016,"approvedPlanMs":0,"shipAndProveMs":3529,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"05f245d8-01b1-4573-9c71-3f27682bdcf3"},"performance":null,"deploymentId":"forgejo-main-c93a75c5c47f","releaseState":"pending","workflowRunId":null,"releaseTargets":{"frontend":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1947,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T18:21:30.9321+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"5224","receipt_type":"automatic_mission_resume","idempotency_key":"mission:05f245d8-01b1-4573-9c71-3f27682bdcf3:automatic-mission-resume:5224:canonical_release_reconciliation_pending","mission_step_id":"dd8894ec-853a-4c9f-aeeb-f939291a90c1","command_center_event_id":"05f245d8-01b1-4573-9c71-3f27682bdcf3"},{"id":"712e286d-ff91-45c6-ad99-582e057339b6","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-eeb568b2306b","writes":[],"patches":[],"version":1,"approved":true,"missionId":"eeb568b2-306b-4ad3-b86f-7361e42dde08","objective":"Implement the approved Big Papi premium visual pass using only existing tenant media. Make the home hero and Events route image-led, use the existing event-serving and crowd images, and clean up the home CTA card imagery without changing routing or customer flows.","sourceSha":"3c6e9530833319157d6e19eb5abcb2be8f7a45ec","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/pages/mobile-vendor/BigPapisPublic.tsx"],"anchored_edits":[{"path":"src/pages/mobile-vendor/BigPapisPublic.tsx","edits":[{"new_content":"const BIG_PAPIS_EVENT_IMAGE_SRC = 'https://ymntrajfubicyxwwdxxa.supabase.co/functions/v1/tenant-media-library?mode=asset&id=6728a75c-ede1-4c27-81de-0b547efa4279';\nconst BIG_PAPIS_EVENT_SERVING_IMAGE_SRC = 'https://ymntrajfubicyxwwdxxa.supabase.co/functions/v1/tenant-media-library?mode=asset&id=55a1cff6-98eb-4b63-a794-45949d7362d1';\nconst BIG_PAPIS_CROWD_IMAGE_SRC = 'https://ymntrajfubicyxwwdxxa.supabase.co/functions/v1/tenant-media-library?mode=asset&id=54c0fb90-17bd-4195-83ed-fecf2837c0c3';\nconst BIG_PAPIS_NEXT_STOP_IMAGE_SRC = 'https://ymntrajfubicyxwwdxxa.supabase.co/functions/v1/tenant-media-library?mode=asset&id=3cca7758-ea0c-4a0b-9024-e52928392e10';","old_content":"const BIG_PAPIS_EVENT_IMAGE_SRC = 'https://ymntrajfubicyxwwdxxa.supabase.co/functions/v1/tenant-media-library?mode=asset&id=6728a75c-ede1-4c27-81de-0b547efa4279';\nconst BIG_PAPIS_NEXT_STOP_IMAGE_SRC = 'https://ymntrajfubicyxwwdxxa.supabase.co/functions/v1/tenant-media-library?mode=asset&id=3cca7758-ea0c-4a0b-9024-e52928392e10';"},{"new_content":"            <section data-live-edit-key=\"big-papis.public.hero-v2\" className=\"relative overflow-hidden bg-[#030914] text-white\">\n              <div aria-hidden=\"true\" className=\"pointer-events-none absolute inset-0 bg-[radial-gradient(circle_at_10%_20%,rgba(56,189,248,.13),transparent_31rem),radial-gradient(circle_at_88%_72%,rgba(239,47,126,.14),transparent_32rem)]\" />\n              <div className=\"relative mx-auto grid max-w-7xl items-center gap-8 px-5 py-9 sm:px-8 sm:py-11 lg:grid-cols-[.82fr_1.18fr] lg:gap-12 lg:px-10 lg:py-12\">\n                <div className=\"max-w-xl\">\n                  <div className=\"inline-flex items-center gap-2 rounded-full border border-amber-300/25 bg-amber-300/[0.07] px-3 py-1.5 text-[10px] font-black uppercase tracking-[0.22em] text-amber-200\"><Sparkles className=\"h-3.5 w-3.5\" /> Utica · Central New York</div>\n                  <h1 className=\"mt-5 text-[3.15rem] font-black uppercase leading-[.84] tracking-[-.06em] text-white sm:text-7xl lg:text-[5.5rem]\">Heaven in a Cup!</h1>\n                  <p className=\"mt-4 text-xl font-black tracking-[-.025em] text-white sm:text-2xl\">Frozen flavor. Big Papi energy.</p>\n                  <p className=\"mt-3 max-w-xl text-sm font-semibold leading-6 text-white/68 sm:text-base sm:leading-7\">{brandDescriptor}</p>\n                  <div className=\"mt-7 flex flex-wrap gap-3\">\n                    <button type=\"button\" onClick={findTruckToday} className=\"inline-flex min-h-12 items-center gap-2 rounded-full bg-amber-300 px-6 py-3 text-xs font-black uppercase tracking-[0.09em] text-[#0a1724] shadow-[0_16px_45px_rgba(251,191,36,.18)]\">Find the Truck <MapPin className=\"h-4 w-4\" /></button>\n                    <button type=\"button\" onClick={() => openPanel('club', 'next-stop-club')} className=\"inline-flex min-h-12 items-center gap-2 rounded-full border border-white/20 bg-white/[0.04] px-6 py-3 text-xs font-black uppercase tracking-[0.09em] text-white\">Next Stop Club <Sparkles className=\"h-4 w-4\" /></button>\n                    <button type=\"button\" onClick={() => openPanel('book', 'book')} className=\"inline-flex min-h-12 items-center gap-2 rounded-full bg-[#ef2f7e] px-6 py-3 text-xs font-black uppercase tracking-[0.09em] text-white shadow-[0_16px_45px_rgba(239,47,126,.20)]\">Book Big Papi <ArrowRight className=\"h-4 w-4\" /></button>\n                  </div>\n                </div>\n                <div className=\"relative min-h-[360px] overflow-hidden rounded-[2rem] border border-white/10 bg-black shadow-[0_30px_90px_rgba(0,0,0,.45)] sm:min-h-[470px] lg:min-h-[560px]\">\n                  <img src={BIG_PAPIS_EVENT_SERVING_IMAGE_SRC} alt=\"Big Papi serving a customer at an event\" className=\"absolute inset-0 h-full w-full object-cover object-[58%_center]\" loading=\"eager\" decoding=\"async\" />\n                  <div className=\"absolute inset-0 bg-gradient-to-t from-[#030914]/80 via-transparent to-black/10\" />\n                  <div className=\"absolute inset-x-0 bottom-0 flex items-end justify-between gap-4 p-5 sm:p-6\">\n                    <div><div className=\"text-[10px] font-black uppercase tracking-[0.2em] text-amber-300\">Big Papi in action</div><div className=\"mt-1 max-w-sm text-xl font-black leading-tight sm:text-2xl\">Truck. Pushcart. Big crowd energy.</div></div>\n                    <button type=\"button\" onClick={() => openPanel('events')} className=\"grid h-12 w-12 shrink-0 place-items-center rounded-full bg-white text-[#07111d]\" aria-label=\"See Big Papi events\"><ArrowRight className=\"h-5 w-5\" /></button>\n                  </div>\n                </div>\n              </div>\n            </section>","old_content":"            <section data-live-edit-key=\"big-papis.public.hero-v2\" className=\"relative min-h-[470px] overflow-hidden bg-[#06111d] text-white sm:min-h-[500px]\">\n              <div className=\"absolute inset-0\">\n                <img src={heroFallback} alt=\"Big Papi's Coquito Iceys waterfront trailer\" className=\"h-full w-full object-cover object-center\" loading=\"eager\" decoding=\"async\" />\n              </div>\n              <div className=\"absolute inset-0 bg-[linear-gradient(90deg,rgba(2,8,17,.96)_0%,rgba(2,8,17,.82)_40%,rgba(2,8,17,.30)_72%,rgba(2,8,17,.20)_100%)]\" />\n              <div className=\"absolute inset-0 bg-[radial-gradient(circle_at_78%_18%,rgba(56,189,248,.20),transparent_34rem),radial-gradient(circle_at_12%_82%,rgba(244,63,94,.20),transparent_30rem)]\" />\n              <div className=\"relative mx-auto flex min-h-[470px] max-w-7xl items-center px-5 py-14 sm:min-h-[500px] sm:px-8 lg:px-10\">\n                <div className=\"max-w-2xl\">\n                  <div className=\"inline-flex items-center gap-2 rounded-full border border-amber-300/25 bg-black/25 px-3 py-1.5 text-[10px] font-black uppercase tracking-[0.22em] text-amber-200 backdrop-blur\"><Sparkles className=\"h-3.5 w-3.5\" /> Utica · Central New York</div>\n                  <h1 className=\"mt-5 text-[3.15rem] font-black uppercase leading-[.84] tracking-[-.06em] text-white drop-shadow-2xl sm:text-7xl lg:text-[5.8rem]\">Heaven in a Cup!</h1>\n                  <p className=\"mt-4 text-xl font-black tracking-[-.025em] text-white sm:text-2xl\">Frozen flavor. Big Papi energy.</p>\n                  <p className=\"mt-3 max-w-xl text-sm font-semibold leading-6 text-white/68 sm:text-base sm:leading-7\">{brandDescriptor}</p>\n                  <div className=\"mt-7 flex flex-wrap gap-3\">\n                    <button type=\"button\" onClick={findTruckToday} className=\"inline-flex min-h-12 items-center gap-2 rounded-full bg-amber-300 px-6 py-3 text-xs font-black uppercase tracking-[0.09em] text-[#0a1724] shadow-[0_16px_45px_rgba(251,191,36,.18)]\">Find the Truck <MapPin className=\"h-4 w-4\" /></button>\n                    <button type=\"button\" onClick={() => openPanel('club', 'next-stop-club')} className=\"inline-flex min-h-12 items-center gap-2 rounded-full border border-white/25 bg-black/35 px-6 py-3 text-xs font-black uppercase tracking-[0.09em] text-white backdrop-blur\">Next Stop Club <Sparkles className=\"h-4 w-4\" /></button>\n                    <button type=\"button\" onClick={() => openPanel('book', 'book')} className=\"inline-flex min-h-12 items-center gap-2 rounded-full bg-[#ef2f7e] px-6 py-3 text-xs font-black uppercase tracking-[0.09em] text-white shadow-[0_16px_45px_rgba(239,47,126,.20)]\">Book Big Papi <ArrowRight className=\"h-4 w-4\" /></button>\n                  </div>\n                </div>\n              </div>\n            </section>"},{"new_content":"            <section className=\"bg-[#06111d] text-white\">\n              <div className=\"mx-auto grid max-w-7xl gap-4 px-5 py-10 sm:px-8 md:grid-cols-3 lg:px-10 lg:py-14\">\n                {[\n                  { key: 'truck', eyebrow: 'Today + upcoming', title: 'Find the Truck', copy: 'See where Big Papi is headed', image: BIG_PAPIS_EVENT_IMAGE_SRC, action: findTruckToday },\n                  { key: 'club', eyebrow: 'Loyalty + referrals', title: 'Next Stop Club', copy: 'Join once. Get the next stop and your rewards.', image: BIG_PAPIS_NEXT_STOP_IMAGE_SRC, action: () => openPanel('club', 'next-stop-club') },\n                  { key: 'book', eyebrow: 'Parties · schools · corporate', title: 'Book Big Papi', copy: 'Bring the flava and the whole experience.', image: BIG_PAPIS_EVENT_SERVING_IMAGE_SRC, action: () => openPanel('book', 'book') },\n                ].map((card) => (\n                  <button key={card.key} type=\"button\" onClick={card.action} className=\"group overflow-hidden rounded-[1.7rem] border border-white/10 bg-[#081522] text-left shadow-[0_22px_60px_rgba(0,0,0,.22)]\">\n                    <div className=\"relative h-44 overflow-hidden sm:h-52\">\n                      <img src={card.image} alt=\"\" className={`h-full w-full object-cover transition duration-500 group-hover:scale-[1.025] ${card.key === 'club' ? 'object-top' : 'object-center'}`} loading=\"lazy\" decoding=\"async\" />\n                      <div className=\"absolute inset-0 bg-gradient-to-t from-[#081522]/55 to-transparent\" />\n                    </div>\n                    <div className=\"p-5 sm:p-6\">\n                      <div className={`text-[10px] font-black uppercase tracking-[0.18em] ${card.key === 'club' ? 'text-amber-300' : card.key === 'book' ? 'text-[#ff82b4]' : 'text-cyan-300'}`}>{card.eyebrow}</div>\n                      <div className=\"mt-1 text-2xl font-black uppercase leading-none sm:text-3xl\">{card.title}</div>\n                      <div className=\"mt-3 flex items-center justify-between gap-3 text-xs font-black text-white/62\"><span>{card.copy}</span><ArrowRight className=\"h-4 w-4 shrink-0\" /></div>\n                    </div>\n                  </button>\n                ))}\n              </div>\n            </section>","old_content":"            <section className=\"bg-[#06111d] text-white\">\n              <div className=\"mx-auto grid max-w-7xl gap-4 px-5 py-10 sm:px-8 md:grid-cols-3 lg:px-10 lg:py-14\">\n                <button type=\"button\" onClick={findTruckToday} className=\"group relative min-h-[250px] overflow-hidden rounded-[1.7rem] border border-white/10 bg-black text-left\">\n                  <img src={BIG_PAPIS_EVENT_IMAGE_SRC} alt=\"Big Papi serving customers at an event\" className=\"absolute inset-0 h-full w-full object-cover opacity-78 transition duration-500 group-hover:scale-105\" />\n                  <div className=\"absolute inset-0 bg-gradient-to-t from-[#030914] via-[#030914]/48 to-transparent\" />\n                  <div className=\"absolute inset-x-0 bottom-0 p-6\"><div className=\"text-[10px] font-black uppercase tracking-[0.2em] text-cyan-300\">Today + upcoming</div><div className=\"mt-1 text-3xl font-black uppercase leading-none\">Find the Truck</div><div className=\"mt-3 inline-flex items-center gap-2 text-xs font-black text-white/70\">See where Big Papi is headed <ArrowRight className=\"h-4 w-4\" /></div></div>\n                </button>\n                <button type=\"button\" onClick={() => openPanel('club', 'next-stop-club')} className=\"group relative min-h-[250px] overflow-hidden rounded-[1.7rem] border border-white/10 bg-black text-left\">\n                  <img src={BIG_PAPIS_NEXT_STOP_IMAGE_SRC} alt=\"Big Papi Next Stop Club\" className=\"absolute inset-0 h-full w-full object-cover opacity-70 transition duration-500 group-hover:scale-105\" />\n                  <div className=\"absolute inset-0 bg-gradient-to-t from-[#030914] via-[#030914]/58 to-transparent\" />\n                  <div className=\"absolute inset-x-0 bottom-0 p-6\"><div className=\"text-[10px] font-black uppercase tracking-[0.2em] text-amber-300\">Loyalty + referrals</div><div className=\"mt-1 text-3xl font-black uppercase leading-none\">Next Stop Club</div><div className=\"mt-3 inline-flex items-center gap-2 text-xs font-black text-white/70\">Join the club <ArrowRight className=\"h-4 w-4\" /></div></div>\n                </button>\n                <button type=\"button\" onClick={() => openPanel('book', 'book')} className=\"group relative min-h-[250px] overflow-hidden rounded-[1.7rem] border border-white/10 bg-black text-left\">\n                  <img src={BIG_PAPIS_HERO_IMAGE_SRC} alt=\"Big Papi's Coquito Iceys trailer\" className=\"absolute inset-0 h-full w-full object-cover opacity-64 transition duration-500 group-hover:scale-105\" />\n                  <div className=\"absolute inset-0 bg-[linear-gradient(180deg,rgba(239,47,126,.08),rgba(3,9,20,.88))]\" />\n                  <div className=\"absolute inset-x-0 bottom-0 p-6\"><div className=\"text-[10px] font-black uppercase tracking-[0.2em] text-[#ff82b4]\">Parties · schools · corporate</div><div className=\"mt-1 text-3xl font-black uppercase leading-none\">Book Big Papi</div><div className=\"mt-3 inline-flex items-center gap-2 text-xs font-black text-white/70\">Bring the flava to your event <ArrowRight className=\"h-4 w-4\" /></div></div>\n                </button>\n              </div>\n            </section>"},{"new_content":"        <div className=\"mx-auto max-w-7xl px-5 py-9 sm:px-8 sm:py-12 lg:px-10 lg:py-14\">\n          <div className=\"grid gap-9 lg:grid-cols-[.82fr_1.18fr] lg:items-center lg:gap-12\">\n            <div>\n              <p className=\"text-[10px] font-black uppercase tracking-[0.22em] text-[#ff786d]\">For events, schools & organizations</p>\n              <h2 className=\"mt-3 max-w-xl text-4xl font-black uppercase leading-[.9] tracking-[-.05em] sm:text-5xl lg:text-6xl\">Make Big Papi part of the event.</h2>\n              <p className=\"mt-4 max-w-xl text-sm font-semibold leading-6 text-white/62 sm:text-base sm:leading-7\">Bring the truck or classic NYC pushcart to the crowd. Big Papi fits birthdays, employee events, schools, fundraisers, festivals, community days and big celebrations.</p>\n              <div className=\"mt-6 grid gap-x-6 sm:grid-cols-2\">\n                {['Company + employee events', 'Schools + colleges', 'Fundraisers + nonprofits', 'Festivals + community', 'Grand openings + car shows', 'Private parties + celebrations'].map((audience) => (\n                  <div key={audience} className=\"border-t border-white/12 py-3 text-sm font-black text-white/78\">{audience}</div>\n                ))}\n              </div>\n              <button type=\"button\" onClick={() => openPanel('book', 'book')} className=\"mt-6 inline-flex min-h-12 items-center gap-2 rounded-full bg-[#ef2f2f] px-6 py-3 text-sm font-black text-white shadow-xl shadow-red-950/25 transition hover:bg-red-500\">Request Big Papi for an event <ArrowRight className=\"h-4 w-4\" /></button>\n              <p className=\"mt-3 max-w-lg text-xs font-semibold leading-5 text-white/42\">Tell us the date, place and crowd size. The booking flow handles the details from there.</p>\n            </div>\n\n            <div>\n              <div className=\"mb-4\"><p className=\"text-[10px] font-black uppercase tracking-[0.2em] text-amber-300\">Big Papi in action</p><h3 className=\"mt-1 text-2xl font-black uppercase sm:text-3xl\">See the experience before you book.</h3></div>\n              <div className=\"grid gap-3 sm:grid-cols-[1.08fr_.92fr]\">\n                <figure className=\"relative min-h-[420px] overflow-hidden rounded-[1.8rem] border border-white/10 bg-black shadow-[0_25px_70px_rgba(0,0,0,.32)] sm:min-h-[560px]\">\n                  <img src={BIG_PAPIS_EVENT_SERVING_IMAGE_SRC} alt=\"Big Papi serving a customer at an event\" className=\"absolute inset-0 h-full w-full object-cover object-[55%_center]\" loading=\"eager\" decoding=\"async\" />\n                  <div className=\"absolute inset-x-0 bottom-0 bg-gradient-to-t from-black/80 via-black/25 to-transparent p-5 pt-16\"><div className=\"text-[10px] font-black uppercase tracking-[0.18em] text-amber-300\">Serve the crowd</div><div className=\"mt-1 text-xl font-black\">Big Papi brings the moment with him.</div></div>\n                </figure>\n                <figure className=\"relative min-h-[330px] overflow-hidden rounded-[1.8rem] border border-white/10 bg-black shadow-[0_25px_70px_rgba(0,0,0,.28)] sm:min-h-[560px]\">\n                  <img src={BIG_PAPIS_CROWD_IMAGE_SRC} alt=\"Big Papi with customers enjoying Iceys at an event\" className=\"absolute inset-0 h-full w-full object-cover object-center\" loading=\"lazy\" decoding=\"async\" />\n                  <div className=\"absolute inset-x-0 bottom-0 bg-gradient-to-t from-black/80 via-black/20 to-transparent p-5 pt-16\"><div className=\"text-[10px] font-black uppercase tracking-[0.18em] text-cyan-300\">Big crowd energy</div><div className=\"mt-1 text-xl font-black\">Events feel different when Big Papi shows up.</div></div>\n                </figure>\n              </div>\n            </div>\n          </div>\n        </div>","old_content":"        <div className=\"mx-auto max-w-7xl px-5 py-9 sm:px-8 sm:py-12 lg:px-10\">\n          <div className=\"grid gap-8 lg:grid-cols-[.92fr_1.08fr] lg:items-start\">\n            <div>\n              <p className=\"text-[10px] font-black uppercase tracking-[0.22em] text-red-400\">For businesses & event organizers</p>\n              <h2 className=\"mt-3 max-w-xl text-4xl font-black uppercase leading-[.92] tracking-[-.045em] sm:text-5xl\">Make Big Papi part of the event.</h2>\n              <p className=\"mt-4 max-w-xl text-sm font-semibold leading-6 text-white/62 sm:text-base sm:leading-7\">Company events, employee appreciation, schools, colleges, hospitals, sports, resident events, nonprofits, festivals, faith communities, senior communities, dealerships and grand openings can request the truck or classic NYC pushcart.</p>\n              <div className=\"mt-5 flex flex-wrap gap-2\">\n                {['Corporate & employee events', 'Schools & colleges', 'Sports & camps', 'Hospitals & healthcare', 'Apartments & HOAs', 'Nonprofits & fundraisers', 'Festivals & civic events', 'Grand openings & car shows'].map((audience) => (\n                  <span key={audience} className=\"rounded-full border border-white/12 bg-white/[0.04] px-3 py-2 text-[10px] font-black uppercase tracking-[0.06em] text-white/68\">{audience}</span>\n                ))}\n              </div>\n              <button type=\"button\" onClick={() => openPanel('book', 'book')} className=\"mt-6 inline-flex min-h-12 items-center gap-2 rounded-full bg-red-600 px-6 py-3 text-sm font-black text-white shadow-xl shadow-red-950/25 transition hover:bg-red-500\">Request Big Papi for an event <ArrowRight className=\"h-4 w-4\" /></button>\n              <p className=\"mt-3 max-w-lg text-xs font-semibold leading-5 text-white/42\">Tell us the date, location and crowd size. The existing event request will match you with the right setup and service style.</p>\n            </div>\n\n            <div>\n              <div className=\"mb-3 flex items-end justify-between gap-4\">\n                <div><p className=\"text-[10px] font-black uppercase tracking-[0.2em] text-amber-300\">Big Papi in action</p><h3 className=\"mt-1 text-2xl font-black uppercase\">See the vibe before you book.</h3></div>\n              </div>\n              <div className=\"grid gap-3 sm:grid-cols-2\">\n                {marketingMedia.slice(0, 4).map((media: any, index: number) => (\n                  <figure key={`${media.url}-${index}`} className=\"overflow-hidden rounded-2xl border border-white/10 bg-black shadow-xl shadow-black/25\">\n                    {media.kind === 'image' ? (\n                      <img src={media.url} alt={media.title || 'Big Papi event'} className=\"aspect-video w-full object-cover\" loading=\"lazy\" />\n                    ) : (\n                      <video src={media.url} poster={media.poster || undefined} autoPlay muted loop playsInline preload=\"auto\" disablePictureInPicture controlsList=\"nodownload noplaybackrate noremoteplayback\" onContextMenu={(event) => event.preventDefault()} className=\"pointer-events-none aspect-video w-full select-none bg-black object-contain\" aria-label={media.title || 'Big Papi promotional video'} />\n                    )}\n                    <figcaption className=\"px-4 py-3 text-xs font-black text-white/72\">{media.title || 'Big Papi in action'}</figcaption>\n                  </figure>\n                ))}\n              </div>\n            </div>\n          </div>\n        </div>"}]}],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"eeb568b2-306b-4ad3-b86f-7361e42dde08","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/pages/mobile-vendor/BigPapisPublic.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":"634763ee14b0e63668855792b47a174ab434c0066bc9d84f4dd7bb7c2677cd86","replayCount":0,"serializedBytes":21948},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-10-01T11:06:23.787402+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:eeb568b2-306b-4ad3-b86f-7361e42dde08:repository-mutation-intent:634763ee14b0e63668855792b47a174ab434c0066bc9d84f4dd7bb7c2677cd86:0","mission_step_id":"98e214f6-06e1-46b7-b166-968be965de29","command_center_event_id":"eeb568b2-306b-4ad3-b86f-7361e42dde08"},{"id":"712f04fd-fccf-4c87-91fe-734355190a95","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-46c478b8cefc","prNumber":5026,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"8bdcb7e587022ad95879be9f0de6c69b1b470850","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T18:28:13.995205+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"8bdcb7e587022ad95879be9f0de6c69b1b470850","external_id":"5026","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:46c478b8-cefc-4f91-be11-e16603b6543f:merged-pr:5026:8bdcb7e587022ad95879be9f0de6c69b1b470850","mission_step_id":"f77b0abe-a22d-49d1-99ab-6daa4a66337d","command_center_event_id":"46c478b8-cefc-4f91-be11-e16603b6543f"},{"id":"7130cca1-0c03-4dcb-a741-efb2e561274d","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/release-minimal-seo-entrypoint-20260910","reason":"fresh_pr_provider_receipt_already_proves_auto_progress_gate_notifier_owns_next_state","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.95-release-promotion-visible-bundle","prNumber":2320,"terminal":false,"missionId":"ae5e2ebd-229e-4344-a22b-531be48440a3","operation":"execute_mission","proofGate":"repair_mission_fresh_pr_handed_off_to_gate","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":8335,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":818,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":818,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":818,"repositoryMutationMs":8335,"repositoryProviderMs":5729,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2508,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":818,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":3221},"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":"ae5e2ebd-229e-4344-a22b-531be48440a3"},"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":3778,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-10T20:10:05.716095+00:00","proof_gate":"repair_mission_fresh_pr_handed_off_to_gate","source_sha":null,"external_id":"2320","receipt_type":"execute_mission","idempotency_key":"mission:ae5e2ebd-229e-4344-a22b-531be48440a3:execute_mission:repair_mission_fresh_pr_handed_off_to_gate:current-generation","mission_step_id":"7f813f19-d29a-4a8e-bc46-7a14d3f2083b","command_center_event_id":"ae5e2ebd-229e-4344-a22b-531be48440a3"},{"id":"713114bb-5e7d-4e0b-9487-109617cea221","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-g3","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":15973,"releaseCount":1,"toolCallCount":16,"repeatedCallCount":10,"ownerInterruptionCount":0},"version":"1.31.2-canonical-release-dedupe","prNumber":null,"terminal":false,"missionId":"d9a18582-0199-4567-bb93-85af0dc43cb9","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":"d9a18582-0199-4567-bb93-85af0dc43cb9"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":{"frontend":true,"onrunner":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1275,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-08-07T12:43:53.983447+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:d9a18582-0199-4567-bb93-85af0dc43cb9:execute_mission:repair_mission_synthesis_ready","mission_step_id":"afcac100-92b3-4a8d-b84b-b98b5e42d066","command_center_event_id":"d9a18582-0199-4567-bb93-85af0dc43cb9"},{"id":"7131f67b-a578-4d65-a1dc-95ec0bdd1a6c","source":"cc-execution","status":"release_verification_pending","payload":{"ok":true,"jobId":null,"phase":"release","branch":null,"reason":null,"status":"release_verification_pending","metrics":{"receiptBytes":1154,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.46.8-intent-aware-objectives","prNumber":255,"terminal":false,"missionId":"6727b058-6ee1-4003-8da9-ad9084c7b4b4","operation":"ship_and_prove","proofGate":"ship_and_prove_release_pending","sourceSha":"6cc2f45b861873a695248ffd4f56329ae63a5b60","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"6727b058-6ee1-4003-8da9-ad9084c7b4b4"},"performance":null,"deploymentId":"forgejo-main-6cc2f45b8618","workflowRunId":813,"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":3993,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-16T16:24:10.781013+00:00","proof_gate":"ship_and_prove_release_pending","source_sha":"6cc2f45b861873a695248ffd4f56329ae63a5b60","external_id":"forgejo-main-6cc2f45b8618","receipt_type":"ship_and_prove","idempotency_key":"mission:6727b058-6ee1-4003-8da9-ad9084c7b4b4:ship_and_prove:ship_and_prove_release_pending:6cc2f45b861873a695248ffd4f56329ae63a5b60:813","mission_step_id":"7fe4e7a8-320c-43ae-aa9e-163bf5422b1e","command_center_event_id":"6727b058-6ee1-4003-8da9-ad9084c7b4b4"},{"id":"713965bb-f124-447f-8b46-faa7729eaca3","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-37de4bd527ee","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":24977,"releaseCount":0,"toolCallCount":14,"repeatedCallCount":9,"executorlessWaitMs":387711,"firstUsefulResultAt":"2026-10-01T15:22:51.838Z","recoveryAttemptCount":10,"ownerInterruptionCount":0},"version":null,"prNumber":4372,"terminal":false,"missionId":"37de4bd5-27ee-45b9-9250-60bb16bb3127","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":2181,"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":"37de4bd5-27ee-45b9-9250-60bb16bb3127"},"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-01T15:28:47.349308+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4372","receipt_type":"automatic_mission_resume","idempotency_key":"mission:37de4bd5-27ee-45b9-9250-60bb16bb3127:automatic-mission-resume:4372:repair_mission_pr_ready_retryable","mission_step_id":"93c2e349-abfc-4032-bb6c-3ba53412a7c8","command_center_event_id":"37de4bd5-27ee-45b9-9250-60bb16bb3127"},{"id":"713e1702-135c-4eb4-9325-499dc13cff7c","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-e6e5d48f7059","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":1881,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-10-01T18:14:30.295Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.38-paul-owner-velocity","prNumber":4377,"terminal":false,"missionId":"e6e5d48f-7059-481e-a7bc-fbdba4b77ed2","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4155,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":671,"missionSetupMs":192,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":192,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":192,"repositoryMutationMs":3484,"repositoryProviderMs":3484,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2120,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":192,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1364},"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":"e6e5d48f-7059-481e-a7bc-fbdba4b77ed2"},"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":3212,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-10-01T18:14:35.344273+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"4377","receipt_type":"execute_mission","idempotency_key":"mission:e6e5d48f-7059-481e-a7bc-fbdba4b77ed2:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"81b7c9a9-6dd5-490f-96c1-635e8376b64f","command_center_event_id":"e6e5d48f-7059-481e-a7bc-fbdba4b77ed2"},{"id":"713eb362-e6eb-430b-8851-ae7a58f7786c","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"70b87aebe0d97e2f1ffb74f0d79070d90ab52d68","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"70b87aebe0d97e2f1ffb74f0d79070d90ab52d68","releaseState":"verified","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"success"},"requestContractHash":"94d9e0a4b07d035b1357041ff0280184fb2b7eace023d2be9e6032fb2712b34b","forgejoWorkflowProof":{"error":"workflow_run_id_missing","runId":null},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T18:36:13.699278+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"70b87aebe0d97e2f1ffb74f0d79070d90ab52d68","external_id":"forgejo-main-70b87aebe0d9","receipt_type":"canonical_release_status","idempotency_key":"mission:e020b5c6-b3f8-4d93-9c5c-0d62cb75b237:forgejo-release-status:70b87aebe0d97e2f1ffb74f0d79070d90ab52d68:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"896f27ac-ddbf-478e-b5d5-a80b243b13cd","command_center_event_id":"e020b5c6-b3f8-4d93-9c5c-0d62cb75b237"},{"id":"71406608-1984-48f0-b2ce-800b497a5afc","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-94396dc8c90f","reason":"fresh_pr_provider_receipt_already_proves_auto_progress_gate_notifier_owns_next_state","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.118-architecture-exclusivity","prNumber":2471,"terminal":false,"missionId":"94396dc8-c90f-4bcf-982f-d77bdea19560","operation":"execute_mission","proofGate":"repair_mission_fresh_pr_handed_off_to_gate","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":9405,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":402,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":345,"ledgerReconcileMs":0,"lineageReconcileMs":57,"resolvePreflightMs":402,"repositoryMutationMs":9405,"repositoryProviderMs":8713,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":4806,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":345,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":3907},"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":"94396dc8-c90f-4bcf-982f-d77bdea19560"},"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":3074,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T02:37:09.012273+00:00","proof_gate":"repair_mission_fresh_pr_handed_off_to_gate","source_sha":null,"external_id":"2471","receipt_type":"execute_mission","idempotency_key":"mission:94396dc8-c90f-4bcf-982f-d77bdea19560:execute_mission:repair_mission_fresh_pr_handed_off_to_gate:current-generation","mission_step_id":"f3be9994-c08f-4126-ad80-bc1f350f6bbd","command_center_event_id":"94396dc8-c90f-4bcf-982f-d77bdea19560"},{"id":"7140f086-0c39-46bf-aefa-746e6c5e4291","source":"cc-execution","status":"release_verified_contract_pending","payload":{"ok":true,"jobId":null,"phase":"release","branch":"ai/objective-first-repair-5a4662afe846","reason":null,"status":"release_verified_contract_pending","metrics":{"receiptBytes":18577,"releaseCount":0,"toolCallCount":6,"repeatedCallCount":0,"executorlessWaitMs":97071,"firstUsefulResultAt":"2026-09-24T23:12:32.043Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.266-ledger-egress-degraded-source-scope","prNumber":3681,"terminal":false,"missionId":"5a4662af-e846-4ab4-a647-e6828c342c54","operation":"execute_mission","proofGate":"canonical_release_already_verified","sourceSha":"d5ee4067d525aad8088317e594b163b2d9f31186","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1437,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":171,"approvedPlanMs":0,"missionSetupMs":1258,"providerAuthMs":0,"shipAndProveMs":581,"ledgerPrepareMs":372,"ledgerReconcileMs":0,"lineageReconcileMs":886,"resolvePreflightMs":1258,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":372,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"5a4662af-e846-4ab4-a647-e6828c342c54"},"performance":null,"deploymentId":"forgejo-main-d5ee4067d525","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2739,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T23:14:11.349226+00:00","proof_gate":"canonical_release_already_verified","source_sha":"d5ee4067d525aad8088317e594b163b2d9f31186","external_id":"forgejo-main-d5ee4067d525","receipt_type":"execute_mission","idempotency_key":"mission:5a4662af-e846-4ab4-a647-e6828c342c54:execute_mission:canonical_release_already_verified:current-generation","mission_step_id":"3da6f395-6f13-40ab-ba5c-cfc1cfd46ebc","command_center_event_id":"5a4662af-e846-4ab4-a647-e6828c342c54"},{"id":"7144e58d-0831-451a-a44f-4aeab6785606","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/fix-encore-calendar-context-final","reason":"anchored_edits resolution failed","status":"blocked","metrics":{"receiptBytes":1139,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.30.18-repair-continuation-release","prNumber":null,"terminal":false,"missionId":"14b22614-9237-4d98-8da5-004933457879","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"14b22614-9237-4d98-8da5-004933457879"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"onePullRequest":true,"terminalProofRequired":true},"sourceReceiptBytes":642,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"fe5cc9d9-c2fe-4062-84c7-a334663cd63c","created_at":"2026-08-05T22:30:39.57802+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:14b22614-9237-4d98-8da5-004933457879:execute_mission:repair_mission_execution_blocked","mission_step_id":"036e37f1-3aa7-46f9-9665-a2a31df03172","command_center_event_id":"14b22614-9237-4d98-8da5-004933457879"},{"id":"71452ab6-cfc6-474b-9777-7d4143c03f43","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-06d350f3111a","prNumber":2851,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"9fe8166588082b6a8e7166ca9d0dfdb40d91ef1e","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-15T19:49:55.411689+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"9fe8166588082b6a8e7166ca9d0dfdb40d91ef1e","external_id":"2851","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:06d350f3-111a-4413-9e3a-514669ccfc30:merged-pr:2851:9fe8166588082b6a8e7166ca9d0dfdb40d91ef1e","mission_step_id":"8c6fc321-7431-4973-94f7-8f76f6c46943","command_center_event_id":"06d350f3-111a-4413-9e3a-514669ccfc30"},{"id":"7146252e-07f1-4015-83ac-d814e9811f98","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","cc-execution/runtime-proof":"pending"},"mainSha":"401ba06ead7cabed2cc01cb43509b616d0efdbb7","missing":[],"pending":["forgejo-release/workflow","cc-execution/runtime-proof"],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"401ba06ead7cabed2cc01cb43509b616d0efdbb7","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{},"requestContractHash":"6be13ad9aaaf28f8cc347f3041a844409eb980383b963a368c0a94628f195c12","forgejoWorkflowProof":{"error":"workflow_run_id_missing","runId":null},"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"aae6af78515e2463c1c83911aacbb22975bfa694","deploymentId":"forgejo-main-aae6af78515e2463c1c83911aacbb22975bfa694","compareStatus":null,"identitySource":"local_build_metadata","runtimeVersion":"1.64.94-terminal-completion-supervisor","containsSourceSha":false},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T16:59:38.178186+00:00","proof_gate":"canonical_release_pending","source_sha":"401ba06ead7cabed2cc01cb43509b616d0efdbb7","external_id":"forgejo-main-401ba06ead7c","receipt_type":"canonical_release_status","idempotency_key":"mission:cb85ebff-8afa-42ba-81e2-c43085eba076:forgejo-release-status:401ba06ead7cabed2cc01cb43509b616d0efdbb7:pending:forgejo-main/source=success|forgejo-release/workflow=pending|cc-execution/runtime-proof=pending","mission_step_id":"e5d8bae1-ee6d-49f2-95b8-e4bd5b6c21ea","command_center_event_id":"cb85ebff-8afa-42ba-81e2-c43085eba076"},{"id":"7148933a-5d36-4b04-bebf-43bdfd35b620","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/fix-historical-runtime-proof","reason":"pull_request_not_open","status":"retryable","metrics":{"receiptBytes":5105,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":1,"ownerInterruptionCount":0},"version":"1.50.3-auto-merge-canonical-lane","prNumber":538,"terminal":false,"missionId":"7fa17c97-b6db-467c-8cea-48d04a062718","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":"7fa17c97-b6db-467c-8cea-48d04a062718"},"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":5018,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-21T03:54:38.165155+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"538","receipt_type":"execute_mission","idempotency_key":"mission:7fa17c97-b6db-467c-8cea-48d04a062718:execute_mission:repair_mission_pr_ready_retryable","mission_step_id":"dfe8fa1b-1757-44c0-ad54-e73c51df48ed","command_center_event_id":"7fa17c97-b6db-467c-8cea-48d04a062718"},{"id":"714d547c-308c-46cf-92a0-c11acacbddff","source":"cc-execution","status":"verified","payload":{"paths":["config/control-plane-capabilities.json"],"baseSha":"66f3c7d3c47a744d70d8842c8bc6a8b29f9c7150","consumedAt":1787956046185,"consumerToken":"fe993d6a-4664-411f-b622-9aa33f219ebd","authorizationId":"de698e01-f4a6-4798-a8a7-f02d7bbecd91"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-28T22:27:27.070528+00:00","proof_gate":"control_plane_maintenance_single_use_consumed","source_sha":"66f3c7d3c47a744d70d8842c8bc6a8b29f9c7150","external_id":null,"receipt_type":"control_plane_maintenance_consumed","idempotency_key":"control-plane-maintenance-consume:de698e01-f4a6-4798-a8a7-f02d7bbecd91","mission_step_id":"099eb15e-7d5e-4e85-b6f5-befc67709a08","command_center_event_id":"1275d745-c77f-4c6f-aba8-418654017c07"},{"id":"714f1f6b-4f29-40df-993a-39c516ab4654","source":"cc-execution","status":"no_change","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":null,"reason":null,"status":"no_change","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":null,"recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.31-paul-deterministic-correction-recovery","prNumber":null,"terminal":false,"missionId":"33a324c7-b8a9-4ac9-a58e-c76e664cef2e","operation":"execute_mission","proofGate":"repair_mission_prepared","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":314,"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":"pull_request_required","receiptRef":{"mode":"full","missionId":"33a324c7-b8a9-4ac9-a58e-c76e664cef2e"},"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":1351,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T22:53:44.833155+00:00","proof_gate":"repair_mission_prepared","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:33a324c7-b8a9-4ac9-a58e-c76e664cef2e:execute_mission:repair_mission_prepared:current-generation","mission_step_id":"2a318894-b5bf-4841-90eb-b92f720be9b7","command_center_event_id":"33a324c7-b8a9-4ac9-a58e-c76e664cef2e"},{"id":"7150d6ac-95ec-4211-aa0d-c79babe342e7","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"release","branch":"ai/big-papis-flavor-catalog-r2-20260824","reason":"The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":18382,"releaseCount":1,"toolCallCount":19,"repeatedCallCount":11,"ownerInterruptionCount":0},"version":"1.50.18-existing-pr-adoption","prNumber":655,"terminal":false,"missionId":"4cfdf05d-8f32-44fe-8d38-b892e34f12f4","operation":"execute_mission","proofGate":"canonical_release_transport_retryable","sourceSha":"71e2bbd21ffab753d4f1574d4dc7f493542cc514","timingsMs":null,"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"4cfdf05d-8f32-44fe-8d38-b892e34f12f4"},"performance":null,"deploymentId":"forgejo-main-71e2bbd21ffa","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":3810,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-24T14:04:10.953185+00:00","proof_gate":"canonical_release_transport_retryable","source_sha":"71e2bbd21ffab753d4f1574d4dc7f493542cc514","external_id":"forgejo-main-71e2bbd21ffa","receipt_type":"execute_mission","idempotency_key":"mission:4cfdf05d-8f32-44fe-8d38-b892e34f12f4:execute_mission:canonical_release_transport_retryable","mission_step_id":"645a0c00-6add-4ec9-be8e-bfd6b12bdee9","command_center_event_id":"4cfdf05d-8f32-44fe-8d38-b892e34f12f4"},{"id":"7151ba5d-7a0b-4f01-9a74-bc8193066dc9","source":"cc-execution","status":"blocked","payload":{"reason":"control_plane_maintenance_authorization_required","fingerprint":"efecde4abe78d370ad405a11cb81ad4fa1a750d7782185a290c628c3360f0bb1"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T16:13:08.190906+00:00","proof_gate":"repository_mutation_intent_deterministic_failure","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent_blocked","idempotency_key":"mission:85e74537-30a6-41cd-b4c4-896de88d03ab:repository-mutation-intent-blocked:efecde4abe78d370ad405a11cb81ad4fa1a750d7782185a290c628c3360f0bb1","mission_step_id":"6304ae8e-d962-4ff4-8a19-6f2c0ffde00c","command_center_event_id":"85e74537-30a6-41cd-b4c4-896de88d03ab"},{"id":"715405fc-f8c6-46a1-b546-dd1a08ae4866","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[{"path":"src/PrivateAppShell.tsx","patch":"*** Begin Patch\n*** Update File: src/PrivateAppShell.tsx\n@@\n-function TenantRouteIdentityBoundary({children}:{children:React.ReactNode}){const location=useLocation();const {activeTenant,memberships,isLoading,switchTenant}=useMultiTenant();const requestedIdentity=React.useMemo(()=>resolveRequestedTenantRouteIdentity(location.pathname),[location.pathname]);const rawRequestedSlug=requestedIdentity?.tenantSlug||'';const requestedSlug=rawRequestedSlug==='tennex'?'tennex-tax-solutions':rawRequestedSlug;\n+function TenantRouteIdentityBoundary({children}:{children:React.ReactNode}){const location=useLocation();const {activeTenant,memberships,isLoading,switchTenant}=useMultiTenant();const requestedIdentity=React.useMemo(()=>resolveRequestedTenantRouteIdentity(location.pathname),[location.pathname]);const rawRequestedSlug=requestedIdentity?.tenantSlug||'';const requestedSlug=rawRequestedSlug;\n*** End Patch"}],"branch":"ai/objective-first-repair-2315c074c80c","writes":[],"patches":[],"version":1,"approved":true,"missionId":"2315c074-c80c-4d43-8fd7-d0eb32e08ec9","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"directOperator":true,"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"2315c074-c80c-4d43-8fd7-d0eb32e08ec9","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":"09a9d77dbacd8d9bb0741002da82a65786096ff26af2fc110d282ff8e1073a5b","replayCount":0,"serializedBytes":1906},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T21:24:59.234986+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:2315c074-c80c-4d43-8fd7-d0eb32e08ec9:repository-mutation-intent:09a9d77dbacd8d9bb0741002da82a65786096ff26af2fc110d282ff8e1073a5b:0","mission_step_id":"8eab63bc-f56d-4c16-b85e-41eb8ffcf9cf","command_center_event_id":"2315c074-c80c-4d43-8fd7-d0eb32e08ec9"},{"id":"71546aaf-058e-48af-a5b7-6f2e52ecc86c","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success"},"mainSha":"eae02dcdf03422fc49646299ed487f59e8c7b48a","missing":[],"pending":[],"required":["forgejo-main/source"],"sourceSha":"eae02dcdf03422fc49646299ed487f59e8c7b48a","releaseState":"verified","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{},"requestContractHash":"0fe57200a487c752ad886b1c748002f10a719c92364330854d1eb3861935f9b9","forgejoWorkflowProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T02:51:12.915225+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"eae02dcdf03422fc49646299ed487f59e8c7b48a","external_id":"forgejo-main-eae02dcdf034","receipt_type":"canonical_release_status","idempotency_key":"mission:13317d2a-da11-47b1-acb7-1e979fba9dbb:forgejo-release-status:eae02dcdf03422fc49646299ed487f59e8c7b48a:verified:forgejo-main/source=success","mission_step_id":"8d170a9a-e908-4692-9bd2-598151865001","command_center_event_id":"13317d2a-da11-47b1-acb7-1e979fba9dbb"},{"id":"7154c42f-d60d-4dde-b1ef-c5ee1fd2328b","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-d07077c4210f","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":181268,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":0,"executorlessWaitMs":1686831,"firstUsefulResultAt":"2026-10-01T14:05:49.886Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.36-paul-response-contract","prNumber":4369,"terminal":false,"missionId":"d07077c4-210f-4eee-9a27-d085dc909258","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":6380,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":2262,"missionSetupMs":417,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":417,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":417,"repositoryMutationMs":4118,"repositoryProviderMs":4118,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2711,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":417,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1407},"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":"d07077c4-210f-4eee-9a27-d085dc909258"},"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":4356,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-01T14:34:04.939525+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"4369","receipt_type":"execute_mission","idempotency_key":"mission:d07077c4-210f-4eee-9a27-d085dc909258:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"43791714-77d4-4f00-b7c0-fa7948126072","command_center_event_id":"d07077c4-210f-4eee-9a27-d085dc909258"},{"id":"71561f81-7316-4110-b04d-1c913dc2926d","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-b531de386c1d","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":25339,"releaseCount":0,"toolCallCount":5,"repeatedCallCount":1,"executorlessWaitMs":21152,"firstUsefulResultAt":"2026-09-30T21:20:02.996Z","recoveryAttemptCount":2,"ownerInterruptionCount":0},"version":null,"prNumber":4278,"terminal":false,"missionId":"b531de38-6c1d-475a-8a77-cda08e351f05","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":2146,"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":"b531de38-6c1d-475a-8a77-cda08e351f05"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":819,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T21:20:20.220866+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4278","receipt_type":"automatic_mission_resume","idempotency_key":"mission:b531de38-6c1d-475a-8a77-cda08e351f05:automatic-mission-resume:4278:repair_mission_pr_ready_retryable","mission_step_id":"5bc3f2eb-214f-43f1-a3cc-d8e116320cf1","command_center_event_id":"b531de38-6c1d-475a-8a77-cda08e351f05"},{"id":"715aac0b-95e4-43b4-806e-fb878ac02f16","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-4be999599669","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":13422,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":0,"executorlessWaitMs":26787,"firstUsefulResultAt":"2026-10-04T13:48:52.813Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.90-owner-contract-autocompile","prNumber":4795,"terminal":false,"missionId":"4be99959-9669-49ba-b129-5c3a7a624a8a","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4266,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":549,"missionSetupMs":390,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":390,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":390,"repositoryMutationMs":3717,"repositoryProviderMs":3717,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2259,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":390,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1458},"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":"4be99959-9669-49ba-b129-5c3a7a624a8a"},"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":3247,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T13:49:26.387859+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"4795","receipt_type":"execute_mission","idempotency_key":"mission:4be99959-9669-49ba-b129-5c3a7a624a8a:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"489a66fd-631a-4144-99ee-a7ce843851ba","command_center_event_id":"4be99959-9669-49ba-b129-5c3a7a624a8a"},{"id":"715c050f-1b07-431d-8dc1-1d74c0250ab3","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-214b51716fd5","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.293-scheduler-v2","prNumber":null,"terminal":false,"missionId":"214b5171-6fd5-46a2-98ec-9fe847863cb9","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1158,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":387,"providerAuthMs":0,"ledgerPrepareMs":387,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":387,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":387,"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":"214b5171-6fd5-46a2-98ec-9fe847863cb9"},"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":3383,"likelyAffectedFiles":["public/console/console.js"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T14:04:49.511774+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:214b5171-6fd5-46a2-98ec-9fe847863cb9:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"22296049-57d1-43c7-822c-baf604e59356","command_center_event_id":"214b5171-6fd5-46a2-98ec-9fe847863cb9"},{"id":"715ca544-2942-43ac-9ca8-8df992152765","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"release","branch":"ai/redfish-heavy-route-startup-20260901","reason":"retryable_provider_transport:The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":11059,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.4-refresh-fastpath","prNumber":1328,"terminal":false,"missionId":"86a46cad-e136-49d5-b865-1cdcbf4d25a6","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"handlerMs":2867,"prReadinessMs":2000,"approvedPlanMs":0,"missionSetupMs":1790,"shipAndProveMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"86a46cad-e136-49d5-b865-1cdcbf4d25a6"},"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":1075,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"de8369b6-a78f-40bb-ae1f-28ffca62bc7e","created_at":"2026-09-01T23:47:13.561746+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"1328","receipt_type":"execute_mission","idempotency_key":"mission:86a46cad-e136-49d5-b865-1cdcbf4d25a6:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"469980f3-3773-49d9-92b9-9c829a74b69f","command_center_event_id":"86a46cad-e136-49d5-b865-1cdcbf4d25a6"},{"id":"715e6955-ed50-4e6d-8fb4-0ca24b92d90e","source":"cc-execution","status":"blocked","payload":{"reason":"compiler_anchor_not_unique_in_exact_source","sourceTargets":["src/pages/card-grading/PCGCardPhotos.tsx"]},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-10T01:03:25.438842+00:00","proof_gate":"bounded_implementation_checkpoint_persisted","source_sha":"422cf36ea28f4975b27f00cfe1659c6234449099","external_id":null,"receipt_type":"bounded_implementation_continuation","idempotency_key":"mission:ecaa54a7-7c6b-4d9f-941d-9de6280b48d7:compiler:422cf36ea28f4975b27f00cfe1659c6234449099:src/pages/card-grading/PCGCardPhotos.tsx","mission_step_id":null,"command_center_event_id":"ecaa54a7-7c6b-4d9f-941d-9de6280b48d7"},{"id":"715ea496-00d7-412b-bac7-fd21ca78c422","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"branch":"ai/objective-first-repair-358e24ae4f67","approved":true,"missionId":"358e24ae-4f67-487a-8654-8e9ea25e1c7f","objective":"Repair the shared PCG dedicated-shell desktop scroll boundary in src/PcgAppShell.tsx only. Change the route surface wrapper from overflow-hidden to the canonical tenant scroll owner with vertical scrolling, preserving the nested PCGCanonicalWorkspaceRoute scroll container and all mobile behavior. This must fix /pcg/profile -> /pcg/settings?section=profile and sibling non-workspace PCG routes (settings, calendar, mail/communications, documents/drive, connections, proposals) without reintroducing PrivateAppShell.","ownerApproved":true,"sourceTargets":["src/PcgAppShell.tsx"],"anchored_edits":[{"path":"src/PcgAppShell.tsx","new_content":"<div data-pcg-app-shell=\"true\" data-pcg-shell-owner=\"dedicated\" className=\"fixed inset-0 flex h-dvh w-screen min-w-0 flex-col overflow-y-auto overscroll-none bg-transparent text-white\" style={{['--primary' as string]:'43 48% 66%',['--primary-foreground' as string]:'220 18% 7%',['--ring' as string]:'43 48% 66%',['--accent' as string]:'42 60% 78%',['--accent-foreground' as string]:'220 18% 7%',['--tenant-brand-primary' as string]:'#d8bb78',['--tenant-brand-accent' as string]:'#f2d99f'} as React.CSSProperties)>","old_content":"<div data-pcg-app-shell=\"true\" data-pcg-shell-owner=\"dedicated\" className=\"fixed inset-0 flex h-dvh w-screen min-w-0 flex-col overflow-hidden overscroll-none bg-transparent text-white\" style={{['--primary' as string]:'43 48% 66%',['--primary-foreground' as string]:'220 18% 7%',['--ring' as string]:'43 48% 66%',['--accent' as string]:'42 60% 78%',['--accent-foreground' as string]:'220 18% 7%',['--tenant-brand-primary' as string]:'#d8bb78',['--tenant-brand-accent' as string]:'#f2d99f'} as React.CSSProperties)>"}],"durableMutationResume":true},"recovery":false,"fingerprint":"c038c84e844a2d79ce756c16ee48db39cff96bbab3443169185345181a88eeae","replayCount":0,"serializedBytes":1873},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T12:33:19.053491+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:358e24ae-4f67-487a-8654-8e9ea25e1c7f:repository-mutation-intent:c038c84e844a2d79ce756c16ee48db39cff96bbab3443169185345181a88eeae:0","mission_step_id":"ecf4cec9-f58f-4045-8dc8-c564c8716725","command_center_event_id":"358e24ae-4f67-487a-8654-8e9ea25e1c7f"},{"id":"715f311a-db7e-4dd2-b486-6146fb6590df","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-fa6b32d9d57c","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.182-witness-render-cold-start-aware","prNumber":3168,"terminal":false,"missionId":"fa6b32d9-d57c-4cc0-a8cd-343e6f41e47d","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"82a28b65587887120d49a56eb0e88cc166e217c1","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":2442,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":1479,"approvedPlanMs":0,"missionSetupMs":667,"providerAuthMs":0,"shipAndProveMs":548,"ledgerPrepareMs":345,"ledgerReconcileMs":0,"lineageReconcileMs":322,"resolvePreflightMs":667,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":345,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"fa6b32d9-d57c-4cc0-a8cd-343e6f41e47d"},"performance":null,"deploymentId":"forgejo-main-82a28b655878","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["tenant-media-library"]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2984,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-19T02:48:14.427151+00:00","proof_gate":"canonical_release_dispatched","source_sha":"82a28b65587887120d49a56eb0e88cc166e217c1","external_id":"forgejo-main-82a28b655878","receipt_type":"execute_mission","idempotency_key":"mission:fa6b32d9-d57c-4cc0-a8cd-343e6f41e47d:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"e0a295c3-15b8-45f5-90b4-53c20f1a3693","command_center_event_id":"fa6b32d9-d57c-4cc0-a8cd-343e6f41e47d"},{"id":"715f5a1e-fb7d-4ab2-ba5c-8e463d86012b","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"5a4fa323c1d9b7c10faf551bf119dbeeab25721c","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"all-ten","satisfied":true,"statement":"Complete control plane Academy ten-case training including three synthetic advanced cases.","proofConditionIds":["proof"]}],"satisfied":true,"constraints":[{"id":"safe","satisfied":true,"statement":"Exact cc execution Academy source and test files only, do not modify PCG, keep control plane default frozen.","proofConditionIds":["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":["proof"]},{"id":"atomic-capability-lifecycle","satisfied":true,"statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["proof"]}],"contractHash":"67f7dc31c30d22611e38bd70b0244538fff08139217e8d84351dbf2d3c353607","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"proof","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"ccExecution":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["ccExecution"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"67f7dc31c30d22611e38bd70b0244538fff08139217e8d84351dbf2d3c353607"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["ccExecution"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-13T13:18:33.679406+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"5a4fa323c1d9b7c10faf551bf119dbeeab25721c","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:237356b7-9c2a-493f-a4da-bc8b5fffc7d8:request-contract:67f7dc31c30d22611e38bd70b0244538fff08139217e8d84351dbf2d3c353607:5a4fa323c1d9b7c10faf551bf119dbeeab25721c:verified:","mission_step_id":"b3188c2e-9608-4181-adcb-f1f2975d60fc","command_center_event_id":"237356b7-9c2a-493f-a4da-bc8b5fffc7d8"},{"id":"71609cc1-acdc-404b-bc12-bc49c85a116b","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-444a676b98d6","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.209-visual-certification-hardening","prNumber":3376,"terminal":false,"missionId":"444a676b-98d6-4f6d-a795-1b8aeab66566","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":5107,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":1667,"missionSetupMs":790,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":790,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":790,"repositoryMutationMs":3440,"repositoryProviderMs":3440,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2104,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":790,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1336},"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":"444a676b-98d6-4f6d-a795-1b8aeab66566"},"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":3666,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-21T23:59:07.058228+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3376","receipt_type":"execute_mission","idempotency_key":"mission:444a676b-98d6-4f6d-a795-1b8aeab66566:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"e72bdccb-0556-4cdb-8065-61cdced17704","command_center_event_id":"444a676b-98d6-4f6d-a795-1b8aeab66566"},{"id":"71611d5e-dc90-4373-bd31-5042d08f47b0","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-60ff6d4491d9","prNumber":3001,"nextAction":null,"mergeCommitSha":"f89a6c7f73305cddf665316478a3461173c21632","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-17T12:57:42.387857+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"f89a6c7f73305cddf665316478a3461173c21632","external_id":"3001","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:60ff6d44-91d9-41cf-b49e-170ed5658cb8:merged-pr:3001:f89a6c7f73305cddf665316478a3461173c21632","mission_step_id":"545e8e93-5e4a-4659-beff-f78a074457d9","command_center_event_id":"60ff6d44-91d9-41cf-b49e-170ed5658cb8"},{"id":"7165b1c5-6e15-4f54-a256-b7d45204e96e","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/big-papis-hero-video-swap","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.56-paul-eval-diagnostics","prNumber":null,"terminal":false,"missionId":"7926cfd6-3310-45a6-8588-5fcbe5d8d848","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1287,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":452,"providerAuthMs":0,"ledgerPrepareMs":452,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":452,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":452,"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":"7926cfd6-3310-45a6-8588-5fcbe5d8d848"},"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":3837,"likelyAffectedFiles":["src/pages/mobile-vendor/BigPapisPublic.tsx"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T22:26:59.223538+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:7926cfd6-3310-45a6-8588-5fcbe5d8d848:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"19e1cf31-09de-42c6-a9f3-6b3102b8681f","command_center_event_id":"7926cfd6-3310-45a6-8588-5fcbe5d8d848"},{"id":"7165ec9a-ad52-46f8-a5ff-a7cdab894c7b","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","cc-execution/runtime-proof":"pending"},"mainSha":"fa661e09caf8c7b353eae8417d500b506363ff33","missing":[],"pending":["forgejo-release/workflow","cc-execution/runtime-proof"],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"fa661e09caf8c7b353eae8417d500b506363ff33","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/371","runId":371,"status":"running","conclusion":null,"failedJobs":[]},"ccExecutionRuntimeProof":{"liveSha":"467941cbc589af6f9f8bf7c634bf59b745922af3","deploymentId":"forgejo-main-467941cbc589af6f9f8bf7c634bf59b745922af3","compareStatus":null,"identitySource":"local_build_metadata","runtimeVersion":"1.46.7-atomic-scoped-patch","containsSourceSha":false}},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-15T14:18:59.682307+00:00","proof_gate":"canonical_release_pending","source_sha":"fa661e09caf8c7b353eae8417d500b506363ff33","external_id":"forgejo-main-fa661e09caf8","receipt_type":"canonical_release_status","idempotency_key":"mission:654a5fc0-3fce-4c25-b139-6aa796acc409:forgejo-release-status:fa661e09caf8c7b353eae8417d500b506363ff33:pending:forgejo-main/source=success|forgejo-release/workflow=pending|cc-execution/runtime-proof=pending","mission_step_id":"adc07ca7-9e6f-4e10-9c5e-b114c7970f45","command_center_event_id":"654a5fc0-3fce-4c25-b139-6aa796acc409"},{"id":"716a92a7-c0d0-4ce8-aabe-1a16b4247794","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"release","branch":null,"reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":4261,"releaseCount":1,"toolCallCount":4,"repeatedCallCount":1,"ownerInterruptionCount":0},"version":null,"prNumber":120,"terminal":false,"missionId":"68e017e3-1ec8-474b-92cb-062a65edf50e","operation":"automatic_mission_resume","proofGate":"canonical_release_dispatched","sourceSha":"a9f4697ff72ed7701a5b5b411f1bd508caca8e9e","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"68e017e3-1ec8-474b-92cb-062a65edf50e"},"performance":null,"deploymentId":"forgejo-main-a9f4697ff72e","workflowRunId":361,"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":1599,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-15T14:02:59.848951+00:00","proof_gate":"canonical_release_dispatched","source_sha":null,"external_id":"120","receipt_type":"automatic_mission_resume","idempotency_key":"mission:68e017e3-1ec8-474b-92cb-062a65edf50e:automatic-mission-resume:120:canonical_release_dispatched","mission_step_id":"64f28b1c-5f78-45a4-a33e-c90cdd9cdcc1","command_center_event_id":"68e017e3-1ec8-474b-92cb-062a65edf50e"},{"id":"716d33d3-8455-40d1-ac48-09c1b8bb8384","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"release","branch":"ai/objective-first-repair-0270bdd55fff","reason":"canonical_release_queue_busy:14408","status":"blocked","metrics":{"receiptBytes":30624,"releaseCount":0,"toolCallCount":15,"repeatedCallCount":8,"executorlessWaitMs":844839,"firstUsefulResultAt":"2026-10-02T16:26:26.763Z","recoveryAttemptCount":2,"ownerInterruptionCount":0},"version":"1.64.50-onepath-source-domain","prNumber":4496,"terminal":false,"missionId":"0270bdd5-5fff-46f3-bc11-c1481e103f21","operation":"execute_mission","proofGate":"canonical_release_blocked","sourceSha":"a1b61a2f1b652e0475768a43469cafbcb355d145","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":922,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":67,"approvedPlanMs":0,"missionSetupMs":1837,"providerAuthMs":0,"shipAndProveMs":423,"ledgerPrepareMs":285,"ledgerReconcileMs":0,"lineageReconcileMs":1552,"resolvePreflightMs":1837,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":285,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"0270bdd5-5fff-46f3-bc11-c1481e103f21"},"performance":null,"deploymentId":"forgejo-main-a1b61a2f1b65","releaseState":"pending","workflowRunId":14408,"releaseTargets":{"frontend":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["mobile-vendor-event-request"]},"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-02T16:40:33.711458+00:00","proof_gate":"canonical_release_blocked","source_sha":"a1b61a2f1b652e0475768a43469cafbcb355d145","external_id":"forgejo-main-a1b61a2f1b65","receipt_type":"execute_mission","idempotency_key":"mission:0270bdd5-5fff-46f3-bc11-c1481e103f21:execute_mission:canonical_release_blocked:current-generation","mission_step_id":"4427ad63-763a-4d54-a0ed-85de5899a772","command_center_event_id":"0270bdd5-5fff-46f3-bc11-c1481e103f21"},{"id":"71712a01-e33a-435b-a177-8206e89c12f6","source":"cc-execution","status":"blocked","payload":{"reason":"anchored_edit_anchor_missing:.forgejo/workflows/knocklaunch.yml","fingerprint":"096d48affbdd9c1048876de09499dc4f5443daca36ced1692b3fbf25ebf4faf0"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-01T11:23:59.427314+00:00","proof_gate":"repository_mutation_intent_deterministic_failure","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent_blocked","idempotency_key":"mission:c712d2cc-4776-4e2c-bf18-e54875e8de04:repository-mutation-intent-blocked:096d48affbdd9c1048876de09499dc4f5443daca36ced1692b3fbf25ebf4faf0","mission_step_id":"9305ec37-a671-409c-b99c-fac7a81b9d31","command_center_event_id":"c712d2cc-4776-4e2c-bf18-e54875e8de04"},{"id":"7171679d-8cb4-4564-8ea7-fc4dc6ffc757","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Explicit owner-approved control-plane maintenance: publish the merge-queue operator surface already present on current Forgejo main by changing only workers/cc-execution/src/version.js. Bump CC_EXECUTION_VERSION from 1.58.4-refresh-fastpath to 1.58.5-merge-queue-operators solely to force the canonical cc-execution release. Do not change product behavior, queue semantics, workflows, or any other source. Pass KnockLaunch Gate, squash merge, release only cc-execution, and prove the live runtime reports 1.58.5-merge-queue-operators.","wordingChanged":false,"canonicalIntent":"Explicit owner-approved control-plane maintenance: publish the merge-queue operator surface already present on current Forgejo main by changing only workers/cc-execution/src/version.js. Bump CC_EXECUTION_VERSION from 1.58.4-refresh-fastpath to 1.58.5-merge-queue-operators solely to force the canonical cc-execution release. Do not change product behavior, queue semantics, workflows, or any other source. Pass KnockLaunch Gate, squash merge, release only cc-execution, and prove the live runtime reports 1.58.5-merge-queue-operators.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"publish-queue-operators","statement":"Live cc-execution runs the current merge-queue operator surface and reports version 1.58.5-merge-queue-operators.","proofConditionIds":["proof-runtime"]}],"objective":"Explicit owner-approved control-plane maintenance: publish the merge-queue operator surface already present on current Forgejo main by changing only workers/cc-execution/src/version.js. Bump CC_EXECUTION_VERSION from 1.58.4-refresh-fastpath to 1.58.5-merge-queue-operators solely to force the canonical cc-execution release. Do not change product behavior, queue semantics, workflows, or any other source. Pass KnockLaunch Gate, squash merge, release only cc-execution, and prove the live runtime reports 1.58.5-merge-queue-operators.","constraints":[{"id":"explicit-unfreeze","statement":"Explicitly unfreeze the control plane only for workers/cc-execution/src/version.js for this bounded maintenance operation.","proofConditionIds":["proof-runtime"]},{"id":"one-file","statement":"Only workers/cc-execution/src/version.js may change.","proofConditionIds":["proof-runtime"]},{"id":"no-logic-change","statement":"No product behavior, queue semantics, workflow logic, or other source may change.","proofConditionIds":["proof-runtime"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-runtime","kind":"runtime","claim":"Live cc-execution reports version 1.58.5-merge-queue-operators after canonical release.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":"1.58.5-merge-queue-operators","targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestContractHash":"5d060b9afc2efd30ef0ea7275678f7870dbd69f10d492a4f060cc8cfc9aa80df","requestContractRevision":3,"previousRequestContractHash":"186ef8f20c611295ec0c00f48b58299e61f28975e4f18862075429aa090beba4"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-03T02:50:58.571849+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:e7e222c4-c364-4f53-b607-793a40c0c2a5:request-contract-revision:3:5d060b9afc2efd30ef0ea7275678f7870dbd69f10d492a4f060cc8cfc9aa80df","mission_step_id":"5a04c869-4c08-4ddb-ae7d-60fce0f9d10b","command_center_event_id":"e7e222c4-c364-4f53-b607-793a40c0c2a5"},{"id":"717559a7-7066-4688-b31b-42ecf7d4be41","source":"owner_authorized_full_backlog_cleanup","status":"recorded","payload":{"category":"platform_reliability","disposition":"superseded_execution_attempt","previousStatus":"blocked","sourcePreserved":true,"noCompletionClaim":true,"recoveryPortfolioId":"a4802fad-d162-cf0a-22ac-109a197b3183"},"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:74d6f82f-cbed-4b2d-943d-6dd876de44f0","mission_step_id":null,"command_center_event_id":"74d6f82f-cbed-4b2d-943d-6dd876de44f0"},{"id":"71757f06-4e4c-478b-893a-039e429fde70","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/src-cohesion-phase-2-20260910","reason":"fresh_pr_provider_receipt_already_proves_auto_progress_gate_notifier_owns_next_state","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.97-mutation-latency-reconcile-fastpath","prNumber":2327,"terminal":false,"missionId":"d04d0cdf-8794-4241-a006-24c15ffc3802","operation":"execute_mission","proofGate":"repair_mission_fresh_pr_handed_off_to_gate","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":10448,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":946,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":946,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":946,"repositoryMutationMs":10448,"repositoryProviderMs":7528,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":3398,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":946,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":4130},"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":"d04d0cdf-8794-4241-a006-24c15ffc3802"},"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":3198,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-10T21:15:45.062155+00:00","proof_gate":"repair_mission_fresh_pr_handed_off_to_gate","source_sha":null,"external_id":"2327","receipt_type":"execute_mission","idempotency_key":"mission:d04d0cdf-8794-4241-a006-24c15ffc3802:execute_mission:repair_mission_fresh_pr_handed_off_to_gate:current-generation","mission_step_id":"16884d69-199a-4dd2-95d5-3d447bf04b1a","command_center_event_id":"d04d0cdf-8794-4241-a006-24c15ffc3802"},{"id":"71776f92-1de4-4a87-9699-ad9911c0b361","source":"forgejo-runtime","status":"failed","payload":{"failed":["forgejo-release/workflow"],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"failure","frontend-cloudflare/live":"pending"},"mainSha":"c17d833ce8fd109157f10686892178773a55b6a2","missing":[],"pending":["frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"3a5d507f2e54029ff61840b9117ec70988493ef4","releaseState":"failed","sourceInMain":true,"compareStatus":"known_exact_protected_main_push_history","releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"pending"},"requestContractHash":"e23ea8de595c59d228d4a8a3a598eb48697461fad53214b7dc84316b48184086","forgejoWorkflowProof":{"runId":14833,"source":"signed_push_receipt","status":"cancelled","results":{},"conclusion":"cancelled","fingerprint":"cancelled||","failureClass":"release_cancelled_transient","targetStates":{"frontend":"pending"},"safeAutoRetry":true,"targetJobCount":7,"observedTargetStates":{"frontend":"pending"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T16:00:29.700457+00:00","proof_gate":"canonical_release_terminal_failed","source_sha":"3a5d507f2e54029ff61840b9117ec70988493ef4","external_id":"forgejo-main-3a5d507f2e54","receipt_type":"canonical_release_status","idempotency_key":"mission:2ed0df57-d89c-4313-a05b-0dd15ac7a3f5:forgejo-release-status:3a5d507f2e54029ff61840b9117ec70988493ef4:failed:forgejo-main/source=success|forgejo-release/workflow=failure|frontend-cloudflare/live=pending","mission_step_id":"7b3d67d1-d731-425a-9f8d-7d521ff1caa0","command_center_event_id":"2ed0df57-d89c-4313-a05b-0dd15ac7a3f5"},{"id":"7178b959-0625-4055-9464-db3af6a293db","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/29-app-contextual-workspace-registry-20260910","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":2342,"terminal":false,"missionId":"2d105f3a-c7a2-4675-be51-b510601b8850","operation":"automatic_mission_resume","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"prReadinessMs":254,"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":"2d105f3a-c7a2-4675-be51-b510601b8850"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1293,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-10T22:44:40.660855+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"2342","receipt_type":"automatic_mission_resume","idempotency_key":"mission:2d105f3a-c7a2-4675-be51-b510601b8850:automatic-mission-resume:2342:repair_mission_waiting_for_gate","mission_step_id":"ac7f0eb3-677d-4576-8af5-f53fad553412","command_center_event_id":"2d105f3a-c7a2-4675-be51-b510601b8850"},{"id":"717d889b-dfd1-4f2b-8d1a-e5f7e4206ffd","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/forgejo-merge-queue-read-budget-20260908","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":2171,"terminal":false,"missionId":"1f07bf0e-80ec-4f8d-99b0-bba05910a0d4","operation":"automatic_mission_resume","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"prReadinessMs":1884,"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":"1f07bf0e-80ec-4f8d-99b0-bba05910a0d4"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1289,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-08T21:12:01.916159+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"2171","receipt_type":"automatic_mission_resume","idempotency_key":"mission:1f07bf0e-80ec-4f8d-99b0-bba05910a0d4:automatic-mission-resume:2171:repair_mission_waiting_for_gate","mission_step_id":"24d656da-dce4-46a5-bdf2-2cdea9c2ca9e","command_center_event_id":"1f07bf0e-80ec-4f8d-99b0-bba05910a0d4"},{"id":"717d8faa-6036-44d0-9227-143928a168ea","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"585eda36f95a140b87bdf954840345451cc93d9d","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"585eda36f95a140b87bdf954840345451cc93d9d","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"pending"},"requestContractHash":"f75dafaccafc8177844de3fd8f0911abeb4561198622783caab848bd8e6c9958","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/5758","runId":5758,"status":"running","sourceSha":"585eda36f95a140b87bdf954840345451cc93d9d","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-06T02:07:43.967709+00:00","proof_gate":"canonical_release_pending","source_sha":"585eda36f95a140b87bdf954840345451cc93d9d","external_id":"forgejo-main-585eda36f95a","receipt_type":"canonical_release_status","idempotency_key":"mission:a78f2be4-9861-4ff1-a240-e05dd421762b:forgejo-release-status:585eda36f95a140b87bdf954840345451cc93d9d:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"d4bbac0c-0393-4c50-a62c-425327e0cfd5","command_center_event_id":"a78f2be4-9861-4ff1-a240-e05dd421762b"},{"id":"717e29e2-4b2c-4361-a3de-b9476a25120f","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.77-paul-heldout-repair","prNumber":null,"terminal":false,"missionId":"57d7ea5b-604a-4d7b-9652-3f7aad1aa4c3","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1320,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":552,"providerAuthMs":0,"ledgerPrepareMs":552,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":552,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":552,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Synthesize exact mutation from the resolved authoritative source targets and continue this same mission.","receiptRef":{"mode":"full","missionId":"57d7ea5b-604a-4d7b-9652-3f7aad1aa4c3"},"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":3587,"likelyAffectedFiles":["scripts/command-center-host-agent/forgejo-watchdog.sh","scripts/command-center-host-agent/install-forgejo-watchdog.sh","scripts/command-center-host-agent/knocklaunch-forgejo-watchdog.service","scripts/command-center-host-agent/knocklaunch-forgejo-watchdog.timer"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T16:19:29.835447+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:57d7ea5b-604a-4d7b-9652-3f7aad1aa4c3:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"c6e5bfd8-48bb-416d-8477-46c70db2a550","command_center_event_id":"57d7ea5b-604a-4d7b-9652-3f7aad1aa4c3"},{"id":"717eab46-7179-4d20-9055-5c7bb1a6c6db","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-156dda51be1f","reason":"existing_pr_identity_hydration_persist_failed","status":"retryable","metrics":{"receiptBytes":91007,"releaseCount":0,"toolCallCount":53,"repeatedCallCount":45,"executorlessWaitMs":881223,"firstUsefulResultAt":"2026-10-06T19:39:27.591Z","recoveryAttemptCount":42,"ownerInterruptionCount":0},"version":null,"prNumber":5230,"terminal":false,"missionId":"156dda51-be1f-47cd-83cb-0c33b230daff","operation":"automatic_mission_resume","proofGate":"existing_pr_identity_hydration_persist_retryable","sourceSha":"97eb696b505bacb1490e46534e3bc67d7c90a864","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"156dda51-be1f-47cd-83cb-0c33b230daff"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":false,"migrations":false,"ccExecution":true,"supabaseEdge":false},"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":276,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T19:40:43.138097+00:00","proof_gate":"existing_pr_identity_hydration_persist_retryable","source_sha":null,"external_id":"5230","receipt_type":"automatic_mission_resume","idempotency_key":"mission:156dda51-be1f-47cd-83cb-0c33b230daff:automatic-mission-resume:5230:existing_pr_identity_hydration_persist_retryable","mission_step_id":"11e7335d-75ba-44d4-8a1b-51b614baf897","command_center_event_id":"156dda51-be1f-47cd-83cb-0c33b230daff"},{"id":"7180c404-5ff6-44c1-be1f-53ab6a682b4c","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"19774fcd24811ac1451fe38946436da826557f88","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"19774fcd24811ac1451fe38946436da826557f88","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"pending"},"requestContractHash":"8aa0e3e5a1bf158bad2f003facd49347e629e5c370b60fcfa8d40dd87cfd06f6","forgejoWorkflowProof":{"runId":13515,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"frontend":"pending"},"targetJobCount":6,"observedTargetStates":{"frontend":"pending"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T23:11:08.85677+00:00","proof_gate":"canonical_release_pending","source_sha":"19774fcd24811ac1451fe38946436da826557f88","external_id":"forgejo-main-19774fcd2481","receipt_type":"canonical_release_status","idempotency_key":"mission:8c64d551-09cd-4a22-8649-a04d9e811c37:forgejo-release-status:19774fcd24811ac1451fe38946436da826557f88:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"3760d8cc-8696-437d-8718-fd3cb7cce9ad","command_center_event_id":"8c64d551-09cd-4a22-8649-a04d9e811c37"},{"id":"71844301-3875-4020-b0c4-4733aba4a1ae","source":"cc-execution","status":"authorized","payload":{"paths":[".forgejo/workflows/knocklaunch.yml"],"reason":"Owner-authorized reliability repair for cc-execution release runner eligibility and its Gate invariant.","baseSha":"a8db7ed34168aa096b88f7b70c8bedfd992bd92c","issuedAt":1791214138927,"expiresAt":1791214318927,"missionId":"a5febfb2-bf87-4057-b930-a2694ed6ff33","authorizationId":"7f9be2a1-79b3-47c1-81ff-2aa1dfe4eac3","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T15:28:59.232123+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"a8db7ed34168aa096b88f7b70c8bedfd992bd92c","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:7f9be2a1-79b3-47c1-81ff-2aa1dfe4eac3","mission_step_id":"6f237060-d910-46eb-ab79-619d42e6facb","command_center_event_id":"a5febfb2-bf87-4057-b930-a2694ed6ff33"},{"id":"7184e25b-41d8-4324-a5a8-a0d63abbc627","source":"cc-execution","status":"pending","payload":{"ok":true,"jobId":"a38fafb6-7804-4157-bdc7-3e94101638da","phase":"universal_visual_witness_supervised","branch":"ai/objective-first-repair-058e1f3cbbfd","reason":null,"status":"pending","metrics":{"receiptBytes":56382,"releaseCount":0,"toolCallCount":19,"repeatedCallCount":7,"executorlessWaitMs":721442,"firstUsefulResultAt":"2026-09-25T17:35:45.256Z","recoveryAttemptCount":6,"ownerInterruptionCount":0},"version":null,"prNumber":3749,"terminal":false,"missionId":"058e1f3c-bbfd-476f-bd60-bbf109806103","operation":"visual_proof_started","proofGate":"universal_visual_witness_pending","sourceSha":"ab841a75a95b17b0a5c4c7cb866c541d6dd761b1","timingsMs":{"queue":237,"total":253,"execution":16},"nextAction":"Execution is pending; poll inspect_route_status only when fresh progress is expected, or cancel with inspect_route_cancel.","receiptRef":{"mode":"full","missionId":"058e1f3c-bbfd-476f-bd60-bbf109806103"},"performance":null,"deploymentId":"forgejo-main-ab841a75a95b","releaseState":"verified","visualWitness":{"role":"GodMode","jobId":"a38fafb6-7804-4157-bdc7-3e94101638da","tenant":null,"runnerUrl":"https://paul-witness.knocklaunch.app","runnerLane":"paul","attemptsUsed":0,"supervisorId":"a38fafb6-7804-4157-bdc7-3e94101638da","failureReason":null,"observedRoute":null,"runnerVersion":null,"attemptLineage":[],"missionOutcome":null,"requestedRoute":"/big-papis/owner/inventory?bpMode=popup","runnerSourceSha":null,"selectedViewports":["mobile"],"checkpointAccounting":null,"correctiveGeneration":0,"restartReplayHistory":[]},"workflowRunId":11846,"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":1775,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T17:47:48.383209+00:00","proof_gate":"post_release_visual_proof_started","source_sha":"ab841a75a95b17b0a5c4c7cb866c541d6dd761b1","external_id":"a38fafb6-7804-4157-bdc7-3e94101638da","receipt_type":"visual_proof_started","idempotency_key":"mission:058e1f3c-bbfd-476f-bd60-bbf109806103:visual-start:a38fafb6-7804-4157-bdc7-3e94101638da","mission_step_id":"9514d915-0379-470b-a484-8a348e457da4","command_center_event_id":"058e1f3c-bbfd-476f-bd60-bbf109806103"},{"id":"7185d48a-170d-4c22-a3f9-1fbdde929fce","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-10537c192b88","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":5905,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":2,"executorlessWaitMs":97278,"firstUsefulResultAt":"2026-09-30T13:39:04.114Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.15-paul-tree-pagination","prNumber":null,"terminal":false,"missionId":"10537c19-2b88-4637-9b64-d2a82ec654b0","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1176,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":340,"providerAuthMs":0,"ledgerPrepareMs":340,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":340,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":340,"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":"10537c19-2b88-4637-9b64-d2a82ec654b0"},"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":3502,"likelyAffectedFiles":["src/components/admin/TenantUserCommandCenters.tsx"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T13:39:04.178564+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:10537c19-2b88-4637-9b64-d2a82ec654b0:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"22cdeff3-1ca8-44cf-a9d7-03ff1ef082f3","command_center_event_id":"10537c19-2b88-4637-9b64-d2a82ec654b0"},{"id":"71892481-7097-4729-9c81-500fcda91850","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in release.","nextAction":{"lane":"production-release-conductor","action":"reconcile_release","reason":"merged_source_requires_release_proof","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"source_lineage_merged_pr_authoritative\",\"status\":\"waiting\",\"proofGate\":\"forgejo_merged_pr_is_authoritative_source_lineage\"},\"activeStep\":{\"key\":\"pull_request\",\"status\":\"waiting\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"release\",\"status\":\"waiting\",\"lane\":\"production-release-conductor\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_release\",\"recoveryOwner\":\"production-release-conductor\"},\"acceptance\":{\"total\":2,\"verified\":0,\"pending\":2,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\",\"proof-visual\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"release\",\"deadlineAt\":\"2026-09-30T23:50:19.809138+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-d6357c3686c8\",\"prNumber\":4270,\"sourceSha\":\"67efcaafe3aafdaca4a0d1e14008941e53bf066c\",\"deploymentId\":\"forgejo-main-67efcaafe3aa\"}"},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-09-30T20:55:03.293931+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:d6357c36-86c8-4fbf-8123-5460dd0ef2c7:owner-progress-heartbeat:119386780","mission_step_id":"e2f58026-df7b-4868-8c99-63bb05351753","command_center_event_id":"d6357c36-86c8-4fbf-8123-5460dd0ef2c7"},{"id":"7189aa7e-81d4-4e5f-81ee-45d3cbcf17eb","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-fe3b322706d0","reason":"pull_request_stale_refresh_required","status":"retryable","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":2922,"terminal":false,"missionId":"fe3b3227-06d0-438f-bec5-f42f51cf93a6","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":10479,"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":"fe3b3227-06d0-438f-bec5-f42f51cf93a6"},"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":2246,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-16T16:19:05.564616+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"2922","receipt_type":"automatic_mission_resume","idempotency_key":"mission:fe3b3227-06d0-438f-bec5-f42f51cf93a6:automatic-mission-resume:2922:repair_mission_pr_ready_retryable","mission_step_id":"736be312-463c-4d09-9334-da8fdc662b43","command_center_event_id":"fe3b3227-06d0-438f-bec5-f42f51cf93a6"},{"id":"7189c3c0-dce3-4db0-a42d-363c3777efe7","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/fix-event-rental-crm-route-leakage","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":3171,"terminal":false,"missionId":"4d2d0e68-eda1-4c08-9813-07eae2bb176b","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":9324,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":1346,"missionSetupMs":383,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":291,"ledgerReconcileMs":0,"lineageReconcileMs":92,"resolvePreflightMs":383,"repositoryMutationMs":7978,"repositoryProviderMs":7978,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":4744,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":291,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":3234},"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":"4d2d0e68-eda1-4c08-9813-07eae2bb176b"},"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":3504,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-19T03:17:36.799669+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3171","receipt_type":"execute_mission","idempotency_key":"mission:4d2d0e68-eda1-4c08-9813-07eae2bb176b:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"86adf3b8-3f4d-44d0-a6b7-888a74a75f7e","command_center_event_id":"4d2d0e68-eda1-4c08-9813-07eae2bb176b"},{"id":"718a5987-5768-4ee7-9d55-6d2a64809a76","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":null,"reason":null,"status":"source_resolution_required","metrics":{"receiptBytes":1692,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-09-30T15:57:03.543Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.19-paul-grounded-tool-arguments","prNumber":null,"terminal":false,"missionId":"b85a4ab1-64ca-4541-bb0e-f125b83c2c01","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1150,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":354,"providerAuthMs":0,"ledgerPrepareMs":354,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":354,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":354,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Supply exact sourceTargets on the same mission; planner guesses cannot replace missing mission scope.","receiptRef":{"mode":"full","missionId":"b85a4ab1-64ca-4541-bb0e-f125b83c2c01"},"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-30T15:57:03.576001+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:b85a4ab1-64ca-4541-bb0e-f125b83c2c01:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"a213f7c1-0b23-4071-a32c-78bd6caa3726","command_center_event_id":"b85a4ab1-64ca-4541-bb0e-f125b83c2c01"},{"id":"718ff53a-f62d-494e-8bae-209e823113fe","source":"forgejo","status":"verified","payload":{"branch":"ai/forgejo-overload-drift-watchdog-20260826","prNumber":773,"nextAction":null,"mergeCommitSha":"0233b1eced21a096bd94049087834fed7027a726","branchDeletedAfterMerge":false,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-26T14:59:22.378035+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"0233b1eced21a096bd94049087834fed7027a726","external_id":"773","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:140b1c2f-a543-45aa-9810-15f2b97c9883:merged-pr:773:0233b1eced21a096bd94049087834fed7027a726","mission_step_id":"a00387bf-7526-4f5b-bd2a-9ca775d7530e","command_center_event_id":"140b1c2f-a543-45aa-9810-15f2b97c9883"},{"id":"71906617-614f-420e-a073-793c2bcabee4","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":"e42b0f61ae566b225e0627dfafb9cb82e2bb5eaa","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live","frontend-cloudflare/live"],"sourceSha":"e42b0f61ae566b225e0627dfafb9cb82e2bb5eaa","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["agreement-sign"]},"releaseTargetStates":{"frontend":"pending","supabaseEdge":"success"},"requestContractHash":"23fd955e04385389a682445310c916802d710f353913f829bbc0b627f895bf2a","forgejoWorkflowProof":{"runId":10616,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"frontend":"pending","supabaseEdge":"success"},"targetJobCount":7,"observedTargetStates":{"frontend":"pending","supabaseEdge":"success"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-22T00:06:45.170977+00:00","proof_gate":"canonical_release_pending","source_sha":"e42b0f61ae566b225e0627dfafb9cb82e2bb5eaa","external_id":"forgejo-main-e42b0f61ae56","receipt_type":"canonical_release_status","idempotency_key":"mission:5ac189fb-9aba-4500-96df-49ceaad02d38:forgejo-release-status:e42b0f61ae566b225e0627dfafb9cb82e2bb5eaa:pending:forgejo-main/source=success|forgejo-release/workflow=pending|supabase-edge-production/live=success|frontend-cloudflare/live=pending","mission_step_id":"6e98caa3-5738-421d-9e08-c968b1837096","command_center_event_id":"5ac189fb-9aba-4500-96df-49ceaad02d38"},{"id":"7190dd18-387e-4d43-842a-20b22f077b75","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"c11841abd231d79ea01a32a5508376f412778747","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"golden-restore-point","satisfied":true,"statement":"The canonical restore-point file pins the proven working application source 502f0b4246cbfa5d77b1e784a76d605082bc1bd9 and current verified Command Center runtime 37ecdade316022fbe3ffe4c4c27f2d0d1d3fdd6f.","proofConditionIds":["repository-state"]}],"satisfied":true,"constraints":[{"id":"one-file","satisfied":true,"statement":"Only config/control-plane-restore-point.json may change.","proofConditionIds":["repository-state"]},{"id":"locked-after","satisfied":true,"statement":"The control plane remains frozen/locked after the update.","proofConditionIds":["repository-state"]}],"contractHash":"88a0e863a2d058e407de7c07f98b95d2a58a24062dcd4885ecb060abcd89203e","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"repository-state","kind":"repository","evidence":{"repositoryProofGate":"request_contract_repository_verified","requestContractHash":"88a0e863a2d058e407de7c07f98b95d2a58a24062dcd4885ecb060abcd89203e","repositoryProofStatus":"verified","repositoryProofSourceSha":"c11841abd231d79ea01a32a5508376f412778747"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":[]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":2},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-10T21:57:18.917134+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"c11841abd231d79ea01a32a5508376f412778747","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:0202f21a-6536-4659-851d-c4ed0b0a79d6:request-contract:88a0e863a2d058e407de7c07f98b95d2a58a24062dcd4885ecb060abcd89203e:c11841abd231d79ea01a32a5508376f412778747:verified:","mission_step_id":"c22e981a-fced-421b-b966-c1b6c4afcf49","command_center_event_id":"0202f21a-6536-4659-851d-c4ed0b0a79d6"},{"id":"71914074-fc92-439e-9b98-5490dcbddee7","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.7-explicit-route-proof-intent","prNumber":4726,"terminal":false,"missionId":"16e30b05-1730-40cb-8c71-c67da5be77f6","operation":"ship_and_prove","proofGate":"canonical_release_dispatched","sourceSha":"e5be6033c6bf0c58b33057a449068cfa771e7b17","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"16e30b05-1730-40cb-8c71-c67da5be77f6"},"performance":null,"deploymentId":"canonical-release-e5be6033c6bf","workflowRunId":31675430427,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["send-email","send-sms"]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1351,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"fe5cc9d9-c2fe-4062-84c7-a334663cd63c","created_at":"2026-08-13T06:51:35.554387+00:00","proof_gate":"canonical_release_dispatched","source_sha":"e5be6033c6bf0c58b33057a449068cfa771e7b17","external_id":"canonical-release-e5be6033c6bf","receipt_type":"ship_and_prove","idempotency_key":"mission:16e30b05-1730-40cb-8c71-c67da5be77f6:ship_and_prove:canonical_release_dispatched:e5be6033c6bf0c58b33057a449068cfa771e7b17:31675430427","mission_step_id":"c26062e1-65ac-46a2-96bc-5f0273a66e07","command_center_event_id":"16e30b05-1730-40cb-8c71-c67da5be77f6"},{"id":"7192de91-df25-45a5-8f56-3371d548f9f7","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-8b6ae21fdbf3","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":30308,"releaseCount":0,"toolCallCount":7,"repeatedCallCount":3,"executorlessWaitMs":69017,"firstUsefulResultAt":"2026-09-28T17:29:57.984Z","recoveryAttemptCount":5,"ownerInterruptionCount":0},"version":null,"prNumber":4025,"terminal":false,"missionId":"8b6ae21f-dbf3-4249-be54-d9f80a5158ae","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"d673d03e3b2bd0290f305b454503879a199839c3","timingsMs":{"prReadinessMs":74,"approvedPlanMs":0,"shipAndProveMs":285,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"8b6ae21f-dbf3-4249-be54-d9f80a5158ae"},"performance":null,"deploymentId":"forgejo-main-d673d03e3b2b","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["operator-respond"]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1965,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T17:33:48.557798+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"4025","receipt_type":"automatic_mission_resume","idempotency_key":"mission:8b6ae21f-dbf3-4249-be54-d9f80a5158ae:automatic-mission-resume:4025:canonical_release_reconciliation_pending","mission_step_id":"f09a810a-7518-4673-815e-285bc4a08188","command_center_event_id":"8b6ae21f-dbf3-4249-be54-d9f80a5158ae"},{"id":"7193739c-3601-4ed3-a20a-da784a0d0aba","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[{"path":"workers/cc-execution/src/version.js","content":"// Release marker: Forgejo is the canonical repository and self-hosted Actions control plane.\nexport const CC_EXECUTION_VERSION = \"1.65.10-boundary-fix-release-retry\";\n"}],"branch":"ai/objective-first-repair-3f4b9b17a459","writes":[],"patches":[],"version":1,"approved":true,"missionId":"3f4b9b17-a459-499f-905f-79ebc4c6ceae","objective":"Advance only the cc-execution release marker from 1.65.9-mission-boundary-contract-hydration to 1.65.10-boundary-fix-release-retry so current protected main is released through the event-native cc-execution path. Do not change runtime behavior beyond the version marker. Current main already contains the mission-boundary requestContract hydration fix. Gate, squash merge, release cc-execution, and verify the live runtime is 1.65.10-boundary-fix-release-retry with the boundary fix present.","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"implementation":{"files":[],"writes":[]},"requestContract":{"intent":{"rawUtterance":"Advance only the cc-execution release marker from 1.65.9-mission-boundary-contract-hydration to 1.65.10-boundary-fix-release-retry so current protected main is released through the event-native cc-execution path. Do not change runtime behavior beyond the version marker. Current main already contains the mission-boundary requestContract hydration fix. Gate, squash merge, release cc-execution, and verify the live runtime is 1.65.10-boundary-fix-release-retry with the boundary fix present.","wordingChanged":false,"canonicalIntent":"Advance only the cc-execution release marker from 1.65.9-mission-boundary-contract-hydration to 1.65.10-boundary-fix-release-retry so current protected main is released through the event-native cc-execution path. Do not change runtime behavior beyond the version marker. Current main already contains the mission-boundary requestContract hydration fix. Gate, squash merge, release cc-execution, and verify the live runtime is 1.65.10-boundary-fix-release-retry with the boundary fix present.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"Advance only the cc-execution release marker from 1.65.9-mission-boundary-contract-hydration to 1.65.10-boundary-fix-release-retry so current protected main is released through the event-native cc-execution path. Do not change runtime behavior beyond the version marker. Current main already contains the mission-boundary requestContract hydration fix. Gate, squash merge, release cc-execution, and verify the live runtime is 1.65.10-boundary-fix-release-retry with the boundary fix present.","provenance":{"reason":null,"source":"current_explicit_owner_request","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]}],"objective":"Advance only the cc-execution release marker from 1.65.9-mission-boundary-contract-hydration to 1.65.10-boundary-fix-release-retry so current protected main is released through the event-native cc-execution path. Do not change runtime behavior beyond the version marker. Current main already contains the mission-boundary requestContract hydration fix. Gate, squash merge, release cc-execution, and verify the live runtime is 1.65.10-boundary-fix-release-retry with the boundary fix present.","constraints":[{"id":"capability-completeness","statement":"Change only the release marker; preserve current-main runtime behavior and all safety invariants.","provenance":{"reason":null,"source":"current_explicit_owner_request","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-production","kind":"runtime","claim":"Advance only the cc-execution release marker from 1.65.9-mission-boundary-contract-hydration to 1.65.10-boundary-fix-release-retry so current protected main is released through the event-native cc-execution path. Do not change runtime behavior beyond the version marker. Current main already contains the mission-boundary requestContract hydration fix. Gate, squash merge, release cc-execution, and verify the live runtime is 1.65.10-boundary-fix-release-retry with the boundary fix present.","required":true,"targetedActions":[],"allowedReleaseTargets":["cc-execution"],"requiredReleaseTargets":["cc-execution"],"requireCapacityAdmissible":false,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}]},"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":null,"ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"requestContract":{"intent":{"rawUtterance":"Advance only the cc-execution release marker from 1.65.9-mission-boundary-contract-hydration to 1.65.10-boundary-fix-release-retry so current protected main is released through the event-native cc-execution path. Do not change runtime behavior beyond the version marker. Current main already contains the mission-boundary requestContract hydration fix. Gate, squash merge, release cc-execution, and verify the live runtime is 1.65.10-boundary-fix-release-retry with the boundary fix present.","wordingChanged":false,"canonicalIntent":"Advance only the cc-execution release marker from 1.65.9-mission-boundary-contract-hydration to 1.65.10-boundary-fix-release-retry so current protected main is released through the event-native cc-execution path. Do not change runtime behavior beyond the version marker. Current main already contains the mission-boundary requestContract hydration fix. Gate, squash merge, release cc-execution, and verify the live runtime is 1.65.10-boundary-fix-release-retry with the boundary fix present.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"Advance only the cc-execution release marker from 1.65.9-mission-boundary-contract-hydration to 1.65.10-boundary-fix-release-retry so current protected main is released through the event-native cc-execution path. Do not change runtime behavior beyond the version marker. Current main already contains the mission-boundary requestContract hydration fix. Gate, squash merge, release cc-execution, and verify the live runtime is 1.65.10-boundary-fix-release-retry with the boundary fix present.","provenance":{"reason":null,"source":"current_explicit_owner_request","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]}],"objective":"Advance only the cc-execution release marker from 1.65.9-mission-boundary-contract-hydration to 1.65.10-boundary-fix-release-retry so current protected main is released through the event-native cc-execution path. Do not change runtime behavior beyond the version marker. Current main already contains the mission-boundary requestContract hydration fix. Gate, squash merge, release cc-execution, and verify the live runtime is 1.65.10-boundary-fix-release-retry with the boundary fix present.","constraints":[{"id":"capability-completeness","statement":"Change only the release marker; preserve current-main runtime behavior and all safety invariants.","provenance":{"reason":null,"source":"current_explicit_owner_request","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-production","kind":"runtime","claim":"Advance only the cc-execution release marker from 1.65.9-mission-boundary-contract-hydration to 1.65.10-boundary-fix-release-retry so current protected main is released through the event-native cc-execution path. Do not change runtime behavior beyond the version marker. Current main already contains the mission-boundary requestContract hydration fix. Gate, squash merge, release cc-execution, and verify the live runtime is 1.65.10-boundary-fix-release-retry with the boundary fix present.","required":true,"targetedActions":[],"allowedReleaseTargets":["cc-execution"],"requiredReleaseTargets":["cc-execution"],"requireCapacityAdmissible":false,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}]},"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["workers/cc-execution/src/version.js"],"controlPlaneMaintenanceReason":"Trigger a clean event-native cc-execution release from current main after the prior release run failed."},"proofRequirements":null,"controlPlaneUnfreeze":true,"durableMutationResume":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["workers/cc-execution/src/version.js"],"controlPlaneMaintenanceReason":"Trigger a clean event-native cc-execution release from current main after the prior release run failed."},"recovery":false,"fingerprint":"bba7056f4b5bc59a1e96c64f6afc311fc9bb663136c9b19b7fa968f0d527f195","replayCount":0,"serializedBytes":9097},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T02:38:39.004867+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:3f4b9b17-a459-499f-905f-79ebc4c6ceae:repository-mutation-intent:bba7056f4b5bc59a1e96c64f6afc311fc9bb663136c9b19b7fa968f0d527f195:0","mission_step_id":"a7b02b30-7828-4139-95b1-7b025ede44f9","command_center_event_id":"3f4b9b17-a459-499f-905f-79ebc4c6ceae"},{"id":"7196280c-6ee5-4e53-94da-659c944b73cc","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/roofhelpfinder-root-video-home-20260828","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":18137,"releaseCount":0,"toolCallCount":7,"repeatedCallCount":2,"ownerInterruptionCount":0},"version":"1.55.0-godmode-restore-points","prNumber":926,"terminal":false,"missionId":"a2aeeb9e-e949-45a9-b69b-09755df6516b","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"a9fcd52bafa534e0813195f62d00ae2eafb4617f","timingsMs":{"handlerMs":28556,"prReadinessMs":1111,"approvedPlanMs":18327,"missionSetupMs":3466,"shipAndProveMs":8849},"nextAction":null,"receiptRef":{"mode":"full","missionId":"a2aeeb9e-e949-45a9-b69b-09755df6516b"},"performance":null,"deploymentId":"forgejo-main-a9fcd52bafa5","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":7659,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"c3f09b56-5ff5-4521-8a0a-39cbeb4b5275","created_at":"2026-08-28T14:20:34.380757+00:00","proof_gate":"canonical_release_dispatched","source_sha":"a9fcd52bafa534e0813195f62d00ae2eafb4617f","external_id":"forgejo-main-a9fcd52bafa5","receipt_type":"execute_mission","idempotency_key":"mission:a2aeeb9e-e949-45a9-b69b-09755df6516b:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"6ee59210-5f95-4b95-aa6b-c53c8799972d","command_center_event_id":"a2aeeb9e-e949-45a9-b69b-09755df6516b"},{"id":"71962920-5375-4a08-9f9c-0eb973a6fbbf","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-4adeff75f590","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":52218,"releaseCount":0,"toolCallCount":19,"repeatedCallCount":5,"executorlessWaitMs":506911,"firstUsefulResultAt":"2026-10-02T00:22:12.553Z","recoveryAttemptCount":3,"ownerInterruptionCount":0},"version":null,"prNumber":4427,"terminal":false,"missionId":"4adeff75-f590-4e0b-8da0-1b5cdd2e1d17","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"5789c78328f15f40979faf5a9de973830588b934","timingsMs":{"prReadinessMs":751,"approvedPlanMs":0,"shipAndProveMs":3418,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"4adeff75-f590-4e0b-8da0-1b5cdd2e1d17"},"performance":null,"deploymentId":"forgejo-main-5789c78328f1","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"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":2015,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T00:30:44.742964+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"4427","receipt_type":"automatic_mission_resume","idempotency_key":"mission:4adeff75-f590-4e0b-8da0-1b5cdd2e1d17:automatic-mission-resume:4427:canonical_release_reconciliation_pending","mission_step_id":"425c329c-11be-4c55-a745-7b2f4a8c8432","command_center_event_id":"4adeff75-f590-4e0b-8da0-1b5cdd2e1d17"},{"id":"719a0d3e-9dfa-4b11-ac8b-92cb88c5f748","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-5a53a8191243","writes":[],"patches":[],"version":1,"approved":true,"missionId":"5a53a819-1243-4723-9949-6b12b26e112f","objective":"Continue the existing PCG public-host-classifier mission with the exact current-main edits. Add the canonical PCG hostnames to the existing public-host allowlist, preserve typo aliases, update the existing classifier contract test, then Gate, merge, frontend release, and runtime proof.","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"anchored_edits":[{"path":"src/routes/appRouteClassifier.ts","edits":[{"new_content":"const PCG_PUBLIC_HOSTS = new Set(['pcgslab.com', 'www.pcgslab.com', 'prestigeouscardgrading.com', 'www.prestigeouscardgrading.com', 'prestigiouscardgrading.com', 'www.prestigiouscardgrading.com']);","old_content":"const PCG_PUBLIC_HOSTS = new Set(['pcgslab.com', 'www.pcgslab.com', 'prestigeouscardgrading.com', 'www.prestigeouscardgrading.com']);"}]},{"path":"src/__tests__/contracts/app-route-family-classifier.contract.test.ts","edits":[{"new_content":"  it('forces Roof Help Finder, WhatsMyProgress, and PCG custom hosts through the public shell', () => {\n    expect(classifyAppRoute('/anything', 'roofhelpfinder.com').isPublicRoute).toBe(true);\n    expect(classifyAppRoute('/anything', 'www.roofhelpfinder.com').isPublicRoute).toBe(true);\n    expect(classifyAppRoute('/tenant/customer', 'whatsmyprogress.com').isPublicRoute).toBe(true);\n    expect(classifyAppRoute('/tenant/customer', 'www.whatsmyprogress.com').isPublicRoute).toBe(true);\n    expect(classifyAppRoute('/', 'prestigiouscardgrading.com').isPublicRoute).toBe(true);\n    expect(classifyAppRoute('/', 'www.prestigiouscardgrading.com').isPublicRoute).toBe(true);\n    expect(classifyAppRoute('/', 'prestigeouscardgrading.com').isPublicRoute).toBe(true);\n    expect(classifyAppRoute('/', 'www.prestigeouscardgrading.com').isPublicRoute).toBe(true);\n  });","old_content":"  it('forces Roof Help Finder and WhatsMyProgress custom hosts through the public shell', () => {\n    expect(classifyAppRoute('/anything', 'roofhelpfinder.com').isPublicRoute).toBe(true);\n    expect(classifyAppRoute('/anything', 'www.roofhelpfinder.com').isPublicRoute).toBe(true);\n    expect(classifyAppRoute('/tenant/customer', 'whatsmyprogress.com').isPublicRoute).toBe(true);\n    expect(classifyAppRoute('/tenant/customer', 'www.whatsmyprogress.com').isPublicRoute).toBe(true);\n  });"}]}],"implementation":{"files":[],"writes":[]},"requestContract":{"outcomes":[{"id":"outcome-public-host","statement":"The correctly spelled PCG custom host is classified as public and reaches the PCG public site rather than the private login gate.","proofConditionIds":["proof-repository","proof-runtime"]},{"id":"outcome-aliases","statement":"The existing typo-domain public-host aliases remain public.","proofConditionIds":["proof-repository"]}],"constraints":[{"id":"constraint-auth","statement":"Do not weaken authentication for any non-PCG route or hostname; change only the explicit PCG public-host allowlist.","proofConditionIds":["proof-repository","proof-runtime"]},{"id":"constraint-shell","statement":"Preserve existing PublicAppShell and PCGPublicSite ownership; do not create a parallel route system.","proofConditionIds":["proof-repository"]}],"proofConditions":[{"id":"proof-repository","kind":"repository","claim":"Exact route-classifier diff and tests add the canonical PCG host while preserving existing aliases.","required":true,"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"]},{"id":"proof-runtime","kind":"runtime","claim":"After frontend release, prestigiouscardgrading.com renders the PCG Under Construction page rather than the private login screen.","required":true,"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"]}]},"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"5a53a819-1243-4723-9949-6b12b26e112f","ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"requestContract":{"outcomes":[{"id":"outcome-public-host","statement":"The correctly spelled PCG custom host is classified as public and reaches the PCG public site rather than the private login gate.","proofConditionIds":["proof-repository","proof-runtime"]},{"id":"outcome-aliases","statement":"The existing typo-domain public-host aliases remain public.","proofConditionIds":["proof-repository"]}],"constraints":[{"id":"constraint-auth","statement":"Do not weaken authentication for any non-PCG route or hostname; change only the explicit PCG public-host allowlist.","proofConditionIds":["proof-repository","proof-runtime"]},{"id":"constraint-shell","statement":"Preserve existing PublicAppShell and PCGPublicSite ownership; do not create a parallel route system.","proofConditionIds":["proof-repository"]}],"proofConditions":[{"id":"proof-repository","kind":"repository","claim":"Exact route-classifier diff and tests add the canonical PCG host while preserving existing aliases.","required":true,"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"]},{"id":"proof-runtime","kind":"runtime","claim":"After frontend release, prestigiouscardgrading.com renders the PCG Under Construction page rather than the private login screen.","required":true,"allowedReleaseTargets":["frontend"],"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":"b93509041f440c2fabfd5aca690f8f83598899803f88355975fac919fb6aa83e","replayCount":0,"serializedBytes":5808},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-10-04T09:58:10.152108+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:5a53a819-1243-4723-9949-6b12b26e112f:repository-mutation-intent:b93509041f440c2fabfd5aca690f8f83598899803f88355975fac919fb6aa83e:0","mission_step_id":"5e924c0f-568f-40e6-9cd5-e8f2177d2a27","command_center_event_id":"5a53a819-1243-4723-9949-6b12b26e112f"},{"id":"719b6a6b-4ad0-4da5-a1ae-9a190f127eff","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"689050a5a6380eaf670c35e3a370d1438852aa72","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"689050a5a6380eaf670c35e3a370d1438852aa72","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"requestContractHash":"f2272382477e2b4947848e64beceed875b396e48245f749004084e34bbc1330a","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/4034","runId":4034,"status":"running","sourceSha":"689050a5a6380eaf670c35e3a370d1438852aa72","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-01T15:00:45.191631+00:00","proof_gate":"canonical_release_pending","source_sha":"689050a5a6380eaf670c35e3a370d1438852aa72","external_id":"forgejo-main-689050a5a638","receipt_type":"canonical_release_status","idempotency_key":"mission:80cfcaab-c28e-4cb7-99c2-28690fdadb76:forgejo-release-status:689050a5a6380eaf670c35e3a370d1438852aa72:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"8544991d-cb1a-419e-8d5d-c5b089b761a0","command_center_event_id":"80cfcaab-c28e-4cb7-99c2-28690fdadb76"},{"id":"719e4739-9f2c-461e-9995-10fcb51b60e9","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-0d9553acf525","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":10222,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":0,"executorlessWaitMs":255673,"firstUsefulResultAt":"2026-10-02T16:10:34.634Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.50-onepath-source-domain","prNumber":4491,"terminal":false,"missionId":"0d9553ac-f525-41dc-a3cc-cad16c95d260","operation":"execute_mission","proofGate":"canonical_release_reconciliation_pending","sourceSha":"a9be8d8d7d7455320bcb369618059baaa1647983","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":2202,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":705,"approvedPlanMs":0,"missionSetupMs":395,"providerAuthMs":0,"shipAndProveMs":1105,"ledgerPrepareMs":295,"ledgerReconcileMs":0,"lineageReconcileMs":100,"resolvePreflightMs":395,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":295,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"0d9553ac-f525-41dc-a3cc-cad16c95d260"},"performance":null,"deploymentId":"forgejo-main-a9be8d8d7d74","releaseState":null,"workflowRunId":null,"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":2485,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T16:14:58.873352+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":"a9be8d8d7d7455320bcb369618059baaa1647983","external_id":"forgejo-main-a9be8d8d7d74","receipt_type":"execute_mission","idempotency_key":"mission:0d9553ac-f525-41dc-a3cc-cad16c95d260:execute_mission:canonical_release_reconciliation_pending:current-generation","mission_step_id":"e1b7d8fd-dbc0-4bb3-b372-b6d7423b276b","command_center_event_id":"0d9553ac-f525-41dc-a3cc-cad16c95d260"},{"id":"719f5ce5-3416-4c13-be79-7c0867627e36","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/sign-agreement-black-first-paint","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.209-visual-certification-hardening","prNumber":3380,"terminal":false,"missionId":"66c796a4-c5a5-43d1-866d-52e4a9fb9e18","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4181,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":938,"missionSetupMs":494,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":494,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":494,"repositoryMutationMs":3243,"repositoryProviderMs":3243,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":1806,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":494,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1437},"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":"66c796a4-c5a5-43d1-866d-52e4a9fb9e18"},"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":3283,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-22T00:40:36.921269+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3380","receipt_type":"execute_mission","idempotency_key":"mission:66c796a4-c5a5-43d1-866d-52e4a9fb9e18:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"8bc3be56-fa5d-42fd-9d11-154b1da37c66","command_center_event_id":"66c796a4-c5a5-43d1-866d-52e4a9fb9e18"},{"id":"71a0829c-f866-44f2-8355-badbe10cc225","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"c7d871952889a2685d6e4235a799ee01cbd4a41e","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"c7d871952889a2685d6e4235a799ee01cbd4a41e","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":"471305eab26540b72b194d2dbffc15ca1ef3f76338889b79c49aed32719808a6","forgejoWorkflowProof":{"runId":11942,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"frontend":"pending"},"targetJobCount":7,"observedTargetStates":{"frontend":"pending"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T23:35:14.975907+00:00","proof_gate":"canonical_release_pending","source_sha":"c7d871952889a2685d6e4235a799ee01cbd4a41e","external_id":"forgejo-main-c7d871952889","receipt_type":"canonical_release_status","idempotency_key":"mission:5db4dcef-bbbc-4d9c-8e88-ed5ee4c6b769:forgejo-release-status:c7d871952889a2685d6e4235a799ee01cbd4a41e:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"b6fae86f-ab84-45d6-b814-6d83d87421ac","command_center_event_id":"5db4dcef-bbbc-4d9c-8e88-ed5ee4c6b769"},{"id":"71a0a09e-e5da-4f1d-a3d4-ac25fd3ec6a2","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-branch-fallback","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":3467,"terminal":false,"missionId":"35838828-ffc6-4492-846f-6fdac35a9823","operation":"automatic_mission_resume","proofGate":"canonical_release_dispatched","sourceSha":"e6fe456ab28d8d94279a86a575094f0bff8acb83","timingsMs":{"prReadinessMs":614,"approvedPlanMs":0,"shipAndProveMs":3717,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"35838828-ffc6-4492-846f-6fdac35a9823"},"performance":null,"deploymentId":"forgejo-main-e6fe456ab28d","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1978,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T01:25:00.256352+00:00","proof_gate":"canonical_release_dispatched","source_sha":null,"external_id":"3467","receipt_type":"automatic_mission_resume","idempotency_key":"mission:35838828-ffc6-4492-846f-6fdac35a9823:automatic-mission-resume:3467:canonical_release_dispatched","mission_step_id":"e660e071-9299-4584-86f6-1beb70fb3709","command_center_event_id":"35838828-ffc6-4492-846f-6fdac35a9823"},{"id":"71a53274-e490-44fe-a050-81dde83f320b","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/knocklaunch-owner-os-revenue-refactor","reason":null,"status":"source_resolution_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.209-visual-certification-hardening","prNumber":null,"terminal":false,"missionId":"a9bd90b2-443e-4818-b3c1-e2ad28b692a6","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":137,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":443,"providerAuthMs":0,"ledgerPrepareMs":443,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":443,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":443,"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":"a9bd90b2-443e-4818-b3c1-e2ad28b692a6"},"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":9372,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-21T18:36:28.076865+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:a9bd90b2-443e-4818-b3c1-e2ad28b692a6:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"83b14ec9-1426-4454-a771-6a4d6ea77df1","command_center_event_id":"a9bd90b2-443e-4818-b3c1-e2ad28b692a6"},{"id":"71a67fa7-1484-4315-9fcf-c2b55115842d","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-1f6d708da5af","reason":"anchored_edit_anchor_missing:src/pages/mobile-vendor/BigPapisOwnerShell.tsx","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.161-forgejo-repository-file-pagination","prNumber":null,"terminal":false,"missionId":"1f6d708d-a5af-428a-a82e-7c27d4b58861","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1132,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":508,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":508,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":508,"repositoryMutationMs":1132,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":508,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"1f6d708d-a5af-428a-a82e-7c27d4b58861"},"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-16T15:12:54.721995+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:1f6d708d-a5af-428a-a82e-7c27d4b58861:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"c7d40228-c021-41d2-b7cc-acf270545956","command_center_event_id":"1f6d708d-a5af-428a-a82e-7c27d4b58861"},{"id":"71a8ffb6-7247-453a-bf43-16f65411e3a1","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-57e09f3d28f1","prNumber":4554,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"b3d3f203df4df6110304b3c6243ab877703d0287","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T23:08:05.390242+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"b3d3f203df4df6110304b3c6243ab877703d0287","external_id":"4554","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:57e09f3d-28f1-40a5-baf1-e07071a3e2f1:merged-pr:4554:b3d3f203df4df6110304b3c6243ab877703d0287","mission_step_id":"019ba8bc-65d6-4926-94d5-60bb5769c549","command_center_event_id":"57e09f3d-28f1-40a5-baf1-e07071a3e2f1"},{"id":"71a9de6b-fb01-40d5-a9e2-3ce56bb76bb5","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:37:40.57437+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:119418150","mission_step_id":"8f1c0a7d-df5b-4529-9b5e-b41c824b98db","command_center_event_id":"6cd825d0-ddfe-4532-8e8e-5f72704f5be5"},{"id":"71ab14ff-e3a0-46a2-9663-5902b634bfd8","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-53abf1af1cba","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":62055,"releaseCount":0,"toolCallCount":38,"repeatedCallCount":31,"executorlessWaitMs":233880,"firstUsefulResultAt":"2026-10-06T02:27:33.567Z","recoveryAttemptCount":31,"ownerInterruptionCount":0},"version":null,"prNumber":5137,"terminal":false,"missionId":"53abf1af-1cba-4aa6-b903-0dc6bc88a53d","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":2041,"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":"53abf1af-1cba-4aa6-b903-0dc6bc88a53d"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime","visual"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":819,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T02:29:34.046716+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"5137","receipt_type":"automatic_mission_resume","idempotency_key":"mission:53abf1af-1cba-4aa6-b903-0dc6bc88a53d:automatic-mission-resume:5137:repair_mission_pr_ready_retryable","mission_step_id":"5f5d8725-f416-445a-9f99-e33bd58f24ef","command_center_event_id":"53abf1af-1cba-4aa6-b903-0dc6bc88a53d"},{"id":"71ab22c7-5200-4860-809a-e491203dee00","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.44.0-control-plane-efficiency-iv","prNumber":84,"terminal":false,"missionId":"9e8818a1-37c3-4c3b-ba16-9e52d59dcb6c","operation":"ship_and_prove","proofGate":"canonical_release_dispatched","sourceSha":"761c1bbd54839549edaa51fad3bcfa1cbb9e4548","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"9e8818a1-37c3-4c3b-ba16-9e52d59dcb6c"},"performance":null,"deploymentId":"forgejo-main-761c1bbd5483","workflowRunId":235,"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":1378,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-15T02:41:15.634139+00:00","proof_gate":"canonical_release_dispatched","source_sha":"761c1bbd54839549edaa51fad3bcfa1cbb9e4548","external_id":"forgejo-main-761c1bbd5483","receipt_type":"ship_and_prove","idempotency_key":"mission:9e8818a1-37c3-4c3b-ba16-9e52d59dcb6c:ship_and_prove:canonical_release_dispatched:761c1bbd54839549edaa51fad3bcfa1cbb9e4548:235","mission_step_id":"eb9b4e6a-7c0d-44da-ad9c-e65cc1a10a8e","command_center_event_id":"9e8818a1-37c3-4c3b-ba16-9e52d59dcb6c"},{"id":"71ab390c-33ce-4344-b962-3cb72fb0d700","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:93147cf8-ae8b-4001-a7b6-f96655bf4ef8","mission_step_id":null,"command_center_event_id":"93147cf8-ae8b-4001-a7b6-f96655bf4ef8"},{"id":"71ac2740-b61f-47e6-8852-3f36d8b47dbf","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"b8af210bc6e11488e93c7a24adfc028966f5e694","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"b8af210bc6e11488e93c7a24adfc028966f5e694","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":"829351fd6fa5f542b7160f40ed9f8f45b02fefb991d039a465cfa476d9c9b1a8","forgejoWorkflowProof":{"runId":7303,"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-12T02:02:57.480994+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"b8af210bc6e11488e93c7a24adfc028966f5e694","external_id":"forgejo-main-b8af210bc6e1","receipt_type":"canonical_release_status","idempotency_key":"mission:2f77fe82-3d98-4a9a-a803-50cba9d08e80:forgejo-release-status:b8af210bc6e11488e93c7a24adfc028966f5e694:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"d4e219ef-eacb-418d-a0aa-eccba4f46b7a","command_center_event_id":"2f77fe82-3d98-4a9a-a803-50cba9d08e80"},{"id":"71ad1db4-6396-483d-b2af-025b0572d91e","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success","supabase-migrations/live":"success","supabase-edge-production/live":"success"},"mainSha":"4faa48a4a6e81063cf997425f9c23f885d553b93","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live","frontend-cloudflare/live","supabase-migrations/live"],"sourceSha":"4faa48a4a6e81063cf997425f9c23f885d553b93","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"onrunner":false,"migrations":true,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["documents","generate-tarping-invoice-pdf","invoices","invoices-manage"]},"releaseTargetStates":{"frontend":"success","migrations":"success","supabaseEdge":"success"},"requestContractHash":"2e871c1827f233b3c5f9cfe281c4faf89a5a38e34a4ae5332044eebb4c3d345b","forgejoWorkflowProof":{"runId":9302,"source":"signed_push_receipt","status":"success","results":{},"conclusion":"success","targetStates":{"frontend":"success","migrations":"success","supabaseEdge":"success"},"targetJobCount":7,"observedTargetStates":{"frontend":"success","migrations":"success","supabaseEdge":"success"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-17T20:31:36.343284+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"4faa48a4a6e81063cf997425f9c23f885d553b93","external_id":"forgejo-main-4faa48a4a6e8","receipt_type":"canonical_release_status","idempotency_key":"mission:bf688521-a4b8-4905-b11a-dd615cf361ee:forgejo-release-status:4faa48a4a6e81063cf997425f9c23f885d553b93:verified:forgejo-main/source=success|forgejo-release/workflow=success|supabase-edge-production/live=success|frontend-cloudflare/live=success|supabase-migrations/live=success","mission_step_id":"af725855-9d3f-4f1d-b5cf-4a6d3096e821","command_center_event_id":"bf688521-a4b8-4905-b11a-dd615cf361ee"},{"id":"71aee3be-9113-43e6-a852-d906f7da16d1","source":"cc-execution","status":"release_verification_pending","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":null,"reason":null,"status":"release_verification_pending","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.30.7-controlled-merge-release-readback","prNumber":3961,"terminal":false,"missionId":"17ad5472-0b5a-466c-a0d4-6f41ee7e4e2d","operation":"ship_and_prove","proofGate":"ship_and_prove_release_pending","sourceSha":"257b160256d8c924dfbf90c9b2a6ca15bcfe9f29","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"17ad5472-0b5a-466c-a0d4-6f41ee7e4e2d"},"performance":null,"deploymentId":"canonical-release-257b160256d8","workflowRunId":30913855189,"releaseTargets":{"frontend":true,"onrunner":true,"ccExecution":false,"supabaseEdge":false},"detailsAvailable":true,"sourceReceiptBytes":1445,"ownerActionRequired":false},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-04T14:02:27.329242+00:00","proof_gate":"ship_and_prove_release_pending","source_sha":"257b160256d8c924dfbf90c9b2a6ca15bcfe9f29","external_id":"canonical-release-257b160256d8","receipt_type":"ship_and_prove","idempotency_key":"mission:17ad5472-0b5a-466c-a0d4-6f41ee7e4e2d:ship_and_prove:ship_and_prove_release_pending","mission_step_id":"58a7178b-f57b-4460-9410-f02bbc5afc79","command_center_event_id":"17ad5472-0b5a-466c-a0d4-6f41ee7e4e2d"},{"id":"71afbebe-af78-44a8-80ed-b6961062865c","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-48249abba869","reason":"anchored_edit_invalid","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.215-zero-target-proof-reconciliation","prNumber":null,"terminal":false,"missionId":"48249abb-a869-4bab-9969-aa469063cba4","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":635,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":635,"missionSetupMs":454,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":454,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":454,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":454,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"48249abb-a869-4bab-9969-aa469063cba4"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1422,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-22T23:32:34.608762+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:48249abb-a869-4bab-9969-aa469063cba4:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"41cbfa70-bd3f-4cf8-9d3b-8069efef41be","command_center_event_id":"48249abb-a869-4bab-9969-aa469063cba4"},{"id":"71b0c899-69af-4ff0-a014-ab63fb7ee228","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/curri-agent-success","reason":"retryable_provider_transport:GET:The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":7231,"releaseCount":0,"toolCallCount":6,"repeatedCallCount":2,"ownerInterruptionCount":0},"version":"1.50.16-onrunner-release-ownership","prNumber":588,"terminal":false,"missionId":"4f4604c3-703f-4081-91e3-f67ebc1bdb22","operation":"execute_mission","proofGate":"repair_mission_execution_retryable","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"4f4604c3-703f-4081-91e3-f67ebc1bdb22"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":5065,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-22T16:32:27.099089+00:00","proof_gate":"repair_mission_execution_retryable","source_sha":null,"external_id":"588","receipt_type":"execute_mission","idempotency_key":"mission:4f4604c3-703f-4081-91e3-f67ebc1bdb22:execute_mission:repair_mission_execution_retryable","mission_step_id":"df327f35-753d-4fc2-a5fe-c8f4b322c7c6","command_center_event_id":"4f4604c3-703f-4081-91e3-f67ebc1bdb22"},{"id":"71bdb33c-8975-4441-8842-63d607340fb3","source":"forgejo","status":"waiting","payload":{"branch":"ai/redfish-contact-load-deadlock-r2-20260911","prNumber":2389,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"4c99a6524ecdf25e3acbf1ebd3ef2fc8ae16210d","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"de8369b6-a78f-40bb-ae1f-28ffca62bc7e","created_at":"2026-09-11T06:46:03.502965+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"4c99a6524ecdf25e3acbf1ebd3ef2fc8ae16210d","external_id":"2389","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:f5a9438c-4de6-4332-96e6-989c178d4685:merged-pr:2389:4c99a6524ecdf25e3acbf1ebd3ef2fc8ae16210d","mission_step_id":"64907333-d367-492f-9235-7e03538b6d67","command_center_event_id":"f5a9438c-4de6-4332-96e6-989c178d4685"},{"id":"71c175df-79ac-49d1-ad28-d95e08c6c6b3","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\":null,\"activeStep\":null,\"nextStep\":null,\"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\":\"visual-sandbox\",\"nextAction\":\"verify_visual\",\"recoveryOwner\":\"visual-sandbox\"},\"acceptance\":{\"total\":0,\"verified\":0,\"pending\":0,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":null,\"deadlineAt\":null,\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/seaside-canonical-route-convergence-20260806-r202608070156\",\"prNumber\":4171,\"sourceSha\":\"5e464eee28ed3f5b232d451c7f94625416469d4e\",\"deploymentId\":\"canonical-release-5e464eee28ed\"}"},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-10-04T18:36:05.012598+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:a713dee6-9927-44c3-b9c2-85f420780983:owner-progress-heartbeat:119409263","mission_step_id":"3dccd920-c010-44a1-9b28-aefcc3cbd1f1","command_center_event_id":"a713dee6-9927-44c3-b9c2-85f420780983"},{"id":"71c193b9-6cab-459e-8303-2106094457e8","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/tranzformer-auto-detailing-tenant","reason":"pull_request_stale_refresh_required","status":"retryable","metrics":{"receiptBytes":18178,"releaseCount":0,"toolCallCount":13,"repeatedCallCount":7,"ownerInterruptionCount":0},"version":"1.47.2-release-lineage-compare","prNumber":373,"terminal":false,"missionId":"933a8071-ed4f-4d7b-8962-633f1907e3ae","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":"933a8071-ed4f-4d7b-8962-633f1907e3ae"},"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":5909,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"6d00f95b-9a61-4c0d-9df2-a2f4677be812","created_at":"2026-08-18T14:48:34.776098+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"373","receipt_type":"execute_mission","idempotency_key":"mission:933a8071-ed4f-4d7b-8962-633f1907e3ae:execute_mission:repair_mission_pr_ready_retryable","mission_step_id":"d9f21a2b-4baf-42e2-ba8a-fe4c9729da77","command_center_event_id":"933a8071-ed4f-4d7b-8962-633f1907e3ae"},{"id":"71c60413-9985-497e-9fdd-53073493fb23","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-1d311b3c3f07","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":56431,"releaseCount":0,"toolCallCount":24,"repeatedCallCount":18,"executorlessWaitMs":362237,"firstUsefulResultAt":"2026-10-06T15:18:03.658Z","recoveryAttemptCount":14,"ownerInterruptionCount":0},"version":"1.67.0-stopless-self-heal","prNumber":5188,"terminal":false,"missionId":"1d311b3c-3f07-4e3a-821e-3243d407019e","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":6074,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":2399,"approvedPlanMs":1161,"missionSetupMs":1166,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":1054,"ledgerReconcileMs":0,"lineageReconcileMs":112,"resolvePreflightMs":1166,"repositoryMutationMs":2505,"repositoryProviderMs":2505,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2328,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":1054,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":177},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"1d311b3c-3f07-4e3a-821e-3243d407019e"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["repository"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1541,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T15:23:31.533699+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"5188","receipt_type":"execute_mission","idempotency_key":"mission:1d311b3c-3f07-4e3a-821e-3243d407019e:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"52b4bbcb-671e-4354-9040-b0313bf68276","command_center_event_id":"1d311b3c-3f07-4e3a-821e-3243d407019e"},{"id":"71c72b38-0352-4228-8ac5-7ae8cdae6979","source":"owner_authorized_full_backlog_cleanup","status":"recorded","payload":{"category":"platform_reliability","disposition":"superseded_execution_attempt","previousStatus":"waiting","sourcePreserved":true,"noCompletionClaim":true,"recoveryPortfolioId":"96ea42b4-2d81-3020-09df-dfbab4b2b656"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-11T16:14:39.646808+00:00","proof_gate":"source_objective_preserved_in_existing_mission_ledger","source_sha":null,"external_id":null,"receipt_type":"owner_backlog_disposition","idempotency_key":"owner-full-backlog-cleanup-20261011:3571b79c-6d3f-4835-8201-7a7d403c3fe3","mission_step_id":null,"command_center_event_id":"3571b79c-6d3f-4835-8201-7a7d403c3fe3"},{"id":"71ca55c4-9e1e-484b-8605-6975eeea0803","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":"7c7b5eed-fc80-493e-9c70-faf066c7ed7c","phase":"implementation","branch":"ai/objective-first-repair-8c63eb4f0acb","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":30419,"releaseCount":0,"toolCallCount":25,"repeatedCallCount":14,"executorlessWaitMs":427989,"firstUsefulResultAt":"2026-10-06T15:26:36.328Z","recoveryAttemptCount":1,"ownerInterruptionCount":0},"version":"1.67.0-stopless-self-heal","prNumber":5191,"terminal":false,"missionId":"8c63eb4f-0acb-4944-8991-952b0cbeb908","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":6669,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":2227,"approvedPlanMs":829,"missionSetupMs":1010,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":1010,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":1010,"repositoryMutationMs":3513,"repositoryProviderMs":3513,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2043,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":1010,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1470},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"8c63eb4f-0acb-4944-8991-952b0cbeb908"},"performance":null,"deploymentId":null,"releaseState":null,"visualWitness":{"role":null,"jobId":"7c7b5eed-fc80-493e-9c70-faf066c7ed7c","tenant":null,"runnerUrl":null,"runnerLane":null,"attemptsUsed":null,"supervisorId":null,"failureReason":"retryable_provider_transport:forgejo_provider_read_timeout","observedRoute":null,"runnerVersion":null,"attemptLineage":[],"missionOutcome":null,"requestedRoute":null,"runnerSourceSha":null,"selectedViewports":[],"checkpointAccounting":null,"correctiveGeneration":0,"restartReplayHistory":[]},"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1539,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T15:34:26.592872+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"7c7b5eed-fc80-493e-9c70-faf066c7ed7c","receipt_type":"execute_mission","idempotency_key":"mission:8c63eb4f-0acb-4944-8991-952b0cbeb908:execute_mission:repair_mission_pr_ready_retryable:generation-1","mission_step_id":"a9edafee-53db-43e7-9882-b1a71029d843","command_center_event_id":"8c63eb4f-0acb-4944-8991-952b0cbeb908"},{"id":"71ce2f04-0d7e-435d-8c26-31e4f21cf852","source":"owner_authorized_live_gate_merge_release_reconciliation","status":"verified","payload":{"prMerged":true,"prNumber":6255,"gatePassed":true,"releaseRunId":20877,"releaseSuccessful":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-11T16:16:49.700635+00:00","proof_gate":"forgejo_gate_merge_release_live_receipts_verified","source_sha":"50d3bafca5b0fad2e7fd679bbdc3ef757aceb8e6","external_id":null,"receipt_type":"historical_forgejo_release_reconciliation","idempotency_key":"historical-release-reconciliation-20261011:01ecc895-cf46-4658-9763-9c293a38fb0c","mission_step_id":null,"command_center_event_id":"01ecc895-cf46-4658-9763-9c293a38fb0c"},{"id":"71d01724-ec79-4b40-9f82-7e5e748740d1","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-b00691c57e8e","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":18551,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"executorlessWaitMs":188860,"firstUsefulResultAt":"2026-10-03T01:49:40.738Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.68-paul-web-acquisition","prNumber":4591,"terminal":false,"missionId":"b00691c5-7e8e-4130-8411-5d9324d2c592","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3843,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":694,"missionSetupMs":248,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":248,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":248,"repositoryMutationMs":3149,"repositoryProviderMs":3149,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":1905,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":248,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1244},"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":"b00691c5-7e8e-4130-8411-5d9324d2c592"},"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":3237,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T01:52:54.405625+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"4591","receipt_type":"execute_mission","idempotency_key":"mission:b00691c5-7e8e-4130-8411-5d9324d2c592:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"7f4b579c-e148-4110-9bf9-5b388a3d4782","command_center_event_id":"b00691c5-7e8e-4130-8411-5d9324d2c592"},{"id":"71d29395-7e0a-4018-b60b-507708b397c0","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"1b3eb93556cd477d858403c4de69811568fa0a2d","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"1b3eb93556cd477d858403c4de69811568fa0a2d","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"pending"},"requestContractHash":"3e115565bfe215df7ba4a717d99a2f90d705730e38747bc4e6b5254ed8236c70","forgejoWorkflowProof":{"runId":15455,"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-04T21:31:55.41283+00:00","proof_gate":"canonical_release_pending","source_sha":"1b3eb93556cd477d858403c4de69811568fa0a2d","external_id":"forgejo-main-1b3eb93556cd","receipt_type":"canonical_release_status","idempotency_key":"mission:08e50739-c61c-4e33-a186-13709dc8e364:forgejo-release-status:1b3eb93556cd477d858403c4de69811568fa0a2d:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"b5c6afac-6fe7-4956-a216-7ee7eb66fda5","command_center_event_id":"08e50739-c61c-4e33-a186-13709dc8e364"},{"id":"71d6e78f-cf9d-4897-8544-fbde0d698126","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success"},"mainSha":"58f895d0be42f89e1ac6ffe947026160747a8a8f","missing":[],"pending":[],"required":["forgejo-main/source"],"sourceSha":"58f895d0be42f89e1ac6ffe947026160747a8a8f","releaseState":"verified","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{},"requestContractHash":"07cc2734b2818104a526567cffcfc13a05b8136f0da874ca8fa45b8d799db0cf","forgejoWorkflowProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T16:12:38.149634+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"58f895d0be42f89e1ac6ffe947026160747a8a8f","external_id":"forgejo-main-58f895d0be42","receipt_type":"canonical_release_status","idempotency_key":"mission:33ea8c69-c179-4524-ab21-f00900be44d7:forgejo-release-status:58f895d0be42f89e1ac6ffe947026160747a8a8f:verified:forgejo-main/source=success","mission_step_id":"304c0f29-c9d0-46e4-af6e-e69c6d216d4d","command_center_event_id":"33ea8c69-c179-4524-ab21-f00900be44d7"},{"id":"71d963df-488c-4601-92a3-6a9af40e5c7f","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in release.","nextAction":{"lane":"cc-execution","action":"reconcile_pull_request","reason":"pull_request_exists_without_merged_source","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"owner_progress_heartbeat\",\"status\":\"waiting\",\"proofGate\":\"owner_progress_heartbeat\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_pull_request\",\"lane\":\"cc-execution\",\"reason\":\"pull_request_exists_without_merged_source\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_pull_request\",\"recoveryOwner\":\"cc-execution\"},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-pcg-mobile-pagination-final\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"release\",\"deadlineAt\":\"2026-10-06T06:08:08.467348+00:00\",\"recoveryAction\":\"reconcile_pull_request\"},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":5151,\"sourceSha\":null,\"deploymentId\":null}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T06:38:43.398702+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:1ac7f316-f174-4a19-8f65-70f51fa4ba0e:owner-progress-heartbeat:119417914","mission_step_id":"3f87b5cc-95c7-45ca-a19c-5de0d9146e8d","command_center_event_id":"1ac7f316-f174-4a19-8f65-70f51fa4ba0e"},{"id":"71da138c-f09d-45de-af3f-b60a216ca628","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","cc-execution/runtime-proof":"pending"},"mainSha":"f90ca8bb7b7dfe5772d7c4bbceccef22b12bde6d","missing":[],"pending":["forgejo-release/workflow","cc-execution/runtime-proof"],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"f90ca8bb7b7dfe5772d7c4bbceccef22b12bde6d","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"requestContractHash":"d4a2fd76b6e95811b4143830512e0a8707dce37ba8abb6067b3780fe72b42cec","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/3371","runId":3371,"status":"running","sourceSha":"f90ca8bb7b7dfe5772d7c4bbceccef22b12bde6d","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"79f9f922fa55046b5ae57df70f76b4cfc21ad4ec","deploymentId":"forgejo-main-79f9f922fa55046b5ae57df70f76b4cfc21ad4ec","compareStatus":null,"identitySource":"local_build_metadata","runtimeVersion":"1.56.0-owner-continuation-scope","containsSourceSha":false},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-29T14:56:48.253723+00:00","proof_gate":"canonical_release_pending","source_sha":"f90ca8bb7b7dfe5772d7c4bbceccef22b12bde6d","external_id":"forgejo-main-f90ca8bb7b7d","receipt_type":"canonical_release_status","idempotency_key":"mission:f7f03a22-efbf-42ea-93d5-27334a2e78b0:forgejo-release-status:f90ca8bb7b7dfe5772d7c4bbceccef22b12bde6d:pending:forgejo-main/source=success|forgejo-release/workflow=pending|cc-execution/runtime-proof=pending","mission_step_id":"a50640fa-1d2b-4be3-98fa-a0b676143825","command_center_event_id":"f7f03a22-efbf-42ea-93d5-27334a2e78b0"},{"id":"71dc2213-bc68-4878-8865-585449f99c35","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-1601db52e25f","prNumber":4301,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"11e2d71d6ee5cdfcf7b3ba3eb0519d01877a753e","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-01T01:28:34.728618+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"11e2d71d6ee5cdfcf7b3ba3eb0519d01877a753e","external_id":"4301","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:1601db52-e25f-4234-b9d8-2552620a4b19:merged-pr:4301:11e2d71d6ee5cdfcf7b3ba3eb0519d01877a753e","mission_step_id":"72b99654-c092-4ab7-a854-3bb6dbd567d8","command_center_event_id":"1601db52-e25f-4234-b9d8-2552620a4b19"},{"id":"71dda08c-ca76-438b-84db-cc44898de425","source":"cc-execution","status":"pending","payload":{"ok":true,"jobId":"e7d40b4e-ad56-436e-b3a9-2bc1af5e55d0","phase":"universal_visual_witness_supervised","branch":"ai/objective-first-repair-1297fc3ea836","reason":null,"status":"pending","metrics":{"receiptBytes":220797,"releaseCount":0,"toolCallCount":111,"repeatedCallCount":62,"executorlessWaitMs":3863514,"firstUsefulResultAt":"2026-09-27T05:46:06.727Z","recoveryAttemptCount":32,"ownerInterruptionCount":0},"version":null,"prNumber":3869,"terminal":false,"missionId":"1297fc3e-a836-406c-ae04-a0aa8f124741","operation":"visual_proof_started","proofGate":"universal_visual_witness_pending","sourceSha":"23fb8cd2d6c15f12554ed772c4d01a9710d74228","timingsMs":{"queue":313,"total":316,"execution":3},"nextAction":"Execution is pending; poll inspect_route_status only when fresh progress is expected, or cancel with inspect_route_cancel.","receiptRef":{"mode":"full","missionId":"1297fc3e-a836-406c-ae04-a0aa8f124741"},"performance":null,"deploymentId":"forgejo-main-23fb8cd2d6c1","releaseState":"verified","visualWitness":{"role":"GodMode","jobId":"e7d40b4e-ad56-436e-b3a9-2bc1af5e55d0","tenant":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","runnerUrl":"https://paul-witness.knocklaunch.app","runnerLane":"paul","attemptsUsed":0,"supervisorId":"e7d40b4e-ad56-436e-b3a9-2bc1af5e55d0","failureReason":null,"observedRoute":null,"runnerVersion":null,"attemptLineage":[],"missionOutcome":null,"requestedRoute":"/admin/console","runnerSourceSha":null,"selectedViewports":["desktop","mobile"],"checkpointAccounting":null,"correctiveGeneration":3,"restartReplayHistory":[]},"workflowRunId":null,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["visual"],"verificationState":"failed","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1792,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T06:50:39.314981+00:00","proof_gate":"post_release_visual_proof_started","source_sha":"23fb8cd2d6c15f12554ed772c4d01a9710d74228","external_id":"e7d40b4e-ad56-436e-b3a9-2bc1af5e55d0","receipt_type":"visual_proof_started","idempotency_key":"mission:1297fc3e-a836-406c-ae04-a0aa8f124741:visual-start:e7d40b4e-ad56-436e-b3a9-2bc1af5e55d0","mission_step_id":"0ba439ab-d717-4a78-a0aa-0d065243e2c0","command_center_event_id":"1297fc3e-a836-406c-ae04-a0aa8f124741"},{"id":"71e26700-b7bc-4fbc-a0ed-7ce8a133ff4c","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.46.14-file-write-contract","prNumber":null,"terminal":false,"missionId":"7924a6f0-3c11-45d2-8641-bad9608f1dfb","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":"7924a6f0-3c11-45d2-8641-bad9608f1dfb"},"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":9765,"likelyAffectedFiles":["src/__tests__/contracts/command-center-event-runtime.test.ts","src/__tests__/commandCenter/deployDetection.test.ts","src/__tests__/contracts/cc-execution-onrunner-deploy-lane.contract.test.ts","src/__tests__/contracts/command-center-mission-control.test.ts","src/__tests__/contracts/command-center-mission-preflight.test.ts",".forgejo/workflows/knocklaunch.yml","scripts/phase3b-sanitize-and-publish-v2.ts","src/components/admin/TenantUserCommandCenters.tsx","src/components/GlobalCommandPalette.tsx","src/__tests__/godmode/command-center.test.ts","src/__tests__/godmode/GodModeCommandConsole.test.tsx","scripts/resolve-production-workflow-run.mjs"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-16T21:43:06.465+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:7924a6f0-3c11-45d2-8641-bad9608f1dfb:execute_mission:repair_mission_synthesis_ready","mission_step_id":"4894c475-2f26-47dd-bda9-6b0c18fe12b4","command_center_event_id":"7924a6f0-3c11-45d2-8641-bad9608f1dfb"},{"id":"71e3292f-504b-46b6-adf2-184d13b91be3","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/src/index-scoped-repo-patch.js"],"reason":"Owner-authorized request-scoped protected-delete enforcement repair on PR #2265; preserve tenant data and normal frozen-by-default state.","baseSha":"0d1aae2eb2e26a59ab3fdd6f893adebde51f080f","issuedAt":1789011358490,"expiresAt":1789011538490,"missionId":"344470af-9c65-40ff-822e-ef37b0698441","authorizationId":"b9ca696b-a5b1-4ba0-9366-e2841250d4ea","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-10T03:35:59.059068+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:b9ca696b-a5b1-4ba0-9366-e2841250d4ea","mission_step_id":"64a6c24c-6597-4da8-b4f3-5891cf17af5e","command_center_event_id":"344470af-9c65-40ff-822e-ef37b0698441"},{"id":"71e364ac-3510-4e6b-9935-5d32f5d607ad","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/wrangler.toml"],"baseSha":"9d51d51b5b249fb86dfe93d1aa1e15b576286afb","issuedAt":1792016613464,"expiresAt":1792016793464,"missionId":"c4398f92-48e2-4a52-b91c-6e9225fde9bc","autoRefreeze":true,"authorizationId":"02bb009b-6558-4671-81cd-5f6be94bc8cd","authorizationSource":"explicit_owner_request_contract"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-14T22:23:34.267374+00:00","proof_gate":"control_plane_maintenance_exact_scope_authorized","source_sha":"9d51d51b5b249fb86dfe93d1aa1e15b576286afb","external_id":"02bb009b-6558-4671-81cd-5f6be94bc8cd","receipt_type":"control_plane_maintenance_authorized","idempotency_key":"control-plane-maintenance:c4398f92-48e2-4a52-b91c-6e9225fde9bc:02bb009b-6558-4671-81cd-5f6be94bc8cd","mission_step_id":null,"command_center_event_id":"c4398f92-48e2-4a52-b91c-6e9225fde9bc"},{"id":"71e43e44-f861-4c66-87ed-0aa3320b86f8","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-96205e13fba5","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":27879,"releaseCount":0,"toolCallCount":11,"repeatedCallCount":6,"executorlessWaitMs":24951,"firstUsefulResultAt":"2026-10-01T19:45:24.947Z","recoveryAttemptCount":8,"ownerInterruptionCount":0},"version":null,"prNumber":4400,"terminal":false,"missionId":"96205e13-fba5-423b-9ada-cf0d546d2c31","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"ec9ed3f3fcc82afaf8303f6127e004840c87883e","timingsMs":{"prReadinessMs":672,"approvedPlanMs":0,"shipAndProveMs":3086,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"96205e13-fba5-423b-9ada-cf0d546d2c31"},"performance":null,"deploymentId":"forgejo-main-ec9ed3f3fcc8","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":true,"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":1948,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-01T19:45:54.745994+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"4400","receipt_type":"automatic_mission_resume","idempotency_key":"mission:96205e13-fba5-423b-9ada-cf0d546d2c31:automatic-mission-resume:4400:canonical_release_reconciliation_pending","mission_step_id":"58210961-bf9f-4bd6-81b3-ef24ddb55606","command_center_event_id":"96205e13-fba5-423b-9ada-cf0d546d2c31"},{"id":"71e49a5a-ccf5-47eb-90ed-4b80f01ddb82","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-82679b2e4ea6","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":9204,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-10-05T16:03:43.109Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.96-cloudflare-release-reconciliation","prNumber":4966,"terminal":false,"missionId":"82679b2e-4ea6-40a4-bb11-dfa34a674290","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":8477,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":2562,"approvedPlanMs":1339,"missionSetupMs":245,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":245,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":245,"repositoryMutationMs":4571,"repositoryProviderMs":4571,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2815,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":245,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1756},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"82679b2e-4ea6-40a4-bb11-dfa34a674290"},"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-05T16:03:52.388163+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4966","receipt_type":"execute_mission","idempotency_key":"mission:82679b2e-4ea6-40a4-bb11-dfa34a674290:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"ff63f909-583e-4737-85d8-4eaa82a44c59","command_center_event_id":"82679b2e-4ea6-40a4-bb11-dfa34a674290"},{"id":"71e4fac9-0e11-4e2e-b65f-9df1cc8759b2","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/big-papis-customer-event-flow","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.182-witness-render-cold-start-aware","prNumber":null,"terminal":false,"missionId":"f5561f47-ed58-4f42-833c-111a349862b0","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":184,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":2064,"providerAuthMs":0,"ledgerPrepareMs":2064,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":2064,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":2064,"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":"f5561f47-ed58-4f42-833c-111a349862b0"},"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":4986,"likelyAffectedFiles":["src/PrivateAppShell.tsx","scripts/visual-witness-hosted-runner/src/frontend-build-entrypoint.mjs","scripts/visual-witness-hosted-runner/src/frontend-build-service.mjs","config/cloudflare-native-frontend-build.json","scripts/cloudflare-native-version-deploy.mjs","config/capabilities/tenant-brand-character.json","config/platform-standards.json","config/capabilities/big-papis-proposal-workflow.json","src/App.css","src/App.tsx","src/OAuthConsentBridge.tsx","src/PublicAppShell.tsx"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-19T15:18:14.492236+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:f5561f47-ed58-4f42-833c-111a349862b0:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"cfa0585b-da69-4fd4-8627-5870a3431239","command_center_event_id":"f5561f47-ed58-4f42-833c-111a349862b0"},{"id":"71e62e54-eb24-4825-93f4-20f546e5bbdb","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/big-papis-mode-icon-style-type-repair-20260910","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.98-owner-handoff-overlap","prNumber":2346,"terminal":false,"missionId":"d6d2f2ec-d866-4473-9d70-14a894b09c0c","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"f4da0580e4712ef69e7c5f7144745048609224fd","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":19426,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":1394,"approvedPlanMs":0,"missionSetupMs":347,"providerAuthMs":0,"shipAndProveMs":6436,"ledgerPrepareMs":347,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":347,"repositoryMutationMs":11590,"repositoryProviderMs":9409,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":5210,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":347,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":4199},"nextAction":null,"receiptRef":{"mode":"full","missionId":"d6d2f2ec-d866-4473-9d70-14a894b09c0c"},"performance":null,"deploymentId":"forgejo-main-f4da0580e471","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":4542,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-10T23:20:52.266735+00:00","proof_gate":"canonical_release_dispatched","source_sha":"f4da0580e4712ef69e7c5f7144745048609224fd","external_id":"forgejo-main-f4da0580e471","receipt_type":"execute_mission","idempotency_key":"mission:d6d2f2ec-d866-4473-9d70-14a894b09c0c:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"ac47bbf0-d4c0-4d6b-b317-63b72303af75","command_center_event_id":"d6d2f2ec-d866-4473-9d70-14a894b09c0c"},{"id":"71e7ff08-418e-4ec7-8cae-a08d6f818c98","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"5c85323ca8c50388a7d1d85bff21fac48bb4ef22","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"mode-context","satisfied":true,"statement":"Inside any tenant MODE, navigation clearly identifies the active MODE and exposes contextual MODE navigation rather than the generic tenant navigation.","proofConditionIds":["proof-repository","proof-live"]},{"id":"mode-transition","satisfied":true,"statement":"Entering, moving within, switching, and exiting a MODE updates navigation deterministically without reload-driven shell drift or cross-tenant contamination.","proofConditionIds":["proof-repository","proof-live"]},{"id":"tenant-anchor","satisfied":true,"statement":"Tenant identity and the tenant's native avatar/menu remain persistent and correct while MODE context changes around them.","proofConditionIds":["proof-repository","proof-live"]},{"id":"mobile-compact","satisfied":true,"statement":"On mobile, MODE context is compact and usable without adding a second oversized header or degrading the tenant shell.","proofConditionIds":["proof-repository"]}],"satisfied":true,"constraints":[{"id":"frontend-only","satisfied":true,"statement":"Frontend shared source only. Do not change database, auth, workers, control-plane/release architecture, tenant-specific data, or standalone application behavior.","proofConditionIds":["proof-repository"]},{"id":"shared-primitive","satisfied":true,"statement":"Implement one shared primitive, not tenant-specific patches or duplicate MODE implementations.","proofConditionIds":["proof-repository"]},{"id":"escape","satisfied":true,"statement":"Provide a compact obvious Switch Mode / All Modes action back to the tenant MODE chooser.","proofConditionIds":["proof-repository","proof-live"]},{"id":"no-conflicts","satisfied":true,"statement":"Do not show duplicate generic nav items that conflict with the active MODE context.","proofConditionIds":["proof-repository"]},{"id":"premium","satisfied":true,"statement":"Use the strongest appropriate existing frontend primitive for a premium innovative interaction; avoid decorative gimmicks.","proofConditionIds":["proof-repository"]}],"contractHash":"f60326c48a3349854af6d39598e4a9541edf4136ba4c1aaff42f8b8eeef0f4a3","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"proof-repository","kind":"repository","evidence":{"repositoryProofGate":"request_contract_repository_verified","requestContractHash":"f60326c48a3349854af6d39598e4a9541edf4136ba4c1aaff42f8b8eeef0f4a3","repositoryProofStatus":"verified","repositoryProofSourceSha":"5c85323ca8c50388a7d1d85bff21fac48bb4ef22"},"required":true,"satisfied":true},{"id":"proof-live","kind":"runtime","evidence":{"releaseState":"verified","activeReleaseTargets":["frontend"],"releaseRequestContractHash":"f60326c48a3349854af6d39598e4a9541edf4136ba4c1aaff42f8b8eeef0f4a3"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T00:34:40.053168+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"5c85323ca8c50388a7d1d85bff21fac48bb4ef22","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:8cb22392-7d41-4d3f-a902-01e315a5d7ad:request-contract:f60326c48a3349854af6d39598e4a9541edf4136ba4c1aaff42f8b8eeef0f4a3:5c85323ca8c50388a7d1d85bff21fac48bb4ef22:verified:","mission_step_id":"3a3bab2e-4932-41f7-bd4b-c20ff7e1efb2","command_center_event_id":"8cb22392-7d41-4d3f-a902-01e315a5d7ad"},{"id":"71ea43d0-47f0-4150-98a2-c0328eb7beaa","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"5e464eee28ed3f5b232d451c7f94625416469d4e","requestContractProof":{"legacy":true,"present":false,"satisfied":false,"visualRequested":true,"visualSatisfied":false,"pendingProofKinds":["visual"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":null},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-10-04T14:53:49.728322+00:00","proof_gate":"request_contract_pending","source_sha":"5e464eee28ed3f5b232d451c7f94625416469d4e","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:a713dee6-9927-44c3-b9c2-85f420780983:request-contract:legacy:5e464eee28ed3f5b232d451c7f94625416469d4e:pending:visual","mission_step_id":"438d30e8-49eb-4332-bf6e-aca494e363da","command_center_event_id":"a713dee6-9927-44c3-b9c2-85f420780983"},{"id":"71ebb3ce-ce27-4b7e-aa3a-81faa6beac12","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in reasoning required.","nextAction":{"lane":"cc-execution","action":"continue_implementation","reason":"synthesis_required","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"reasoning_required\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"synthesis_required\",\"proofGate\":\"repair_mission_synthesis_ready\"},\"activeStep\":{\"key\":\"implementation\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"continue_implementation\",\"lane\":\"cc-execution\",\"reason\":\"synthesis_required\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"continue_implementation\",\"recoveryOwner\":\"cc-execution\"},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"pull_request\",\"deadlineAt\":\"2026-10-06T14:33:09.745842+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/fast-ui-finish-the-pcg-only-stabilization-on-cur-5f69964a\",\"prNumber\":null,\"sourceSha\":null,\"deploymentId\":null}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T12:06:40.308056+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:dd6c6c8f-40e0-4e08-8055-ae4a535eff91:owner-progress-heartbeat:119419226","mission_step_id":"6155a138-5cb1-4590-a70c-84159771280e","command_center_event_id":"dd6c6c8f-40e0-4e08-8055-ae4a535eff91"},{"id":"71ed80d0-1303-4dce-8df7-ecbea84dd96e","source":"forgejo","status":"waiting","payload":{"branch":"ai/curri-single-fixed-background-owner-20260906","prNumber":1949,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"11ea82ffbcb9733eace00d4fc9702d72156e39f5","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"90ed5bf4-8abd-4d3a-af7c-024664b5b99d","created_at":"2026-09-06T14:47:55.497264+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"11ea82ffbcb9733eace00d4fc9702d72156e39f5","external_id":"1949","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:9413bb5c-523c-4b74-8f48-ff02bc1b678c:merged-pr:1949:11ea82ffbcb9733eace00d4fc9702d72156e39f5","mission_step_id":"9556080c-2af4-48f4-814a-a27e4eb6322d","command_center_event_id":"9413bb5c-523c-4b74-8f48-ff02bc1b678c"},{"id":"71eda338-9c06-4445-b5c4-c94ce6d51b53","source":"cc-execution","status":"blocked","payload":{"reason":"control_plane_maintenance_authorization_required","fingerprint":"1d3c9e389cec96bd72a8b92057ca23fe6fc1d09b9d4823f443a057483a5f59e1"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-26T17:35:39.557984+00:00","proof_gate":"repository_mutation_intent_deterministic_failure","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent_blocked","idempotency_key":"mission:e6a9f106-c0ab-4d13-9da3-8c67bf171dfc:repository-mutation-intent-blocked:1d3c9e389cec96bd72a8b92057ca23fe6fc1d09b9d4823f443a057483a5f59e1","mission_step_id":"24b92250-0e13-44fb-9f19-c926932f43f9","command_center_event_id":"e6a9f106-c0ab-4d13-9da3-8c67bf171dfc"},{"id":"71ef810a-1ac5-414c-b47f-c7330de1267e","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"route":"/pcg/settings?section=connections","branch":"ai/objective-first-repair-27b96c7b5f51","tenant":"pcg","writes":[],"patches":[],"version":1,"approved":true,"missionId":"27b96c7b-5f51-41e1-ae49-900a262b5799","objective":"P0 repair GodMode projected-tenant connection flow. createGodModeDemoBoundaryFetch currently blocks every /functions/v1/* request with edge_function_blocked_in_demo, which prevents legitimate tenant-scoped provider credential setup from PCG Settings while operating as GodMode support. Add the smallest safe allowlist for exactly upsert-tenant-provider-secret and verify-tenant-provider under the active GodMode demo/projection boundary. Do not broadly allow Edge Functions. Preserve all existing REST/storage/RPC mutation blocks. These two functions already enforce authenticated bearer session, system-admin/tenant-owner authorization, explicit tenant_id, and projected-user constraints server-side. Ship through Gate, squash merge, frontend release, then verify /pcg/settings?section=connections can submit Cloudflare R2 without the synthetic 409 boundary response.","sourceSha":"162cd855dda5492bb343618a4edca3a71c41ec29","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"anchored_edits":[{"path":"src/lib/godmodeDemoBoundary.ts","edits":[{"new_content":"const SAFE_RPCS = new Set([\n  'get_current_user_workspace_bootstrap',\n  'is_system_admin',\n]);\n\nconst SAFE_EDGE_FUNCTIONS = new Set([\n  'upsert-tenant-provider-secret',\n  'verify-tenant-provider',\n]);","old_content":"const SAFE_RPCS = new Set([\n  'get_current_user_workspace_bootstrap',\n  'is_system_admin',\n]);"},{"new_content":"  if (pathname.startsWith('/functions/v1/')) {\n    const functionName = pathToken(pathname, '/functions/v1/');\n    return SAFE_EDGE_FUNCTIONS.has(functionName)\n      ? { allowed: true, reason: 'tenant_scoped_support_edge_function', ...base }\n      : { allowed: false, reason: 'edge_function_blocked_in_demo', ...base };\n  }","old_content":"  if (pathname.startsWith('/functions/v1/')) {\n    return { allowed: false, reason: 'edge_function_blocked_in_demo', ...base };\n  }"}]}],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"27b96c7b-5f51-41e1-ae49-900a262b5799","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":"c96b0a7ef40c1045b9d8b812ad66ac3a59eb826d7e0c840012d1166ff06923f1","replayCount":0,"serializedBytes":2832},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-10-04T02:44:46.238027+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:27b96c7b-5f51-41e1-ae49-900a262b5799:repository-mutation-intent:c96b0a7ef40c1045b9d8b812ad66ac3a59eb826d7e0c840012d1166ff06923f1:0","mission_step_id":"fb61dcee-c3e0-4a97-b53d-d9081ce6eab1","command_center_event_id":"27b96c7b-5f51-41e1-ae49-900a262b5799"},{"id":"71efc5de-6daf-490a-aae7-040de1cc3018","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[{"path":"src/__tests__/contracts/command-center-visual-proof-inference.contract.test.ts","content":"import { readFileSync } from 'node:fs';\nimport { resolve } from 'node:path';\nimport { describe, expect, it } from 'vitest';\n\ndescribe('command center visual proof inference contract', () => {\n  it('keeps explicit nonvisual proof intent authoritative over heuristic visual classification', () => {\n    const source = readFileSync(resolve(process.cwd(), 'workers/cc-execution/src/command-center-contracts.js'), 'utf8');\n    const start = source.indexOf('export function normalizeRequestContract');\n    const end = source.indexOf('export function', start + 1);\n    const block = source.slice(start, end > start ? end : undefined);\n    expect(block).toContain('const explicitVisualProofDisabled =');\n    expect(block).toContain('body.visualProofRequested === false');\n    expect(block).toContain('body.visual_proof_requested === false');\n    expect(block).toContain('requestedVisualProofScope === \"none\"');\n    expect(block).toContain('(explicit && !explicitVisualProofRequired) || explicitVisualProofDisabled');\n  });\n});\n"}],"branch":"ai/objective-first-repair-618c39d52c42","writes":[],"patches":[],"version":1,"approved":true,"missionId":"618c39d5-2c42-4512-906b-f385844795a3","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["workers/cc-execution/src/command-center-contracts.js","workers/cc-execution/src/version.js"],"anchored_edits":[{"path":"workers/cc-execution/src/command-center-contracts.js","edits":[{"new_content":"  const classifiedVisualWorkIntent = classifyVisualWorkIntent({ ...body, objective });\n  const explicitVisualProofRequired = explicit && rawProofConditions.some((condition) => (\n    String(condition?.kind || condition?.proofKind || condition?.proof_kind || condition?.type || \"\").trim().toLowerCase() === \"visual\"\n    && condition?.required !== false\n  ));\n  const requestedVisualProofScope = String(body.visualProofScope || body.visual_proof_scope || \"\").trim().toLowerCase();\n  const explicitVisualProofDisabled =\n    body.visualProof === false\n    || body.visual_proof === false\n    || body.verifyVisual === false\n    || body.verify_visual === false\n    || body.visualProofRequested === false\n    || body.visual_proof_requested === false\n    || requestedVisualProofScope === \"none\";\n  const visualWorkIntent = (explicit && !explicitVisualProofRequired) || explicitVisualProofDisabled\n    ? { ...classifiedVisualWorkIntent, kind: \"not_visual_work\", implementation: false }\n    : classifiedVisualWorkIntent;","old_content":"  const classifiedVisualWorkIntent = classifyVisualWorkIntent({ ...body, objective });\n  const explicitVisualProofRequired = explicit && rawProofConditions.some((condition) => (\n    String(condition?.kind || condition?.proofKind || condition?.proof_kind || condition?.type || \"\").trim().toLowerCase() === \"visual\"\n    && condition?.required !== false\n  ));\n  const visualWorkIntent = explicit && !explicitVisualProofRequired\n    ? { ...classifiedVisualWorkIntent, kind: \"not_visual_work\", implementation: false }\n    : classifiedVisualWorkIntent;"}]},{"path":"workers/cc-execution/src/version.js","edits":[{"new_content":"export const CC_EXECUTION_VERSION = \"1.58.261-nonvisual-proof-precedence\";","old_content":"export const CC_EXECUTION_VERSION = \"1.58.260-release-actions-query-parity\";"}]}],"implementation":{"files":[],"writes":[]},"requestContract":{"version":1,"outcomes":[{"id":"nonvisual-proof-precedence","statement":"Explicit visualProofRequested=false or visualProofScope=none prevents heuristic visual-work classification from requiring visual proof for nonvisual repository maintenance.","proofConditionIds":["prime-runtime-proof"]}],"objective":"Repair Prime nonvisual proof inference precedence.","constraints":[{"id":"nonvisual-only","statement":"Do not require or run visual proof for this control-plane repair.","proofConditionIds":["prime-runtime-proof"]}],"sourceScope":"control_plane","terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"prime-runtime-proof","kind":"runtime","claim":"Deployed cc-execution accepts an otherwise identical nonvisual repository repair request with visualProofRequested=false and visualProofScope=none without inferred_visual_proof_route_required.","required":true,"allowedReleaseTargets":["ccExecution"],"requiredReleaseTargets":["ccExecution"]}]},"repairGeneration":null,"visualProofScope":"none","executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"618c39d5-2c42-4512-906b-f385844795a3","ownerApproved":true,"releaseIntent":null,"sourceTargets":["workers/cc-execution/src/command-center-contracts.js","workers/cc-execution/src/version.js"],"requestContract":{"version":1,"outcomes":[{"id":"nonvisual-proof-precedence","statement":"Explicit visualProofRequested=false or visualProofScope=none prevents heuristic visual-work classification from requiring visual proof for nonvisual repository maintenance.","proofConditionIds":["prime-runtime-proof"]}],"objective":"Repair Prime nonvisual proof inference precedence.","constraints":[{"id":"nonvisual-only","statement":"Do not require or run visual proof for this control-plane repair.","proofConditionIds":["prime-runtime-proof"]}],"sourceScope":"control_plane","terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"prime-runtime-proof","kind":"runtime","claim":"Deployed cc-execution accepts an otherwise identical nonvisual repository repair request with visualProofRequested=false and visualProofScope=none without inferred_visual_proof_route_required.","required":true,"allowedReleaseTargets":["ccExecution"],"requiredReleaseTargets":["ccExecution"]}]},"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["src/__tests__/contracts/command-center-visual-proof-inference.contract.test.ts","workers/cc-execution/src/command-center-contracts.js","workers/cc-execution/src/version.js"],"controlPlaneMaintenanceReason":"Repair Prime request-contract inference so explicit nonvisual proof intent cannot be overridden by heuristic visual classification."},"proofRequirements":null,"controlPlaneUnfreeze":true,"visualProofRequested":false,"durableMutationResume":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["src/__tests__/contracts/command-center-visual-proof-inference.contract.test.ts","workers/cc-execution/src/command-center-contracts.js","workers/cc-execution/src/version.js"],"controlPlaneMaintenanceReason":"Repair Prime request-contract inference so explicit nonvisual proof intent cannot be overridden by heuristic visual classification."},"recovery":false,"fingerprint":"d0e2956becdc695b1a978143dc8afd021b061a5e3e1df2f5d12ef061a9b8e06c","replayCount":0,"serializedBytes":6858},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T18:24:25.141799+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:618c39d5-2c42-4512-906b-f385844795a3:repository-mutation-intent:d0e2956becdc695b1a978143dc8afd021b061a5e3e1df2f5d12ef061a9b8e06c:0","mission_step_id":"e0126cbc-d2e9-4971-a61b-2834b39600ea","command_center_event_id":"618c39d5-2c42-4512-906b-f385844795a3"},{"id":"71efd92c-bc59-4715-9138-7ba19fb4cc80","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"ce641b4cd9ba5190f32dab3a2890a4e0c11c42ec","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":false,"statement":"Make Noel's 'never stop at a blocker' rule enforceable as a KNOCKLAUNCH platform invariant. Scope ONLY these governing files: config/paul-owner-profile.json, config/platform-standards.json, config/system-reference-points/release-reliability-standard-2026-10-05.json. Do not touch watchdog/control-plane runtime source. Add a hard execution rule that a nonterminal blocker, helper failure, transient provider failure, stale branch/main movement, Gate plumbing failure, or newly discovered causal defect MUST NOT become the terminal owner-facing state when a safe canonical continuation exists. Required behavior: automatically own the blocker, choose the next safe canonical path, retry at most once for transient failures, switch eligible lane/provider where allowed, repair the prerequisite when deterministic, preserve exact owner intent and scope, continue through Gate/merge/release/live proof, and only terminalize when (a) requested outcome is live and proven, (b) Noel explicitly says stop/cancel, or (c) a true safety/permission/credential/irreversible owner-only boundary prevents continuation. In case (c), the system must return exact blocker + attempted recoveries + exact smallest owner","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":"294a096af415daf5fde8eac2e0d7c1e07bf2b1d135d19d418d7351083b165399","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":{},"repositoryProofGate":null,"repositoryProofPath":null,"requestContractHash":"294a096af415daf5fde8eac2e0d7c1e07bf2b1d135d19d418d7351083b165399","unsuccessfulTargets":[],"activeReleaseTargets":[],"allowedReleaseTargets":[],"repositoryProofStatus":"required","expectedRepositoryPath":null,"namedGateTestSatisfied":true,"requiredReleaseTargets":[],"migrationReleaseVerified":null,"repositoryConditionBound":false,"repositoryProofSourceSha":null},"required":true,"satisfied":false}],"validationErrors":[],"pendingProofKinds":["repository"],"activeReleaseTargets":[]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T15:12:10.880341+00:00","proof_gate":"request_contract_pending","source_sha":"ce641b4cd9ba5190f32dab3a2890a4e0c11c42ec","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:1d4b5029-c8eb-4907-abd6-838f3f3db58f:request-contract:294a096af415daf5fde8eac2e0d7c1e07bf2b1d135d19d418d7351083b165399:ce641b4cd9ba5190f32dab3a2890a4e0c11c42ec:pending:repository","mission_step_id":"44117729-ff10-4a18-b919-733fddb319d9","command_center_event_id":"1d4b5029-c8eb-4907-abd6-838f3f3db58f"},{"id":"71f0755e-7def-4cd6-9030-07f9a4f79a97","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/version.js"],"reason":"Prime structured exact mutation continuation","baseSha":"ef9e44e428a7dfffedd7f0caedad67ae5885bf1a","issuedAt":1791063694717,"expiresAt":1791063874717,"missionId":"25acfaac-ccd4-4a71-9b73-22f3f9a3e7ea","authorizationId":"5471064b-ed09-4239-a7e1-48265be60f64","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T21:41:35.028235+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"ef9e44e428a7dfffedd7f0caedad67ae5885bf1a","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:5471064b-ed09-4239-a7e1-48265be60f64","mission_step_id":"4e0c377e-6099-47e2-9f1b-e731fe111983","command_center_event_id":"25acfaac-ccd4-4a71-9b73-22f3f9a3e7ea"},{"id":"71f7b912-4952-4436-ac79-4fdef48dee1d","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"7bdff918562d4236b71bd07097b137c03a23157a","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-readable-normalization","satisfied":true,"statement":"cc-execution PAUL connection research never emits [object Object] when structured values appear in model-produced string-list fields; structured unknowns are converted to bounded deterministic readable text while preserving fail-closed activation behavior.","proofConditionIds":["proof-repository","proof-runtime","proof-live-research"]}],"satisfied":true,"constraints":[{"id":"control-plane-scope","satisfied":true,"statement":"Control plane maintenance is limited to the PAUL connection-research normalizer, its targeted test file, and the cc-execution version marker. Do not change provider activation, credential handling, tenant isolation, or research safety gates.","proofConditionIds":["proof-repository","proof-runtime"]},{"id":"fail-closed-preserved","satisfied":true,"statement":"Unknown or conflicting auth, scope, write, permission, destructive, or tenant-isolation evidence must continue to block write activation.","proofConditionIds":["proof-repository","proof-live-research"]},{"id":"capability-completeness","satisfied":true,"statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["proof-repository","proof-runtime","proof-live-research"]},{"id":"atomic-capability-lifecycle","satisfied":true,"statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["proof-repository","proof-runtime","proof-live-research"]}],"contractHash":"735fc6c709cafc07f2c2fd0f8cd01aa50a94929c50146c7a3448b6c8a6b5198b","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"proof-repository","kind":"repository","evidence":{"reason":null,"gateRunId":14147,"satisfied":true,"gateTestProof":null,"gateTestPassed":false,"missingTargets":[],"gateTestExecuted":false,"disallowedTargets":[],"migrationRequired":false,"namedGateTestPath":null,"releaseTargetStates":{"ccExecution":"success"},"repositoryProofGate":"request_contract_repository_verified","repositoryProofPath":null,"requestContractHash":"735fc6c709cafc07f2c2fd0f8cd01aa50a94929c50146c7a3448b6c8a6b5198b","unsuccessfulTargets":[],"activeReleaseTargets":["ccExecution"],"allowedReleaseTargets":[],"repositoryProofStatus":"verified","expectedRepositoryPath":null,"namedGateTestSatisfied":true,"requiredReleaseTargets":["ccExecution"],"migrationReleaseVerified":null,"repositoryConditionBound":true,"repositoryProofSourceSha":"7bdff918562d4236b71bd07097b137c03a23157a"},"required":true,"satisfied":true},{"id":"proof-runtime","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"ccExecution":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["ccExecution"],"allowedReleaseTargets":[],"requiredReleaseTargets":["ccExecution"],"migrationReleaseVerified":null,"releaseRequestContractHash":"735fc6c709cafc07f2c2fd0f8cd01aa50a94929c50146c7a3448b6c8a6b5198b"},"required":true,"satisfied":true},{"id":"proof-live-research","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"ccExecution":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["ccExecution"],"allowedReleaseTargets":[],"requiredReleaseTargets":["ccExecution"],"migrationReleaseVerified":null,"releaseRequestContractHash":"735fc6c709cafc07f2c2fd0f8cd01aa50a94929c50146c7a3448b6c8a6b5198b"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["ccExecution"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T00:49:13.878238+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"7bdff918562d4236b71bd07097b137c03a23157a","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:7cf0ca5a-0641-4f33-82b2-63c6e0a267f5:request-contract:735fc6c709cafc07f2c2fd0f8cd01aa50a94929c50146c7a3448b6c8a6b5198b:7bdff918562d4236b71bd07097b137c03a23157a:verified:","mission_step_id":"86160c94-92de-4178-9e37-d6cf36a82ccc","command_center_event_id":"7cf0ca5a-0641-4f33-82b2-63c6e0a267f5"},{"id":"71f9a414-58fb-4e55-844a-329b79e27730","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"objective_received","branch":null,"reason":"githubJsonRequest is not defined","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.37.0-forgejo-native-control-plane","prNumber":18,"terminal":false,"missionId":"943f57e1-cdba-499b-a2db-74b0447de996","operation":"ship_and_prove","proofGate":"canonical_release_blocked","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"943f57e1-cdba-499b-a2db-74b0447de996"},"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":163,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-14T15:17:32.560485+00:00","proof_gate":"canonical_release_blocked","source_sha":null,"external_id":"18","receipt_type":"ship_and_prove","idempotency_key":"mission:943f57e1-cdba-499b-a2db-74b0447de996:ship_and_prove:canonical_release_blocked:no-source:no-run","mission_step_id":"fc0dd045-16d6-419e-a5a6-246777174098","command_center_event_id":"943f57e1-cdba-499b-a2db-74b0447de996"},{"id":"71f9c13b-2842-4518-a426-2d86941af7cd","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":null,"reason":"retryable_provider_transport:GET:The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.123-modes-storage-validated-oauth","prNumber":null,"terminal":false,"missionId":"0ccdf31c-300d-4043-9f30-4ce7329435dc","operation":"execute_mission","proofGate":"repair_mission_execution_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":23996,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":254,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":254,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":254,"repositoryMutationMs":23996,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":254,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"0ccdf31c-300d-4043-9f30-4ce7329435dc"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1561,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-13T03:28:05.250263+00:00","proof_gate":"repair_mission_execution_retryable","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:0ccdf31c-300d-4043-9f30-4ce7329435dc:execute_mission:repair_mission_execution_retryable:current-generation","mission_step_id":"b5572500-9d2a-478a-a61c-7944a1b4176c","command_center_event_id":"0ccdf31c-300d-4043-9f30-4ce7329435dc"},{"id":"71fcc1a5-b34b-4fef-99d3-618311c4bb6e","source":"forgejo","status":"waiting","payload":{"branch":"ai/deterministic-next-action-81fd1441","prNumber":3291,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"165f6d2dc7d10830ea35b49494dc5b131382f9a8","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-20T15:07:20.650803+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"165f6d2dc7d10830ea35b49494dc5b131382f9a8","external_id":"3291","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:81fd1441-cf62-4734-b80a-400858066693:merged-pr:3291:165f6d2dc7d10830ea35b49494dc5b131382f9a8","mission_step_id":"0d19567e-4ab0-4528-8f99-da1bc66e205f","command_center_event_id":"81fd1441-cf62-4734-b80a-400858066693"},{"id":"71fd4c79-59c2-47c4-94d7-057358d868b7","source":"forgejo-runtime","status":"pending","payload":{"mainSha":"65ed5c24c4f92d0c15f44f3f7f4b663216ab0171","sourceSha":"c96f6810d79906a6363874ee402d09bd8227cd63","sourceInMain":false,"compareStatus":"ancestry_read_retryable","ancestryProofResolved":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-16T03:24:37.82052+00:00","proof_gate":"canonical_release_ancestry_pending","source_sha":"c96f6810d79906a6363874ee402d09bd8227cd63","external_id":"forgejo-main-c96f6810d799","receipt_type":"canonical_release_status","idempotency_key":"mission:980653b3-107d-48d5-9aae-6049df3ffe77:forgejo-release-ancestry:c96f6810d79906a6363874ee402d09bd8227cd63:65ed5c24c4f92d0c15f44f3f7f4b663216ab0171:ancestry_read_retryable","mission_step_id":"fb646f04-d2df-4790-a8f3-06c979e72429","command_center_event_id":"980653b3-107d-48d5-9aae-6049df3ffe77"},{"id":"71fea6b5-287b-4ad9-8140-df840b1c24c3","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-9a15b1cd00d0","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":22537,"releaseCount":0,"toolCallCount":9,"repeatedCallCount":6,"executorlessWaitMs":74777,"firstUsefulResultAt":"2026-09-29T00:15:07.521Z","recoveryAttemptCount":7,"ownerInterruptionCount":0},"version":null,"prNumber":4058,"terminal":false,"missionId":"9a15b1cd-00d0-48c2-9195-4d6416264b8b","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":5624,"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":"9a15b1cd-00d0-48c2-9195-4d6416264b8b"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":819,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T00:15:20.577927+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4058","receipt_type":"automatic_mission_resume","idempotency_key":"mission:9a15b1cd-00d0-48c2-9195-4d6416264b8b:automatic-mission-resume:4058:repair_mission_pr_ready_retryable","mission_step_id":"4ae13350-7104-4fc5-96c3-6bc42616f1ad","command_center_event_id":"9a15b1cd-00d0-48c2-9195-4d6416264b8b"},{"id":"71ff1f25-af99-41ae-abd4-9de8225129f4","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-2963866637ca","writes":[],"patches":[],"version":1,"approved":true,"missionId":"29638666-37ca-4f82-bb45-2b03ab41e5ef","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["public/console/catalog.mjs","public/console/console.js","public/console/operator.mjs","public/console/console.css","scripts/knocklaunch-console/catalog.mjs","scripts/knocklaunch-console/console.js","scripts/knocklaunch-console/operator.mjs","scripts/knocklaunch-console/console.css","src/pages/admin/GodModeCommandConsole.tsx"],"anchored_edits":[{"path":"public/console/catalog.mjs","edits":[{"new_content":"export const stages = [\n  {id:'overview',name:'Overview',description:'Your KNOCKLAUNCH command center.',steps:[]},\n  {id:'machines',name:'Machines',description:'Desktop runner and Laptop witness at a glance.',steps:[['forgejo','Refresh machines','Refresh runner inventory'],['runner-proof','Run Desktop proof','Verify the primary build runner through the canonical proof workflow']]},\n  {id:'release',name:'Build & Release',description:'Follow code from Gate to live production.',steps:[['forgejo','Refresh Gate & builds','Refresh current Forgejo evidence'],['cloudflare','Refresh live release','Refresh current production deployment evidence']]},\n  {id:'services',name:'Services',description:'Cloudflare, Supabase and Forgejo health.',steps:[['cloudflare','Refresh Cloudflare','Refresh production deployment state'],['supabase','Refresh Supabase','Refresh project service state'],['forgejo','Refresh Forgejo','Refresh runners and workflow state']]},\n  {id:'activity',name:'Activity',description:'Recent Console work and technical evidence.',steps:[['forgejo','Refresh activity','Refresh runner and workflow activity'],['cloudflare','Refresh release activity','Refresh production deployment activity']]}\n];\nexport const actions = Object.fromEntries(stages.flatMap(stage=>stage.steps.map(([id,name,description])=>[id,{id,name,description}])));\nexport const releaseOrder = ['code','gate','candidate','live'];\nexport function prerequisites(){ return []; }","old_content":"export const stages = [\n  {id:'operator',name:'Operator',description:'Chat and inspect any application page.',steps:[]},\n  {id:'machine',name:'Machine',description:'Check this computer and its local tools.',steps:[['machine','Check computer','CPU, memory, disk and tool versions'],['wsl','Check WSL','List installed Linux environments'],['docker','Check Docker','Verify the Docker engine is responding'],['connect','Connect Desktop Commander','Start the remote support connection']]},\n  {id:'repository',name:'Repository',description:'Know exactly which code you are working on.',steps:[['git-status','Inspect working copy','Branch, commit and changed files'],['git-fetch','Fetch latest code','Update remote references without changing files'],['git-pull','Update clean branch','Fast-forward only; refuses local changes']]},\n  {id:'build',name:'Build & Test',description:'Run each check and see its output.',steps:[['dependencies','Install locked dependencies','Use the repository lockfile'],['typecheck','Check TypeScript','Find type errors'],['tests','Run contract tests','Verify application contracts'],['build','Build application','Run the canonical Cloudflare build'],['gate','Check canonical Gate','Verify the current commit against Forgejo Gate']]},\n  {id:'runner',name:'Runner',description:'Control the local runner and inspect Forgejo jobs.',steps:[['runner-register','Register MSI runner','One-time repository registration; token is never stored'],['runner-status','Inspect MSI runner','Service state on this computer'],['runner-start','Start MSI runner','Start the configured local service'],['runner-stop','Stop MSI runner','Only the MSI runner service'],['runner-restart','Restart MSI runner','Restart the configured local service'],['runner-proof','Run MSI Proof','Dispatch the fixed MSI Runner Proof workflow on main'],['forgejo','Refresh Forgejo jobs','Live runner inventory and recent jobs']]},\n  {id:'cloudflare',name:'Cloudflare',description:'Live production deployments and routes.',steps:[['cloudflare','Refresh Cloudflare','Read the provider directly']]},\n  {id:'supabase',name:'Supabase',description:'Project services, functions, migrations and logs.',steps:[['supabase','Refresh Supabase','Read the provider directly']]},\n  {id:'release',name:'Release',description:'Prepare and verify a release before promotion.',steps:[['prepare','Prepare release','Require a clean, current main commit'],['build','Build artifact','Bind the build to this source commit'],['typecheck','Check types','Stop on errors'],['tests','Run tests','Stop on failed contracts'],['gate','Verify Gate','Require canonical success for this exact commit'],['candidate','Create candidate','Upload at zero production traffic'],['verify-candidate','Verify candidate','Prove the exact candidate artifact'],['promote','Promote candidate','Confirm this source and artifact'],['verify-live','Verify live release','Prove the promoted application']]},\n  {id:'health',name:'Health / Logs',description:'Inspect recent activity and provider health.',steps:[['cloudflare','Cloudflare state','Refresh deployment evidence'],['supabase','Supabase state','Refresh services and function inventory'],['forgejo','Forgejo state','Refresh runner and workflow inventory']]}\n];\nexport const actions = Object.fromEntries(stages.flatMap(stage=>stage.steps.map(([id,name,description])=>[id,{id,name,description}])));\nexport const releaseOrder = ['prepare','build','typecheck','tests','gate','candidate','verify-candidate','promote','verify-live'];\nexport function prerequisites(id){ const index=releaseOrder.indexOf(id);return index>0?releaseOrder.slice(0,index):[]; }"}]},{"path":"scripts/knocklaunch-console/catalog.mjs","edits":[{"new_content":"export const stages = [\n  {id:'overview',name:'Overview',description:'Your KNOCKLAUNCH command center.',steps:[]},\n  {id:'machines',name:'Machines',description:'Desktop runner and Laptop witness at a glance.',steps:[['forgejo','Refresh machines','Refresh runner inventory'],['runner-proof','Run Desktop proof','Verify the primary build runner through the canonical proof workflow']]},\n  {id:'release',name:'Build & Release',description:'Follow code from Gate to live production.',steps:[['forgejo','Refresh Gate & builds','Refresh current Forgejo evidence'],['cloudflare','Refresh live release','Refresh current production deployment evidence']]},\n  {id:'services',name:'Services',description:'Cloudflare, Supabase and Forgejo health.',steps:[['cloudflare','Refresh Cloudflare','Refresh production deployment state'],['supabase','Refresh Supabase','Refresh project service state'],['forgejo','Refresh Forgejo','Refresh runners and workflow state']]},\n  {id:'activity',name:'Activity',description:'Recent Console work and technical evidence.',steps:[['forgejo','Refresh activity','Refresh runner and workflow activity'],['cloudflare','Refresh release activity','Refresh production deployment activity']]}\n];\nexport const actions = Object.fromEntries(stages.flatMap(stage=>stage.steps.map(([id,name,description])=>[id,{id,name,description}])));\nexport const releaseOrder = ['code','gate','candidate','live'];\nexport function prerequisites(){ return []; }","old_content":"export const stages = [\n  {id:'operator',name:'Operator',description:'Chat and inspect any application page.',steps:[]},\n  {id:'machine',name:'Machine',description:'Check this computer and its local tools.',steps:[['machine','Check computer','CPU, memory, disk and tool versions'],['wsl','Check WSL','List installed Linux environments'],['docker','Check Docker','Verify the Docker engine is responding'],['connect','Connect Desktop Commander','Start the remote support connection']]},\n  {id:'repository',name:'Repository',description:'Know exactly which code you are working on.',steps:[['git-status','Inspect working copy','Branch, commit and changed files'],['git-fetch','Fetch latest code','Update remote references without changing files'],['git-pull','Update clean branch','Fast-forward only; refuses local changes']]},\n  {id:'build',name:'Build & Test',description:'Run each check and see its output.',steps:[['dependencies','Install locked dependencies','Use the repository lockfile'],['typecheck','Check TypeScript','Find type errors'],['tests','Run contract tests','Verify application contracts'],['build','Build application','Run the canonical Cloudflare build'],['gate','Check canonical Gate','Verify the current commit against Forgejo Gate']]},\n  {id:'runner',name:'Runner',description:'Control the local runner and inspect Forgejo jobs.',steps:[['runner-register','Register MSI runner','One-time repository registration; token is never stored'],['runner-status','Inspect MSI runner','Service state on this computer'],['runner-start','Start MSI runner','Start the configured local service'],['runner-stop','Stop MSI runner','Only the MSI runner service'],['runner-restart','Restart MSI runner','Restart the configured local service'],['runner-proof','Run MSI Proof','Dispatch the fixed MSI Runner Proof workflow on main'],['forgejo','Refresh Forgejo jobs','Live runner inventory and recent jobs']]},\n  {id:'cloudflare',name:'Cloudflare',description:'Live production deployments and routes.',steps:[['cloudflare','Refresh Cloudflare','Read the provider directly']]},\n  {id:'supabase',name:'Supabase',description:'Project services, functions, migrations and logs.',steps:[['supabase','Refresh Supabase','Read the provider directly']]},\n  {id:'release',name:'Release',description:'Prepare and verify a release before promotion.',steps:[['prepare','Prepare release','Require a clean, current main commit'],['build','Build artifact','Bind the build to this source commit'],['typecheck','Check types','Stop on errors'],['tests','Run tests','Stop on failed contracts'],['gate','Verify Gate','Require canonical success for this exact commit'],['candidate','Create candidate','Upload at zero production traffic'],['verify-candidate','Verify candidate','Prove the exact candidate artifact'],['promote','Promote candidate','Confirm this source and artifact'],['verify-live','Verify live release','Prove the promoted application']]},\n  {id:'health',name:'Health / Logs',description:'Inspect recent activity and provider health.',steps:[['cloudflare','Cloudflare state','Refresh deployment evidence'],['supabase','Supabase state','Refresh services and function inventory'],['forgejo','Forgejo state','Refresh runner and workflow inventory']]}\n];\nexport const actions = Object.fromEntries(stages.flatMap(stage=>stage.steps.map(([id,name,description])=>[id,{id,name,description}])));\nexport const releaseOrder = ['prepare','build','typecheck','tests','gate','candidate','verify-candidate','promote','verify-live'];\nexport function prerequisites(id){ const index=releaseOrder.indexOf(id);return index>0?releaseOrder.slice(0,index):[]; }"}]},{"path":"public/console/console.js","edits":[{"new_content":"let selected='overview', connected=false, hostedOnline=embedded, busy=false, state={jobs:[],steps:{},providers:{},witness:null}, notice='', lastRefresh=0;","old_content":"let selected='operator', connected=false, hostedOnline=embedded, busy=false, state={jobs:[],steps:{},providers:{}}, notice='', lastRefresh=0;"},{"new_content":"async function api(path,body){const response=await fetch((local?'':'http://127.0.0.1:47831')+path,{method:body?'POST':'GET',headers:{Authorization:'Bearer '+token,...(body?{'Content-Type':'application/json'}:{})},...(body?{body:JSON.stringify(body)}:{}),signal:AbortSignal.timeout(15000)});const data=await response.json();if(!response.ok)throw new Error(data.error||'Console request failed');return data;}\nasync function fetchWitnessHealth(){try{const response=await fetch('https://laptop-witness.knocklaunch.app/health',{cache:'no-store',signal:AbortSignal.timeout(8000)});const data=await response.json();if(!response.ok||data?.ok===false)throw new Error('Witness health unavailable');return data;}catch(error){return {ok:false,status:'unavailable',error:error instanceof Error?error.message:'Witness health unavailable'};}}\nfunction forgejoRunners(){return state.providers.forgejo?.sections?.Runners?.data?.runners||state.providers.forgejo?.runners||[];}\nfunction namedRunner(name){return forgejoRunners().find(item=>item?.name===name)||null;}\nfunction runnerOnline(item){return Boolean(item&&String(item.status||'').toLowerCase()!=='offline');}\nfunction providerOnline(name){const item=state.providers[name];if(!item)return false;return !['failed','error','unavailable','offline'].includes(String(item.status||'').toLowerCase());}\nfunction systemStatus(){const desktop=namedRunner('msi-local'),laptopRunner=namedRunner('laptop-local'),witness=state.witness||{};const laptopOnline=witness.ok===true||runnerOnline(laptopRunner);return {desktop:{online:runnerOnline(desktop),busy:Boolean(desktop?.busy),status:desktop?.status||'connecting',slots:desktop?.executionSlots||desktop?.guaranteedAvailableSlots||null},laptop:{online:laptopOnline,witnessReady:witness.ok===true&&['ready','live'].includes(String(witness.status||'').toLowerCase()),witnessActive:Boolean(witness.activeJobs||witness.witnessActive),status:witness.status||laptopRunner?.status||'connecting',runnerOnline:runnerOnline(laptopRunner)},services:{online:['cloudflare','supabase','forgejo'].filter(providerOnline).length,total:3},lastRefresh};}\nfunction statusClass(ok){return ok?'live':'failed';}\nfunction statusLabel(value,fallback='Connecting'){return value==null?fallback:String(value);}\nfunction technicalDetails(title,data){return `<details class=\"technical-details\"><summary>${escape(title)}</summary><pre class=\"logs\">${escape(JSON.stringify(data??null,null,2))}</pre></details>`;}\nfunction serviceCard(name,label){const data=state.providers[name],online=providerOnline(name);return `<section class=\"panel service-card\"><div class=\"provider-head\"><div><div class=\"eyebrow\">${escape(label)}</div><h3>${online?'Connected':'Checking connection'}</h3></div><span class=\"status-dot-wrap\"><span class=\"status-dot ${online?'on':'off'}\"></span>${online?'Live':'Degraded'}</span></div><p class=\"muted\">${data?.summary?Object.entries(data.summary).slice(0,2).map(([k,v])=>`${escape(k)}: ${escape(v??'—')}`).join(' · '):'KNOCKLAUNCH is reading this service through your signed-in owner session.'}</p>${technicalDetails('Technical details',data)}</section>`;}\nfunction machineCards(){const desktop=namedRunner('msi-local'),laptopRunner=namedRunner('laptop-local'),sys=systemStatus(),witness=state.witness||{},others=forgejoRunners().filter(item=>!['msi-local','laptop-local'].includes(item?.name));return `<div class=\"machine-grid\"><section class=\"machine-card primary\"><div class=\"machine-card-head\"><div><div class=\"eyebrow\">DESKTOP</div><h2>Primary Build Runner</h2></div><span class=\"status-dot-wrap\"><span class=\"status-dot ${sys.desktop.online?'on':'off'}\"></span>${sys.desktop.online?(sys.desktop.busy?'Busy':'Online'):'Offline'}</span></div><p class=\"machine-purpose\">Builds, Gate work and CI jobs belong here.</p><div class=\"mini-metrics\"><div><span>Runner</span><b>msi-local</b></div><div><span>State</span><b>${escape(desktop?.status||'Connecting')}</b></div><div><span>Slots</span><b>${escape(desktop?.executionSlots??desktop?.guaranteedAvailableSlots??'—')}</b></div></div></section><section class=\"machine-card witness\"><div class=\"machine-card-head\"><div><div class=\"eyebrow\">LAPTOP</div><h2>Interactive Witness</h2></div><span class=\"status-dot-wrap\"><span class=\"status-dot ${sys.laptop.online?'on':'off'}\"></span>${sys.laptop.witnessActive?'Witnessing':sys.laptop.online?'Ready':'Offline'}</span></div><p class=\"machine-purpose\">Authenticated visual inspection and interactive page proof.</p><div class=\"mini-metrics\"><div><span>Witness</span><b>${escape(witness.status||'Connecting')}</b></div><div><span>Health</span><b>${witness.witnessHealthy===false?'Attention':witness.ok===true?'Healthy':sys.laptop.runnerOnline?'Runner online':'Checking'}</b></div><div><span>Runner</span><b>${escape(laptopRunner?.status||'Secondary')}</b></div></div></section></div>${others.length?`<details class=\"panel infrastructure\"><summary>Fallback infrastructure · ${others.length} available</summary><div class=\"runner-list\">${others.map(r=>`<div><b>${escape(r.name)}</b><span class=\"pill ${runnerOnline(r)?'live':'failed'}\">${escape(r.status||'unknown')}</span></div>`).join('')}</div></details>`:''}`;}\nfunction renderHosted(){const stage=stages.find(item=>item.id===selected)||stages[0],sys=systemStatus(),updated=lastRefresh?new Date(lastRefresh).toLocaleTimeString():'Connecting';let body='';if(selected==='machines')body=`${machineCards()}<div class=\"quick-row\"><button data-run=\"forgejo\">Refresh machines</button><button data-run=\"runner-proof\">Run Desktop proof</button></div>`;else if(selected==='release')body=`<section class=\"panel release-hero\"><div><div class=\"eyebrow\">CANONICAL RELEASE</div><h2>One path from code to live.</h2><p class=\"muted\">The Console shows the pipeline. Gate and release machinery do the technical work underneath.</p></div><div class=\"release-flow\"><div><b>1</b><span>Code</span></div><i>→</i><div><b>2</b><span>Gate</span></div><i>→</i><div><b>3</b><span>Candidate</span></div><i>→</i><div><b>4</b><span>Live</span></div></div></section><div class=\"service-grid\">${serviceCard('forgejo','BUILD & GATE')}${serviceCard('cloudflare','LIVE RELEASE')}</div>`;else if(selected==='services')body=`<div class=\"service-grid three\">${serviceCard('cloudflare','CLOUDFLARE')}${serviceCard('supabase','SUPABASE')}${serviceCard('forgejo','FORGEJO')}</div>`;else if(selected==='activity'){const jobs=(state.jobs||[]).slice(0,8);body=`<section class=\"panel activity-panel\"><div class=\"provider-head\"><div><div class=\"eyebrow\">RECENT WORK</div><h2>Activity</h2></div><span class=\"muted small\">Updated ${escape(updated)}</span></div>${jobs.length?jobs.map(job=>`<details class=\"activity-item\"><summary><span>${escape(actions[job.action]?.name||job.action||'Console task')}</span><span class=\"pill ${escape(job.status||'waiting')}\">${escape(job.status||'waiting')}</span></summary><pre class=\"logs\">${escape(job.output||job.error||'No technical output recorded.')}</pre></details>`).join(''):`<div class=\"empty-state\"><b>No local Console jobs are running.</b><span>Provider and runner activity is connected above. Technical evidence stays available when you need it.</span></div>`}${technicalDetails('Forgejo activity details',state.providers.forgejo)}</section>`;}else body=machineCards();app.innerHTML=`<div class=\"console-frame\"><header class=\"console-header\"><div><div class=\"eyebrow\">KNOCKLAUNCH CONSOLE</div><h1>${escape(stage.name)}</h1><p>${escape(stage.description)}</p></div><div class=\"connection-strip\"><span class=\"${statusClass(sys.desktop.online)}\"><i></i>Desktop ${sys.desktop.online?'online':'offline'}</span><span class=\"${statusClass(sys.laptop.online)}\"><i></i>Laptop ${sys.laptop.witnessActive?'witnessing':sys.laptop.online?'ready':'offline'}</span><span class=\"${sys.services.online===sys.services.total?'live':'waiting'}\"><i></i>Services ${sys.services.online}/${sys.services.total}</span><button id=\"refresh\">Refresh</button></div></header><nav class=\"console-nav\" aria-label=\"Console navigation\">${stages.map(item=>`<button data-stage=\"${item.id}\" aria-current=\"${selected===item.id?'page':'false'}\">${escape(item.name)}</button>`).join('')}</nav><main class=\"console-main\">${notice?`<div class=\"notice\">${escape(notice)}</div>`:''}${body}</main></div>`;app.querySelectorAll('[data-stage]').forEach(button=>button.onclick=()=>{selected=button.dataset.stage;render();});app.querySelectorAll('[data-run]').forEach(button=>button.onclick=()=>run(button.dataset.run));const refreshButton=app.querySelector('#refresh');if(refreshButton)refreshButton.onclick=()=>refresh({deep:true});}","old_content":"async function api(path,body){const response=await fetch((local?'':'http://127.0.0.1:47831')+path,{method:body?'POST':'GET',headers:{Authorization:'Bearer '+token,...(body?{'Content-Type':'application/json'}:{})},...(body?{body:JSON.stringify(body)}:{}),signal:AbortSignal.timeout(15000)});const data=await response.json();if(!response.ok)throw new Error(data.error||'Console request failed');return data;}"},{"new_content":"async function refresh(options={}){if(busy)return;busy=true;const deep=options.deep!==false;try{if(embedded){hostedOnline=true;const tasks=[['forgejo',bridge('forgejo')],['witness',fetchWitnessHealth()]];if(deep||!state.providers.cloudflare)tasks.push(['cloudflare',bridge('cloudflare')]);if(deep||!state.providers.supabase)tasks.push(['supabase',bridge('supabase')]);const settled=await Promise.all(tasks.map(async([key,promise])=>[key,await promise]));for(const [key,data] of settled){if(key==='witness')state.witness=data;else state.providers[key]=data;}if(!state.witness?.ok){const fallback=namedRunner('laptop-local');if(fallback)state.witness={ok:fallback.status!=='offline',status:fallback.status==='offline'?'unavailable':'runner-online',fallback:true,witnessHealthy:null,activeJobs:0};}lastRefresh=Date.now();notice='';return;}const data=await api('/api/state');state={...data,providers:{...state.providers,...data.providers}};connected=true;lastRefresh=Date.now();notice='';}catch(error){if(!embedded)connected=false;notice=error instanceof Error?error.message:'Some live systems could not refresh.';}finally{busy=false;if(document.activeElement?.tagName!=='INPUT')render();}}","old_content":"async function refresh(){if(busy)return;busy=true;try{if(embedded&&!local&&!token){const data=await bridge('forgejo');state.providers.forgejo=data;hostedOnline=true;lastRefresh=Date.now();notice='';return;}const data=await api('/api/state');state={...data,providers:{...state.providers,...data.providers}};connected=true;if(embedded)hostedOnline=true;lastRefresh=Date.now();notice='';}catch(error){connected=false;if(embedded&&!token)hostedOnline=false;if(local||token||embedded)notice=error.message;}finally{busy=false;if(document.activeElement?.tagName!=='INPUT')render();}}"},{"new_content":"function render(){if(selected==='overview'){mountOperator(app,{bridge:embedded?bridge:async()=>{throw new Error('Open the signed-in Console at app.knocklaunch.app/admin/console to chat.');},hostedOnline:()=>hostedOnline,localConnected:()=>embedded||connected,systemStatus,connectLocal:local?async code=>{const next=String(code||'').trim();if(!next)throw new Error('Local Console session unavailable.');token=next;localStorage.setItem(localSessionKey,token);await refresh();return true;}:null,stages,onStage:id=>{selected=id;render();}});return;}if(embedded){renderHosted();return;}","old_content":"function render(){if(selected==='operator'){mountOperator(app,{bridge:embedded?bridge:async()=>{throw new Error('Open the signed-in Console at app.knocklaunch.app/admin/console to chat.');},hostedOnline:()=>hostedOnline,localConnected:()=>connected,connectLocal:async code=>{const next=String(code||'').trim();if(!next)throw new Error('Paste the MSI pairing code first.');token=next;localStorage.setItem(localSessionKey,token);await refresh();if(!connected)throw new Error(notice||'MSI pairing failed.');return true;},stages,onStage:id=>{selected=id;render();}});return;}"},{"new_content":"render();if(embedded||local||token)refresh({deep:true});setInterval(()=>{if(!document.hidden&&(embedded||connected||local))refresh({deep:false});},30000);","old_content":"render();if(embedded||local||token)refresh();setInterval(()=>{if(!document.hidden&&(embedded||connected||local))refresh();},5000);"}]},{"path":"scripts/knocklaunch-console/console.js","edits":[{"new_content":"let selected='overview', connected=false, hostedOnline=embedded, busy=false, state={jobs:[],steps:{},providers:{},witness:null}, notice='', lastRefresh=0;","old_content":"let selected='operator', connected=false, hostedOnline=embedded, busy=false, state={jobs:[],steps:{},providers:{}}, notice='', lastRefresh=0;"},{"new_content":"async function api(path,body){const response=await fetch((local?'':'http://127.0.0.1:47831')+path,{method:body?'POST':'GET',headers:{Authorization:'Bearer '+token,...(body?{'Content-Type':'application/json'}:{})},...(body?{body:JSON.stringify(body)}:{}),signal:AbortSignal.timeout(15000)});const data=await response.json();if(!response.ok)throw new Error(data.error||'Console request failed');return data;}\nasync function fetchWitnessHealth(){try{const response=await fetch('https://laptop-witness.knocklaunch.app/health',{cache:'no-store',signal:AbortSignal.timeout(8000)});const data=await response.json();if(!response.ok||data?.ok===false)throw new Error('Witness health unavailable');return data;}catch(error){return {ok:false,status:'unavailable',error:error instanceof Error?error.message:'Witness health unavailable'};}}\nfunction forgejoRunners(){return state.providers.forgejo?.sections?.Runners?.data?.runners||state.providers.forgejo?.runners||[];}\nfunction namedRunner(name){return forgejoRunners().find(item=>item?.name===name)||null;}\nfunction runnerOnline(item){return Boolean(item&&String(item.status||'').toLowerCase()!=='offline');}\nfunction providerOnline(name){const item=state.providers[name];if(!item)return false;return !['failed','error','unavailable','offline'].includes(String(item.status||'').toLowerCase());}\nfunction systemStatus(){const desktop=namedRunner('msi-local'),laptopRunner=namedRunner('laptop-local'),witness=state.witness||{};const laptopOnline=witness.ok===true||runnerOnline(laptopRunner);return {desktop:{online:runnerOnline(desktop),busy:Boolean(desktop?.busy),status:desktop?.status||'connecting',slots:desktop?.executionSlots||desktop?.guaranteedAvailableSlots||null},laptop:{online:laptopOnline,witnessReady:witness.ok===true&&['ready','live'].includes(String(witness.status||'').toLowerCase()),witnessActive:Boolean(witness.activeJobs||witness.witnessActive),status:witness.status||laptopRunner?.status||'connecting',runnerOnline:runnerOnline(laptopRunner)},services:{online:['cloudflare','supabase','forgejo'].filter(providerOnline).length,total:3},lastRefresh};}\nfunction statusClass(ok){return ok?'live':'failed';}\nfunction statusLabel(value,fallback='Connecting'){return value==null?fallback:String(value);}\nfunction technicalDetails(title,data){return `<details class=\"technical-details\"><summary>${escape(title)}</summary><pre class=\"logs\">${escape(JSON.stringify(data??null,null,2))}</pre></details>`;}\nfunction serviceCard(name,label){const data=state.providers[name],online=providerOnline(name);return `<section class=\"panel service-card\"><div class=\"provider-head\"><div><div class=\"eyebrow\">${escape(label)}</div><h3>${online?'Connected':'Checking connection'}</h3></div><span class=\"status-dot-wrap\"><span class=\"status-dot ${online?'on':'off'}\"></span>${online?'Live':'Degraded'}</span></div><p class=\"muted\">${data?.summary?Object.entries(data.summary).slice(0,2).map(([k,v])=>`${escape(k)}: ${escape(v??'—')}`).join(' · '):'KNOCKLAUNCH is reading this service through your signed-in owner session.'}</p>${technicalDetails('Technical details',data)}</section>`;}\nfunction machineCards(){const desktop=namedRunner('msi-local'),laptopRunner=namedRunner('laptop-local'),sys=systemStatus(),witness=state.witness||{},others=forgejoRunners().filter(item=>!['msi-local','laptop-local'].includes(item?.name));return `<div class=\"machine-grid\"><section class=\"machine-card primary\"><div class=\"machine-card-head\"><div><div class=\"eyebrow\">DESKTOP</div><h2>Primary Build Runner</h2></div><span class=\"status-dot-wrap\"><span class=\"status-dot ${sys.desktop.online?'on':'off'}\"></span>${sys.desktop.online?(sys.desktop.busy?'Busy':'Online'):'Offline'}</span></div><p class=\"machine-purpose\">Builds, Gate work and CI jobs belong here.</p><div class=\"mini-metrics\"><div><span>Runner</span><b>msi-local</b></div><div><span>State</span><b>${escape(desktop?.status||'Connecting')}</b></div><div><span>Slots</span><b>${escape(desktop?.executionSlots??desktop?.guaranteedAvailableSlots??'—')}</b></div></div></section><section class=\"machine-card witness\"><div class=\"machine-card-head\"><div><div class=\"eyebrow\">LAPTOP</div><h2>Interactive Witness</h2></div><span class=\"status-dot-wrap\"><span class=\"status-dot ${sys.laptop.online?'on':'off'}\"></span>${sys.laptop.witnessActive?'Witnessing':sys.laptop.online?'Ready':'Offline'}</span></div><p class=\"machine-purpose\">Authenticated visual inspection and interactive page proof.</p><div class=\"mini-metrics\"><div><span>Witness</span><b>${escape(witness.status||'Connecting')}</b></div><div><span>Health</span><b>${witness.witnessHealthy===false?'Attention':witness.ok===true?'Healthy':sys.laptop.runnerOnline?'Runner online':'Checking'}</b></div><div><span>Runner</span><b>${escape(laptopRunner?.status||'Secondary')}</b></div></div></section></div>${others.length?`<details class=\"panel infrastructure\"><summary>Fallback infrastructure · ${others.length} available</summary><div class=\"runner-list\">${others.map(r=>`<div><b>${escape(r.name)}</b><span class=\"pill ${runnerOnline(r)?'live':'failed'}\">${escape(r.status||'unknown')}</span></div>`).join('')}</div></details>`:''}`;}\nfunction renderHosted(){const stage=stages.find(item=>item.id===selected)||stages[0],sys=systemStatus(),updated=lastRefresh?new Date(lastRefresh).toLocaleTimeString():'Connecting';let body='';if(selected==='machines')body=`${machineCards()}<div class=\"quick-row\"><button data-run=\"forgejo\">Refresh machines</button><button data-run=\"runner-proof\">Run Desktop proof</button></div>`;else if(selected==='release')body=`<section class=\"panel release-hero\"><div><div class=\"eyebrow\">CANONICAL RELEASE</div><h2>One path from code to live.</h2><p class=\"muted\">The Console shows the pipeline. Gate and release machinery do the technical work underneath.</p></div><div class=\"release-flow\"><div><b>1</b><span>Code</span></div><i>→</i><div><b>2</b><span>Gate</span></div><i>→</i><div><b>3</b><span>Candidate</span></div><i>→</i><div><b>4</b><span>Live</span></div></div></section><div class=\"service-grid\">${serviceCard('forgejo','BUILD & GATE')}${serviceCard('cloudflare','LIVE RELEASE')}</div>`;else if(selected==='services')body=`<div class=\"service-grid three\">${serviceCard('cloudflare','CLOUDFLARE')}${serviceCard('supabase','SUPABASE')}${serviceCard('forgejo','FORGEJO')}</div>`;else if(selected==='activity'){const jobs=(state.jobs||[]).slice(0,8);body=`<section class=\"panel activity-panel\"><div class=\"provider-head\"><div><div class=\"eyebrow\">RECENT WORK</div><h2>Activity</h2></div><span class=\"muted small\">Updated ${escape(updated)}</span></div>${jobs.length?jobs.map(job=>`<details class=\"activity-item\"><summary><span>${escape(actions[job.action]?.name||job.action||'Console task')}</span><span class=\"pill ${escape(job.status||'waiting')}\">${escape(job.status||'waiting')}</span></summary><pre class=\"logs\">${escape(job.output||job.error||'No technical output recorded.')}</pre></details>`).join(''):`<div class=\"empty-state\"><b>No local Console jobs are running.</b><span>Provider and runner activity is connected above. Technical evidence stays available when you need it.</span></div>`}${technicalDetails('Forgejo activity details',state.providers.forgejo)}</section>`;}else body=machineCards();app.innerHTML=`<div class=\"console-frame\"><header class=\"console-header\"><div><div class=\"eyebrow\">KNOCKLAUNCH CONSOLE</div><h1>${escape(stage.name)}</h1><p>${escape(stage.description)}</p></div><div class=\"connection-strip\"><span class=\"${statusClass(sys.desktop.online)}\"><i></i>Desktop ${sys.desktop.online?'online':'offline'}</span><span class=\"${statusClass(sys.laptop.online)}\"><i></i>Laptop ${sys.laptop.witnessActive?'witnessing':sys.laptop.online?'ready':'offline'}</span><span class=\"${sys.services.online===sys.services.total?'live':'waiting'}\"><i></i>Services ${sys.services.online}/${sys.services.total}</span><button id=\"refresh\">Refresh</button></div></header><nav class=\"console-nav\" aria-label=\"Console navigation\">${stages.map(item=>`<button data-stage=\"${item.id}\" aria-current=\"${selected===item.id?'page':'false'}\">${escape(item.name)}</button>`).join('')}</nav><main class=\"console-main\">${notice?`<div class=\"notice\">${escape(notice)}</div>`:''}${body}</main></div>`;app.querySelectorAll('[data-stage]').forEach(button=>button.onclick=()=>{selected=button.dataset.stage;render();});app.querySelectorAll('[data-run]').forEach(button=>button.onclick=()=>run(button.dataset.run));const refreshButton=app.querySelector('#refresh');if(refreshButton)refreshButton.onclick=()=>refresh({deep:true});}","old_content":"async function api(path,body){const response=await fetch((local?'':'http://127.0.0.1:47831')+path,{method:body?'POST':'GET',headers:{Authorization:'Bearer '+token,...(body?{'Content-Type':'application/json'}:{})},...(body?{body:JSON.stringify(body)}:{}),signal:AbortSignal.timeout(15000)});const data=await response.json();if(!response.ok)throw new Error(data.error||'Console request failed');return data;}"},{"new_content":"async function refresh(options={}){if(busy)return;busy=true;const deep=options.deep!==false;try{if(embedded){hostedOnline=true;const tasks=[['forgejo',bridge('forgejo')],['witness',fetchWitnessHealth()]];if(deep||!state.providers.cloudflare)tasks.push(['cloudflare',bridge('cloudflare')]);if(deep||!state.providers.supabase)tasks.push(['supabase',bridge('supabase')]);const settled=await Promise.all(tasks.map(async([key,promise])=>[key,await promise]));for(const [key,data] of settled){if(key==='witness')state.witness=data;else state.providers[key]=data;}if(!state.witness?.ok){const fallback=namedRunner('laptop-local');if(fallback)state.witness={ok:fallback.status!=='offline',status:fallback.status==='offline'?'unavailable':'runner-online',fallback:true,witnessHealthy:null,activeJobs:0};}lastRefresh=Date.now();notice='';return;}const data=await api('/api/state');state={...data,providers:{...state.providers,...data.providers}};connected=true;lastRefresh=Date.now();notice='';}catch(error){if(!embedded)connected=false;notice=error instanceof Error?error.message:'Some live systems could not refresh.';}finally{busy=false;if(document.activeElement?.tagName!=='INPUT')render();}}","old_content":"async function refresh(){if(busy)return;busy=true;try{if(embedded&&!local&&!token){const data=await bridge('forgejo');state.providers.forgejo=data;hostedOnline=true;lastRefresh=Date.now();notice='';return;}const data=await api('/api/state');state={...data,providers:{...state.providers,...data.providers}};connected=true;if(embedded)hostedOnline=true;lastRefresh=Date.now();notice='';}catch(error){connected=false;if(embedded&&!token)hostedOnline=false;if(local||token||embedded)notice=error.message;}finally{busy=false;if(document.activeElement?.tagName!=='INPUT')render();}}"},{"new_content":"function render(){if(selected==='overview'){mountOperator(app,{bridge:embedded?bridge:async()=>{throw new Error('Open the signed-in Console at app.knocklaunch.app/admin/console to chat.');},hostedOnline:()=>hostedOnline,localConnected:()=>embedded||connected,systemStatus,connectLocal:local?async code=>{const next=String(code||'').trim();if(!next)throw new Error('Local Console session unavailable.');token=next;localStorage.setItem(localSessionKey,token);await refresh();return true;}:null,stages,onStage:id=>{selected=id;render();}});return;}if(embedded){renderHosted();return;}","old_content":"function render(){if(selected==='operator'){mountOperator(app,{bridge:embedded?bridge:async()=>{throw new Error('Open the signed-in Console at app.knocklaunch.app/admin/console to chat.');},hostedOnline:()=>hostedOnline,localConnected:()=>connected,connectLocal:async code=>{const next=String(code||'').trim();if(!next)throw new Error('Paste the MSI pairing code first.');token=next;localStorage.setItem(localSessionKey,token);await refresh();if(!connected)throw new Error(notice||'MSI pairing failed.');return true;},stages,onStage:id=>{selected=id;render();}});return;}"},{"new_content":"render();if(embedded||local||token)refresh({deep:true});setInterval(()=>{if(!document.hidden&&(embedded||connected||local))refresh({deep:false});},30000);","old_content":"render();if(embedded||local||token)refresh();setInterval(()=>{if(!document.hidden&&(embedded||connected||local))refresh();},5000);"}]},{"path":"public/console/operator.mjs","edits":[{"new_content":" const candidate=evidence()[0]||latest?.[activeView+'Proof'],proof=String(candidate?.phase||'').toLowerCase()==='preflight'?null:candidate,url=imageUrl(proof?.signedUrl),pending=context.jobId&&latest&&!latest.terminal,localConnected=options.localConnected?.()===true,hostedOnline=options.hostedOnline?.()!==false,system=options.systemStatus?.()||{},desktop=system.desktop||{},laptop=system.laptop||{},services=system.services||{},renderVerified=latest?.terminal&&latest?.status==='verified'&&Boolean(url),proofIncomplete=latest?.terminal&&latest?.status==='verified'&&!url;","old_content":" const candidate=evidence()[0]||latest?.[activeView+'Proof'],proof=String(candidate?.phase||'').toLowerCase()==='preflight'?null:candidate,url=imageUrl(proof?.signedUrl),pending=context.jobId&&latest&&!latest.terminal,localConnected=options.localConnected?.()===true,hostedOnline=options.hostedOnline?.()!==false,renderVerified=latest?.terminal&&latest?.status==='verified'&&Boolean(url),proofIncomplete=latest?.terminal&&latest?.status==='verified'&&!url;"},{"new_content":"<header class=\"console-header overview-header\"><div><div class=\"eyebrow\">KNOCKLAUNCH CONSOLE</div><h1>Overview</h1><p>Everything you need to run and inspect KNOCKLAUNCH.</p></div><div class=\"connection-strip\"><span class=\"${desktop.online?'live':'failed'}\"><i></i>Desktop ${desktop.online?(desktop.busy?'busy':'online'):'offline'}</span><span class=\"${laptop.online?'live':'failed'}\"><i></i>Laptop ${laptop.witnessActive?'witnessing':laptop.online?'ready':'offline'}</span><span class=\"${services.online===services.total?'live':'waiting'}\"><i></i>Services ${services.online??0}/${services.total??3}</span><span class=\"pill ${pending?'running':proofIncomplete?'failed':renderVerified?'live':'waiting'}\">${pending?'Witness running':proofIncomplete?'Proof incomplete':renderVerified?'Proof ready':'Ready'}</span></div></header><div class=\"layout\"><nav class=\"console-nav\" aria-label=\"Console navigation\">${options.stages.map(s=>`<button data-stage=\"${s.id}\" aria-current=\"${s.id==='overview'?'page':'false'}\">${esc(s.name)}</button>`).join('')}</nav><main class=\"operator-main\">","old_content":"<header><div class=\"top\"><div><div class=\"eyebrow\">KNOCKLAUNCH CONSOLE</div><h1>OPERATOR</h1></div><div class=\"row\"><span class=\"pill ${hostedOnline?'live':'unavailable'}\">Hosted ${hostedOnline?'online':'unavailable'}</span><span class=\"pill ${localConnected?'live':'waiting'}\">MSI ${localConnected?'paired':'not paired'}</span><span class=\"pill ${pending?'running':proofIncomplete?'failed':renderVerified?'live':'waiting'}\">${pending?'Witness running':proofIncomplete?'Proof incomplete':renderVerified?'Rendered':'Ready'}</span></div></div></header><div class=\"layout\"><nav aria-label=\"Console stages\">${options.stages.map((s,i)=>`<button data-stage=\"${s.id}\" aria-current=\"${s.id==='operator'?'step':'false'}\"><b>${i+1}</b>${esc(s.name)}</button>`).join('')}</nav><main class=\"operator-main\">"},{"new_content":"Tell KNOCKLAUNCH what page you want to inspect. Your Laptop witness is already connected and ready to capture it.","old_content":"Ask to inspect a page. I’ll keep its route, tenant and screen size for follow-ups."}]},{"path":"scripts/knocklaunch-console/operator.mjs","edits":[{"new_content":" const candidate=evidence()[0]||latest?.[activeView+'Proof'],proof=String(candidate?.phase||'').toLowerCase()==='preflight'?null:candidate,url=imageUrl(proof?.signedUrl),pending=context.jobId&&latest&&!latest.terminal,localConnected=options.localConnected?.()===true,hostedOnline=options.hostedOnline?.()!==false,system=options.systemStatus?.()||{},desktop=system.desktop||{},laptop=system.laptop||{},services=system.services||{},renderVerified=latest?.terminal&&latest?.status==='verified'&&Boolean(url),proofIncomplete=latest?.terminal&&latest?.status==='verified'&&!url;","old_content":" const candidate=evidence()[0]||latest?.[activeView+'Proof'],proof=String(candidate?.phase||'').toLowerCase()==='preflight'?null:candidate,url=imageUrl(proof?.signedUrl),pending=context.jobId&&latest&&!latest.terminal,localConnected=options.localConnected?.()===true,hostedOnline=options.hostedOnline?.()!==false,renderVerified=latest?.terminal&&latest?.status==='verified'&&Boolean(url),proofIncomplete=latest?.terminal&&latest?.status==='verified'&&!url;"},{"new_content":"<header class=\"console-header overview-header\"><div><div class=\"eyebrow\">KNOCKLAUNCH CONSOLE</div><h1>Overview</h1><p>Everything you need to run and inspect KNOCKLAUNCH.</p></div><div class=\"connection-strip\"><span class=\"${desktop.online?'live':'failed'}\"><i></i>Desktop ${desktop.online?(desktop.busy?'busy':'online'):'offline'}</span><span class=\"${laptop.online?'live':'failed'}\"><i></i>Laptop ${laptop.witnessActive?'witnessing':laptop.online?'ready':'offline'}</span><span class=\"${services.online===services.total?'live':'waiting'}\"><i></i>Services ${services.online??0}/${services.total??3}</span><span class=\"pill ${pending?'running':proofIncomplete?'failed':renderVerified?'live':'waiting'}\">${pending?'Witness running':proofIncomplete?'Proof incomplete':renderVerified?'Proof ready':'Ready'}</span></div></header><div class=\"layout\"><nav class=\"console-nav\" aria-label=\"Console navigation\">${options.stages.map(s=>`<button data-stage=\"${s.id}\" aria-current=\"${s.id==='overview'?'page':'false'}\">${esc(s.name)}</button>`).join('')}</nav><main class=\"operator-main\">","old_content":"<header><div class=\"top\"><div><div class=\"eyebrow\">KNOCKLAUNCH CONSOLE</div><h1>OPERATOR</h1></div><div class=\"row\"><span class=\"pill ${hostedOnline?'live':'unavailable'}\">Hosted ${hostedOnline?'online':'unavailable'}</span><span class=\"pill ${localConnected?'live':'waiting'}\">MSI ${localConnected?'paired':'not paired'}</span><span class=\"pill ${pending?'running':proofIncomplete?'failed':renderVerified?'live':'waiting'}\">${pending?'Witness running':proofIncomplete?'Proof incomplete':renderVerified?'Rendered':'Ready'}</span></div></div></header><div class=\"layout\"><nav aria-label=\"Console stages\">${options.stages.map((s,i)=>`<button data-stage=\"${s.id}\" aria-current=\"${s.id==='operator'?'step':'false'}\"><b>${i+1}</b>${esc(s.name)}</button>`).join('')}</nav><main class=\"operator-main\">"},{"new_content":"Tell KNOCKLAUNCH what page you want to inspect. Your Laptop witness is already connected and ready to capture it.","old_content":"Ask to inspect a page. I’ll keep its route, tenant and screen size for follow-ups."}]},{"path":"public/console/console.css","edits":[{"new_content":"@media(max-width:700px){.layout:has(.operator-main)>nav{top:70px;padding:6px 8px}.operator-main{padding:8px}.operator-image{min-height:360px;padding:8px}.operator-pairing .connect{flex-wrap:wrap}.operator-pairing .connect button{width:100%}}\n\n/* Console owner experience v3 */\n:root{--kl-bg:#050b08;--kl-surface:rgba(12,27,20,.88);--kl-surface-2:rgba(18,42,30,.78);--kl-line:rgba(111,231,171,.16);--kl-text:#f0fbf5;--kl-muted:#94ad9f;--kl-green:#78e6ad;--kl-green-2:#35b975;--kl-warn:#f2c66f;background:radial-gradient(circle at 72% -10%,rgba(53,185,117,.15),transparent 34%),linear-gradient(180deg,#06110c 0%,#040906 100%);color:var(--kl-text)}body{min-height:100vh;background:transparent}.console-frame{min-height:100vh}.console-header{position:sticky;top:0;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px;background:rgba(5,13,9,.9);backdrop-filter:blur(18px);border-bottom:1px solid var(--kl-line);box-shadow:0 12px 36px rgba(0,0,0,.18)}.console-header h1{font-size:26px;line-height:1;margin:4px 0 6px}.console-header p{margin:0;color:var(--kl-muted);font-size:13px}.connection-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.connection-strip>span{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid var(--kl-line);border-radius:999px;background:rgba(255,255,255,.025);font-size:11px;font-weight:700;color:var(--kl-muted)}.connection-strip>span.live{color:#a8f4c9;border-color:rgba(120,230,173,.3)}.connection-strip>span.failed{color:#f4cf80}.connection-strip i,.status-dot{width:7px;height:7px;border-radius:50%;background:#6b7f74;box-shadow:0 0 0 4px rgba(107,127,116,.08)}.connection-strip .live i,.status-dot.on{background:var(--kl-green);box-shadow:0 0 0 4px rgba(120,230,173,.09),0 0 14px rgba(120,230,173,.5)}.connection-strip .failed i,.status-dot.off{background:var(--kl-warn)}.console-nav,.layout:has(.operator-main)>.console-nav{position:sticky;top:83px;z-index:7;display:flex;gap:5px;overflow-x:auto;padding:8px 18px;background:rgba(7,18,12,.94);backdrop-filter:blur(14px);border:0;border-bottom:1px solid var(--kl-line)}.console-nav button,.layout:has(.operator-main)>.console-nav button{flex:0 0 auto;width:auto;margin:0;padding:8px 13px;border-radius:999px;border:1px solid transparent;background:transparent;color:var(--kl-muted);font-size:12px}.console-nav button[aria-current=page],.layout:has(.operator-main)>.console-nav button[aria-current=page]{color:#eafff3;background:linear-gradient(180deg,rgba(71,190,126,.22),rgba(37,112,75,.17));border-color:rgba(120,230,173,.26);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}.console-main,.operator-main{max-width:1720px;margin:0 auto;padding:16px 18px 28px}.panel,.machine-card{background:linear-gradient(160deg,rgba(17,39,28,.92),rgba(8,20,14,.9));border:1px solid var(--kl-line);border-radius:18px;box-shadow:0 18px 50px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.025)}.machine-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px}.machine-card{padding:20px;min-height:220px;position:relative;overflow:hidden}.machine-card:after{content:\"\";position:absolute;inset:auto -10% -45% 35%;height:180px;background:radial-gradient(circle,rgba(88,226,153,.12),transparent 68%);pointer-events:none}.machine-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.machine-card h2{font-size:22px;margin:5px 0 0}.machine-purpose{color:var(--kl-muted);max-width:48ch}.status-dot-wrap{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:700;color:#cbe9d7}.mini-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:22px}.mini-metrics>div{padding:11px;border:1px solid rgba(120,230,173,.12);border-radius:12px;background:rgba(0,0,0,.12)}.mini-metrics span{display:block;color:var(--kl-muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.mini-metrics b{display:block;margin-top:5px;font-size:14px}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.service-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.service-card{margin:0}.service-card h3{font-size:18px}.technical-details{margin-top:16px;border-top:1px solid var(--kl-line);padding-top:12px}.technical-details>summary{color:#88ad98}.technical-details .logs{margin-top:10px;max-height:220px}.release-hero{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(520px,1.4fr);gap:26px;align-items:center;padding:24px;margin-bottom:14px}.release-hero h2{font-size:28px}.release-flow{display:grid;grid-template-columns:repeat(7,auto);align-items:center;justify-content:center;gap:12px}.release-flow>div{display:grid;place-items:center;gap:7px}.release-flow b{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:linear-gradient(145deg,rgba(69,199,128,.3),rgba(32,95,64,.32));border:1px solid rgba(120,230,173,.32);color:#cffff0}.release-flow span{font-size:11px;color:#b7ccbf}.release-flow i{font-style:normal;color:#547263}.runner-list{display:grid;gap:8px;margin-top:12px}.runner-list>div{display:flex;align-items:center;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--kl-line)}.quick-row{display:flex;gap:8px;flex-wrap:wrap}.activity-panel{padding:20px}.activity-item{padding:10px 0;border-bottom:1px solid var(--kl-line)}.activity-item summary{display:flex;justify-content:space-between;align-items:center;gap:10px}.empty-state{display:grid;gap:6px;padding:28px 10px;color:var(--kl-muted)}.empty-state b{color:#dff5e8}.operator-grid{grid-template-columns:minmax(330px,.62fr) minmax(680px,1.65fr);gap:14px}.operator-chat,.operator-witness{border-radius:18px}.operator-image{background:linear-gradient(180deg,rgba(1,7,4,.94),rgba(4,13,8,.96));border:1px solid rgba(120,230,173,.11);border-radius:14px}.operator-message{border:1px solid rgba(120,230,173,.08);background:rgba(19,49,34,.74)}.operator-message.user{background:rgba(37,99,68,.72)}.operator-chat textarea{border-radius:14px;background:rgba(4,15,9,.9);border-color:rgba(120,230,173,.22)}button{transition:transform .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease}button:hover:not(:disabled){transform:translateY(-1px);border-color:rgba(120,230,173,.34);box-shadow:0 8px 24px rgba(0,0,0,.16)}@media(max-width:1100px){.machine-grid,.service-grid,.service-grid.three{grid-template-columns:1fr}.release-hero{grid-template-columns:1fr}.release-flow{justify-content:start;overflow-x:auto}.operator-grid{grid-template-columns:1fr}.operator-witness{order:1}.operator-chat{order:2}}@media(max-width:700px){.console-header{position:sticky;top:0;padding:12px;align-items:flex-start}.console-header h1{font-size:21px}.console-header p{display:none}.connection-strip{gap:5px}.connection-strip>span{padding:6px 8px;font-size:10px}.connection-strip #refresh,.console-header #refresh{display:none}.console-nav,.layout:has(.operator-main)>.console-nav{top:68px;padding:6px 8px}.console-main,.operator-main{padding:8px}.machine-card{padding:15px;min-height:0}.mini-metrics{grid-template-columns:repeat(3,minmax(85px,1fr));overflow-x:auto}.release-flow{gap:8px}.release-flow b{width:36px;height:36px}.operator-image{min-height:350px}.operator-messages{max-height:28vh}}","old_content":"@media(max-width:700px){.layout:has(.operator-main)>nav{top:70px;padding:6px 8px}.operator-main{padding:8px}.operator-image{min-height:360px;padding:8px}.operator-pairing .connect{flex-wrap:wrap}.operator-pairing .connect button{width:100%}}"}]},{"path":"scripts/knocklaunch-console/console.css","edits":[{"new_content":"@media(max-width:700px){.layout:has(.operator-main)>nav{top:70px;padding:6px 8px}.operator-main{padding:8px}.operator-image{min-height:360px;padding:8px}.operator-pairing .connect{flex-wrap:wrap}.operator-pairing .connect button{width:100%}}\n\n/* Console owner experience v3 */\n:root{--kl-bg:#050b08;--kl-surface:rgba(12,27,20,.88);--kl-surface-2:rgba(18,42,30,.78);--kl-line:rgba(111,231,171,.16);--kl-text:#f0fbf5;--kl-muted:#94ad9f;--kl-green:#78e6ad;--kl-green-2:#35b975;--kl-warn:#f2c66f;background:radial-gradient(circle at 72% -10%,rgba(53,185,117,.15),transparent 34%),linear-gradient(180deg,#06110c 0%,#040906 100%);color:var(--kl-text)}body{min-height:100vh;background:transparent}.console-frame{min-height:100vh}.console-header{position:sticky;top:0;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px;background:rgba(5,13,9,.9);backdrop-filter:blur(18px);border-bottom:1px solid var(--kl-line);box-shadow:0 12px 36px rgba(0,0,0,.18)}.console-header h1{font-size:26px;line-height:1;margin:4px 0 6px}.console-header p{margin:0;color:var(--kl-muted);font-size:13px}.connection-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.connection-strip>span{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid var(--kl-line);border-radius:999px;background:rgba(255,255,255,.025);font-size:11px;font-weight:700;color:var(--kl-muted)}.connection-strip>span.live{color:#a8f4c9;border-color:rgba(120,230,173,.3)}.connection-strip>span.failed{color:#f4cf80}.connection-strip i,.status-dot{width:7px;height:7px;border-radius:50%;background:#6b7f74;box-shadow:0 0 0 4px rgba(107,127,116,.08)}.connection-strip .live i,.status-dot.on{background:var(--kl-green);box-shadow:0 0 0 4px rgba(120,230,173,.09),0 0 14px rgba(120,230,173,.5)}.connection-strip .failed i,.status-dot.off{background:var(--kl-warn)}.console-nav,.layout:has(.operator-main)>.console-nav{position:sticky;top:83px;z-index:7;display:flex;gap:5px;overflow-x:auto;padding:8px 18px;background:rgba(7,18,12,.94);backdrop-filter:blur(14px);border:0;border-bottom:1px solid var(--kl-line)}.console-nav button,.layout:has(.operator-main)>.console-nav button{flex:0 0 auto;width:auto;margin:0;padding:8px 13px;border-radius:999px;border:1px solid transparent;background:transparent;color:var(--kl-muted);font-size:12px}.console-nav button[aria-current=page],.layout:has(.operator-main)>.console-nav button[aria-current=page]{color:#eafff3;background:linear-gradient(180deg,rgba(71,190,126,.22),rgba(37,112,75,.17));border-color:rgba(120,230,173,.26);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}.console-main,.operator-main{max-width:1720px;margin:0 auto;padding:16px 18px 28px}.panel,.machine-card{background:linear-gradient(160deg,rgba(17,39,28,.92),rgba(8,20,14,.9));border:1px solid var(--kl-line);border-radius:18px;box-shadow:0 18px 50px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.025)}.machine-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px}.machine-card{padding:20px;min-height:220px;position:relative;overflow:hidden}.machine-card:after{content:\"\";position:absolute;inset:auto -10% -45% 35%;height:180px;background:radial-gradient(circle,rgba(88,226,153,.12),transparent 68%);pointer-events:none}.machine-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.machine-card h2{font-size:22px;margin:5px 0 0}.machine-purpose{color:var(--kl-muted);max-width:48ch}.status-dot-wrap{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:700;color:#cbe9d7}.mini-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:22px}.mini-metrics>div{padding:11px;border:1px solid rgba(120,230,173,.12);border-radius:12px;background:rgba(0,0,0,.12)}.mini-metrics span{display:block;color:var(--kl-muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.mini-metrics b{display:block;margin-top:5px;font-size:14px}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.service-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.service-card{margin:0}.service-card h3{font-size:18px}.technical-details{margin-top:16px;border-top:1px solid var(--kl-line);padding-top:12px}.technical-details>summary{color:#88ad98}.technical-details .logs{margin-top:10px;max-height:220px}.release-hero{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(520px,1.4fr);gap:26px;align-items:center;padding:24px;margin-bottom:14px}.release-hero h2{font-size:28px}.release-flow{display:grid;grid-template-columns:repeat(7,auto);align-items:center;justify-content:center;gap:12px}.release-flow>div{display:grid;place-items:center;gap:7px}.release-flow b{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:linear-gradient(145deg,rgba(69,199,128,.3),rgba(32,95,64,.32));border:1px solid rgba(120,230,173,.32);color:#cffff0}.release-flow span{font-size:11px;color:#b7ccbf}.release-flow i{font-style:normal;color:#547263}.runner-list{display:grid;gap:8px;margin-top:12px}.runner-list>div{display:flex;align-items:center;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--kl-line)}.quick-row{display:flex;gap:8px;flex-wrap:wrap}.activity-panel{padding:20px}.activity-item{padding:10px 0;border-bottom:1px solid var(--kl-line)}.activity-item summary{display:flex;justify-content:space-between;align-items:center;gap:10px}.empty-state{display:grid;gap:6px;padding:28px 10px;color:var(--kl-muted)}.empty-state b{color:#dff5e8}.operator-grid{grid-template-columns:minmax(330px,.62fr) minmax(680px,1.65fr);gap:14px}.operator-chat,.operator-witness{border-radius:18px}.operator-image{background:linear-gradient(180deg,rgba(1,7,4,.94),rgba(4,13,8,.96));border:1px solid rgba(120,230,173,.11);border-radius:14px}.operator-message{border:1px solid rgba(120,230,173,.08);background:rgba(19,49,34,.74)}.operator-message.user{background:rgba(37,99,68,.72)}.operator-chat textarea{border-radius:14px;background:rgba(4,15,9,.9);border-color:rgba(120,230,173,.22)}button{transition:transform .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease}button:hover:not(:disabled){transform:translateY(-1px);border-color:rgba(120,230,173,.34);box-shadow:0 8px 24px rgba(0,0,0,.16)}@media(max-width:1100px){.machine-grid,.service-grid,.service-grid.three{grid-template-columns:1fr}.release-hero{grid-template-columns:1fr}.release-flow{justify-content:start;overflow-x:auto}.operator-grid{grid-template-columns:1fr}.operator-witness{order:1}.operator-chat{order:2}}@media(max-width:700px){.console-header{position:sticky;top:0;padding:12px;align-items:flex-start}.console-header h1{font-size:21px}.console-header p{display:none}.connection-strip{gap:5px}.connection-strip>span{padding:6px 8px;font-size:10px}.connection-strip #refresh,.console-header #refresh{display:none}.console-nav,.layout:has(.operator-main)>.console-nav{top:68px;padding:6px 8px}.console-main,.operator-main{padding:8px}.machine-card{padding:15px;min-height:0}.mini-metrics{grid-template-columns:repeat(3,minmax(85px,1fr));overflow-x:auto}.release-flow{gap:8px}.release-flow b{width:36px;height:36px}.operator-image{min-height:350px}.operator-messages{max-height:28vh}}","old_content":"@media(max-width:700px){.layout:has(.operator-main)>nav{top:70px;padding:6px 8px}.operator-main{padding:8px}.operator-image{min-height:360px;padding:8px}.operator-pairing .connect{flex-wrap:wrap}.operator-pairing .connect button{width:100%}}"}]},{"path":"src/pages/admin/GodModeCommandConsole.tsx","edits":[{"new_content":"src=\"/console/index.html?v=console-owner-v3\"","old_content":"src=\"/console/index.html?v=operator-witness-v2\""}]}],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"29638666-37ca-4f82-bb45-2b03ab41e5ef","ownerApproved":true,"releaseIntent":null,"sourceTargets":["public/console/catalog.mjs","public/console/console.js","public/console/operator.mjs","public/console/console.css","scripts/knocklaunch-console/catalog.mjs","scripts/knocklaunch-console/console.js","scripts/knocklaunch-console/operator.mjs","scripts/knocklaunch-console/console.css","src/pages/admin/GodModeCommandConsole.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":"497ba5f37d443a3f0318d99fec87abc3ab37c6fef5d7fbdf3f09fb3261cae9a2","replayCount":0,"serializedBytes":59815},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T03:07:38.242385+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:29638666-37ca-4f82-bb45-2b03ab41e5ef:repository-mutation-intent:497ba5f37d443a3f0318d99fec87abc3ab37c6fef5d7fbdf3f09fb3261cae9a2:0","mission_step_id":"bdf275d3-5f63-498c-9ddb-8caa0aca39c1","command_center_event_id":"29638666-37ca-4f82-bb45-2b03ab41e5ef"},{"id":"71ff41c7-dc02-44d7-b2d0-a5f8b94ec4c5","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"objective_received","branch":"ai/proposal-engine-direct-auth-transport-20260907","reason":"pull_request_stale_refresh_required","status":"retryable","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.71-mcp-oauth-owner-retry","prNumber":2092,"terminal":false,"missionId":"c07c9bf3-d9a2-4646-8c92-720e646e7f70","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":10643,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":10403,"approvedPlanMs":0,"missionSetupMs":1539,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":686,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":1539,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":686,"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":"c07c9bf3-d9a2-4646-8c92-720e646e7f70"},"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":2252,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-09-07T18:47:08.454105+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"2092","receipt_type":"execute_mission","idempotency_key":"mission:c07c9bf3-d9a2-4646-8c92-720e646e7f70:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"60a4af11-4e9e-4c76-864b-ac0bd5e8ea8b","command_center_event_id":"c07c9bf3-d9a2-4646-8c92-720e646e7f70"},{"id":"7203aa81-6d3e-47a6-b0dd-351fa709647e","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-22T02:39:38.600Z"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-22T02:39:01.12165+00:00","proof_gate":"owner_wait_live_milestone_recorded","source_sha":null,"external_id":null,"receipt_type":"owner_wait_live_milestone","idempotency_key":"mission:aa1e2d83-22ea-4f99-84c0-58a4d960ae6a:owner-wait-live","mission_step_id":"27a784bc-5624-434d-afea-dfb1fcd4e355","command_center_event_id":"aa1e2d83-22ea-4f99-84c0-58a4d960ae6a"},{"id":"7206e98b-800b-4cba-a961-1a7cd9cbea0d","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":null,"reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":null,"recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.65.10-boundary-fix-release-retry","prNumber":null,"terminal":false,"missionId":"5520d794-c15b-4339-9f74-8d8ecb206265","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":2757,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":673,"providerAuthMs":0,"ledgerPrepareMs":673,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":673,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":673,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Synthesize exact mutation from the resolved authoritative source targets and continue this same mission.","receiptRef":{"mode":"full","missionId":"5520d794-c15b-4339-9f74-8d8ecb206265"},"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,"likelyAffectedFiles":["scripts/command-center-host-agent/knocklaunch-forgejo-watchdog.service","scripts/command-center-host-agent/knocklaunch-forgejo-watchdog.timer",".forgejo/workflows/frontend-startup-watchdog.yml",".forgejo/workflows/knocklaunch-local-host-autoconnect.yml"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T02:49:35.441535+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:5520d794-c15b-4339-9f74-8d8ecb206265:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"c40e6357-73e7-455b-a6e6-351388a11047","command_center_event_id":"5520d794-c15b-4339-9f74-8d8ecb206265"},{"id":"720a208f-5ec9-4ab3-a7d3-f54a4d20f405","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in release.","nextAction":{"lane":"production-release-conductor","action":"reconcile_release","reason":"merged_source_requires_release_proof","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_pending\"},\"activeStep\":{\"key\":\"implementation\",\"status\":\"waiting\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_release\",\"recoveryOwner\":\"production-release-conductor\"},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"visual_proof\",\"deadlineAt\":\"2026-10-05T20:11:08.877361+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-711a68cb9cbb\",\"prNumber\":4972,\"sourceSha\":\"58f895d0be42f89e1ac6ffe947026160747a8a8f\",\"deploymentId\":\"forgejo-main-58f895d0be42\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T16:15:51.499328+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:711a68cb-9cbb-4228-a0d4-8ce32eb889e2:owner-progress-heartbeat:119414463","mission_step_id":"b9f38403-f7ef-44f2-bac4-793b71a528bd","command_center_event_id":"711a68cb-9cbb-4228-a0d4-8ce32eb889e2"},{"id":"720a4675-ba55-44ee-968f-ca7ccd684f16","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"9f038d259956d617d369b5450c809b943414e747","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"9f038d259956d617d369b5450c809b943414e747","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"pending"},"requestContractHash":"7b1c842155cb0fee9e6bc320447809d719e2d0c890a55b0a8045a05388fc1dc5","forgejoWorkflowProof":{"runId":13219,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"frontend":"pending"},"targetJobCount":6,"observedTargetStates":{"frontend":"pending"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-09-29T21:07:44.085133+00:00","proof_gate":"canonical_release_pending","source_sha":"9f038d259956d617d369b5450c809b943414e747","external_id":"forgejo-main-9f038d259956","receipt_type":"canonical_release_status","idempotency_key":"mission:cdff1014-e047-4b89-81b9-a49c6b0439e0:forgejo-release-status:9f038d259956d617d369b5450c809b943414e747:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"a9111f95-1f16-4aff-afdd-80b2fc22fb85","command_center_event_id":"cdff1014-e047-4b89-81b9-a49c6b0439e0"},{"id":"720b6f1f-0cd3-4beb-8253-dd92fa46794a","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-0d64994be3a1","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.214-mcp-repository-source-resolution","prNumber":3453,"terminal":false,"missionId":"0d64994b-e3a1-4652-8d8a-87cf51eb8d67","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4711,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":554,"missionSetupMs":755,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":609,"ledgerReconcileMs":0,"lineageReconcileMs":146,"resolvePreflightMs":755,"repositoryMutationMs":4157,"repositoryProviderMs":4157,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2307,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":609,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1850},"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":"0d64994b-e3a1-4652-8d8a-87cf51eb8d67"},"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":3882,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-22T19:03:01.607084+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3453","receipt_type":"execute_mission","idempotency_key":"mission:0d64994b-e3a1-4652-8d8a-87cf51eb8d67:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"9d9eb08a-fc02-4f57-b6e2-0fdab2231993","command_center_event_id":"0d64994b-e3a1-4652-8d8a-87cf51eb8d67"},{"id":"720c00d0-0826-4dfa-9d3b-d2686de1fe7e","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-516b89fc3b1e","prNumber":3498,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"0245aa59991689ac8859f1a8548f69b1bd8e0306","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T04:48:37.728204+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"0245aa59991689ac8859f1a8548f69b1bd8e0306","external_id":"3498","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:516b89fc-3b1e-4885-97f6-e1d336db6a9e:merged-pr:3498:0245aa59991689ac8859f1a8548f69b1bd8e0306","mission_step_id":"ea821dcd-fa38-417d-b2f2-6d49ee5b1c53","command_center_event_id":"516b89fc-3b1e-4885-97f6-e1d336db6a9e"},{"id":"720dceba-ad58-4834-9496-7c308f4aa51a","source":"cc-execution","status":"verified","payload":{"ownerWaitSloMs":{"merge_to_live_ms":2642381,"owner_action_to_pr_ms":110468,"green_gate_to_merge_ms":null,"owner_action_to_useful_response_ms":73523},"ownerWaitLiveAt":"2026-09-23T04:11:23.381Z"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T04:11:23.71858+00:00","proof_gate":"owner_wait_live_milestone_recorded","source_sha":null,"external_id":null,"receipt_type":"owner_wait_live_milestone","idempotency_key":"mission:9e70b509-736d-4207-909a-df2e4ddcca15:owner-wait-live","mission_step_id":"cebe9b0b-c304-49bf-b835-dd6bfd2c2015","command_center_event_id":"9e70b509-736d-4207-909a-df2e4ddcca15"},{"id":"720e2cd9-1853-4fd8-87a9-da66ca370e29","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-fc3cbf18fbef","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":1693,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-09-29T12:24:57.016Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.0-platform-sidekick-intelligence","prNumber":null,"terminal":false,"missionId":"fc3cbf18-fbef-46ff-901d-da6904916853","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1468,"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":"fc3cbf18-fbef-46ff-901d-da6904916853"},"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":5732,"likelyAffectedFiles":["src/pages/mobile-vendor/BigPapisToday.tsx","src/lib/mobileVendor/bigPapisModeNavigation.ts","src/PrivateAppShell.tsx","src/__tests__/contracts/bigPapisDashboardContext.contract.test.ts","src/__tests__/contracts/big-papis-navigation-state.contract.test.ts","src/__tests__/contracts/mobile-tenant-avatar-navigation.contract.test.ts","config/capabilities/big-papis-proposal-workflow.json"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T12:25:29.983365+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:fc3cbf18-fbef-46ff-901d-da6904916853:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"bd8b8fc1-87cf-450c-9892-b1c77a89609b","command_center_event_id":"fc3cbf18-fbef-46ff-901d-da6904916853"},{"id":"720ef5df-c821-4361-824a-42f9f9d990ac","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"87af5cb7399a41c51086136a254baf6444f00663","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"gate-regression","satisfied":true,"statement":"The canonical KnockLaunch Gate executes both release-orchestration-invariants.test.js and mcp-oauth-hot-path.test.js on control-plane PR heads.","proofConditionIds":["repo","runtime"]},{"id":"behavior-proof","satisfied":true,"statement":"Gate output proves warm cache, transient 503 vs genuine 401, bounded TTL, and latency telemetry regression tests pass.","proofConditionIds":["repo","runtime"]},{"id":"refrozen","satisfied":true,"statement":"The corrective version is live on exact merged source and the control plane is refrozen.","proofConditionIds":["repo","runtime"]}],"satisfied":true,"constraints":[{"id":"preserve-auth","satisfied":true,"statement":"Do not change the already-live OAuth authorization behavior or weaken owner authentication boundaries.","proofConditionIds":["repo","runtime"]},{"id":"scope","satisfied":true,"statement":"No frontend, OnRunner, Supabase Edge, or migration release target.","proofConditionIds":["repo","runtime"]}],"contractHash":"5b057c08a900ea914b7d1dc33e3506e6919752a77d7449a385bf96325b00d496","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"repo","kind":"repository","evidence":{"releaseState":"verified","releaseRequestContractHash":"5b057c08a900ea914b7d1dc33e3506e6919752a77d7449a385bf96325b00d496"},"required":true,"satisfied":true},{"id":"runtime","kind":"runtime","evidence":{"releaseState":"verified","activeReleaseTargets":["ccExecution"],"releaseRequestContractHash":"5b057c08a900ea914b7d1dc33e3506e6919752a77d7449a385bf96325b00d496"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["ccExecution"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T05:12:32.428505+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"87af5cb7399a41c51086136a254baf6444f00663","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:53f540ad-3ab9-4b8d-88e2-7ab8e8a88e4c:request-contract:5b057c08a900ea914b7d1dc33e3506e6919752a77d7449a385bf96325b00d496:87af5cb7399a41c51086136a254baf6444f00663:verified:","mission_step_id":"e734640a-30f3-42fd-a655-fcf217293fe8","command_center_event_id":"53f540ad-3ab9-4b8d-88e2-7ab8e8a88e4c"},{"id":"72117b7e-783c-4df4-9bda-4299d9edc8a7","source":"cc-execution","status":"authorized","payload":{"paths":[".forgejo/workflows/knocklaunch.yml","src/__tests__/contracts/cc-execution-deploy-proof.test.ts","workers/cc-execution/scripts/cc-execution-safe-release.mjs","workers/cc-execution/src/version.js"],"reason":"Owner asked to continue PAUL. Failed runs 13433 and 13435 prove deterministic ccExecution release-source defects; a fresh bounded source-repair mission is required because the prior release-only recovery mission has no source branch lineage.","baseSha":"2ecae0ddedc1dc01441479996e44ab081a8c3ae8","issuedAt":1790796072702,"expiresAt":1790796252702,"missionId":"2d7b0179-7a29-4f79-bf26-388bc14a70cd","authorizationId":"016c7233-033b-49ba-a7fb-ab4fd055aafe","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T19:21:13.038855+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"2ecae0ddedc1dc01441479996e44ab081a8c3ae8","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:016c7233-033b-49ba-a7fb-ab4fd055aafe","mission_step_id":"825c754a-628f-46af-952e-78476ecfdbd2","command_center_event_id":"2d7b0179-7a29-4f79-bf26-388bc14a70cd"},{"id":"72118e7f-f2f6-40fa-a446-914781257fb8","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:d8e6d6c6-4283-4f2d-b6b6-3aab64a3c342","mission_step_id":null,"command_center_event_id":"d8e6d6c6-4283-4f2d-b6b6-3aab64a3c342"},{"id":"72119a59-6e88-4070-960c-2810f7d2e237","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Reconcile the same existing first-class control-plane performance hardening mission and PR #1347 after stale-head refresh was required. Refresh the exact existing PR onto current protected main, preserve the same approved diff, then continue through exact-head KnockLaunch Gate, squash merge, and repository proof that controlPlaneFrozen=true. Do not create a new branch or PR.","wordingChanged":false,"canonicalIntent":"Reconcile the same existing first-class control-plane performance hardening mission and PR #1347 after stale-head refresh was required. Refresh the exact existing PR onto current protected main, preserve the same approved diff, then continue through exact-head KnockLaunch Gate, squash merge, and repository proof that controlPlaneFrozen=true. Do not create a new branch or PR.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"Unfreeze the control plane only for this scoped performance maintenance generation and end with controlPlaneFrozen=true.","proofConditionIds":["proof-repository"]},{"id":"outcome-2","statement":"The canonical Gate prefers exact-base TypeScript incremental state but safely reuses compiler/manifest/tsconfig-compatible state when the exact base cache is absent.","proofConditionIds":["proof-repository"]},{"id":"outcome-3","statement":"Frontend CSS/assets alone no longer trigger semantic TypeScript validation; TS/TSX/JS/JSX, tsconfig, and manifest changes still do.","proofConditionIds":["proof-repository"]},{"id":"outcome-4","statement":"All protected-main, freshness, semantic safety, production-equivalent build, exact artifact, one-PR, one-Gate, and squash-merge invariants remain enforced.","proofConditionIds":["proof-repository"]}],"objective":"Reconcile the same existing first-class control-plane performance hardening mission and PR #1347 after stale-head refresh was required. Refresh the exact existing PR onto current protected main, preserve the same approved diff, then continue through exact-head KnockLaunch Gate, squash merge, and repository proof that controlPlaneFrozen=true. Do not create a new branch or PR.","constraints":[{"id":"constraint-1","statement":"Do not redesign architecture, change tenant/product behavior, weaken validation, add infrastructure, or bypass the control-plane lock.","proofConditionIds":["proof-repository"]},{"id":"constraint-2","statement":"The control plane must be re-frozen in merged source at the end of this maintenance pass.","proofConditionIds":["proof-repository"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-repository","kind":"repository","claim":"Exact control-plane performance diff is green in KnockLaunch Gate and squash-merged to current protected main with controlPlaneFrozen=true.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestContractHash":"71aebdd198e549446bf15474818b49e33edab73e64e57cac3c97fe09edca9959","requestContractRevision":7,"previousRequestContractHash":"4c066495614caf08ba8889d586a9b89663ebaec7c4de59cf1ed8b48669c66355"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-02T01:38:59.177976+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:f73ce7e4-6d3f-42e0-8233-98f0ed1ffba7:request-contract-revision:7:71aebdd198e549446bf15474818b49e33edab73e64e57cac3c97fe09edca9959","mission_step_id":"2f264876-d02f-444a-ab4a-74e03727dfd2","command_center_event_id":"f73ce7e4-6d3f-42e0-8233-98f0ed1ffba7"},{"id":"72134ddf-ede8-4759-9758-3cc36ad8d466","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-0ebe67f8f2f9","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.182-witness-render-cold-start-aware","prNumber":3238,"terminal":false,"missionId":"0ebe67f8-f2f9-425d-bab2-1995e593c877","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"8807b8b4c3177b5706ffc8ccc11f0c9c7f0a36d1","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3789,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":499,"approvedPlanMs":0,"missionSetupMs":559,"providerAuthMs":0,"shipAndProveMs":3136,"ledgerPrepareMs":413,"ledgerReconcileMs":0,"lineageReconcileMs":146,"resolvePreflightMs":559,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":413,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"0ebe67f8-f2f9-425d-bab2-1995e593c877"},"performance":null,"deploymentId":"forgejo-main-8807b8b4c317","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2667,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-19T19:45:46.028408+00:00","proof_gate":"canonical_release_dispatched","source_sha":"8807b8b4c3177b5706ffc8ccc11f0c9c7f0a36d1","external_id":"forgejo-main-8807b8b4c317","receipt_type":"execute_mission","idempotency_key":"mission:0ebe67f8-f2f9-425d-bab2-1995e593c877:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"ec345682-bd76-459c-954a-fae733194044","command_center_event_id":"0ebe67f8-f2f9-425d-bab2-1995e593c877"},{"id":"72137c22-8e88-453d-b508-462a55e79f84","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"4c4f05c6945e8339f51d25daffa9636687b7993a","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"4c4f05c6945e8339f51d25daffa9636687b7993a","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/1555","runId":1555,"status":"running","conclusion":null,"failedJobs":[],"diagnostics":null},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-19T20:52:47.654092+00:00","proof_gate":"canonical_release_pending","source_sha":"4c4f05c6945e8339f51d25daffa9636687b7993a","external_id":"forgejo-main-4c4f05c6945e","receipt_type":"canonical_release_status","idempotency_key":"mission:19d6de40-6ebc-4be9-a55e-2c953ca5289c:forgejo-release-status:4c4f05c6945e8339f51d25daffa9636687b7993a:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"ba8e4ae9-af4e-45e0-9234-e596ca0d6bc7","command_center_event_id":"19d6de40-6ebc-4be9-a55e-2c953ca5289c"},{"id":"7213cc60-3553-4733-9d63-d9dd23a361b9","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Correct existing PR #1351 on the same branch so Redfish's already-existing route-family background image is used by the premium loader when Redfish has no generic tenant background field. Keep configured tenant image fields primary for all tenants. No database/schema/data changes, no new PR, no general per-tenant image registry. Re-gate, squash merge, release frontend only, and prove exact live artifact.","wordingChanged":false,"canonicalIntent":"Correct existing PR #1351 on the same branch so Redfish's already-existing route-family background image is used by the premium loader when Redfish has no generic tenant background field. Keep configured tenant image fields primary for all tenants. No database/schema/data changes, no new PR, no general per-tenant image registry. Re-gate, squash merge, release frontend only, and prove exact live artifact.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-loader-backgrounds","statement":"Premium tenant workspace loaders use the tenant's configured image background where available, and Redfish uses the exact existing Redfish route-family background if no generic tenant image field is present.","proofConditionIds":["proof-live"]}],"objective":"Correct existing PR #1351 on the same branch so Redfish's already-existing route-family background image is used by the premium loader when Redfish has no generic tenant background field. Keep configured tenant image fields primary for all tenants. No database/schema/data changes, no new PR, no general per-tenant image registry. Re-gate, squash merge, release frontend only, and prove exact live artifact.","constraints":[{"id":"constraint-same-pr","statement":"Update existing PR #1351 on the same branch; do not create another PR.","proofConditionIds":["proof-live"]},{"id":"constraint-frontend-only","statement":"No database, schema, auth, or tenant-data mutation.","proofConditionIds":["proof-live"]},{"id":"constraint-no-general-registry","statement":"Do not create a general hard-coded per-tenant image registry.","proofConditionIds":["proof-live"]},{"id":"constraint-video-safe","statement":"Do not pass video URLs to the img-based loader.","proofConditionIds":["proof-live"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-live","kind":"runtime","claim":"The exact merged frontend artifact containing the tenant background resolver plus Redfish route-family fallback is live on the production proof domains.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"]}],"validationErrors":[]},"requestContractHash":"254cf3804cb52c196c9bfa15cd24cb119f65f1ff5ed5689dd94a76f1bb30e9b0","requestContractRevision":3,"previousRequestContractHash":"c9822a84570830c506ebd3f254566f6efe8fbda27ed492e41a69a2361fc7ef3e"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-02T02:03:49.993585+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:240babbd-4700-48ce-be59-072329a750c0:request-contract-revision:3:254cf3804cb52c196c9bfa15cd24cb119f65f1ff5ed5689dd94a76f1bb30e9b0","mission_step_id":"8a892c3f-a083-4278-ad76-642bb750c99d","command_center_event_id":"240babbd-4700-48ce-be59-072329a750c0"},{"id":"7213f805-1833-4300-a27f-fd209bd4738c","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-59da736f65cb","reason":null,"status":"source_resolution_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.123-modes-storage-validated-oauth","prNumber":null,"terminal":false,"missionId":"59da736f-65cb-4f0f-925a-0e49bd89c367","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":491,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":796,"providerAuthMs":0,"ledgerPrepareMs":796,"ledgerReconcileMs":281,"lineageReconcileMs":0,"resolvePreflightMs":796,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":1077,"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":"59da736f-65cb-4f0f-925a-0e49bd89c367"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":4123,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-13T02:11:39.969382+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:59da736f-65cb-4f0f-925a-0e49bd89c367:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"6f2c7ce5-e362-4fb6-8472-945ff842409e","command_center_event_id":"59da736f-65cb-4f0f-925a-0e49bd89c367"},{"id":"721434f5-fe2d-497e-854a-2f1a61434544","source":"github-status","status":"pending","payload":{"failed":[],"states":{"canonical-production-release/verified":"pending"},"missing":["supabase-edge-production/live"],"pending":["canonical-production-release/verified"],"required":["canonical-production-release/verified","supabase-edge-production/live"],"sourceSha":"fe19a61f8a4b795b294b0ecdf6b95059ece56113","releaseState":"pending","exactConductorRun":{"id":31330448128,"status":"in_progress","headSha":"fe19a61f8a4b795b294b0ecdf6b95059ece56113","conclusion":null,"compareStatus":"identical","sourceMatches":true,"containsSourceSha":true,"reconciliationMode":null},"ccExecutionRuntimeProof":null},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-09T18:59:34.532248+00:00","proof_gate":"canonical_release_pending","source_sha":"fe19a61f8a4b795b294b0ecdf6b95059ece56113","external_id":"canonical-release-fe19a61f8a4b","receipt_type":"canonical_release_status","idempotency_key":"mission:21bc2080-a572-44e0-a022-118b3c87b29f:release-status:fe19a61f8a4b795b294b0ecdf6b95059ece56113:31330448128:pending:canonical-production-release/verified=pending|supabase-edge-production/live=missing","mission_step_id":"40d0e751-54cf-4bba-961b-3bf3b84e0860","command_center_event_id":"21bc2080-a572-44e0-a022-118b3c87b29f"},{"id":"72156ba0-435d-41e8-98a3-1da86bb0ac77","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/test/release-orchestration-invariants.test.js"],"reason":"Same authorized control-plane hardening on #3474; this is the exact stale invariant line from Gate 11024/11025.","baseSha":"89dd27cfe4d92548470dbc75f9d86883d055c678","issuedAt":1790129888563,"expiresAt":1790130068563,"missionId":"6835a574-b9f1-4152-bbfd-cd6a4940045e","authorizationId":"a8b0859c-bd41-4a60-9b76-58b1b680f887","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T02:18:08.953498+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"89dd27cfe4d92548470dbc75f9d86883d055c678","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:a8b0859c-bd41-4a60-9b76-58b1b680f887","mission_step_id":"234830ba-550e-4c02-aaf7-e09bcec22907","command_center_event_id":"6835a574-b9f1-4152-bbfd-cd6a4940045e"},{"id":"7216fa71-ee06-4e67-b35c-06686097724f","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-a4e30e3d5266","writes":[],"patches":[],"pr_body":"Add an owner-authenticated, canonical-repository-only command for provisioning write-enabled ssh-ed25519 deploy keys used by unattended KnockLaunch devices. No private keys or new secrets enter source.","version":1,"approved":true,"pr_title":"Add device deploy-key provisioning","missionId":"a4e30e3d-5266-49b6-ac50-91dc7ed9b21a","objective":"Add a durable owner-only Forgejo device deploy-key provisioning primitive to Command Center so Noel's unattended Windows devices can authenticate to noel/KnockLaunchOS without browser OAuth. Add public command forgejo_deploy_key_upsert in workers/cc-execution/src/index-mcp.js. It must be restricted to the canonical noel/KnockLaunchOS repository, accept only a title with prefix knocklaunch-device- and a valid ssh-ed25519 public key, create or reconcile a write-enabled repository deploy key using the existing FGJ_CONTROL_TOKEN-backed Forgejo operator helpers, verify by read-back, and return only non-secret metadata. It must never accept or return a private key, token, password, OAuth credential, or arbitrary repository. Keep the scope to this single file plus required runtime version companion, Gate, squash merge, deploy cc-execution, and verify the command is live.","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":"  tool(\n    \"forgejo_runner_retire\",\n    \"Retire offline Forgejo runner\",\n    \"Safely remove one exact offline, non-busy repository runner after optional exact-name verification and read-back reconciliation.\",\n    \"/forgejo/actions/runner/retire\",\n    {\n      type: \"object\",\n      required: [\"runnerId\"],\n      properties: {\n        repository: { type: \"string\", default: \"noel/KnockLaunchOS\" },\n        runnerId: { type: \"integer\", minimum: 1 },\n        expectedName: { type: \"string\", minLength: 1, maxLength: 200 },\n      },\n      additionalProperties: false,\n    },\n    { destructive: true, idempotent: true },\n  ),\n  tool(\n    \"forgejo_deploy_key_upsert\",\n    \"Provision KnockLaunch device deploy key\",\n    \"Create or reconcile one write-enabled ssh-ed25519 deploy key for the canonical KnockLaunchOS repository. Public keys only; private keys and credentials are never accepted.\",\n    \"/forgejo/deploy-key/upsert\",\n    {\n      type: \"object\",\n      required: [\"title\", \"publicKey\"],\n      properties: {\n        repository: { type: \"string\", default: \"noel/KnockLaunchOS\" },\n        title: { type: \"string\", pattern: \"^knocklaunch-device-[A-Za-z0-9._-]{1,80}$\", maxLength: 120 },\n        publicKey: { type: \"string\", pattern: \"^ssh-ed25519\\\\s+[A-Za-z0-9+/]+={0,3}(?:\\\\s+[^\\\\r\\\\n]{1,120})?$\", maxLength: 800 },\n      },\n      additionalProperties: false,\n    },\n    { destructive: true, idempotent: true },\n  ),\n  tool(\n    \"forgejo_actions_runs\",","old_content":"  tool(\n    \"forgejo_runner_retire\",\n    \"Retire offline Forgejo runner\",\n    \"Safely remove one exact offline, non-busy repository runner after optional exact-name verification and read-back reconciliation.\",\n    \"/forgejo/actions/runner/retire\",\n    {\n      type: \"object\",\n      required: [\"runnerId\"],\n      properties: {\n        repository: { type: \"string\", default: \"noel/KnockLaunchOS\" },\n        runnerId: { type: \"integer\", minimum: 1 },\n        expectedName: { type: \"string\", minLength: 1, maxLength: 200 },\n      },\n      additionalProperties: false,\n    },\n    { destructive: true, idempotent: true },\n  ),\n  tool(\n    \"forgejo_actions_runs\","},{"new_content":"const DAILY_FORGEJO_OPERATOR_TOOLS = Object.freeze([\n  \"forgejo_pr_inspect\",\n  \"forgejo_pr_refresh\",\n  \"forgejo_pr_list\",\n  \"forgejo_pr_close\",\n  \"forgejo_pr_reopen\",\n  \"forgejo_gate_status\",\n  \"forgejo_runner_list\",\n  \"forgejo_resilience_status\",\n  \"forgejo_runner_retire\",\n  \"forgejo_deploy_key_upsert\",\n  \"forgejo_actions_runs\",","old_content":"const DAILY_FORGEJO_OPERATOR_TOOLS = Object.freeze([\n  \"forgejo_pr_inspect\",\n  \"forgejo_pr_refresh\",\n  \"forgejo_pr_list\",\n  \"forgejo_pr_close\",\n  \"forgejo_pr_reopen\",\n  \"forgejo_gate_status\",\n  \"forgejo_runner_list\",\n  \"forgejo_resilience_status\",\n  \"forgejo_runner_retire\",\n  \"forgejo_actions_runs\","},{"new_content":"const REQUIRED_CONTROL_TOOLS = Object.freeze([\n  \"execute_repair_mission\",\n  \"continue_repair_mission\",\n  \"execute_objective\",\n  \"start_mission\",\n  \"mission_status\",\n  \"mission_receipt\",\n  \"mission_cancel\",\n  \"ship_and_prove\",\n  \"deploy_frontend_cloudflare\",\n  \"forgejo_pr_inspect\",\n  \"forgejo_pr_refresh\",\n  \"forgejo_pr_list\",\n  \"forgejo_pr_close\",\n  \"forgejo_pr_reopen\",\n  \"forgejo_gate_status\",\n  \"forgejo_runner_list\",\n  \"forgejo_resilience_status\",\n  \"forgejo_runner_retire\",\n  \"forgejo_deploy_key_upsert\",\n  \"forgejo_actions_runs\",","old_content":"const REQUIRED_CONTROL_TOOLS = Object.freeze([\n  \"execute_repair_mission\",\n  \"continue_repair_mission\",\n  \"execute_objective\",\n  \"start_mission\",\n  \"mission_status\",\n  \"mission_receipt\",\n  \"mission_cancel\",\n  \"ship_and_prove\",\n  \"deploy_frontend_cloudflare\",\n  \"forgejo_pr_inspect\",\n  \"forgejo_pr_refresh\",\n  \"forgejo_pr_list\",\n  \"forgejo_pr_close\",\n  \"forgejo_pr_reopen\",\n  \"forgejo_gate_status\",\n  \"forgejo_runner_list\",\n  \"forgejo_resilience_status\",\n  \"forgejo_runner_retire\",\n  \"forgejo_actions_runs\","},{"new_content":"  if (route === \"/forgejo/deploy-key/upsert\") {\n    const title = String(body.title || \"\").trim();\n    const publicKey = String(body.publicKey || \"\").trim().replace(/\\s+/g, \" \");\n    if (!/^knocklaunch-device-[A-Za-z0-9._-]{1,80}$/.test(title)) {\n      return json({ ok: false, status: \"blocked\", proofGate: \"forgejo_deploy_key_upsert_blocked\", reason: \"device_key_title_invalid\" }, 400);\n    }\n    if (!/^ssh-ed25519\\s+[A-Za-z0-9+/]+={0,3}(?:\\s+[^\\r\\n]{1,120})?$/.test(publicKey)) {\n      return json({ ok: false, status: \"blocked\", proofGate: \"forgejo_deploy_key_upsert_blocked\", reason: \"ssh_ed25519_public_key_required\" }, 400);\n    }\n    const listKeys = async () => {\n      const read = await forgejoOperatorGetJson(`${apiBase}/keys?limit=50&page=1`, headers);\n      const keys = read.ok\n        ? (Array.isArray(read.payload) ? read.payload : Array.isArray(read.payload?.keys) ? read.payload.keys : [])\n        : [];\n      return { read, keys };\n    };\n    const before = await listKeys();\n    if (!before.read.ok) return forgejoOperatorReadFailure(before.read, \"forgejo_deploy_key_list_failed\");\n    const isReadOnly = (entry) => entry?.read_only === true || entry?.readOnly === true;\n    const exact = before.keys.find((entry) => String(entry?.key || \"\").trim().replace(/\\s+/g, \" \") === publicKey);\n    const byTitle = before.keys.find((entry) => String(entry?.title || \"\").trim() === title);\n    if (exact && !isReadOnly(exact)) {\n      return json({ ok: true, status: \"already_present\", proofGate: \"forgejo_deploy_key_upsert_verified\", repository, keyId: Number(exact?.id || 0) || null, title: String(exact?.title || title), readOnly: false });\n    }\n    const retire = exact || byTitle;\n    if (retire) {\n      const retireId = Number(retire?.id || 0);\n      if (!Number.isInteger(retireId) || retireId < 1) {\n        return json({ ok: false, status: \"blocked\", proofGate: \"forgejo_deploy_key_upsert_blocked\", reason: \"existing_deploy_key_identity_missing\", title }, 409);\n      }\n      const retired = await forgejoOperatorMutateJson(`${apiBase}/keys/${retireId}`, headers, { method: \"DELETE\" });\n      const afterRetire = await listKeys();\n      if (!afterRetire.read.ok) return forgejoOperatorReadFailure(afterRetire.read, \"forgejo_deploy_key_retire_readback_failed\");\n      if (afterRetire.keys.some((entry) => Number(entry?.id || 0) === retireId)) {\n        const retryable = !retired.transportOk || forgejoOperatorRetryableStatus(retired.httpStatus);\n        return json({ ok: false, status: retryable ? \"retryable\" : \"blocked\", terminal: false, continuationRequired: retryable, ownerActionRequired: false, proofGate: \"forgejo_deploy_key_retire_not_verified\", reason: retired.reason || \"existing_deploy_key_still_present\", title, keyId: retireId, mutationHttpStatus: retired.httpStatus }, retryable ? 503 : 409);\n      }\n    }\n    const mutation = await forgejoOperatorMutateJson(`${apiBase}/keys`, { ...headers, \"content-type\": \"application/json\" }, { method: \"POST\", body: { title, key: publicKey, read_only: false } });\n    const after = await listKeys();\n    if (!after.read.ok) return forgejoOperatorReadFailure(after.read, \"forgejo_deploy_key_readback_failed\");\n    const verified = after.keys.find((entry) => String(entry?.title || \"\").trim() === title && String(entry?.key || \"\").trim().replace(/\\s+/g, \" \") === publicKey && !isReadOnly(entry));\n    if (!verified) {\n      const retryable = !mutation.transportOk || forgejoOperatorRetryableStatus(mutation.httpStatus);\n      return json({ ok: false, status: retryable ? \"retryable\" : \"blocked\", terminal: false, continuationRequired: retryable, ownerActionRequired: false, proofGate: \"forgejo_deploy_key_upsert_not_verified\", reason: mutation.reason || \"write_enabled_deploy_key_not_found_after_mutation\", title, mutationHttpStatus: mutation.httpStatus }, retryable ? 503 : 409);\n    }\n    return json({ ok: true, status: mutation.transportOk && mutation.response?.ok ? \"reconciled\" : \"reconciled_after_ambiguous_mutation\", proofGate: \"forgejo_deploy_key_upsert_verified\", repository, keyId: Number(verified?.id || 0) || null, title, readOnly: false, mutationHttpStatus: mutation.httpStatus });\n  }\n\n  if (route === \"/forgejo/actions/runs\") {","old_content":"  if (route === \"/forgejo/actions/runs\") {"}]},{"path":"workers/cc-execution/src/version.js","edits":[{"new_content":"export const CC_EXECUTION_VERSION = \"1.64.41-device-deploy-keys\";","old_content":"export const CC_EXECUTION_VERSION = \"1.64.40-powershell-source-resolution\";"}]}],"implementation":{"files":[],"writes":[]},"requestContract":{"outcomes":[{"id":"deploy-key-command-live","statement":"Command Center exposes an owner-authenticated forgejo_deploy_key_upsert command for the canonical KnockLaunchOS repository.","proofConditionIds":["repo-proof","runtime-proof"]},{"id":"write-deploy-key-reconciled","statement":"The command can create or reconcile a write-enabled ssh-ed25519 repository deploy key and verify it by Forgejo read-back.","proofConditionIds":["runtime-proof"]}],"constraints":[{"id":"canonical-repo-only","statement":"The command is restricted to noel/KnockLaunchOS and titles prefixed knocklaunch-device-.","proofConditionIds":["repo-proof"]},{"id":"public-key-only","statement":"The command accepts only ssh-ed25519 public keys and never accepts, stores, logs, or returns private keys, passwords, OAuth credentials, or Forgejo tokens.","proofConditionIds":["repo-proof"]},{"id":"existing-token-only","statement":"Use the existing server-side FGJ_CONTROL_TOKEN-backed Forgejo operator helpers; do not create or expose a new long-lived secret in source.","proofConditionIds":["repo-proof"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"repo-proof","kind":"repository","claim":"Merged source contains the bounded deploy-key command and restrictions.","required":true,"requiredReleaseTargets":["ccExecution"]},{"id":"runtime-proof","kind":"runtime","claim":"Deployed cc-execution advertises forgejo_deploy_key_upsert and can read-back a reconciled deploy key.","required":true,"requiredReleaseTargets":["ccExecution"]}]},"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"a4e30e3d-5266-49b6-ac50-91dc7ed9b21a","ownerApproved":true,"releaseIntent":null,"sourceTargets":["workers/cc-execution/src/index-mcp.js","workers/cc-execution/src/version.js"],"requestContract":{"outcomes":[{"id":"deploy-key-command-live","statement":"Command Center exposes an owner-authenticated forgejo_deploy_key_upsert command for the canonical KnockLaunchOS repository.","proofConditionIds":["repo-proof","runtime-proof"]},{"id":"write-deploy-key-reconciled","statement":"The command can create or reconcile a write-enabled ssh-ed25519 repository deploy key and verify it by Forgejo read-back.","proofConditionIds":["runtime-proof"]}],"constraints":[{"id":"canonical-repo-only","statement":"The command is restricted to noel/KnockLaunchOS and titles prefixed knocklaunch-device-.","proofConditionIds":["repo-proof"]},{"id":"public-key-only","statement":"The command accepts only ssh-ed25519 public keys and never accepts, stores, logs, or returns private keys, passwords, OAuth credentials, or Forgejo tokens.","proofConditionIds":["repo-proof"]},{"id":"existing-token-only","statement":"Use the existing server-side FGJ_CONTROL_TOKEN-backed Forgejo operator helpers; do not create or expose a new long-lived secret in source.","proofConditionIds":["repo-proof"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"repo-proof","kind":"repository","claim":"Merged source contains the bounded deploy-key command and restrictions.","required":true,"requiredReleaseTargets":["ccExecution"]},{"id":"runtime-proof","kind":"runtime","claim":"Deployed cc-execution advertises forgejo_deploy_key_upsert and can read-back a reconciled deploy key.","required":true,"requiredReleaseTargets":["ccExecution"]}]},"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":false,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["workers/cc-execution/src/index-mcp.js","workers/cc-execution/src/version.js"],"controlPlaneMaintenanceReason":"Owner explicitly requested reliable fully autonomous unattended Forgejo access from his connected devices without manual OAuth clicks. This adds a least-privilege public-key provisioning primitive so device automation has durable non-expiring Git authentication."},"proofRequirements":null,"controlPlaneUnfreeze":false,"durableMutationResume":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["workers/cc-execution/src/index-mcp.js","workers/cc-execution/src/version.js"],"controlPlaneMaintenanceReason":"Owner explicitly requested reliable fully autonomous unattended Forgejo access from his connected devices without manual OAuth clicks. This adds a least-privilege public-key provisioning primitive so device automation has durable non-expiring Git authentication."},"recovery":false,"fingerprint":"06949b0079aa5504e7cac3035c38b35be21c361fd68ec769c31c94673dc09fc2","replayCount":0,"serializedBytes":14973},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T00:20:53.527743+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:a4e30e3d-5266-49b6-ac50-91dc7ed9b21a:repository-mutation-intent:06949b0079aa5504e7cac3035c38b35be21c361fd68ec769c31c94673dc09fc2:0","mission_step_id":"16088b9f-b464-47ab-bc86-4bd7fd2745f9","command_center_event_id":"a4e30e3d-5266-49b6-ac50-91dc7ed9b21a"},{"id":"72179eda-8bd0-4546-a082-94aa43aed367","source":"cc-execution","status":"verified","payload":{"paths":[".forgejo/workflows/knocklaunch.yml","config/control-plane-capabilities.json","src/__tests__/contracts/command-center-forgejo-transport-reliability.contract.test.ts"],"baseSha":"a0bf37285475fc55e66497777dcd915204b2ff0d","consumedAt":1788313038644,"consumerToken":"34755549-bb16-4f25-b706-7ad7fd36b414","authorizationId":"d9f89808-383d-4abe-b1f7-84157b807fba"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-02T01:37:19.412633+00:00","proof_gate":"control_plane_maintenance_single_use_consumed","source_sha":"a0bf37285475fc55e66497777dcd915204b2ff0d","external_id":null,"receipt_type":"control_plane_maintenance_consumed","idempotency_key":"control-plane-maintenance-consume:d9f89808-383d-4abe-b1f7-84157b807fba","mission_step_id":"142fd1ae-9b79-4c79-bc8e-bf6116a751f3","command_center_event_id":"f73ce7e4-6d3f-42e0-8233-98f0ed1ffba7"},{"id":"72181b06-72e9-4b8b-801e-d6f0f00a931d","source":"cc-execution","status":"authorized","payload":{"paths":["config/control-plane-capabilities.json"],"reason":"Owner explicitly authorized the command center to unfreeze control plane protection only as needed to reconcile the already-applied merge queue repair into its canonical pull request, then return to normal locked behavior immediately.","baseSha":"50e034b4bb78fddcc94a6bfe9eddea8f614a5da2","issuedAt":1788367973043,"expiresAt":1788368153043,"missionId":"fc068526-c841-479b-9207-22719107bbe7","singleUse":true,"authorizationId":"ce77b865-a5cd-492d-a181-1071682eaa39"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-02T16:52:55.528074+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"50e034b4bb78fddcc94a6bfe9eddea8f614a5da2","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:ce77b865-a5cd-492d-a181-1071682eaa39","mission_step_id":"aa1517bf-4543-4048-852c-2f0e69466653","command_center_event_id":"fc068526-c841-479b-9207-22719107bbe7"},{"id":"7219a1d2-2044-4cad-9c1d-83bf000f1d0f","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-mtqll77f","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":2026,"terminal":false,"missionId":"6d720f4d-1c33-4ce8-ba2a-adaa6b740cdf","operation":"automatic_mission_resume","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"prReadinessMs":1256,"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":"6d720f4d-1c33-4ce8-ba2a-adaa6b740cdf"},"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":"90ed5bf4-8abd-4d3a-af7c-024664b5b99d","created_at":"2026-09-07T02:13:17.218248+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"2026","receipt_type":"automatic_mission_resume","idempotency_key":"mission:6d720f4d-1c33-4ce8-ba2a-adaa6b740cdf:automatic-mission-resume:2026:repair_mission_waiting_for_gate","mission_step_id":"c6f3083d-ac82-4542-8a37-d9e250296859","command_center_event_id":"6d720f4d-1c33-4ce8-ba2a-adaa6b740cdf"},{"id":"721a94ff-24cc-4727-b43d-7e84da51c4b1","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"release","branch":"ai/objective-first-repair-98c6b04e92de","reason":"canonical_release_queue_busy:13181","status":"blocked","metrics":{"receiptBytes":47113,"releaseCount":0,"toolCallCount":22,"repeatedCallCount":12,"executorlessWaitMs":695659,"firstUsefulResultAt":"2026-09-29T19:37:17.181Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.10-paul-eval-precision","prNumber":4173,"terminal":false,"missionId":"98c6b04e-92de-4f45-af1d-559c7b11a340","operation":"execute_mission","proofGate":"canonical_release_blocked","sourceSha":"a369ed6abe82d54f69562a731af6524f9bb7d3b9","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1132,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":109,"approvedPlanMs":0,"missionSetupMs":616,"providerAuthMs":0,"shipAndProveMs":566,"ledgerPrepareMs":616,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":616,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":616,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"98c6b04e-92de-4f45-af1d-559c7b11a340"},"performance":null,"deploymentId":"forgejo-main-a369ed6abe82","releaseState":"pending","workflowRunId":13178,"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":1405,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T19:51:04.544064+00:00","proof_gate":"canonical_release_blocked","source_sha":"a369ed6abe82d54f69562a731af6524f9bb7d3b9","external_id":"forgejo-main-a369ed6abe82","receipt_type":"execute_mission","idempotency_key":"mission:98c6b04e-92de-4f45-af1d-559c7b11a340:execute_mission:canonical_release_blocked:current-generation","mission_step_id":"80f37a61-1f6f-4fb4-8cea-572661b1954f","command_center_event_id":"98c6b04e-92de-4f45-af1d-559c7b11a340"},{"id":"721dcafb-0e8b-4f4f-ba6f-0704678e9ada","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-mtdi9jxg","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":3345,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":1,"ownerInterruptionCount":0},"version":"1.55.6-queue-self-heal-bounded","prNumber":966,"terminal":false,"missionId":"13d74be3-4391-4727-8362-45d88c3b4c2c","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"245309a2978a4993300e3094ec1fc7e60ccf8550","timingsMs":{"handlerMs":6424,"prReadinessMs":1498,"approvedPlanMs":0,"missionSetupMs":970,"shipAndProveMs":4919},"nextAction":null,"receiptRef":{"mode":"full","missionId":"13d74be3-4391-4727-8362-45d88c3b4c2c"},"performance":null,"deploymentId":"forgejo-main-245309a2978a","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":6642,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-28T22:12:23.177518+00:00","proof_gate":"canonical_release_dispatched","source_sha":"245309a2978a4993300e3094ec1fc7e60ccf8550","external_id":"forgejo-main-245309a2978a","receipt_type":"execute_mission","idempotency_key":"mission:13d74be3-4391-4727-8362-45d88c3b4c2c:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"8b88fc03-8530-4504-95f7-64ea995b7063","command_center_event_id":"13d74be3-4391-4727-8362-45d88c3b4c2c"},{"id":"721fb004-a395-4d87-8e87-b12f6c71a844","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-05f6f3b0f93d","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":79624,"releaseCount":0,"toolCallCount":20,"repeatedCallCount":9,"executorlessWaitMs":603116,"firstUsefulResultAt":"2026-10-01T10:55:48.331Z","recoveryAttemptCount":7,"ownerInterruptionCount":0},"version":null,"prNumber":4349,"terminal":false,"missionId":"05f6f3b0-f93d-43cc-a9e7-274677165357","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":"05f6f3b0-f93d-43cc-a9e7-274677165357"},"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-01T11:49:19.261957+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"4349","receipt_type":"automatic_mission_resume","idempotency_key":"mission:05f6f3b0-f93d-43cc-a9e7-274677165357:automatic-mission-resume:4349:repair_mission_waiting_for_gate","mission_step_id":"73782904-6d05-4ef4-a941-1ae5dfe0c543","command_center_event_id":"05f6f3b0-f93d-43cc-a9e7-274677165357"},{"id":"7220b3a8-5dd0-4f78-b3a3-36416df02f8f","source":"owner_authorized_full_backlog_cleanup","status":"recorded","payload":{"category":"platform_editor_brand","disposition":"superseded_execution_attempt","previousStatus":"blocked","sourcePreserved":true,"noCompletionClaim":true,"recoveryPortfolioId":"88c6ea03-eaae-ebfd-4c62-e20ef8279075"},"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:f47a47c0-cee0-4759-a5e5-9c67845a94a4","mission_step_id":null,"command_center_event_id":"f47a47c0-cee0-4759-a5e5-9c67845a94a4"},{"id":"7222690c-a75b-4f5f-b8f0-34f2f620572b","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"branch":"ai/objective-first-repair-45618f87c231","approved":true,"missionId":"45618f87-c231-4ed4-98d5-24a93c909d06","objective":"Fix exactly one production defect in supabase/functions/command-center-autopilot/index.ts on current protected main: when mode is mission_read and readMission reports mission_not_found, return a deterministic successful not-found reconciliation response instead of allowing the top-level handler to emit HTTP 500. Preserve HTTP 500 for all other unexpected ledger errors. Do not modify any other product area. Gate, squash merge, deploy command-center-autopilot, and verify with production evidence.","ownerApproved":true,"sourceTargets":["supabase/functions/command-center-autopilot/index.ts"],"anchored_edits":[{"path":"supabase/functions/command-center-autopilot/index.ts","new_content":"if (mode === \"mission_read\") {\n      try {\n        const result = await cachedMissionLedgerRead('mission_read', body ?? {}, () => readMission(admin, body ?? {}));\n        return json(result);\n      } catch (e) {\n        if (e && typeof e === 'object' && 'code' in e && (e as any).code === 'mission_not_found') {\n          // Deterministic successful not-found reconciliation response\n          return json({ ok: true, result: null, reconciliation: \"not_found\" });\n        }\n        // Propagate other errors to be handled by outer catch (producing HTTP 500)\n        throw e;\n      }\n    }","old_content":"if (mode === \"mission_read\") return json(await cachedMissionLedgerRead('mission_read',body ?? {},()=>readMission(admin, body ?? {})));"}],"durableMutationResume":true},"recovery":false,"fingerprint":"0c651a70e7530e8dd29618a034f97b504434371b413bdb78157acf094b76e6aa","replayCount":0,"serializedBytes":1624},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T03:51:56.690407+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:45618f87-c231-4ed4-98d5-24a93c909d06:repository-mutation-intent:0c651a70e7530e8dd29618a034f97b504434371b413bdb78157acf094b76e6aa:0","mission_step_id":"4cfad972-0130-402b-ac3e-9b35fb1e0326","command_center_event_id":"45618f87-c231-4ed4-98d5-24a93c909d06"},{"id":"722339e1-8d88-4865-b57f-0650dce1c26d","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\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"release\",\"status\":\"waiting\",\"lane\":\"production-release-conductor\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"runtime\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"runtime_proof\",\"deadlineAt\":\"2026-09-23T14:39:36.15901+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-327fbd8a71db\",\"prNumber\":3508,\"sourceSha\":\"b28d4e96c7b94f8da1544570def9be44fadf020d\",\"deploymentId\":\"forgejo-main-b28d4e96c7b9\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T11:12:16.357046+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:327fbd8a-71db-4501-b47e-e1ab49d54700:owner-progress-heartbeat:119344129","mission_step_id":"b0ab1a8e-cdb1-4172-afbf-a24a847b5a3b","command_center_event_id":"327fbd8a-71db-4501-b47e-e1ab49d54700"},{"id":"7223a96c-8a38-4fc1-baf0-0db7c2d79e9a","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"93e76e9a318d6da0ba6ebb02695d6b5d36e7cb68","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":true,"statement":"Prevent recurrence of the queue-stuck incident proven on 2026-09-28. Implement a bounded forward repair from current main. Required invariants: (1) a durable mission that is terminal=true may never be exposed or serialized as ownerFacingState=IN_PROGRESS; terminal blocked/failure/cancel states must surface their real terminal owner-facing state and cannot remain active queue work; (2) merge-queue reconciliation must automatically retire queue/cache entries for superseded or already-resolved PR generations using authoritative mission/Forgejo evidence, and conflicted PRs must not create phantom active/waiting queue state when they are terminal, superseded, or have a proven successor merged; do not auto-close legitimate unresolved PR work merely because it conflicts; (3) Console queue/status views must derive stuck/running/waiting state from reconciled authoritative mission + Forgejo state, never stale local/cache state, and must not show a stuck queue when waitingCount=0 and there is no blockingWork; (4) add regression tests reproducing the exact incident pattern: terminal blocked mission + IN_PROGRESS mismatch, superseded conflicted PR queue residue, and clean runner capacity with f","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":"cdd82f7e1cf676d9865fb07a8d269a0ef543ebe79539aa62ba72c28a2a431478","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"proof-production","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"ccExecution":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["ccExecution"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"cdd82f7e1cf676d9865fb07a8d269a0ef543ebe79539aa62ba72c28a2a431478"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["ccExecution"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T01:51:17.973533+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"93e76e9a318d6da0ba6ebb02695d6b5d36e7cb68","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:48060985-9108-4218-8be3-990b36cb94d0:request-contract:cdd82f7e1cf676d9865fb07a8d269a0ef543ebe79539aa62ba72c28a2a431478:93e76e9a318d6da0ba6ebb02695d6b5d36e7cb68:verified:","mission_step_id":"e2af1aff-34b6-4ea0-9f93-9c1f878ef663","command_center_event_id":"48060985-9108-4218-8be3-990b36cb94d0"},{"id":"7225b7e3-f856-4086-8eb8-d38f2fa86f8e","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-mtj8ank3","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":9353,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.4-refresh-fastpath","prNumber":1320,"terminal":false,"missionId":"4bdc4022-dc42-45a2-885e-0b0a4d4006f3","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"d46ad5f72f40246fb466e8a7fa787340bbcd0dec","timingsMs":{"handlerMs":9432,"prReadinessMs":760,"approvedPlanMs":1163,"missionSetupMs":2750,"shipAndProveMs":7192},"nextAction":null,"receiptRef":{"mode":"full","missionId":"4bdc4022-dc42-45a2-885e-0b0a4d4006f3"},"performance":null,"deploymentId":"forgejo-main-d46ad5f72f40","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":2592,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"d60e3c27-73ed-4a5f-a49b-c37636455daf","created_at":"2026-09-01T22:21:13.808505+00:00","proof_gate":"canonical_release_dispatched","source_sha":"d46ad5f72f40246fb466e8a7fa787340bbcd0dec","external_id":"forgejo-main-d46ad5f72f40","receipt_type":"execute_mission","idempotency_key":"mission:4bdc4022-dc42-45a2-885e-0b0a4d4006f3:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"425c4077-a12b-471c-850b-cb832155445a","command_center_event_id":"4bdc4022-dc42-45a2-885e-0b0a4d4006f3"},{"id":"722601cc-935b-43ab-8d33-362d5eaf13b2","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","cc-execution/runtime-proof":"success"},"mainSha":"05a34944d5ba48fed5fc9efebd756f4fe239f097","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"05a34944d5ba48fed5fc9efebd756f4fe239f097","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"ccExecution":"success"},"requestContractHash":"f5df57542c7d54c62533a9adcf389258930a7111073f184b59335b3392acdc43","forgejoWorkflowProof":{"runId":12807,"source":"exact_live_cc_execution_runtime_identity","status":"running","liveSha":"05a34944d5ba48fed5fc9efebd756f4fe239f097","results":{},"proofGate":"cc_execution_exact_live_runtime_substitutes_transient_workflow_receipt","sourceSha":"05a34944d5ba48fed5fc9efebd756f4fe239f097","conclusion":"running","deploymentId":"forgejo-main-05a34944d5ba48fed5fc9efebd756f4fe239f097","targetStates":{"ccExecution":"pending"},"runtimeVersion":"1.60.0-adaptive-objective-compiler","targetJobCount":6,"observedTargetStates":{"ccExecution":"pending"},"workflowReceiptSubstituted":true},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"05a34944d5ba48fed5fc9efebd756f4fe239f097","proofGate":"cc_execution_target_aware_runtime_identity_verified","deploymentId":"forgejo-main-05a34944d5ba48fed5fc9efebd756f4fe239f097","compareStatus":"identical","workflowRunId":12807,"identitySource":"local_build_metadata","runtimeVersion":"1.60.0-adaptive-objective-compiler","workflowFailed":false,"containsSourceSha":true},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T01:14:35.661228+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"05a34944d5ba48fed5fc9efebd756f4fe239f097","external_id":"forgejo-main-05a34944d5ba","receipt_type":"canonical_release_status","idempotency_key":"mission:33022800-4540-406c-a2b6-bb97ed7d7b1c:forgejo-release-status:05a34944d5ba48fed5fc9efebd756f4fe239f097:verified:forgejo-main/source=success|forgejo-release/workflow=success|cc-execution/runtime-proof=success","mission_step_id":"e06ba0ca-2539-47f0-8562-a7c1283fd56e","command_center_event_id":"33022800-4540-406c-a2b6-bb97ed7d7b1c"},{"id":"72266ca7-8d2e-4d42-b677-d18d30bf9844","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/proposal-editor-freeform-grid-v2","reason":"pull_request_gate_missing","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.66-repair-generation-continuation","prNumber":1948,"terminal":false,"missionId":"16f6829f-dc95-4fb9-8bd6-dfa0f800d310","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":5732,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":3024,"approvedPlanMs":0,"missionSetupMs":1326,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":1041,"ledgerReconcileMs":0,"lineageReconcileMs":285,"resolvePreflightMs":1326,"repositoryMutationMs":2501,"repositoryProviderMs":1959,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":1798,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":1041,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":161},"nextAction":"Reconcile this same mission and pull request after the exact-head KnockLaunch Gate changes state.","receiptRef":{"mode":"full","missionId":"16f6829f-dc95-4fb9-8bd6-dfa0f800d310"},"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":1516,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-09-06T14:37:30.112857+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"1948","receipt_type":"execute_mission","idempotency_key":"mission:16f6829f-dc95-4fb9-8bd6-dfa0f800d310:execute_mission:repair_mission_waiting_for_gate:current-generation","mission_step_id":"48535c44-cd0f-4ee2-afee-dd5e8a4e7d1c","command_center_event_id":"16f6829f-dc95-4fb9-8bd6-dfa0f800d310"},{"id":"722a3564-ff6d-40a5-8bb8-cecfcd37a245","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/watchdog-v4-regression-eaaa-g1","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":2674,"terminal":false,"missionId":"eaaa6005-2aeb-4d20-97a2-bcd8584f09ee","operation":"automatic_mission_resume","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"prReadinessMs":1447,"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":"eaaa6005-2aeb-4d20-97a2-bcd8584f09ee"},"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":1279,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-13T19:38:06.395257+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"2674","receipt_type":"automatic_mission_resume","idempotency_key":"mission:eaaa6005-2aeb-4d20-97a2-bcd8584f09ee:automatic-mission-resume:2674:repair_mission_waiting_for_gate","mission_step_id":"3df343eb-1ff0-41b8-b921-8599472c0a2e","command_center_event_id":"eaaa6005-2aeb-4d20-97a2-bcd8584f09ee"},{"id":"722b2e74-8e14-4727-ad5f-3cd2c810fb2e","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-f976d803e66e","reason":"file_write_content_required_use_source_targets","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.79-durable-synthesis-continuation","prNumber":null,"terminal":false,"missionId":"f976d803-e66e-4f6f-afc3-2161b3c38ff6","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":288,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":288,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":288,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":288,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"f976d803-e66e-4f6f-afc3-2161b3c38ff6"},"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":1503,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-09T12:07:07.070053+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:f976d803-e66e-4f6f-afc3-2161b3c38ff6:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"1c4896da-193b-4c33-948a-b953fddaca53","command_center_event_id":"f976d803-e66e-4f6f-afc3-2161b3c38ff6"},{"id":"722c8fa6-880f-46ee-9fc7-ff579c293501","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in release.","nextAction":{"lane":"production-release-conductor","action":"reconcile_release","reason":"merged_source_requires_release_proof","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_pending\"},\"activeStep\":{\"key\":\"pull_request\",\"status\":\"waiting\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"release\",\"status\":\"waiting\",\"lane\":\"production-release-conductor\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_release\",\"recoveryOwner\":\"production-release-conductor\"},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"release\",\"deadlineAt\":\"2026-10-03T15:33:12.687876+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-17cc9a02a846\",\"prNumber\":4627,\"sourceSha\":\"4fbd3ddcee061d1a81d363873065fe0b3a6988b9\",\"deploymentId\":\"forgejo-main-4fbd3ddcee06\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T12:36:55.500025+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:17cc9a02-a846-4440-915a-29e007081464:owner-progress-heartbeat:119402067","mission_step_id":"dbe2f9f8-04f3-4012-aabc-8bcf9bb9716c","command_center_event_id":"17cc9a02-a846-4440-915a-29e007081464"},{"id":"722d91e9-0a7a-434e-9788-6a8e6526be32","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","release-targets/detection":"pending"},"mainSha":"f0825e12579ca9936b07d39dbdc7fda38fa7bde1","missing":[],"pending":["release-targets/detection"],"required":["forgejo-main/source","release-targets/detection"],"sourceSha":"f0825e12579ca9936b07d39dbdc7fda38fa7bde1","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":null,"releaseTargetStates":{},"requestContractHash":"f833078f9da07387ac9d8fe8c42779a46ced967408c6f15d8e414eebc9093ed7","forgejoWorkflowProof":null,"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T13:22:43.969844+00:00","proof_gate":"canonical_release_pending","source_sha":"f0825e12579ca9936b07d39dbdc7fda38fa7bde1","external_id":null,"receipt_type":"canonical_release_status","idempotency_key":"mission:bdd667fd-392f-40c0-9cab-2ba8953bdad5:forgejo-release-status:f0825e12579ca9936b07d39dbdc7fda38fa7bde1:pending:forgejo-main/source=success|release-targets/detection=pending","mission_step_id":"13c97883-b622-4bf4-a7f0-59ff02f8a676","command_center_event_id":"bdd667fd-392f-40c0-9cab-2ba8953bdad5"},{"id":"722f6eb9-8cb3-47cd-a0b5-9edf3930e674","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/fix-forgejo-queue-starvation-20260826","reason":"retryable_provider_transport:The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":1160,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.51.2-forgejo-proof-cleanup","prNumber":779,"terminal":false,"missionId":"cbba4443-08cb-43a5-8e1f-d4585d6918aa","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"handlerMs":77496,"prReadinessMs":3801,"approvedPlanMs":71048,"missionSetupMs":666,"shipAndProveMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"cbba4443-08cb-43a5-8e1f-d4585d6918aa"},"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":5144,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-26T16:34:14.461921+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"779","receipt_type":"execute_mission","idempotency_key":"mission:cbba4443-08cb-43a5-8e1f-d4585d6918aa:execute_mission:repair_mission_pr_ready_retryable","mission_step_id":"522bc308-4928-4185-97da-0e5ba7525228","command_center_event_id":"cbba4443-08cb-43a5-8e1f-d4585d6918aa"},{"id":"722fd981-adfb-4f48-800e-559e778f0ac8","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/bychefap-tenant-20260826","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":3452,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.50.49-capability-contract-sync","prNumber":null,"terminal":false,"missionId":"5d4344c5-65f4-4149-993e-be121b5d5bec","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"handlerMs":722,"missionSetupMs":395},"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":"5d4344c5-65f4-4149-993e-be121b5d5bec"},"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":9958,"likelyAffectedFiles":["src/App.tsx","src/lib/tenantUtils.ts","src/routes/verticalRouteRegistry.ts","src/pages/mobile-vendor/BigPapisPublic.tsx","config/control-plane-capabilities.json",".forgejo/workflows/knocklaunch.yml"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-26T03:46:13.451878+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:5d4344c5-65f4-4149-993e-be121b5d5bec:execute_mission:repair_mission_synthesis_ready","mission_step_id":"3066b530-1b7e-4485-b61d-039413cdc82c","command_center_event_id":"5d4344c5-65f4-4149-993e-be121b5d5bec"},{"id":"7231a013-929c-4ecd-996b-e03e2833bb73","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/add-big-papis-cash-loyalty-purchase-20260824","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":2825,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.50.34-native-single-file-write","prNumber":null,"terminal":false,"missionId":"f514f0d4-08d7-4baa-a63c-3fd27d60eb57","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":"f514f0d4-08d7-4baa-a63c-3fd27d60eb57"},"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":10691,"likelyAffectedFiles":["supabase/migrations/20260825031000_mobile_vendor_loyalty_cash_purchases.sql","src/__tests__/contracts/command-center-existing-branch-refresh.contract.test.ts","config/control-plane-capabilities.json",".forgejo/workflows/knocklaunch.yml","src/__tests__/contracts/mail360-migration-reconcile.contract.test.ts","src/__tests__/contracts/mobile-vendor-migration-reconcile.contract.test.ts","src/components/admin/TenantUserCommandCenters.tsx","src/components/GlobalCommandPalette.tsx","src/__tests__/commandCenter/deployDetection.test.ts","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-mission-preflight.test.ts"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-25T03:06:08.856811+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:f514f0d4-08d7-4baa-a63c-3fd27d60eb57:execute_mission:repair_mission_synthesis_ready","mission_step_id":"f425ce52-e3fe-4a5a-a8b2-656cfbe1efc3","command_center_event_id":"f514f0d4-08d7-4baa-a63c-3fd27d60eb57"},{"id":"72325135-8690-47f9-8432-5f40789e1b62","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":null,"reason":null,"status":"source_resolution_required","metrics":{"receiptBytes":1692,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-09-30T14:43:03.361Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.19-paul-grounded-tool-arguments","prNumber":null,"terminal":false,"missionId":"cdc4a917-eab1-4527-a6d6-520e20ae4b98","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":2611,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":504,"providerAuthMs":0,"ledgerPrepareMs":504,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":504,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":504,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Supply exact sourceTargets on the same mission; planner guesses cannot replace missing mission scope.","receiptRef":{"mode":"full","missionId":"cdc4a917-eab1-4527-a6d6-520e20ae4b98"},"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":1175,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T14:43:03.380236+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:cdc4a917-eab1-4527-a6d6-520e20ae4b98:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"5b7728b0-3caf-4ba2-bf13-a75d1ac8aeca","command_center_event_id":"cdc4a917-eab1-4527-a6d6-520e20ae4b98"},{"id":"7234d9d0-f63c-403f-a27a-790cd9a133c4","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-43eb9b8cc50a","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":2278,"terminal":false,"missionId":"43eb9b8c-c50a-4a2e-8ae8-b4ffe6cc3338","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":2450,"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":"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":819,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-10T05:22:23.015232+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"2278","receipt_type":"automatic_mission_resume","idempotency_key":"mission:43eb9b8c-c50a-4a2e-8ae8-b4ffe6cc3338:automatic-mission-resume:2278:repair_mission_pr_ready_retryable","mission_step_id":"7ff8c3f0-b867-4418-b21d-6448a2296a07","command_center_event_id":"43eb9b8c-c50a-4a2e-8ae8-b4ffe6cc3338"},{"id":"7236322d-7515-44be-ae86-98ace2f9ad01","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in pull request.","nextAction":{"lane":"cc-execution","action":"reconcile_pull_request","reason":"durable_state:pull_request","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":null,\"activeStep\":null,\"nextStep\":null,\"nextSafeAction\":{\"action\":\"reconcile_pull_request\",\"lane\":\"cc-execution\",\"reason\":\"durable_state:pull_request\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_pull_request\",\"recoveryOwner\":\"cc-execution\"},\"acceptance\":{\"total\":0,\"verified\":0,\"pending\":0,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":null,\"deadlineAt\":null,\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/experience-editor-selection-identity-fastpath-20260804\",\"prNumber\":null,\"sourceSha\":null,\"deploymentId\":null}"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-24T19:56:53.540404+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:f3cede86-fb50-44a6-bf62-c5c41115b5b8:owner-progress-heartbeat:119351987","mission_step_id":"b80bc2b5-f1e6-4ec3-851c-64ba782c70ec","command_center_event_id":"f3cede86-fb50-44a6-bf62-c5c41115b5b8"},{"id":"723965aa-ce50-43e5-8262-dd3ae52473ad","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-d16be9483397","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":41431,"releaseCount":0,"toolCallCount":18,"repeatedCallCount":12,"executorlessWaitMs":177639,"firstUsefulResultAt":"2026-10-04T20:16:08.545Z","recoveryAttemptCount":13,"ownerInterruptionCount":0},"version":null,"prNumber":4845,"terminal":false,"missionId":"d16be948-3397-40c1-becc-b4fea413676f","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":2233,"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":"d16be948-3397-40c1-becc-b4fea413676f"},"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:17:22.144205+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4845","receipt_type":"automatic_mission_resume","idempotency_key":"mission:d16be948-3397-40c1-becc-b4fea413676f:automatic-mission-resume:4845:repair_mission_pr_ready_retryable","mission_step_id":"d5b14f82-bbc6-4907-8375-c2c2db705cf7","command_center_event_id":"d16be948-3397-40c1-becc-b4fea413676f"},{"id":"723a1bd6-6c14-418c-9510-55191448f3c9","source":"cc-execution","status":"pending","payload":{"ok":true,"jobId":"a1a45e5f-5f4e-4656-8605-8381bc78cfc6","phase":"universal_visual_witness_supervised","branch":"ai/owner-os-loader-isolation","reason":null,"status":"pending","metrics":{"receiptBytes":0,"releaseCount":1,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":3286,"terminal":false,"missionId":"266363e7-6e8b-4c3f-96a3-b20133d9d369","operation":"visual_proof_started","proofGate":"universal_visual_witness_pending","sourceSha":"ec84b14d12f5a955446b1f984573d53306476e2e","timingsMs":{"wake":101,"total":459,"submit":358,"wakeAttempts":1},"nextAction":"Poll inspect_route_status or cancel with inspect_route_cancel.","receiptRef":{"mode":"full","missionId":"266363e7-6e8b-4c3f-96a3-b20133d9d369"},"performance":null,"deploymentId":"forgejo-main-ec84b14d12f5","releaseState":"verified","workflowRunId":10304,"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":610,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-20T14:43:15.290193+00:00","proof_gate":"post_release_visual_proof_started","source_sha":"ec84b14d12f5a955446b1f984573d53306476e2e","external_id":"a1a45e5f-5f4e-4656-8605-8381bc78cfc6","receipt_type":"visual_proof_started","idempotency_key":"mission:266363e7-6e8b-4c3f-96a3-b20133d9d369:visual-start:a1a45e5f-5f4e-4656-8605-8381bc78cfc6","mission_step_id":"c597f97e-8d57-4eb0-a9a6-68fd02e12ffe","command_center_event_id":"266363e7-6e8b-4c3f-96a3-b20133d9d369"},{"id":"723b183b-f11b-4f74-8618-497e640e9423","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"objective_received","branch":"ai/restore-protect-vista-photos-20260828","reason":"control_plane_maintenance_authorization_required","status":"blocked","metrics":{"receiptBytes":9352,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.55.0-godmode-restore-points","prNumber":null,"terminal":false,"missionId":"6e5cf2a3-fcc1-4ee6-aecc-4c3bf43ddd2b","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"handlerMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":2276,"shipAndProveMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"6e5cf2a3-fcc1-4ee6-aecc-4c3bf43ddd2b"},"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":5243,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"71b397ba-b9ad-496b-914c-985d97dbb12e","created_at":"2026-08-28T03:59:31.990786+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:6e5cf2a3-fcc1-4ee6-aecc-4c3bf43ddd2b:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"19fc6c3a-a963-43e8-8f7b-c3ed953be59a","command_center_event_id":"6e5cf2a3-fcc1-4ee6-aecc-4c3bf43ddd2b"},{"id":"723b31cc-af66-48f3-b60d-6c7e8c5c7fef","source":"forgejo","status":"waiting","payload":{"branch":"ai/tenant-workspace-repair-proxy-535002f0","prNumber":3118,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"9d13d2c52e0c97cd8b6a1b3b4c328c28b4c7169f","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-18T16:06:30.181176+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"9d13d2c52e0c97cd8b6a1b3b4c328c28b4c7169f","external_id":"3118","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:535002f0-048f-4534-bd43-10cea3d2d86f:merged-pr:3118:9d13d2c52e0c97cd8b6a1b3b4c328c28b4c7169f","mission_step_id":"ef6939ea-a00e-4608-b5b9-ad3357257efc","command_center_event_id":"535002f0-048f-4534-bd43-10cea3d2d86f"},{"id":"723ca004-78e5-4596-8ec9-d3f5e7f0e749","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-8c023417a5e1","prNumber":3586,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"999d8363a1117e81b134345754379e7054bd46d9","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T05:02:50.713832+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"999d8363a1117e81b134345754379e7054bd46d9","external_id":"3586","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:8c023417-a5e1-46de-bef2-3580166e8e53:merged-pr:3586:999d8363a1117e81b134345754379e7054bd46d9","mission_step_id":"b5ef32ec-99b7-427a-a665-93495a64ea59","command_center_event_id":"8c023417-a5e1-46de-bef2-3580166e8e53"},{"id":"723d9742-fef7-4a89-988c-ddd7e294074f","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"release","branch":"ai/objective-first-repair-87486c805430","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.182-witness-render-cold-start-aware","prNumber":3166,"terminal":false,"missionId":"87486c80-5430-4a67-902a-6ec4c3308531","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"a0a08e8ad062e49a66ba806e5bf163666688e533","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":891,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":134,"approvedPlanMs":0,"missionSetupMs":1359,"providerAuthMs":0,"shipAndProveMs":456,"ledgerPrepareMs":382,"ledgerReconcileMs":0,"lineageReconcileMs":977,"resolvePreflightMs":1359,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":382,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"87486c80-5430-4a67-902a-6ec4c3308531"},"performance":null,"deploymentId":"forgejo-main-a0a08e8ad062","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2574,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-19T02:02:59.274513+00:00","proof_gate":"canonical_release_dispatched","source_sha":"a0a08e8ad062e49a66ba806e5bf163666688e533","external_id":"forgejo-main-a0a08e8ad062","receipt_type":"execute_mission","idempotency_key":"mission:87486c80-5430-4a67-902a-6ec4c3308531:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"8bfb731a-c65c-4c91-9ca2-77317ec69287","command_center_event_id":"87486c80-5430-4a67-902a-6ec4c3308531"},{"id":"723fecfd-d859-4ffb-8dfc-375dedcf0693","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","render-onrunner/runtime-proof":"pending"},"mainSha":"7dfe9cfa2433f31c058491af532f8e8367e2004c","missing":[],"pending":["forgejo-release/workflow","render-onrunner/runtime-proof"],"required":["forgejo-main/source","forgejo-release/workflow","render-onrunner/runtime-proof"],"sourceSha":"7dfe9cfa2433f31c058491af532f8e8367e2004c","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"onrunner":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"onrunner":"pending"},"requestContractHash":"a0d06158410bb56f119108f09e327a6e95cd6269da604118dcb10175356975da","forgejoWorkflowProof":{"runId":11609,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"onrunner":"pending"},"targetJobCount":7,"observedTargetStates":{"onrunner":"pending"}},"onrunnerRuntimeProof":{"reason":"render_onrunner_source_mismatch","hostedUrl":"https://knocklaunchcrm.onrender.com","brokerReady":true,"exactSource":false,"healthStatus":200,"runtimeReady":true,"liveSourceSha":"6c01bcc2fd03406dcff7063bf72796517f87b4f3","runnerVersion":"onrunner-6c01bcc2fd03","expectedSourceSha":"7dfe9cfa2433f31c058491af532f8e8367e2004c"},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T19:45:48.538518+00:00","proof_gate":"canonical_release_pending","source_sha":"7dfe9cfa2433f31c058491af532f8e8367e2004c","external_id":"forgejo-main-7dfe9cfa2433","receipt_type":"canonical_release_status","idempotency_key":"mission:5fd3401c-af6a-4c0a-8d1a-c68868f7340d:forgejo-release-status:7dfe9cfa2433f31c058491af532f8e8367e2004c:pending:forgejo-main/source=success|forgejo-release/workflow=pending|render-onrunner/runtime-proof=pending","mission_step_id":"088ab414-d82b-4f93-b891-f544f7cee673","command_center_event_id":"5fd3401c-af6a-4c0a-8d1a-c68868f7340d"},{"id":"72403d9e-379d-4673-a905-3f9e47090e0b","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":"3e708d85-6e29-4219-a845-5b0a2abea68f","phase":"visual_proof","branch":"ai/objective-first-repair-6bb13a076ff7","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":22403,"releaseCount":0,"toolCallCount":10,"repeatedCallCount":0,"executorlessWaitMs":371706,"firstUsefulResultAt":"2026-09-28T22:04:09.725Z","recoveryAttemptCount":1,"ownerInterruptionCount":0},"version":"1.59.3-direct-commit-ancestry","prNumber":4042,"terminal":false,"missionId":"6bb13a07-6ff7-4f96-bf1b-f84dadb098cd","operation":"execute_mission","proofGate":"canonical_release_reconciliation_pending","sourceSha":"1f266f37a479f0ade19649ccdc93c267ede18a20","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1222,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":103,"approvedPlanMs":0,"missionSetupMs":286,"providerAuthMs":0,"shipAndProveMs":641,"ledgerPrepareMs":286,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":286,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":286,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"6bb13a07-6ff7-4f96-bf1b-f84dadb098cd"},"performance":null,"deploymentId":"forgejo-main-1f266f37a479","releaseState":"verified","visualWitness":{"role":null,"jobId":"3e708d85-6e29-4219-a845-5b0a2abea68f","tenant":null,"runnerUrl":null,"runnerLane":null,"attemptsUsed":null,"supervisorId":null,"failureReason":null,"observedRoute":null,"runnerVersion":null,"attemptLineage":[],"missionOutcome":null,"requestedRoute":null,"runnerSourceSha":null,"selectedViewports":[],"checkpointAccounting":null,"correctiveGeneration":0,"restartReplayHistory":[]},"workflowRunId":12701,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["visual"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2809,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T22:10:25.607416+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":"1f266f37a479f0ade19649ccdc93c267ede18a20","external_id":"forgejo-main-1f266f37a479","receipt_type":"execute_mission","idempotency_key":"mission:6bb13a07-6ff7-4f96-bf1b-f84dadb098cd:execute_mission:canonical_release_reconciliation_pending:current-generation","mission_step_id":"0b08c8be-bbc3-4526-acfb-456dc985a2d0","command_center_event_id":"6bb13a07-6ff7-4f96-bf1b-f84dadb098cd"},{"id":"724051c5-14a6-49a1-aae2-58600a27171c","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in visual proof.","nextAction":{"lane":"onrunner","action":"verify_visual","reason":"release_verified_existing_visual_job_pending_reconciliation","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"visual_proof\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"owner_wait_live_milestone\",\"status\":\"verified\",\"proofGate\":\"owner_wait_live_milestone_recorded\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"waiting\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"verify_visual\",\"lane\":\"onrunner\",\"reason\":\"release_verified_existing_visual_job_pending_reconciliation\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"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-09-24T01:33:02.393074+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-6163b7374446\",\"prNumber\":3553,\"sourceSha\":\"6d4fb6dcf9cc3fbda0066cc3d5c91765dd342518\",\"deploymentId\":\"forgejo-main-6d4fb6dcf9cc\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T21:39:28.610261+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:6163b737-4446-4df3-a84c-23bcfe0db6ff:owner-progress-heartbeat:119346637","mission_step_id":"73e50b03-7ab3-4de2-a3fc-9ecdf4d09f97","command_center_event_id":"6163b737-4446-4df3-a84c-23bcfe0db6ff"},{"id":"72426381-b36b-4c1d-a739-3b8a85dc0668","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/retry-cancelled-release-20260817","reason":"pull_request_stale_refresh_required","status":"retryable","metrics":{"receiptBytes":1140,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.47.0-tenant-conversation-workstreams","prNumber":355,"terminal":false,"missionId":"68ca9cbc-f453-4c1f-b718-28edde170662","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":"68ca9cbc-f453-4c1f-b718-28edde170662"},"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":6207,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-17T21:37:57.657902+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"355","receipt_type":"execute_mission","idempotency_key":"mission:68ca9cbc-f453-4c1f-b718-28edde170662:execute_mission:repair_mission_pr_ready_retryable","mission_step_id":"33c9bc6d-c3d5-48e1-be42-8dbedd3ec5c0","command_center_event_id":"68ca9cbc-f453-4c1f-b718-28edde170662"},{"id":"7244f7fa-ffa0-4090-bb34-b67aba293e39","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-553b0f829dbc","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":11617,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-09-30T13:13:02.418Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.11-paul-basename-precision","prNumber":4233,"terminal":false,"missionId":"553b0f82-9dbc-4674-a9eb-99760ccfda85","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":5101,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":1651,"missionSetupMs":390,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":390,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":390,"repositoryMutationMs":3450,"repositoryProviderMs":3450,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2345,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":390,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1105},"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":"553b0f82-9dbc-4674-a9eb-99760ccfda85"},"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":3991,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T13:13:08.729392+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"4233","receipt_type":"execute_mission","idempotency_key":"mission:553b0f82-9dbc-4674-a9eb-99760ccfda85:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"9f166eda-cab6-4d7d-af38-576ab77e5503","command_center_event_id":"553b0f82-9dbc-4674-a9eb-99760ccfda85"},{"id":"7245e2d4-d2f4-4eb0-a190-48deadbacbe1","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"title":"Make Console Sidekick a canonical autonomous operator","branch":"ai/objective-first-repair-5ef6e201aad0","writes":[],"patches":[],"pr_body":"Wire GodMode Sidekick to canonical cc-execution missions, durable progress/cancel controls, fresh searchable conversations, timestamps, and preserve existing voice transcription.","version":1,"approved":true,"missionId":"5ef6e201-aad0-4691-9221-d75318fad13b","objective":"Make the KNOCKLAUNCH Console behave like one autonomous operator. Preserve current live architecture and existing Witness/cancellation work. Implement the next bounded operator-experience pass: explicit owner intent dominates resolver inference including natural route-family instructions without false ambiguity; every execution request gets immediate acknowledgement and durable play-by-play progress surfaced in Console until terminal completion or cancellation; expose exact Stop for the current job and a clear bounded Stop All for owner-visible active jobs using existing canonical cancellation primitives; add message date/time stamps and voice-to-text input to Console; every new chat starts a fresh conversation while past conversations remain searchable/recoverable; keep normal read-only questions on the cheapest fast path and avoid unnecessary mission/repository/Witness scans. Use current Prime/main truth, smallest governing primitives, existing auth/tenant boundaries, canonical Gate/merge/release, and prove live behavior. Do not create parallel orchestration or duplicate mission systems.","sourceSha":"96bf09672f9c35094afb2c600cbf557a60fcd00e","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["supabase/functions/operator-respond/index.ts","src/components/admin/OperatorSidekick.tsx"],"anchored_edits":[{"path":"supabase/functions/operator-respond/index.ts","edits":[{"new_content":"export const FUNCTION_VERSION = '0.7.0-canonical-mission-operator';","old_content":"export const FUNCTION_VERSION = '0.6.0-console-evidence-answer';"},{"new_content":"const OPENAI_API_KEY = Deno.env.get('OPENAI_API_KEY') ?? '';\nconst PLATFORM_ADMIN_EMAIL = 'info@knocklaunch.app';\nconst OPENAI_MODEL = Deno.env.get('OPENAI_MODEL') ?? 'gpt-5-mini';\nconst CC_EXECUTION_URL = (Deno.env.get('CC_EXECUTION_URL') ?? 'https://cc-execution.knocklaunch.app').replace(/\\/+$/, '');\nconst CC_EXECUTION_KEY = Deno.env.get('CC_EXECUTION_KEY') ?? '';","old_content":"const OPENAI_API_KEY = Deno.env.get('OPENAI_API_KEY') ?? '';\nconst PLATFORM_ADMIN_EMAIL = 'info@knocklaunch.app';\nconst OPENAI_MODEL = Deno.env.get('OPENAI_MODEL') ?? 'gpt-5-mini';"},{"new_content":"    godmode_console_evidence_answer: true,\n    canonical_mission_operator: true,\n    cc_execution_bridge_ready: Boolean(CC_EXECUTION_KEY),\n    godmode_visual_witness_tool: false,\n    visual_witness_requires_platform_admin: true,","old_content":"    godmode_console_evidence_answer: true,\n    godmode_visual_witness_tool: false,\n    visual_witness_requires_platform_admin: true,"},{"new_content":"async function callAuthedFunction(authHeader: string, functionName: string, body: Record<string, unknown>) {\n  const resp = await fetch(`${SUPABASE_URL}/functions/v1/${functionName}`, {\n    method: 'POST',\n    headers: { Authorization: authHeader, apikey: SUPABASE_ANON_KEY, 'Content-Type': 'application/json' },\n    body: JSON.stringify(body),\n  });\n  const data = await resp.json().catch(() => null);\n  if (!data) return { ok: false, error: `${functionName} returned non-JSON HTTP ${resp.status}` };\n  if (!resp.ok || data?.ok === false) return { ok: false, error: data?.error ?? `${functionName} HTTP ${resp.status}`, data: responseEnvelope(data) };\n  return { ok: true, data: responseEnvelope(data) };\n}\n\nasync function callCcExecution(command: string, input: Record<string, unknown> = {}) {\n  if (!CC_EXECUTION_KEY) return { ok: false, error: 'cc_execution_bridge_not_configured' };\n  const resp = await fetch(`${CC_EXECUTION_URL}/action/execute`, {\n    method: 'POST',\n    headers: { Authorization: `Bearer ${CC_EXECUTION_KEY}`, 'Content-Type': 'application/json' },\n    body: JSON.stringify({ command, input }),\n  });\n  const data = await resp.json().catch(() => null);\n  if (!data) return { ok: false, error: `cc-execution returned non-JSON HTTP ${resp.status}` };\n  if (!resp.ok || data?.ok === false) return { ok: false, error: data?.reason ?? data?.error ?? `cc-execution HTTP ${resp.status}`, data: responseEnvelope(data) };\n  return { ok: true, data: responseEnvelope(data) };\n}\n\nconst canonicalMissionTools = [\n  { type: 'function', function: { name: 'operator_owner_context', description: 'Read stable owner operating context without starting repository or Witness work. Use this first for ordinary KNOCKLAUNCH context questions.', parameters: { type: 'object', properties: {}, required: [], additionalProperties: false } } },\n  { type: 'function', function: { name: 'operator_execute_objective', description: 'Run or continue the canonical durable KNOCKLAUNCH objective mission. Use this for platform mutations instead of legacy repo write tools.', parameters: { type: 'object', properties: { objective: { type: 'string' }, missionId: { type: 'string' }, sourceTargets: { type: 'array', items: { type: 'string' } }, input: { type: 'object' } }, required: ['objective'], additionalProperties: false } } },\n  { type: 'function', function: { name: 'operator_mission_status', description: 'Read durable mission status and latest owner-facing progress.', parameters: { type: 'object', properties: { missionId: { type: 'string' } }, required: ['missionId'], additionalProperties: false } } },\n  { type: 'function', function: { name: 'operator_mission_receipt', description: 'Read durable mission receipts and proof evidence.', parameters: { type: 'object', properties: { missionId: { type: 'string' } }, required: ['missionId'], additionalProperties: false } } },\n  { type: 'function', function: { name: 'operator_mission_cancel', description: 'Cancel one exact durable mission while preserving receipts.', parameters: { type: 'object', properties: { missionId: { type: 'string' }, reason: { type: 'string' } }, required: ['missionId'], additionalProperties: false } } },\n];\n\nconst tools = [\n  ...canonicalMissionTools,","old_content":"async function callAuthedFunction(authHeader: string, functionName: string, body: Record<string, unknown>) {\n  const resp = await fetch(`${SUPABASE_URL}/functions/v1/${functionName}`, {\n    method: 'POST',\n    headers: { Authorization: authHeader, apikey: SUPABASE_ANON_KEY, 'Content-Type': 'application/json' },\n    body: JSON.stringify(body),\n  });\n  const data = await resp.json().catch(() => null);\n  if (!data) return { ok: false, error: `${functionName} returned non-JSON HTTP ${resp.status}` };\n  if (!resp.ok || data?.ok === false) return { ok: false, error: data?.error ?? `${functionName} HTTP ${resp.status}`, data: responseEnvelope(data) };\n  return { ok: true, data: responseEnvelope(data) };\n}\n\nconst tools = ["},{"new_content":"async function executeTool(authHeader: string, repoAgentToken: string | null, name: string, input: any) {\n  switch (name) {\n    case 'operator_owner_context': return callCcExecution('owner_operating_context', {});\n    case 'operator_execute_objective': {\n      const continuationInput = input?.input && typeof input.input === 'object' && !Array.isArray(input.input) ? input.input : {};\n      return callCcExecution('execute_objective', {\n        ...continuationInput,\n        objective: String(input?.objective ?? '').trim(),\n        ...(input?.missionId ? { missionId: String(input.missionId) } : {}),\n        ...(Array.isArray(input?.sourceTargets) ? { sourceTargets: input.sourceTargets.map((value: unknown) => String(value)).filter(Boolean) } : {}),\n      });\n    }\n    case 'operator_mission_status': return callCcExecution('mission_status', { missionId: String(input?.missionId ?? '') });\n    case 'operator_mission_receipt': return callCcExecution('mission_receipt', { missionId: String(input?.missionId ?? '') });\n    case 'operator_mission_cancel': return callCcExecution('mission_cancel', { missionId: String(input?.missionId ?? ''), reason: String(input?.reason ?? 'Cancelled from KNOCKLAUNCH Console') });\n    case 'operator_repo_health': return callRepoAgentProxy(authHeader, repoAgentToken, {}, false);","old_content":"async function executeTool(authHeader: string, repoAgentToken: string | null, name: string, input: any) {\n  switch (name) {\n    case 'operator_repo_health': return callRepoAgentProxy(authHeader, repoAgentToken, {}, false);"},{"new_content":"  const action = String(body.action ?? 'message');\n  const repoAgentToken = body.repoAgentToken ? String(body.repoAgentToken) : null;\n\n  if (['mission_status', 'mission_receipt', 'mission_cancel', 'owner_context'].includes(action)) {\n    if (!isPlatformAdmin) return json({ ok: false, error: 'forbidden_platform_admin_mission_control_required' }, 403);\n    const missionId = String(body.missionId ?? body.input?.missionId ?? '').trim();\n    const command = action === 'owner_context' ? 'owner_operating_context' : action;\n    if (action !== 'owner_context' && !missionId) return json({ ok: false, error: 'missionId required' }, 400);\n    const result = await callCcExecution(command, action === 'owner_context' ? {} : { ...(body.input && typeof body.input === 'object' ? body.input : {}), missionId });\n    if (!result.ok) return json({ ok: false, error: result.error, result: result.data ?? null, ccExecutionBridgeReady: Boolean(CC_EXECUTION_KEY) }, 503);\n    return json({ ok: true, result: result.data ?? result, ccExecutionBridgeReady: true });\n  }\n\n  if (action === 'console_answer') {","old_content":"  const action = String(body.action ?? 'message');\n  const repoAgentToken = body.repoAgentToken ? String(body.repoAgentToken) : null;\n\n  if (action === 'console_answer') {"},{"new_content":"Operator proof rules:\n- For ordinary stable KNOCKLAUNCH context questions, use operator_owner_context first. Do not start repository or Witness scans unless the question actually requires them.\n- For platform mutations, use operator_execute_objective and keep continuing the same returned missionId until it reaches terminal verified/cancelled/blocked state. Do not substitute legacy repo write tools for the canonical mission lane.\n- Use operator_mission_status / operator_mission_receipt for durable play-by-play and proof. Use operator_mission_cancel only when the owner asks to stop that exact mission.\n- Visual proof is owned exclusively by the canonical cc-execution supervised mission lane; this Sidekick exposes no browser tool.","old_content":"Operator proof rules:\n- You may use operator_* tools behind the scenes for platform work. Inspect before proposing writes.\n- Visual proof is owned exclusively by the canonical cc-execution supervised mission lane; this Sidekick exposes no browser tool."},{"new_content":"  const conversation: ModelTurn[] = [{ role: 'system', content: systemPrompt }, { role: 'user', content: userMessage }];\n  const pendingWrites: any[] = [];\n  const toolSummaries: any[] = [];\n  let provider = 'openai';\n  let model = OPENAI_MODEL;\n  let finalMessage = '';\n  const maxToolRounds = isPlatformAdmin ? 6 : 1;\n\n  for (let round = 0; round < maxToolRounds; round += 1) {\n    let turn;\n    try { turn = await callModel(conversation, availableTools); }\n    catch (error: any) { return json({ ok: false, error: error?.message ?? String(error) }, 500); }\n\n    provider = turn.provider;\n    model = turn.model;\n    if (turn.message) finalMessage = turn.message;\n    const calls = Array.isArray(turn.toolCalls) ? turn.toolCalls : [];\n    if (calls.length === 0) break;\n\n    conversation.push({ role: 'assistant', content: turn.message ?? '', tool_calls: turn.raw?.tool_calls ?? undefined });\n    let executedAnyTool = false;\n    for (const toolCall of calls) {\n      if (!isPlatformAdmin) {\n        toolSummaries.push({ name: toolCall.name, status: 'blocked', error: 'tenant_user_read_only_mode', result: null });\n        conversation.push({ role: 'tool', tool_call_id: toolCall.id, name: toolCall.name, content: JSON.stringify({ ok: false, error: 'tenant_user_read_only_mode' }) });\n        continue;\n      }\n      if (WRITE_TOOLS.has(toolCall.name)) {\n        pendingWrites.push({ id: crypto.randomUUID(), name: toolCall.name, input: toolCall.arguments, requires_confirmation: true, is_write: true });\n        toolSummaries.push({ name: toolCall.name, status: 'proposed', error: null, result: null });\n        conversation.push({ role: 'tool', tool_call_id: toolCall.id, name: toolCall.name, content: JSON.stringify({ ok: true, proposed: true, requires_confirmation: true }) });\n        continue;\n      }\n      const result = await executeTool(authHeader, repoAgentToken, toolCall.name, toolCall.arguments);\n      executedAnyTool = true;\n      const normalizedResult = responseEnvelope(result.data ?? result);\n      conversation.push({ role: 'tool', tool_call_id: toolCall.id, name: toolCall.name, content: JSON.stringify(result) });\n      toolSummaries.push({ name: toolCall.name, status: result.ok ? 'completed' : 'failed', error: result.ok ? null : result.error, result: normalizedResult });\n    }\n    if (!executedAnyTool || pendingWrites.length > 0) break;\n  }\n\n  finalMessage = isPlatformAdmin ? normalizeOperatorFinalMessage(finalMessage, pendingWrites, toolSummaries) : (finalMessage || 'I do not have enough context here to answer that confidently.');\n  return json({ ok: true, message: finalMessage, pendingWrites, toolCalls: toolSummaries, academySources: academyContext.sources, provider, model, mode: isPlatformAdmin ? 'godmode_operator' : 'tenant_sidekick_read_only', ccExecutionBridgeReady: Boolean(CC_EXECUTION_KEY) });","old_content":"  const messages: ModelTurn[] = [{ role: 'system', content: systemPrompt }, { role: 'user', content: userMessage }];\n  let first;\n  try { first = await callModel(messages, availableTools); }\n  catch (error: any) { return json({ ok: false, error: error?.message ?? String(error) }, 500); }\n\n  const pendingWrites: any[] = [];\n  const toolMessages: ModelTurn[] = [];\n  const toolSummaries: any[] = [];\n\n  for (const toolCall of first.toolCalls) {\n    if (!isPlatformAdmin) {\n      toolSummaries.push({ name: toolCall.name, status: 'blocked', error: 'tenant_user_read_only_mode' });\n      continue;\n    }\n    if (WRITE_TOOLS.has(toolCall.name)) {\n      pendingWrites.push({ id: crypto.randomUUID(), name: toolCall.name, input: toolCall.arguments, requires_confirmation: true, is_write: true });\n      toolSummaries.push({ name: toolCall.name, status: 'proposed' });\n      continue;\n    }\n    const result = await executeTool(authHeader, repoAgentToken, toolCall.name, toolCall.arguments);\n    toolMessages.push({ role: 'tool', tool_call_id: toolCall.id, name: toolCall.name, content: JSON.stringify(result) });\n    toolSummaries.push({ name: toolCall.name, status: result.ok ? 'completed' : 'failed', error: result.ok ? null : result.error });\n  }\n\n  let finalMessage = first.message;\n  if (toolMessages.length > 0) {\n    try {\n      const second = await callModel([...messages, { role: 'assistant', content: first.message ?? '', tool_calls: first.raw?.tool_calls ?? undefined }, ...toolMessages], availableTools);\n      finalMessage = second.message || finalMessage;\n    } catch { /* Keep first message if the second model pass fails. */ }\n  }\n\n  finalMessage = isPlatformAdmin ? normalizeOperatorFinalMessage(finalMessage, pendingWrites, toolSummaries) : (finalMessage || 'I do not have enough context here to answer that confidently.');\n  return json({ ok: true, message: finalMessage, pendingWrites, toolCalls: toolSummaries, academySources: academyContext.sources, provider: first.provider, model: first.model, mode: isPlatformAdmin ? 'godmode_operator' : 'tenant_sidekick_read_only' });"}]},{"path":"src/components/admin/OperatorSidekick.tsx","edits":[{"new_content":"  History,\n  Lightbulb,\n  Loader2,\n  Maximize2,\n  Mic,\n  Minimize2,\n  Plus,\n  RefreshCw,\n  Search,","old_content":"  Lightbulb,\n  Loader2,\n  Maximize2,\n  Mic,\n  Minimize2,\n  RefreshCw,"},{"new_content":"const SIDEKICK_MEMORY_KEY = 'knocklaunch.aiSidekick.memory.v1';\nconst SIDEKICK_VOICE_REPLY_KEY = 'knocklaunch.aiSidekick.voiceReplies.v1';\nconst SIDEKICK_POSITION_KEY = 'knocklaunch.aiSidekick.position.v1';\nconst SIDEKICK_CONVERSATIONS_KEY = 'knocklaunch.aiSidekick.conversations.v1';","old_content":"const SIDEKICK_MEMORY_KEY = 'knocklaunch.aiSidekick.memory.v1';\nconst SIDEKICK_VOICE_REPLY_KEY = 'knocklaunch.aiSidekick.voiceReplies.v1';\nconst SIDEKICK_POSITION_KEY = 'knocklaunch.aiSidekick.position.v1';"},{"new_content":"type ChatMessage = { id: string; role: 'user' | 'assistant' | 'system'; content: string; createdAt?: string };\ntype SidekickConversation = { id: string; title: string; createdAt: string; updatedAt: string; messages: ChatMessage[] };\ntype TrackedMission = { missionId: string; status: string; terminal: boolean; phase?: string | null; latestSequence?: number | null; latestMessage?: string | null };\ntype PendingWrite = { id: string; name: string; input: Record<string, unknown>; requires_confirmation: true; is_write: true };","old_content":"type ChatMessage = { id: string; role: 'user' | 'assistant' | 'system'; content: string };\ntype PendingWrite = { id: string; name: string; input: Record<string, unknown>; requires_confirmation: true; is_write: true };"},{"new_content":"function formatMessageTimestamp(value?: string) {\n  const date = new Date(value || Date.now());\n  if (Number.isNaN(date.getTime())) return '';\n  return new Intl.DateTimeFormat(undefined, { month: 'short', day: 'numeric', hour: 'numeric', minute: '2-digit', second: '2-digit' }).format(date);\n}\nfunction loadConversations(): SidekickConversation[] {\n  try {\n    const raw = localStorage.getItem(SIDEKICK_CONVERSATIONS_KEY);\n    if (!raw) return [];\n    const parsed = JSON.parse(raw);\n    return Array.isArray(parsed) ? parsed.slice(0, 40) : [];\n  } catch { return []; }\n}\nfunction saveConversations(conversations: SidekickConversation[]) {\n  try { localStorage.setItem(SIDEKICK_CONVERSATIONS_KEY, JSON.stringify(conversations.slice(0, 40))); } catch {}\n}\n\nfunction roleClasses(role: ChatMessage['role']) {","old_content":"function roleClasses(role: ChatMessage['role']) {"},{"new_content":"  const [memory, setMemory] = useState<SidekickMemory>(() => loadMemory());\n  const initialConversationId = useRef(crypto.randomUUID());\n  const [conversationId, setConversationId] = useState(initialConversationId.current);\n  const [conversationStartedAt, setConversationStartedAt] = useState(() => new Date().toISOString());\n  const [conversationHistory, setConversationHistory] = useState<SidekickConversation[]>(() => loadConversations());\n  const [historyQuery, setHistoryQuery] = useState('');\n  const [historyOpen, setHistoryOpen] = useState(false);\n  const [trackedMissions, setTrackedMissions] = useState<TrackedMission[]>([]);\n  const [messages, setMessages] = useState<ChatMessage[]>([\n    { id: 'sidekick-welcome', role: 'system', content: welcomeCopy(persona, isGodModeContext), createdAt: new Date().toISOString() },\n  ]);\n  const [pendingWrites, setPendingWrites] = useState<PendingWrite[]>([]);","old_content":"  const [memory, setMemory] = useState<SidekickMemory>(() => loadMemory());\n  const [messages, setMessages] = useState<ChatMessage[]>([\n    {\n      id: 'sidekick-welcome',\n      role: 'system',\n      content: welcomeCopy(persona, isGodModeContext),\n    },\n  ]);\n  const [pendingWrites, setPendingWrites] = useState<PendingWrite[]>([]);"},{"new_content":"  async function callOperator<T>(body: Record<string, unknown>): Promise<T> {\n    const { data, error } = await supabase.functions.invoke('operator-respond', { body });\n    if (error) throw new Error(error.message ?? 'operator-respond failed');\n    if (!data?.ok) throw new Error(data?.error ?? 'operator-respond rejected the request');\n    return data as T;\n  }\n\n  function persistConversation(nextMessages = messages) {\n    if (!nextMessages.some((message) => message.role === 'user')) return;\n    const firstUser = nextMessages.find((message) => message.role === 'user')?.content.trim() || 'Conversation';\n    const entry: SidekickConversation = { id: conversationId, title: firstUser.slice(0, 72), createdAt: conversationStartedAt, updatedAt: new Date().toISOString(), messages: nextMessages };\n    setConversationHistory((prev) => {\n      const next = [entry, ...prev.filter((conversation) => conversation.id !== conversationId)].slice(0, 40);\n      saveConversations(next);\n      return next;\n    });\n  }\n  function startNewConversation() {\n    persistConversation();\n    const nowIso = new Date().toISOString();\n    setConversationId(crypto.randomUUID());\n    setConversationStartedAt(nowIso);\n    setMessages([{ id: crypto.randomUUID(), role: 'system', content: welcomeCopy(persona, isGodModeContext), createdAt: nowIso }]);\n    setTrackedMissions([]);\n    setPendingWrites([]);\n    setHistoryOpen(false);\n    setHistoryQuery('');\n  }\n  function restoreConversation(conversation: SidekickConversation) {\n    persistConversation();\n    setConversationId(conversation.id);\n    setConversationStartedAt(conversation.createdAt);\n    setMessages(conversation.messages);\n    setTrackedMissions([]);\n    setPendingWrites([]);\n    setHistoryOpen(false);\n  }\n  function collectMissionIds(toolCalls: any[] = []) {\n    return [...new Set(toolCalls.flatMap((tool) => {\n      const result = tool?.result ?? {};\n      return [result?.missionId, result?.receiptRef?.missionId, result?.context?.missionId].map((value) => String(value ?? '').trim()).filter(Boolean);\n    }))];\n  }\n  async function cancelMission(missionId: string) {\n    await callOperator<{ ok: true; result: any }>({ action: 'mission_cancel', missionId, input: { reason: 'Cancelled from KNOCKLAUNCH Console' } });\n    setTrackedMissions((prev) => prev.map((mission) => mission.missionId === missionId ? { ...mission, status: 'cancelled', terminal: true, latestMessage: 'Cancelled from KNOCKLAUNCH Console.' } : mission));\n    setMessages((prev) => [...prev, { id: crypto.randomUUID(), role: 'system', content: `Stopped mission ${missionId}.`, createdAt: new Date().toISOString() }]);\n  }\n  async function stopAllTrackedMissions() {\n    const active = trackedMissions.filter((mission) => !mission.terminal);\n    await Promise.allSettled(active.map((mission) => cancelMission(mission.missionId)));\n  }\n\n  async function startSession(mode: SessionMode) {","old_content":"  async function callOperator<T>(body: Record<string, unknown>): Promise<T> {\n    const { data, error } = await supabase.functions.invoke('operator-respond', { body });\n    if (error) throw new Error(error.message ?? 'operator-respond failed');\n    if (!data?.ok) throw new Error(data?.error ?? 'operator-respond rejected the request');\n    return data as T;\n  }\n\n  async function startSession(mode: SessionMode) {"},{"new_content":"  useEffect(() => {\n    const timer = window.setTimeout(() => persistConversation(messages), 250);\n    return () => window.clearTimeout(timer);\n  }, [messages, conversationId]);\n\n  useEffect(() => {\n    const active = trackedMissions.filter((mission) => !mission.terminal);\n    if (!canUseGodModeCapabilities || active.length === 0) return;\n    let cancelled = false;\n    const poll = async () => {\n      for (const mission of active) {\n        try {\n          const response = await callOperator<{ ok: true; result: any }>({ action: 'mission_status', missionId: mission.missionId });\n          if (cancelled) return;\n          const result = response.result ?? {};\n          const latest = result.latestProgress ?? {};\n          const sequence = Number(latest?.sequence ?? 0) || null;\n          const latestMessage = String(latest?.message ?? '').trim() || null;\n          setTrackedMissions((prev) => prev.map((item) => item.missionId === mission.missionId ? { ...item, status: String(result.status ?? item.status), terminal: result.terminal === true, phase: result.phase ?? item.phase ?? null, latestSequence: sequence, latestMessage } : item));\n          if (latestMessage && sequence && sequence !== mission.latestSequence) setMessages((prev) => [...prev, { id: crypto.randomUUID(), role: 'system', content: latestMessage, createdAt: new Date().toISOString() }]);\n        } catch {}\n      }\n    };\n    void poll();\n    const interval = window.setInterval(() => { void poll(); }, 3000);\n    return () => { cancelled = true; window.clearInterval(interval); };\n  }, [trackedMissions.map((mission) => `${mission.missionId}:${mission.terminal}:${mission.latestSequence ?? ''}`).join('|'), canUseGodModeCapabilities]);\n\n  useEffect(() => {\n    if (!listRef.current) return;\n    listRef.current.scrollTop = listRef.current.scrollHeight;\n  }, [messages, sending, pendingWrites.length, open, docked]);","old_content":"  useEffect(() => {\n    if (!listRef.current) return;\n    listRef.current.scrollTop = listRef.current.scrollHeight;\n  }, [messages, sending, pendingWrites.length, open, docked]);"},{"new_content":"    setSending(true);\n    setMessages((prev) => [...prev, { id: crypto.randomUUID(), role: 'user', content: text, createdAt: new Date().toISOString() }]);","old_content":"    setSending(true);\n    setMessages((prev) => [...prev, { id: crypto.randomUUID(), role: 'user', content: text }]);"},{"new_content":"      const response = await callOperator<{\n        ok: true;\n        message: string;\n        pendingWrites: PendingWrite[];\n        toolCalls?: any[];\n        ccExecutionBridgeReady?: boolean;\n      }>({","old_content":"      const response = await callOperator<{\n        ok: true;\n        message: string;\n        pendingWrites: PendingWrite[];\n      }>({"},{"new_content":"      const assistantMessage = response.message || 'Done.';\n      setPendingWrites(canUseGodModeCapabilities ? response.pendingWrites ?? [] : []);\n      const missionIds = canUseGodModeCapabilities ? collectMissionIds(response.toolCalls ?? []) : [];\n      if (missionIds.length > 0) {\n        setTrackedMissions((prev) => [\n          ...prev,\n          ...missionIds.filter((missionId) => !prev.some((mission) => mission.missionId === missionId)).map((missionId) => ({ missionId, status: 'started', terminal: false, phase: 'objective_received', latestSequence: null, latestMessage: 'Mission started.' })),\n        ]);\n      }\n      setMessages((prev) => [...prev, { id: crypto.randomUUID(), role: 'assistant', content: assistantMessage, createdAt: new Date().toISOString() }]);\n      void logSidekickConversation(text, assistantMessage);","old_content":"      const assistantMessage = response.message || 'Done.';\n      setPendingWrites(canUseGodModeCapabilities ? response.pendingWrites ?? [] : []);\n      setMessages((prev) => [...prev, { id: crypto.randomUUID(), role: 'assistant', content: assistantMessage }]);\n      void logSidekickConversation(text, assistantMessage);"},{"new_content":"      <div className=\"flex flex-wrap items-center gap-1.5\">\n        <Button size=\"sm\" variant=\"outline\" onClick={startNewConversation} className=\"h-7 gap-1 px-2 text-[10px]\"><Plus className=\"h-3 w-3\" /> New chat</Button>\n        <Button size=\"sm\" variant=\"outline\" onClick={() => setHistoryOpen((value) => !value)} className=\"h-7 gap-1 px-2 text-[10px]\"><History className=\"h-3 w-3\" /> History</Button>\n        {trackedMissions.some((mission) => !mission.terminal) ? <>\n          <Button size=\"sm\" variant=\"destructive\" onClick={() => { const current = [...trackedMissions].reverse().find((mission) => !mission.terminal); if (current) void cancelMission(current.missionId); }} className=\"h-7 gap-1 px-2 text-[10px]\"><XCircle className=\"h-3 w-3\" /> Stop</Button>\n          <Button size=\"sm\" variant=\"outline\" onClick={() => void stopAllTrackedMissions()} className=\"h-7 px-2 text-[10px]\">Stop all ({trackedMissions.filter((mission) => !mission.terminal).length})</Button>\n        </> : null}\n      </div>\n\n      {historyOpen ? <div className=\"rounded-xl border border-border/70 bg-card/90 p-2\">\n        <label className=\"flex items-center gap-2 rounded-lg border border-border bg-background px-2\"><Search className=\"h-3.5 w-3.5 text-muted-foreground\" /><input value={historyQuery} onChange={(event) => setHistoryQuery(event.target.value)} placeholder=\"Search conversations\" className=\"h-8 min-w-0 flex-1 bg-transparent text-xs outline-none\" /></label>\n        <div className=\"mt-2 max-h-40 space-y-1 overflow-y-auto\">\n          {conversationHistory.filter((conversation) => !historyQuery.trim() || JSON.stringify(conversation).toLowerCase().includes(historyQuery.trim().toLowerCase())).slice(0, 20).map((conversation) => (\n            <button key={conversation.id} type=\"button\" onClick={() => restoreConversation(conversation)} className=\"w-full rounded-lg border border-border/50 px-2 py-1.5 text-left hover:bg-muted/50\"><div className=\"truncate text-xs font-semibold\">{conversation.title}</div><div className=\"text-[10px] text-muted-foreground\">{formatMessageTimestamp(conversation.updatedAt)} · {conversation.messages.length} messages</div></button>\n          ))}\n        </div>\n      </div> : null}\n\n      {trackedMissions.some((mission) => !mission.terminal) ? <div className=\"space-y-1 rounded-xl border border-sky-500/30 bg-sky-500/5 p-2\">\n        {trackedMissions.filter((mission) => !mission.terminal).map((mission) => <div key={mission.missionId} className=\"flex items-center justify-between gap-2 text-[10px]\"><span className=\"min-w-0 truncate font-mono\">{mission.missionId.slice(0, 8)} · {mission.phase ?? mission.status}</span><span className=\"shrink-0 text-muted-foreground\">{mission.latestMessage ?? mission.status}</span></div>)}\n      </div> : null}\n\n      <div ref={listRef} className=\"min-h-0 flex-1 overflow-y-auto rounded-2xl border border-border/70 bg-gradient-to-b from-background/80 to-muted/20 p-3 space-y-3 scroll-smooth\">\n        {messages.map((message) => (\n          <div key={message.id} className={cn('max-w-full rounded-2xl px-3.5 py-3 text-[13.5px] leading-7 shadow-sm sm:text-[14px]', message.role !== 'assistant' && 'whitespace-pre-wrap', message.role === 'user' && 'max-w-[90%]', roleClasses(message.role))}>\n            {renderMessageContent(message)}\n            <div className=\"mt-1.5 text-[9px] leading-none opacity-60\">{formatMessageTimestamp(message.createdAt ?? conversationStartedAt)}</div>\n          </div>\n        ))}","old_content":"      <div ref={listRef} className=\"min-h-0 flex-1 overflow-y-auto rounded-2xl border border-border/70 bg-gradient-to-b from-background/80 to-muted/20 p-3 space-y-3 scroll-smooth\">\n        {messages.map((message) => (\n          <div key={message.id} className={cn('max-w-full rounded-2xl px-3.5 py-3 text-[13.5px] leading-7 shadow-sm sm:text-[14px]', message.role !== 'assistant' && 'whitespace-pre-wrap', message.role === 'user' && 'max-w-[90%]', roleClasses(message.role))}>\n            {renderMessageContent(message)}\n          </div>\n        ))}"}]}],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"5ef6e201-aad0-4691-9221-d75318fad13b","ownerApproved":true,"releaseIntent":null,"sourceTargets":["supabase/functions/operator-respond/index.ts","src/components/admin/OperatorSidekick.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":"9f5864bb74819a1cce11a93970180f31427f54c15cf5f4168801a9588f2cda91","replayCount":0,"serializedBytes":32207},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T00:05:22.249469+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:5ef6e201-aad0-4691-9221-d75318fad13b:repository-mutation-intent:9f5864bb74819a1cce11a93970180f31427f54c15cf5f4168801a9588f2cda91:0","mission_step_id":"1778bb35-f889-4538-9068-3ea185aff115","command_center_event_id":"5ef6e201-aad0-4691-9221-d75318fad13b"},{"id":"72466060-1bd6-4faf-9643-8ee0f31d4bb3","source":"cc-execution","status":"no_change","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-68531da5bccf","reason":null,"status":"no_change","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.118-architecture-exclusivity","prNumber":null,"terminal":false,"missionId":"68531da5-bccf-41a3-b686-96c48fc2c34d","operation":"execute_mission","proofGate":"repair_mission_prepared","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3352,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":747,"providerAuthMs":0,"ledgerPrepareMs":289,"ledgerReconcileMs":0,"lineageReconcileMs":458,"resolvePreflightMs":747,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":289,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"pull_request_required","receiptRef":{"mode":"full","missionId":"68531da5-bccf-41a3-b686-96c48fc2c34d"},"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":1387,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T03:51:45.761775+00:00","proof_gate":"repair_mission_prepared","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:68531da5-bccf-41a3-b686-96c48fc2c34d:execute_mission:repair_mission_prepared:current-generation","mission_step_id":"2e1a8ffd-028c-4196-b451-89cfebfbd1cf","command_center_event_id":"68531da5-bccf-41a3-b686-96c48fc2c34d"},{"id":"724772cf-d032-4b94-879b-315a6dcab511","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/scripts/cloudflare-credential-repair.mjs","workers/cc-execution/test/cloudflare-credential-repair.test.js","workers/cc-execution/test/release-orchestration-invariants.test.js"],"reason":"Owner explicitly authorized unfreezing the control plane to complete canonical Cloudflare credential management and Visual Witness repair, then refreezing. Run 5323 proved the sole remaining permission-resolution defect is Cloudflare's provider-exact name Workers Containers Write rather than Containers Write.","baseSha":"cdc2890d5d12f470d81ebdd97c9245349680ff39","issuedAt":1788556593258,"expiresAt":1788556773258,"missionId":"62543780-951a-43be-bc1c-ec8633172818","authorizationId":"fd3a72fd-d694-4843-8ed5-af05513b6b29","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T21:16:33.686942+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"cdc2890d5d12f470d81ebdd97c9245349680ff39","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:fd3a72fd-d694-4843-8ed5-af05513b6b29","mission_step_id":"8e7ce45b-b950-43a0-9221-461cafbd3333","command_center_event_id":"62543780-951a-43be-bc1c-ec8633172818"},{"id":"7247db02-ac1f-4324-b5be-08947505c400","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/fix-big-papi-inventory-premium-controls-20260828","reason":"pull_request_stale_refresh_required","status":"retryable","metrics":{"receiptBytes":43454,"releaseCount":0,"toolCallCount":11,"repeatedCallCount":3,"ownerInterruptionCount":0},"version":"1.55.8-readiness-resilience","prNumber":993,"terminal":false,"missionId":"928d9cf5-6a07-4a2f-b90a-403bd7be2789","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"handlerMs":21009,"prReadinessMs":20715,"approvedPlanMs":0,"missionSetupMs":2146,"shipAndProveMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"928d9cf5-6a07-4a2f-b90a-403bd7be2789"},"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":5914,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-29T02:32:55.230617+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"993","receipt_type":"execute_mission","idempotency_key":"mission:928d9cf5-6a07-4a2f-b90a-403bd7be2789:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"7dcb7e5d-7c6a-4560-992e-bef6bb532d6f","command_center_event_id":"928d9cf5-6a07-4a2f-b90a-403bd7be2789"},{"id":"724857eb-d42d-4f3a-a8ef-d189f8b99ca4","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/visual-witness-owner-root-20260910","reason":"fresh_pr_provider_receipt_already_proves_auto_progress_gate_notifier_owns_next_state","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.98-owner-handoff-overlap","prNumber":2347,"terminal":false,"missionId":"190c9836-28a4-4025-bddc-194b82ee8b60","operation":"execute_mission","proofGate":"repair_mission_fresh_pr_handed_off_to_gate","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":5573,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":309,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":309,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":309,"repositoryMutationMs":5573,"repositoryProviderMs":3655,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":1899,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":309,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1756},"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":"190c9836-28a4-4025-bddc-194b82ee8b60"},"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":3142,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-10T23:36:04.216948+00:00","proof_gate":"repair_mission_fresh_pr_handed_off_to_gate","source_sha":null,"external_id":"2347","receipt_type":"execute_mission","idempotency_key":"mission:190c9836-28a4-4025-bddc-194b82ee8b60:execute_mission:repair_mission_fresh_pr_handed_off_to_gate:current-generation","mission_step_id":"97aa1702-41ba-43ca-b7e4-18f04584da94","command_center_event_id":"190c9836-28a4-4025-bddc-194b82ee8b60"},{"id":"724d7ba8-fd95-44ad-88e7-37a92dd30431","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-mti0dlzc","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":6321,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":2,"ownerInterruptionCount":0},"version":"1.58.0-frontend-build-velocity-freeze","prNumber":1225,"terminal":false,"missionId":"2d5e3aa7-c3ad-4a17-9863-65bc80c6f51d","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"handlerMs":1224,"prReadinessMs":994,"approvedPlanMs":0,"missionSetupMs":952,"shipAndProveMs":0},"nextAction":"Reconcile this same mission and pull request after the exact-head KnockLaunch Gate changes state.","receiptRef":{"mode":"full","missionId":"2d5e3aa7-c3ad-4a17-9863-65bc80c6f51d"},"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":1495,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"d60e3c27-73ed-4a5f-a49b-c37636455daf","created_at":"2026-09-01T01:51:38.774368+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"1225","receipt_type":"execute_mission","idempotency_key":"mission:2d5e3aa7-c3ad-4a17-9863-65bc80c6f51d:execute_mission:repair_mission_waiting_for_gate:current-generation","mission_step_id":"663fb6c3-845a-419e-80cb-af3359d4f40d","command_center_event_id":"2d5e3aa7-c3ad-4a17-9863-65bc80c6f51d"},{"id":"725078cf-21c6-4e7d-b630-1e860d07e982","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"266e0808e3d2ffce22e9b317f0930d67d0136eaa","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"ownership-sync","satisfied":true,"statement":"The live cc-execution reconciler excludes workers/cc-execution/test/** from runtime ownership while retaining real workers/cc-execution runtime ownership.","proofConditionIds":["repo","runtime"]},{"id":"runtime-live","satisfied":true,"statement":"cc-execution 1.58.39-release-ownership-sync-refreeze is live on the exact merged source.","proofConditionIds":["runtime"]},{"id":"refreeze","satisfied":true,"statement":"Control-plane maintenance is refrozen after terminal runtime proof.","proofConditionIds":["refrozen"]}],"satisfied":true,"constraints":[{"id":"safety","satisfied":true,"statement":"Preserve canonical release ownership for all real runtime source/config, Gate, squash merge, exact-SHA release proof, and all hard safety invariants.","proofConditionIds":["repo","runtime"]}],"contractHash":"0b0f0233f69d6e17e38d7433fffe05269f8c08ed430679a87b2600db97ae5d59","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"repo","kind":"repository","evidence":{"releaseState":"verified","releaseRequestContractHash":"0b0f0233f69d6e17e38d7433fffe05269f8c08ed430679a87b2600db97ae5d59"},"required":true,"satisfied":true},{"id":"runtime","kind":"runtime","evidence":{"releaseState":"verified","activeReleaseTargets":["ccExecution"],"releaseRequestContractHash":"0b0f0233f69d6e17e38d7433fffe05269f8c08ed430679a87b2600db97ae5d59"},"required":true,"satisfied":true},{"id":"refrozen","kind":"runtime","evidence":{"releaseState":"verified","activeReleaseTargets":["ccExecution"],"releaseRequestContractHash":"0b0f0233f69d6e17e38d7433fffe05269f8c08ed430679a87b2600db97ae5d59"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["ccExecution"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":3},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T12:38:05.845052+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"266e0808e3d2ffce22e9b317f0930d67d0136eaa","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:7163978d-886d-4591-ad04-d960d4591f77:request-contract:0b0f0233f69d6e17e38d7433fffe05269f8c08ed430679a87b2600db97ae5d59:266e0808e3d2ffce22e9b317f0930d67d0136eaa:verified:","mission_step_id":"2ef76fea-9371-4a94-a760-4f01fac1d4c5","command_center_event_id":"7163978d-886d-4591-ad04-d960d4591f77"},{"id":"7253e9de-517d-4535-a2d7-af2388d65f49","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-06e9f9f83c92","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":124489,"releaseCount":0,"toolCallCount":31,"repeatedCallCount":15,"executorlessWaitMs":1249536,"firstUsefulResultAt":"2026-09-25T02:14:57.490Z","recoveryAttemptCount":14,"ownerInterruptionCount":0},"version":null,"prNumber":3699,"terminal":false,"missionId":"06e9f9f8-3c92-46c7-b78b-2447369b948b","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":3105,"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":"06e9f9f8-3c92-46c7-b78b-2447369b948b"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":819,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T02:24:28.716991+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"3699","receipt_type":"automatic_mission_resume","idempotency_key":"mission:06e9f9f8-3c92-46c7-b78b-2447369b948b:automatic-mission-resume:3699:repair_mission_pr_ready_retryable","mission_step_id":"3c77e838-97a1-409d-8048-14f3e6220b67","command_center_event_id":"06e9f9f8-3c92-46c7-b78b-2447369b948b"},{"id":"7254798f-4bb7-4daa-a8cd-e8fec379268e","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","release-targets/detection":"pending"},"mainSha":"23306f0755fe84c316cc96114b64cedc7d3cefee","missing":[],"pending":["release-targets/detection"],"required":["forgejo-main/source","release-targets/detection"],"sourceSha":"587033ae40403f5e2c9125c1cf80f00a2a7db8a5","releaseState":"pending","sourceInMain":true,"compareStatus":"known_exact_protected_main_push_history","releaseTargets":null,"releaseTargetStates":{},"requestContractHash":"66489a09726f829d9f536e6f82a98d8c048d18ee610e05bdde53786d88b79570","forgejoWorkflowProof":null,"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-16T23:16:39.823409+00:00","proof_gate":"canonical_release_pending","source_sha":"587033ae40403f5e2c9125c1cf80f00a2a7db8a5","external_id":null,"receipt_type":"canonical_release_status","idempotency_key":"mission:28b46486-9f75-47cf-b506-f0c4dfce5e2b:forgejo-release-status:587033ae40403f5e2c9125c1cf80f00a2a7db8a5:pending:forgejo-main/source=success|release-targets/detection=pending","mission_step_id":"3b97e673-67ac-4232-a230-9af073af4728","command_center_event_id":"28b46486-9f75-47cf-b506-f0c4dfce5e2b"},{"id":"7254d611-6b54-4773-a177-4007e7f034a7","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","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.94-mission-generation-terminality","prNumber":2307,"terminal":false,"missionId":"7033818a-24aa-43f1-abe9-3ed452efa622","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":16634,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":2450,"approvedPlanMs":0,"missionSetupMs":291,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":291,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":291,"repositoryMutationMs":12728,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":291,"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":"7033818a-24aa-43f1-abe9-3ed452efa622"},"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":1527,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-10T17:37:30.652592+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"2307","receipt_type":"execute_mission","idempotency_key":"mission:7033818a-24aa-43f1-abe9-3ed452efa622:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"326af6f0-ed93-4220-9876-da8545a5ad95","command_center_event_id":"7033818a-24aa-43f1-abe9-3ed452efa622"},{"id":"7256688b-3ee0-466c-be8d-4ea3013ace3a","source":"github-status","status":"pending","payload":{"failed":[],"states":{"cc-execution/runtime-proof":"success","canonical-production-release/verified":"pending"},"missing":[],"pending":["canonical-production-release/verified"],"required":["canonical-production-release/verified","cc-execution/runtime-proof"],"sourceSha":"5745972b74a4e7e2d8e9c7172470de564a093f55","releaseState":"pending","exactConductorRun":{"id":31621589365,"status":"in_progress","headSha":"5745972b74a4e7e2d8e9c7172470de564a093f55","conclusion":null,"compareStatus":"identical","sourceMatches":true,"containsSourceSha":true,"reconciliationMode":null},"ccExecutionRuntimeProof":{"buildId":"31621611081-1","liveSha":"5745972b74a4e7e2d8e9c7172470de564a093f55","deploymentId":"canonical-release-31621589365-cc-execution","compareStatus":"identical","identitySource":"worker_env_git_sha","runtimeVersion":null,"containsSourceSha":true}},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-12T17:15:33.741586+00:00","proof_gate":"canonical_release_pending","source_sha":"5745972b74a4e7e2d8e9c7172470de564a093f55","external_id":"canonical-release-5745972b74a4","receipt_type":"canonical_release_status","idempotency_key":"mission:63764a7e-1d96-43cf-8468-b0276155f80a:release-status:5745972b74a4e7e2d8e9c7172470de564a093f55:31621589365:pending:canonical-production-release/verified=pending|cc-execution/runtime-proof=success","mission_step_id":"b63bdf9b-46b1-4604-9768-296451e36bed","command_center_event_id":"63764a7e-1d96-43cf-8468-b0276155f80a"},{"id":"7259262a-5edf-47f9-b68d-48eac7379278","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in objective received.","nextAction":{"lane":"cc-execution","action":"resolve_preflight","reason":"durable_state:preflight","automationAllowed":false,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"objective_received\",\"ownerFacingState\":null,\"latest\":null,\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"resolve_preflight\",\"lane\":\"cc-execution\",\"reason\":\"durable_state:preflight\",\"automationAllowed\":false,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":0,\"pending\":6,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"preflight\",\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"preflight\",\"deadlineAt\":\"2026-08-04T12:54:52.334309+00:00\",\"recoveryAction\":\"resolve_preflight\"},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":null,\"sourceSha\":null,\"deploymentId\":null}"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T22:26:01.051958+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:addaea62-2ad7-4988-a76a-67254c065e37:owner-progress-heartbeat:119329544","mission_step_id":"7f373811-1b55-42ae-9d53-0a0fa557d2dc","command_center_event_id":"addaea62-2ad7-4988-a76a-67254c065e37"},{"id":"725a4ef9-4922-45b8-8065-f5740ee3011a","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"branch":"ai/objective-first-repair-af8222c25907","approved":true,"missionId":"af8222c2-5907-4d92-b4a9-503465f6fc00","objective":"Identify and permanently eliminate the KNOCKLAUNCH Windows/MSI local watchdog, scheduled task, startup script, or launcher behavior that opens a visible command/console window on the owner's desktop roughly every 5 minutes. Preserve the watchdog/health-check function but make all recurring Windows execution fully headless/non-interactive. Inspect current main and live machinery first; do not touch the healthy remote Forgejo host watchdog unless evidence proves it is involved. Repair the governing primitive so future installs/startup tasks are headless by default. Ship through canonical Gate/merge/release and return exact proof of the source changed plus any owner-side one-time action that is genuinely unavoidable.","ownerApproved":true,"sourceTargets":["scripts/frontend-startup-watchdog.mjs","scripts/windows/install-knocklaunch-autoconnect.ps1","scripts/knocklaunch-console/connect-support.cmd","scripts/knocklaunch-console/console.css"],"anchored_edits":[{"path":"scripts/windows/install-knocklaunch-autoconnect.ps1","new_content":"const BackendAction = New-ScheduledTaskAction -Execute 'powershell.exe' -Argument \"-WindowStyle Hidden -Command \\\"wsl.exe $WslArgs\\\"\"","old_content":"const BackendAction = New-ScheduledTaskAction -Execute 'wsl.exe' -Argument $WslArgs"},{"path":"scripts/windows/install-knocklaunch-autoconnect.ps1","new_content":"const DcAction = New-ScheduledTaskAction -Execute 'powershell.exe' -Argument \"-WindowStyle Hidden -Command \\\"cmd.exe $DcArgs\\\"\"","old_content":"const DcAction = New-ScheduledTaskAction -Execute 'cmd.exe' -Argument $DcArgs"},{"path":"scripts/windows/install-knocklaunch-autoconnect.ps1","new_content":"$StartupLines = @(\n  \"powershell -WindowStyle Hidden -Command 'schtasks /run /tn \\\"KNOCKLAUNCH Backend Bootstrap\\\" >$null 2>&1'\",\n  \"powershell -WindowStyle Hidden -Command 'schtasks /run /tn \\\"KNOCKLAUNCH Desktop Commander\\\" >$null 2>&1'\"\n)","old_content":"$StartupLines = @(\n  '@echo off',\n  'schtasks /run /tn \"KNOCKLAUNCH Backend Bootstrap\" >nul 2>&1',\n  'schtasks /run /tn \"KNOCKLAUNCH Desktop Commander\" >nul 2>&1'\n)"}],"durableMutationResume":true},"recovery":false,"fingerprint":"79486c36b760c0c960b1bab30ef844d1645154d6335edfce694240ffadb7ed00","replayCount":0,"serializedBytes":2292},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T16:36:20.164834+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:af8222c2-5907-4d92-b4a9-503465f6fc00:repository-mutation-intent:79486c36b760c0c960b1bab30ef844d1645154d6335edfce694240ffadb7ed00:0","mission_step_id":"4e9e448a-b013-480a-8fa1-a8ec7c36b06d","command_center_event_id":"af8222c2-5907-4d92-b4a9-503465f6fc00"},{"id":"725a530b-95f5-4e85-9fa4-8c635031f65b","source":"cc-execution","status":"authorized","payload":{"paths":["config/control-plane-capabilities.json","workers/cc-execution/src/index-scoped-repo-patch.js","workers/cc-execution/src/version.js","workers/cc-execution/test/release-orchestration-invariants.test.js"],"reason":"Collapse the fresh branch-create provider round trip into the existing atomic contents mutation while preserving exact-source identity and fail-closed reconciliation.","baseSha":"9b309523b596b77af5765e2dbec1681bc7592d1f","issuedAt":1788524642017,"expiresAt":1788524822017,"missionId":"fd8afbfb-cad9-4071-8072-c2bf653f5b55","authorizationId":"e6f77583-8308-4f68-b192-f0f5b28539a4","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T12:24:02.476069+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"9b309523b596b77af5765e2dbec1681bc7592d1f","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:e6f77583-8308-4f68-b192-f0f5b28539a4","mission_step_id":"5930b176-eae8-493f-a228-8a6c12e87a1a","command_center_event_id":"fd8afbfb-cad9-4071-8072-c2bf653f5b55"},{"id":"725bd38d-d37c-475d-b14e-6cc7c2f8087d","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-ab4c128db599","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":47895,"releaseCount":0,"toolCallCount":27,"repeatedCallCount":21,"executorlessWaitMs":798667,"firstUsefulResultAt":"2026-10-05T17:25:21.215Z","recoveryAttemptCount":19,"ownerInterruptionCount":0},"version":"1.64.99-positive-mutation-admission","prNumber":5009,"terminal":false,"missionId":"ab4c128d-b599-459e-bfc9-72e1d6dd780f","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":2477,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":2357,"approvedPlanMs":0,"missionSetupMs":347,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":277,"ledgerReconcileMs":0,"lineageReconcileMs":70,"resolvePreflightMs":347,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":277,"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":"ab4c128d-b599-459e-bfc9-72e1d6dd780f"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1521,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T17:36:55.246184+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"5009","receipt_type":"execute_mission","idempotency_key":"mission:ab4c128d-b599-459e-bfc9-72e1d6dd780f:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"41270a67-aab3-4cba-9051-11b0941557a4","command_center_event_id":"ab4c128d-b599-459e-bfc9-72e1d6dd780f"},{"id":"725c2197-f54c-4f25-9f7a-c65e19659358","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":"b2e17dbe56e3317b3e89852ce2b37c29c8714395","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live","frontend-cloudflare/live"],"sourceSha":"b2e17dbe56e3317b3e89852ce2b37c29c8714395","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["pcg-commerce-publisher"]},"releaseTargetStates":{"frontend":"success","supabaseEdge":"success"},"requestContractHash":"722842e5138dbdcd1f5d39c16fc26e058d762ab1bafed8b76f8cdacc63420a2e","forgejoWorkflowProof":{"runId":13089,"source":"signed_push_receipt","status":"success","results":{},"conclusion":"success","targetStates":{"frontend":"success","supabaseEdge":"success"},"targetJobCount":6,"observedTargetStates":{"frontend":"success","supabaseEdge":"success"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-09-29T16:16:46.460954+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"b2e17dbe56e3317b3e89852ce2b37c29c8714395","external_id":"forgejo-main-b2e17dbe56e3","receipt_type":"canonical_release_status","idempotency_key":"mission:cd208b1a-0630-4a9c-9049-815789811505:forgejo-release-status:b2e17dbe56e3317b3e89852ce2b37c29c8714395:verified:forgejo-main/source=success|forgejo-release/workflow=success|supabase-edge-production/live=success|frontend-cloudflare/live=success","mission_step_id":"d4d9268a-38cd-42fd-9a0f-87c6a430811a","command_center_event_id":"cd208b1a-0630-4a9c-9049-815789811505"},{"id":"725f18ab-8f99-42e1-83ce-53e1d1073abb","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-7fe5df3dcb50","reason":null,"status":"source_resolution_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.175-repository-source-fastpath","prNumber":null,"terminal":false,"missionId":"7fe5df3d-cb50-4ee5-9923-8572546c1213","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":10,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":886,"providerAuthMs":0,"ledgerPrepareMs":886,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":886,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":886,"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":"7fe5df3d-cb50-4ee5-9923-8572546c1213"},"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":3320,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-17T02:00:14.351539+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:7fe5df3d-cb50-4ee5-9923-8572546c1213:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"ff3e617d-d9fb-4c4c-acfc-3f363c5362d4","command_center_event_id":"7fe5df3d-cb50-4ee5-9923-8572546c1213"},{"id":"72650290-e183-454f-8bd4-d3b305664382","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"stale_pr_continuation_refresh_retry","leaseEpoch":5,"afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"request_contract_repository_status\",\"status\":\"verified\",\"proofGate\":\"request_contract_repository_verified\"},\"activeStep\":{\"key\":\"pull_request\",\"status\":\"waiting\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"release\",\"status\":\"waiting\",\"lane\":\"production-release-conductor\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_release\",\"recoveryOwner\":\"production-release-conductor\"},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"visual_proof\",\"deadlineAt\":\"2026-10-06T17:14:45.142922+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-0ec7b1274d92\",\"prNumber\":5174,\"sourceSha\":\"148b96be7a83a21849a727c963f39e9be608486e\",\"deploymentId\":\"forgejo-main-148b96be7a83\"}","beforeSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_pending\"},\"activeStep\":{\"key\":\"pull_request\",\"status\":\"waiting\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"release\",\"status\":\"waiting\",\"lane\":\"production-release-conductor\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_release\",\"recoveryOwner\":\"production-release-conductor\"},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"runtime_proof\",\"deadlineAt\":\"2026-10-06T16:44:45.142922+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-0ec7b1274d92\",\"prNumber\":5174,\"sourceSha\":\"148b96be7a83a21849a727c963f39e9be608486e\",\"deploymentId\":\"forgejo-main-148b96be7a83\"}","transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T13:17:27.938361+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:0ec7b127-4d92-459b-8839-1c652cdc89bc:deterministic-transition:{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_pending\"},\"activeStep\":{\"key\":\"pull_request\",\"status\":\"waiting\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"release\",\"status\":\"waiting\",\"lane\":\"production-release-conductor\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conduc","mission_step_id":"e524f9c2-a252-4ac0-84ed-be84e92ffdff","command_center_event_id":"0ec7b127-4d92-459b-8839-1c652cdc89bc"},{"id":"72670fd8-9546-41e8-bd67-c6c11be2ac21","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":"Prime structured exact mutation continuation","baseSha":"2a2b54eabbd34f09fa543042e90973de12ca8548","issuedAt":1791251834943,"expiresAt":1791252014943,"missionId":"60e39c94-b89f-4cc6-9250-4c487cba8a72","authorizationId":"3ebe142f-d4a6-449a-8de8-8781e0724a76","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T01:57:15.360722+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"2a2b54eabbd34f09fa543042e90973de12ca8548","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:3ebe142f-d4a6-449a-8de8-8781e0724a76","mission_step_id":"bd42fe57-0cf4-4333-ac62-37c6cac27123","command_center_event_id":"60e39c94-b89f-4cc6-9250-4c487cba8a72"},{"id":"72671b22-7207-410d-b3b0-ec18e2dae712","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-mtol61ux","reason":"pull_request_gate_missing","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.64-mutation-ledger-handoff","prNumber":1857,"terminal":false,"missionId":"93b8ffd4-3920-4e40-b90d-bb09db85ac80","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":18141,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":3189,"approvedPlanMs":0,"missionSetupMs":952,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":813,"ledgerReconcileMs":0,"lineageReconcileMs":139,"resolvePreflightMs":952,"repositoryMutationMs":14943,"repositoryProviderMs":3367,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":3265,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":813,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":102},"nextAction":"Reconcile this same mission and pull request after the exact-head KnockLaunch Gate changes state.","receiptRef":{"mode":"full","missionId":"93b8ffd4-3920-4e40-b90d-bb09db85ac80"},"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":1514,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-05T16:31:41.351328+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"1857","receipt_type":"execute_mission","idempotency_key":"mission:93b8ffd4-3920-4e40-b90d-bb09db85ac80:execute_mission:repair_mission_waiting_for_gate:current-generation","mission_step_id":"22566406-ba97-4eff-8be2-ebe1f25a7f9c","command_center_event_id":"93b8ffd4-3920-4e40-b90d-bb09db85ac80"},{"id":"72695ad9-3a9a-4d9b-98eb-d3dd2db66706","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/expose-self-service-tenant-builder-20260830","reason":"retryable_provider_transport:GET:The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":4572,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":2,"ownerInterruptionCount":0},"version":"1.56.5-premium-motion-source-targets","prNumber":1167,"terminal":false,"missionId":"a8aa23fd-f196-4542-90f8-b8c203861b13","operation":"execute_mission","proofGate":"repair_mission_execution_retryable","sourceSha":null,"timingsMs":{"handlerMs":12717,"prReadinessMs":0,"approvedPlanMs":12717,"missionSetupMs":938,"shipAndProveMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"a8aa23fd-f196-4542-90f8-b8c203861b13"},"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":1093,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-30T23:15:03.311309+00:00","proof_gate":"repair_mission_execution_retryable","source_sha":null,"external_id":"1167","receipt_type":"execute_mission","idempotency_key":"mission:a8aa23fd-f196-4542-90f8-b8c203861b13:execute_mission:repair_mission_execution_retryable:current-generation","mission_step_id":"8eed2b23-ccb9-41eb-b035-bbfa5120d0cf","command_center_event_id":"a8aa23fd-f196-4542-90f8-b8c203861b13"},{"id":"726b9017-565b-4504-b978-bd64b5ef9e64","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"e3316b893f2e6646c78bead960a7d496ff732dc3","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"97acd282f573eafd2113ed4d247361fb633be7a3","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/13170","runId":13170,"status":"success","sourceSha":"97acd282f573eafd2113ed4d247361fb633be7a3","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"frontend":"success"},"targetJobCount":6,"observedTargetStates":{"frontend":"success"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":{"exact":true,"source":"exact_source_parent_diff_shared_release_owner_mapping","parentSha":"23347e586cb7ae0ff25223a76f28269338b82cd3","sourceSha":"97acd282f573eafd2113ed4d247361fb633be7a3","changedPaths":["src/pages/card-grading/PCGBatchPublishingCenter.tsx","src/pages/card-grading/PCGCompletionCenter.tsx","src/pages/card-grading/PCGModesWorkspace.tsx","src/pages/card-grading/PCGWorkspace.tsx","src/pages/crm/PcgWorkspace.tsx"],"changedPathCount":5,"independentOfCurrentMainCompare":true},"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-10-04T13:37:46.383435+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"97acd282f573eafd2113ed4d247361fb633be7a3","external_id":null,"receipt_type":"canonical_release_status","idempotency_key":"mission:d4abac23-f6e0-41be-8998-71281d9dbc8f:forgejo-release-status:97acd282f573eafd2113ed4d247361fb633be7a3:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"c7dfbc8c-b96f-4af8-9a91-f2dc1cee03cf","command_center_event_id":"d4abac23-f6e0-41be-8998-71281d9dbc8f"},{"id":"726ddc20-8211-4c67-b1c0-3400e28fe396","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in pull request.","nextAction":{"lane":"cc-execution","action":"reconcile_pull_request","reason":"pull_request_exists_without_merged_source","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"automatic_mission_resume\",\"status\":\"in_progress\",\"proofGate\":\"canonical_release_reconciliation_pending\"},\"activeStep\":{\"key\":\"pull_request\",\"status\":\"waiting\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"release\",\"status\":\"ready\",\"lane\":\"production-release-conductor\"},\"nextSafeAction\":{\"action\":\"reconcile_pull_request\",\"lane\":\"cc-execution\",\"reason\":\"pull_request_exists_without_merged_source\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_pull_request\",\"recoveryOwner\":\"cc-execution\"},\"acceptance\":{\"total\":6,\"verified\":1,\"pending\":5,\"percent\":17,\"satisfied\":false,\"verifiedIds\":[\"preflight\"],\"pendingIds\":[\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"visual_proof\",\"deadlineAt\":\"2026-08-06T21:24:04.984863+00:00\",\"recoveryAction\":\"reconcile_pull_request\"},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/post-merge-delivery-fast-path\",\"prNumber\":4148,\"sourceSha\":null,\"deploymentId\":null}"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-10-04T11:33:34.629187+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:33b95491-6932-4ce4-9d23-eb0d798917bf:owner-progress-heartbeat:119407574","mission_step_id":"2fa4bd4c-0698-499b-b496-7006b7191c4e","command_center_event_id":"33b95491-6932-4ce4-9d23-eb0d798917bf"},{"id":"726e747c-f3eb-4bc6-b453-7f8388da306a","source":"owner_authorized_full_backlog_cleanup","status":"recorded","payload":{"category":"pcg_website","disposition":"superseded_execution_attempt","previousStatus":"waiting","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:ec4f2cb6-eecb-4ea6-83e6-98346273392d","mission_step_id":null,"command_center_event_id":"ec4f2cb6-eecb-4ea6-83e6-98346273392d"},{"id":"727333df-9616-4711-a6ae-a3134dc64b38","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-5455284f45e4","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.120-synthesis-fast-read","prNumber":null,"terminal":false,"missionId":"5455284f-45e4-4d8e-874e-b04d10cde033","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":2514,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":777,"providerAuthMs":0,"ledgerPrepareMs":777,"ledgerReconcileMs":223,"lineageReconcileMs":0,"resolvePreflightMs":777,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":1000,"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":"5455284f-45e4-4d8e-874e-b04d10cde033"},"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":4462,"likelyAffectedFiles":["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-12T23:15:29.510677+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:5455284f-45e4-4d8e-874e-b04d10cde033:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"c36527db-c0cf-429c-805d-44a9ed20dcce","command_center_event_id":"5455284f-45e4-4d8e-874e-b04d10cde033"},{"id":"7277b37b-29b3-44b4-8058-28d3c9a0d015","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in pull request.","nextAction":{"lane":"cc-execution","action":"reconcile_pull_request","reason":"pull_request_exists_without_merged_source","handoff":null,"capability":"light-control-plane","automationAllowed":true,"ownerActionRequired":false,"resumeFromCheckpoint":"preflight"},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"owner_progress_heartbeat\",\"status\":\"waiting\",\"proofGate\":\"owner_progress_heartbeat\"},\"activeStep\":{\"key\":\"pull_request\",\"status\":\"waiting\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"release\",\"status\":\"ready\",\"lane\":\"production-release-conductor\"},\"nextSafeAction\":{\"action\":\"reconcile_pull_request\",\"lane\":\"cc-execution\",\"reason\":\"pull_request_exists_without_merged_source\",\"automationAllowed\":true,\"ownerActionRequired\":false,\"capability\":\"light-control-plane\",\"resumeFromCheckpoint\":\"preflight\",\"handoff\":null},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_pull_request\",\"recoveryOwner\":\"cc-execution\",\"capability\":\"light-control-plane\",\"resumeFromCheckpoint\":\"preflight\",\"handoff\":null},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"visual_proof\",\"deadlineAt\":\"2026-10-06T17:50:57.180045+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-e908936ef307\",\"prNumber\":5181,\"sourceSha\":null,\"deploymentId\":null}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T14:54:14.101005+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:e908936e-f307-463c-9631-a6fa61f98025:owner-progress-heartbeat:119419896","mission_step_id":"baa11ec4-7bb2-455c-ac85-399bd7143d21","command_center_event_id":"e908936e-f307-463c-9631-a6fa61f98025"},{"id":"7277ff58-79d0-4e61-966d-374134bbec88","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"de64ca1f424f052864d618a4287b052f37b43a18","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"budget-preservation","satisfied":true,"statement":"The shared Forgejo provider preserves explicitly marked specialized bounded budgets during brownout while ordinary interactive reads remain clamped.","proofConditionIds":["repo","gate","release","runtime"]},{"id":"readiness","satisfied":true,"statement":"The fast-lane explicit readiness reads opt into preserved bounded budgets so an already-green PR can be evaluated without brownout starvation.","proofConditionIds":["repo","gate","runtime"]},{"id":"regression","satisfied":true,"statement":"The focused Node test proves ordinary one-attempt brownout clamping and two-attempt specialized budget preservation.","proofConditionIds":["repo","gate"]}],"satisfied":true,"constraints":[{"id":"scope","satisfied":true,"statement":"Use only forgejo-provider.js, index-release-fast-lane.js, version.js, and pr-ready-brownout-budget.test.js on the existing branch; no source expansion.","proofConditionIds":["repo","gate"]},{"id":"release","satisfied":true,"statement":"Release only cc-execution.","proofConditionIds":["release"]},{"id":"no-visual","satisfied":true,"statement":"Do not run Visual Witness.","proofConditionIds":["repo"]}],"contractHash":"ff85ef1a10439378058a7bb676861d959fd2f64c5f2f04510a0e19c729300700","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"repo","kind":"repository","evidence":{"repositoryProofGate":"request_contract_repository_verified","requestContractHash":"ff85ef1a10439378058a7bb676861d959fd2f64c5f2f04510a0e19c729300700","repositoryProofStatus":"verified","repositoryProofSourceSha":"de64ca1f424f052864d618a4287b052f37b43a18"},"required":true,"satisfied":true},{"id":"gate","kind":"repository","evidence":{"repositoryProofGate":"request_contract_repository_verified","requestContractHash":"ff85ef1a10439378058a7bb676861d959fd2f64c5f2f04510a0e19c729300700","repositoryProofStatus":"verified","repositoryProofSourceSha":"de64ca1f424f052864d618a4287b052f37b43a18"},"required":true,"satisfied":true},{"id":"release","kind":"release","evidence":{"releaseState":"verified","activeReleaseTargets":["ccExecution"],"releaseRequestContractHash":"ff85ef1a10439378058a7bb676861d959fd2f64c5f2f04510a0e19c729300700"},"required":true,"satisfied":true},{"id":"runtime","kind":"runtime","evidence":{"releaseState":"verified","activeReleaseTargets":["ccExecution"],"releaseRequestContractHash":"ff85ef1a10439378058a7bb676861d959fd2f64c5f2f04510a0e19c729300700"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["ccExecution"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":5},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-11T20:59:02.238859+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"de64ca1f424f052864d618a4287b052f37b43a18","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:ea4cc383-e1ba-49f5-8128-19c2910fb428:request-contract:ff85ef1a10439378058a7bb676861d959fd2f64c5f2f04510a0e19c729300700:de64ca1f424f052864d618a4287b052f37b43a18:verified:","mission_step_id":"9ce10236-8b30-4f5b-a304-18f6a1185b20","command_center_event_id":"ea4cc383-e1ba-49f5-8128-19c2910fb428"},{"id":"727839e5-894b-4f6c-8d2f-0eb94a5bdc8e","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"release","branch":null,"reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":1008,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.31.7-canonical-planner-owners","prNumber":4251,"terminal":false,"missionId":"245b64d8-5315-4a1e-a204-13a1a78d23e9","operation":"ship_and_prove","proofGate":"canonical_release_dispatched","sourceSha":"1db7c2b8eec3e191833343fc15abbe00918d7b92","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"245b64d8-5315-4a1e-a204-13a1a78d23e9"},"performance":null,"deploymentId":"canonical-release-1db7c2b8eec3","workflowRunId":31210257555,"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":1147,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-08-07T19:10:08.106982+00:00","proof_gate":"canonical_release_dispatched","source_sha":"1db7c2b8eec3e191833343fc15abbe00918d7b92","external_id":"canonical-release-1db7c2b8eec3","receipt_type":"ship_and_prove","idempotency_key":"mission:245b64d8-5315-4a1e-a204-13a1a78d23e9:ship_and_prove:canonical_release_dispatched","mission_step_id":"14a77ea3-c5ce-4a9d-bbd8-6ef93efeeec5","command_center_event_id":"245b64d8-5315-4a1e-a204-13a1a78d23e9"},{"id":"72788b02-699f-4ffd-b786-0ddf8b2bd2fd","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/fix-curri-hook-order-20260908","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.77-mcp-oauth-es256","prNumber":null,"terminal":false,"missionId":"8ff820be-aa43-43f4-b6c1-9fc0d049fa0e","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1216,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":1744,"providerAuthMs":0,"ledgerPrepareMs":1744,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":1744,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":1744,"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":"8ff820be-aa43-43f4-b6c1-9fc0d049fa0e"},"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":3862,"likelyAffectedFiles":["src/shells/realtor/RealtorShell.tsx"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-08T22:41:19.447075+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:8ff820be-aa43-43f4-b6c1-9fc0d049fa0e:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"06e4efe4-5672-48f8-be7e-89a66dfb0bc7","command_center_event_id":"8ff820be-aa43-43f4-b6c1-9fc0d049fa0e"},{"id":"727d4833-adc1-41f2-87e4-b5112d3e25bc","source":"cc-execution","status":"in_progress","payload":{"ok":true,"jobId":null,"phase":"release","branch":"ai/objective-first-repair-a3d59bd73d1a","reason":null,"status":"in_progress","metrics":{"receiptBytes":0,"releaseCount":2,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":3284,"terminal":false,"missionId":"a3d59bd7-3d1a-4a5d-a5b1-cbbfed259c88","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"a78d7e4f6de8a3bc4930eced9df859202788210f","timingsMs":{"prReadinessMs":232,"approvedPlanMs":0,"shipAndProveMs":3819,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create replacement work.","receiptRef":{"mode":"full","missionId":"a3d59bd7-3d1a-4a5d-a5b1-cbbfed259c88"},"performance":null,"deploymentId":"forgejo-main-a78d7e4f6de8","releaseState":"pending","workflowRunId":10299,"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":793,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-20T14:29:27.33149+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"3284","receipt_type":"automatic_mission_resume","idempotency_key":"mission:a3d59bd7-3d1a-4a5d-a5b1-cbbfed259c88:automatic-mission-resume:3284:canonical_release_reconciliation_pending","mission_step_id":"62da6984-dd7b-4633-ae09-573f58507291","command_center_event_id":"a3d59bd7-3d1a-4a5d-a5b1-cbbfed259c88"},{"id":"728285e1-9ed3-4521-b90b-4d040e004f8e","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"eb312f38c4ef6adbcf444286cfdecc8538d963d8","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"eb312f38c4ef6adbcf444286cfdecc8538d963d8","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","forgejoWorkflowProof":{"error":"workflow_run_id_missing","runId":null},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-23T20:43:18.35048+00:00","proof_gate":"canonical_release_pending","source_sha":"eb312f38c4ef6adbcf444286cfdecc8538d963d8","external_id":null,"receipt_type":"canonical_release_status","idempotency_key":"mission:9881bfdb-cb6c-48d9-8284-3f472a7a3381:forgejo-release-status:eb312f38c4ef6adbcf444286cfdecc8538d963d8:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"075f78ac-db78-46f5-a89a-ac5139b9901a","command_center_event_id":"9881bfdb-cb6c-48d9-8284-3f472a7a3381"},{"id":"7282badb-31ac-4615-b162-cb1f50fdea2b","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":4690,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":1,"ownerInterruptionCount":0},"version":"1.50.48-visual-proof-intent-routing","prNumber":762,"terminal":false,"missionId":"dd586fcd-3a54-4cff-9299-329902a91f32","operation":"execute_mission","proofGate":"canonical_release_transport_retryable","sourceSha":null,"timingsMs":{"handlerMs":28990,"prReadinessMs":1554,"approvedPlanMs":0,"missionSetupMs":693,"shipAndProveMs":27436},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"dd586fcd-3a54-4cff-9299-329902a91f32"},"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":4847,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-26T01:30:55.458386+00:00","proof_gate":"canonical_release_transport_retryable","source_sha":null,"external_id":"762","receipt_type":"execute_mission","idempotency_key":"mission:dd586fcd-3a54-4cff-9299-329902a91f32:execute_mission:canonical_release_transport_retryable","mission_step_id":"c7f5c63c-334e-4ea9-8b89-6815afc4fb03","command_center_event_id":"dd586fcd-3a54-4cff-9299-329902a91f32"},{"id":"7283969a-7ca9-49c3-b609-91a99da1f3ca","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-13d4bfff1bca","reason":"anchored_edit_anchor_missing:workers/cc-execution/scripts/cc-execution-safe-release.mjs","status":"blocked","metrics":{"receiptBytes":24513,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-09-25T13:46:02.972Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.281-witness-lane-affinity","prNumber":null,"terminal":false,"missionId":"13d4bfff-1bca-4a92-98d1-2c2369b46061","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":2045,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":2045,"missionSetupMs":312,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":312,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":312,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":312,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"13d4bfff-1bca-4a92-98d1-2c2369b46061"},"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":1555,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T13:46:06.121499+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:13d4bfff-1bca-4a92-98d1-2c2369b46061:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"d40c68aa-3748-42d9-a2af-f2cde7f3ef64","command_center_event_id":"13d4bfff-1bca-4a92-98d1-2c2369b46061"},{"id":"7283fe37-fe5d-4162-a146-c061c7be545f","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"128ea7164c90b861028a51dc979ffc72d900054b","requestContractProof":{"legacy":false,"present":true,"satisfied":false,"contractHash":null,"visualRequested":false,"visualSatisfied":false,"validationErrors":["explicit_contract_snapshot_unavailable"],"pendingProofKinds":["request_contract"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":null},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-27T14:18:36.576879+00:00","proof_gate":"request_contract_pending","source_sha":"128ea7164c90b861028a51dc979ffc72d900054b","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:86492622-eb62-4d4b-a1be-f68297ad34eb:request-contract:legacy:128ea7164c90b861028a51dc979ffc72d900054b:pending:request_contract","mission_step_id":"ebff4441-8a7e-4023-a416-d2ff0d7cb207","command_center_event_id":"86492622-eb62-4d4b-a1be-f68297ad34eb"},{"id":"728447eb-0c72-42ea-b365-7185f4bad947","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-05b8b43505c3","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":14439,"releaseCount":0,"toolCallCount":8,"repeatedCallCount":4,"executorlessWaitMs":97376,"firstUsefulResultAt":"2026-10-06T01:35:05.322Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.65.7-prime-stale-manual-retirement-adapter","prNumber":5125,"terminal":false,"missionId":"05b8b435-05c3-4fe9-9d05-2037ee1ded07","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":6053,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":2177,"approvedPlanMs":621,"missionSetupMs":186,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":186,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":186,"repositoryMutationMs":3246,"repositoryProviderMs":3246,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2009,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":186,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1237},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"05b8b435-05c3-4fe9-9d05-2037ee1ded07"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime","visual"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1534,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T01:36:49.906475+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"5125","receipt_type":"execute_mission","idempotency_key":"mission:05b8b435-05c3-4fe9-9d05-2037ee1ded07:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"a7f319db-43ff-4d4f-b7f0-9684902bf935","command_center_event_id":"05b8b435-05c3-4fe9-9d05-2037ee1ded07"},{"id":"7286db42-1bf5-4c00-bb16-154160faaba4","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-0618a5ffb7bd","prNumber":3631,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"710b363912911cd6ef14113f1c6ebded8c252c84","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"d60e3c27-73ed-4a5f-a49b-c37636455daf","created_at":"2026-09-24T15:14:33.376847+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"710b363912911cd6ef14113f1c6ebded8c252c84","external_id":"3631","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:0618a5ff-b7bd-4db6-a975-5b9689bf2c05:merged-pr:3631:710b363912911cd6ef14113f1c6ebded8c252c84","mission_step_id":"fa619a83-3c4b-438e-8822-e8e730fcb2ef","command_center_event_id":"0618a5ff-b7bd-4db6-a975-5b9689bf2c05"},{"id":"7287c31c-88fc-45d0-adea-cfc27bdfad94","source":"cc-execution","status":"cancelled","payload":{"cancelled":true,"missionId":"7e0fa14d-6c4b-4f73-8a11-d14205162dbf"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T02:33:24.576135+00:00","proof_gate":"durable_mission_cancelled","source_sha":null,"external_id":null,"receipt_type":"owner_mission_cancelled","idempotency_key":"mission:7e0fa14d-6c4b-4f73-8a11-d14205162dbf:mission-cancel:7e0fa14d-6c4b-4f73-8a11-d14205162dbf","mission_step_id":"4050d749-8987-477a-96fd-97b37b709a60","command_center_event_id":"7e0fa14d-6c4b-4f73-8a11-d14205162dbf"},{"id":"7287d6e2-34c2-4c64-a663-23071e8dd8ea","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Adopt existing PR 2078 and add the frontend Calendar Oversight wiring to its backend foundation. Keep the same PR/branch. Add source/provider/scope filtering, Personal/Business labels, Sources sheet, responsive internal event composer sheet, chronological Today, useful Week, true Month planner, selected-day agenda, end-time validation and overlap warning, and mobile-first scrolling. External events remain read-only.","wordingChanged":false,"canonicalIntent":"Adopt existing PR 2078 and add the frontend Calendar Oversight wiring to its backend foundation. Keep the same PR/branch. Add source/provider/scope filtering, Personal/Business labels, Sources sheet, responsive internal event composer sheet, chronological Today, useful Week, true Month planner, selected-day agenda, end-time validation and overlap warning, and mobile-first scrolling. External events remain read-only.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"calendar-complete","statement":"Existing PR 2078 contains the Calendar Oversight backend and frontend implementation.","proofConditionIds":["repo"]}],"objective":"Adopt existing PR 2078 and add the frontend Calendar Oversight wiring to its backend foundation. Keep the same PR/branch. Add source/provider/scope filtering, Personal/Business labels, Sources sheet, responsive internal event composer sheet, chronological Today, useful Week, true Month planner, selected-day agenda, end-time validation and overlap warning, and mobile-first scrolling. External events remain read-only.","constraints":[{"id":"read-first","statement":"No external provider write-back.","proofConditionIds":["repo"]},{"id":"privacy","statement":"Personal user-private by default; Business tenant-scoped.","proofConditionIds":["repo"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"repo","kind":"repository","claim":"PR 2078 contains backend and frontend Calendar Oversight implementation.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestContractHash":"1d03f4e3431a9bb4bd7a036bf285f0bff16a78619bc33adca179d297e3513a0a","requestContractRevision":2,"previousRequestContractHash":"694c7850e4a6fd5573b1038fcfadb4799c95c52de349160616dd30032e5b274b"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-07T16:23:35.431977+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:01f26575-ecf9-4765-98cf-e0833d6cd4e8:request-contract:1d03f4e3431a9bb4bd7a036bf285f0bff16a78619bc33adca179d297e3513a0a","mission_step_id":"d9edf9b7-e594-4262-958d-653fc09461a1","command_center_event_id":"01f26575-ecf9-4765-98cf-e0833d6cd4e8"},{"id":"7288b048-efde-4b74-89b7-9fcd919c99f2","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-053317659277","reason":"pull_request_stale_refresh_required","status":"retryable","metrics":{"receiptBytes":233105,"releaseCount":0,"toolCallCount":136,"repeatedCallCount":124,"executorlessWaitMs":13232297,"firstUsefulResultAt":"2026-10-06T15:20:47.468Z","recoveryAttemptCount":75,"ownerInterruptionCount":0},"version":null,"prNumber":5189,"terminal":false,"missionId":"05331765-9277-4b18-bd61-d3dca2ae50b6","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":"4476a4c8108a0bedb2fcf5b5917a9449b7fc8122","timingsMs":{"prReadinessMs":8900,"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":"05331765-9277-4b18-bd61-d3dca2ae50b6"},"performance":null,"deploymentId":null,"releaseState":"pending","workflowRunId":null,"releaseTargets":{"frontend":true,"migrations":true,"ccExecution":false,"supabaseEdge":false},"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":1612,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T15:23:47.914388+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"5189","receipt_type":"automatic_mission_resume","idempotency_key":"mission:05331765-9277-4b18-bd61-d3dca2ae50b6:automatic-mission-resume:5189:repair_mission_pr_ready_retryable","mission_step_id":"3353d410-950f-49b2-936d-78219b2a9082","command_center_event_id":"05331765-9277-4b18-bd61-d3dca2ae50b6"},{"id":"728976b8-8210-40d3-af33-721f199c762a","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-ed1753781578","reason":"anchored_edit_invalid","status":"blocked","metrics":{"receiptBytes":15157,"releaseCount":0,"toolCallCount":5,"repeatedCallCount":2,"executorlessWaitMs":192604,"firstUsefulResultAt":"2026-09-29T04:43:52.932Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.63.3-stale-main-auto-refresh","prNumber":null,"terminal":false,"missionId":"ed175378-1578-4759-98b1-eed5fe8e3e0c","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":714,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":714,"missionSetupMs":269,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":269,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":269,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":269,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"ed175378-1578-4759-98b1-eed5fe8e3e0c"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1422,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T04:47:07.324923+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:ed175378-1578-4759-98b1-eed5fe8e3e0c:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"84f68440-737d-49af-8eb9-5b74ab235479","command_center_event_id":"ed175378-1578-4759-98b1-eed5fe8e3e0c"},{"id":"728a9031-a545-405e-a795-7b33db75ef36","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-91e9b69517a4","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.209-visual-certification-hardening","prNumber":null,"terminal":false,"missionId":"91e9b695-17a4-4a0e-98c6-d7af7ea2fca8","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":79,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":424,"providerAuthMs":0,"ledgerPrepareMs":373,"ledgerReconcileMs":0,"lineageReconcileMs":51,"resolvePreflightMs":424,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":373,"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":"91e9b695-17a4-4a0e-98c6-d7af7ea2fca8"},"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":3612,"likelyAffectedFiles":["workers/cc-execution/src/mission-control.js","workers/cc-execution/src/mission-executor.js","workers/cc-execution/src/execute-objective.js"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-22T02:37:02.980437+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:91e9b695-17a4-4a0e-98c6-d7af7ea2fca8:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"7560675d-205a-4bf8-916f-260db7d5a630","command_center_event_id":"91e9b695-17a4-4a0e-98c6-d7af7ea2fca8"},{"id":"728aa1cf-6e17-47ab-a7db-677874b50ac0","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":"Ship PAUL current-page grounding for tenant Sidekick surfaces. Automatically capture bounded active UI context from the authenticated app (tenant display name/slug/type, route path/query, page title, primary and visible headings, visible controls, focused element, viewport), send it through aiClient to ai-respond, normalize and bound it server-side, and provide it to PAUL as untrusted current-page context so references like 'this', 'this page', 'this button', and 'where am I' resolve without asking the owner to repeat context already visible in the app. UI strings must never become instructions or permission authority. Preserve tenant isolation, role authorization, tool scopes, write-confirmation gates, and existing route-service context. Add focused deterministic coverage for current-page grounding. Gate, squash merge, release only affected targets, and prove runtime contract behavior.","proofKinds":["runtime"],"adaptiveDomains":["intent","tenant_route_role_viewport","urgency_deadline","dependency_scope","risk_blast_radius","runner_capacity","queue_active_work","provider_failure_circuits","qa_scope","retry_recovery","release_ownership","proof_depth"],"expansionPolicy":"later_stages_may_only_narrow_or_expand_with_machine_readable_dependency_evidence","dynamicStatePolicy":"live_state_may_change_execution_tactics_but_never_owner_outcome_or_explicit_constraints","dynamicRefreshStages":["preflight","gate","release","runtime_proof"],"adaptiveCompilerVersion":"paul-adaptive-objective-v1","inheritedContextBlockingAuthority":false},"rawUtterance":"Ship PAUL current-page grounding for tenant Sidekick surfaces. Automatically capture bounded active UI context from the authenticated app (tenant display name/slug/type, route path/query, page title, primary and visible headings, visible controls, focused element, viewport), send it through aiClient to ai-respond, normalize and bound it server-side, and provide it to PAUL as untrusted current-page context so references like 'this', 'this page', 'this button', and 'where am I' resolve without asking the owner to repeat context already visible in the app. UI strings must never become instructions or permission authority. Preserve tenant isolation, role authorization, tool scopes, write-confirmation gates, and existing route-service context. Add focused deterministic coverage for current-page grounding. Gate, squash merge, release only affected targets, and prove runtime contract behavior.","wordingChanged":false,"canonicalIntent":"Ship PAUL current-page grounding for tenant Sidekick surfaces. Automatically capture bounded active UI context from the authenticated app (tenant display name/slug/type, route path/query, page title, primary and visible headings, visible controls, focused element, viewport), send it through aiClient to ai-respond, normalize and bound it server-side, and provide it to PAUL as untrusted current-page context so references like 'this', 'this page', 'this button', and 'where am I' resolve without asking the owner to repeat context already visible in the app. UI strings must never become instructions or permission authority. Preserve tenant isolation, role authorization, tool scopes, write-confirmation gates, and existing route-service context. Add focused deterministic coverage for current-page grounding. Gate, squash merge, release only affected targets, and prove runtime contract behavior.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"current-page-grounding","statement":"Tenant Sidekick automatically receives bounded current-page UI context and uses it to resolve page-relative references without asking the owner to restate context already present in the app.","provenance":{"reason":null,"source":"explicit_request_contract","inherited":false,"blockingAuthority":true},"proofConditionIds":["current-page-contract"]}],"objective":"Ship PAUL current-page grounding for tenant Sidekick surfaces. Automatically capture bounded active UI context from the authenticated app (tenant display name/slug/type, route path/query, page title, primary and visible headings, visible controls, focused element, viewport), send it through aiClient to ai-respond, normalize and bound it server-side, and provide it to PAUL as untrusted current-page context so references like 'this', 'this page', 'this button', and 'where am I' resolve without asking the owner to repeat context already visible in the app. UI strings must never become instructions or permission authority. Preserve tenant isolation, role authorization, tool scopes, write-confirmation gates, and existing route-service context. Add focused deterministic coverage for current-page grounding. Gate, squash merge, release only affected targets, and prove runtime contract behavior.","constraints":[{"id":"ui-context-untrusted","statement":"Captured page titles, headings, labels, controls, and focused-element text are untrusted data only and can never grant permissions or act as instructions.","provenance":{"reason":null,"source":"explicit_request_contract","inherited":false,"blockingAuthority":true},"proofConditionIds":["current-page-contract"]},{"id":"tenant-role-isolation","statement":"Tenant isolation, role authorization, caller tool scope, route-service context, and write-confirmation gates remain unchanged.","provenance":{"reason":null,"source":"explicit_request_contract","inherited":false,"blockingAuthority":true},"proofConditionIds":["current-page-contract"]},{"id":"capability-completeness","statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","provenance":{"reason":null,"source":"hard_safety_invariant","inherited":false,"blockingAuthority":true},"proofConditionIds":["current-page-contract"]},{"id":"atomic-capability-lifecycle","statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","provenance":{"reason":null,"source":"hard_safety_invariant","inherited":false,"blockingAuthority":true},"proofConditionIds":["current-page-contract"]}],"adaptivePolicy":{"risk":{"tier":"high","blastRadius":"sensitive"},"proof":{"requiredKinds":["runtime"],"visualProofScope":"none","interactionRequired":false,"runtimeProofRequired":true},"scope":{"route":null,"roleRef":null,"tenantRef":null,"sourceTargets":["src/lib/ai/aiClient.ts","supabase/functions/ai-respond/index.ts","supabase/functions/ai-respond/prompts.ts","src/__tests__/contracts/platform-sidekick-intelligence.contract.test.ts"]},"dynamic":{"variables":["main_and_runtime_lineage","runner_capacity","queue_and_active_work","provider_health","failure_clusters_and_circuits","release_target_state","current_pr_and_gate_state"],"refreshStages":["preflight","gate","release","runtime_proof"],"refreshMayChange":["runner_selection","parallelism","retry_path","qa_depth","release_recovery","proof_timing"],"refreshMayNotChange":["owner_outcome","explicit_no_go_constraints","tenant_identity","credential_boundary","hard_safety_invariants"]},"urgency":{"priority":"normal","deadlineSignals":[],"deadlineExplicit":false},"version":"paul-adaptive-objective-v1","recovery":{"transient":"one_bounded_retry_then_alternate_eligible_pool_or_provider_path","deterministic":"repair_source_or_contract_do_not_blind_rerun","mutationDependencyFailure":"prerequisite_required_or_targeted_recovery_never_invent","readOnlyDependencyFailure":"degrade_to_available_grounded_context_and_keep_conversation_alive"},"unknowns":["tenant","route","deadline"],"authority":{"outcome":"current_explicit_owner_request","tactics":"live_prime_truth","unknownPolicy":"preserve_unknown_never_invent","historicalContext":"advisory_unless_current_request_confirms"},"execution":{"mutation":true,"concurrency":"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","release_ownership","live_production_proof","provider_configuration"],"capabilityDomains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"releaseTargetHints":["frontend","supabaseEdge"]},"inputSignals":{"rawUtterance":"Ship PAUL current-page grounding for tenant Sidekick surfaces. Automatically capture bounded active UI context from the authenticated app (tenant display name/slug/type, route path/query, page title, primary and visible headings, visible controls, focused element, viewport), send it through aiClient to ai-respond, normalize and bound it server-side, and provide it to PAUL as untrusted current-page context so references like 'this', 'this page', 'this button', and 'where am I' resolve without asking the owner to repeat context already visible in the app. UI strings must never become instructions or permission authority. Preserve tenant isolation, role authorization, tool scopes, write-confirmation gates, and existing route-service context. Add focused deterministic coverage for current-page grounding. Gate, squash merge, release only affected targets, and prove runtime contract behavior.","canonicalIntent":"Ship PAUL current-page grounding for tenant Sidekick surfaces. Automatically capture bounded active UI context from the authenticated app (tenant display name/slug/type, route path/query, page title, primary and visible headings, visible controls, focused element, viewport), send it through aiClient to ai-respond, normalize and bound it server-side, and provide it to PAUL as untrusted current-page context so references like 'this', 'this page', 'this button', and 'where am I' resolve without asking the owner to repeat context already visible in the app. UI strings must never become instructions or permission authority. Preserve tenant isolation, role authorization, tool scopes, write-confirmation gates, and existing route-service context. Add focused deterministic coverage for current-page grounding. Gate, squash merge, release only affected targets, and prove runtime contract behavior.","conversationContextPresent":false}},"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"current-page-contract","kind":"runtime","claim":"Affected frontend and ai-respond runtimes are released from the exact merged source and focused contract coverage verifies bounded current-page context capture, transport, normalization, grounding, and untrusted-data treatment.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}],"validationErrors":[],"capabilityManifest":{"id":"Ship-PAUL-current-page-grounding-for-tenant-Sidekick-surfaces.-Automatically-capture-bounded-active-","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":["current-page-contract"]},"capabilityCompleteness":{"domains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"required":true,"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_states_not_runtime_failures"}},"requestContractHash":"17e201180e7b711da49eb6e324f9cab3500dbe13952c267a680f207a19bfa15c","requestContractRevision":4,"previousRequestContractHash":"f58a13cc7ab2c6369c0320d9820b151dcead9714e24511249c90b4387d8ebd3b"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T03:59:51.057128+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:ec2812df-65ea-410e-b105-349362de5c46:request-contract:17e201180e7b711da49eb6e324f9cab3500dbe13952c267a680f207a19bfa15c","mission_step_id":"35f958bc-8801-49c1-969b-5cf05e834066","command_center_event_id":"ec2812df-65ea-410e-b105-349362de5c46"},{"id":"728adeaa-591e-4028-8a2c-df330977291c","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/fix-big-papis-tenant-proposal-final-20260830","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":12050,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.56.5-premium-motion-source-targets","prNumber":1156,"terminal":false,"missionId":"7c34a7f5-fab5-455d-b8f6-2eae76134c6c","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"handlerMs":20171,"prReadinessMs":2148,"approvedPlanMs":18011,"missionSetupMs":1250,"shipAndProveMs":0},"nextAction":"Reconcile this same mission and pull request after the exact-head KnockLaunch Gate changes state.","receiptRef":{"mode":"full","missionId":"7c34a7f5-fab5-455d-b8f6-2eae76134c6c"},"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":1516,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-30T21:50:23.573896+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"1156","receipt_type":"execute_mission","idempotency_key":"mission:7c34a7f5-fab5-455d-b8f6-2eae76134c6c:execute_mission:repair_mission_waiting_for_gate:current-generation","mission_step_id":"064a730f-ca1e-439e-992d-1fb3f4ab039d","command_center_event_id":"7c34a7f5-fab5-455d-b8f6-2eae76134c6c"},{"id":"728be040-0bbc-44ee-ba5a-4c9c41dca51d","source":"cc-execution","status":"in_progress","payload":{"ok":true,"jobId":null,"phase":"runtime_proof","branch":"ai/realtor-closing-coordinator-canonical-v4-20260906","reason":null,"status":"in_progress","metrics":{"receiptBytes":0,"releaseCount":1,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.70-forgejo-source-discovery-retry-window","prNumber":2044,"terminal":false,"missionId":"087f0e02-0b57-403a-b046-60853faa6862","operation":"execute_mission","proofGate":"canonical_release_reconciliation_pending","sourceSha":"fb9d690bbf3e26937b63e387388706396dce0eb3","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":20283,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":2028,"approvedPlanMs":0,"missionSetupMs":267,"providerAuthMs":0,"shipAndProveMs":17275,"ledgerPrepareMs":267,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":267,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":267,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create replacement work.","receiptRef":{"mode":"full","missionId":"087f0e02-0b57-403a-b046-60853faa6862"},"performance":null,"deploymentId":"forgejo-main-fb9d690bbf3e","workflowRunId":6097,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1480,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"90ed5bf4-8abd-4d3a-af7c-024664b5b99d","created_at":"2026-09-07T04:07:06.533087+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":"fb9d690bbf3e26937b63e387388706396dce0eb3","external_id":"forgejo-main-fb9d690bbf3e","receipt_type":"execute_mission","idempotency_key":"mission:087f0e02-0b57-403a-b046-60853faa6862:execute_mission:canonical_release_reconciliation_pending:current-generation","mission_step_id":"a5312375-a2ed-4cda-9811-fb0a754a4b44","command_center_event_id":"087f0e02-0b57-403a-b046-60853faa6862"},{"id":"728bede2-c66e-488a-aaaa-03b8203a17a4","source":"visual-sandbox","status":"verified","payload":{"ok":true,"jobId":"ff1652ba-7dac-41f6-84ed-251f5ece5199","phase":"universal_visual_witness_status","branch":"ai/objective-first-repair-6408bcd383b7","reason":null,"status":"verification_pending","metrics":{"receiptBytes":25385,"releaseCount":0,"toolCallCount":16,"repeatedCallCount":6,"executorlessWaitMs":277436,"firstUsefulResultAt":"2026-10-02T14:37:28.537Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":4473,"terminal":false,"missionId":"6408bcd3-83b7-4cc4-b374-2588dd2d8ab1","operation":"visual_proof_status","proofGate":"interactive_visual_witness_verified","sourceSha":"d5eafe002223982c0a79b6a54804316e04214670","timingsMs":{"queue":2150,"total":31472,"execution":29322},"nextAction":null,"receiptRef":{"mode":"full","missionId":"6408bcd3-83b7-4cc4-b374-2588dd2d8ab1"},"performance":null,"deploymentId":"forgejo-main-d5eafe002223","releaseState":"verified","visualWitness":{"role":"GodMode","jobId":"ff1652ba-7dac-41f6-84ed-251f5ece5199","tenant":null,"runnerUrl":"https://laptop-witness.knocklaunch.app","runnerLane":"laptop","attemptsUsed":1,"supervisorId":"ff1652ba-7dac-41f6-84ed-251f5ece5199","failureReason":null,"observedRoute":"/select-tenant","runnerVersion":"laptop-c7cbaf23438a","attemptLineage":[{"jobId":"4e8ad9b1-d5ed-4ff5-9a75-509b1b7b022f","attempt":1,"category":"verified","sourceSha":"c7cbaf23438ab0012386598eb4e9959a8fb439b4","startedAt":"2026-10-02T14:41:19.855Z","completedAt":"2026-10-02T14:41:50.014Z","runtimeLane":"cc-execution -> Local Laptop -> universal-witness.mjs","browserEngine":"chromium","failureReason":null,"retryRecovery":null,"runnerVersion":"laptop-c7cbaf23438a","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":"verified","requestedRoute":"/select-tenant","runnerSourceSha":"c7cbaf23438ab0012386598eb4e9959a8fb439b4","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":14328,"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":23522,"ownerActionRequired":false,"ownerFacingTerminal":false,"requestContractHash":"2c133e38f80f692287c8688f4801ada5de222c62246c3ff4fa577817393ea302","continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T14:42:07.43061+00:00","proof_gate":"interactive_visual_witness_verified","source_sha":"laptop-c7cbaf23438a","external_id":"ff1652ba-7dac-41f6-84ed-251f5ece5199","receipt_type":"visual_proof_status","idempotency_key":"mission:6408bcd3-83b7-4cc4-b374-2588dd2d8ab1:visual:ff1652ba-7dac-41f6-84ed-251f5ece5199:verified","mission_step_id":"7693aa68-a39d-4fa4-91be-cbbbe8d1f178","command_center_event_id":"6408bcd3-83b7-4cc4-b374-2588dd2d8ab1"},{"id":"728e6ce4-40b5-4e30-ba1c-becd01aa93b1","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"d576e9c61cc298e02e85ce13f8c5bb73227d617d","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"d576e9c61cc298e02e85ce13f8c5bb73227d617d","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"success"},"requestContractHash":"c0d7ad5578dac2156c4791a0f59aa28fdee11b8fedcff74fa9b6e4924617a21c","forgejoWorkflowProof":{"runId":15125,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","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-04T10:33:41.22395+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"d576e9c61cc298e02e85ce13f8c5bb73227d617d","external_id":"forgejo-main-d576e9c61cc2","receipt_type":"canonical_release_status","idempotency_key":"mission:b77644fd-5258-4eec-a692-7cc782a0e42e:forgejo-release-status:d576e9c61cc298e02e85ce13f8c5bb73227d617d:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"a2e022e7-b347-4b0f-a06a-f7578f0e388a","command_center_event_id":"b77644fd-5258-4eec-a692-7cc782a0e42e"},{"id":"728ea52a-ff24-41c9-9412-76ac11d3184f","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/src/index-scoped-repo-patch.js","workers/cc-execution/test/implementation-compiler-regression.test.js"],"baseSha":"20c3887e67017f428a73e6e1efbc127ac80191e4","issuedAt":1791885952530,"expiresAt":1791886132530,"missionId":"7b1d39bb-a17c-4bca-b957-a7c0651b9a59","autoRefreeze":true,"authorizationId":"46e1acfd-ee8e-4d8d-91d4-9a736b6e53aa","authorizationSource":"explicit_owner_request_contract"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-13T10:05:53.405606+00:00","proof_gate":"control_plane_maintenance_exact_scope_authorized","source_sha":"20c3887e67017f428a73e6e1efbc127ac80191e4","external_id":"46e1acfd-ee8e-4d8d-91d4-9a736b6e53aa","receipt_type":"control_plane_maintenance_authorized","idempotency_key":"control-plane-maintenance:7b1d39bb-a17c-4bca-b957-a7c0651b9a59:46e1acfd-ee8e-4d8d-91d4-9a736b6e53aa","mission_step_id":null,"command_center_event_id":"7b1d39bb-a17c-4bca-b957-a7c0651b9a59"},{"id":"728ff156-1917-4fd5-a5d6-e7f0bc7ca226","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Continue the exact release-plan checkout-action removal mission on PR #1680 after the refreshed Gate generation. Preserve the explicit request contract, merge only after exact-head Gate is green, prove the workflow-only push uses event_native planning without any checkout action-definition fetch and selects no product runtime targets, then refreeze.","wordingChanged":false,"canonicalIntent":"Continue the exact release-plan checkout-action removal mission on PR #1680 after the refreshed Gate generation. Preserve the explicit request contract, merge only after exact-head Gate is green, prove the workflow-only push uses event_native planning without any checkout action-definition fetch and selects no product runtime targets, then refreeze.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"no-checkout-action-fetch","statement":"Normal event-native release planning has no actions/checkout action dependency to resolve or fetch.","proofConditionIds":["repo","release"]},{"id":"fallback-preserved","statement":"Malformed/ambiguous push events still fail closed into an exact authenticated shell git fallback that fetches before/after and sparse-checks both recovery scripts.","proofConditionIds":["repo"]},{"id":"atomic-new-branch-benchmark","statement":"The first fresh 1.58.38 mutation reports repositoryBranchCreateMs=0 and branchCreationMode=atomic_new_branch.","proofConditionIds":["repo"]},{"id":"no-product-release","statement":"The merged workflow-only push selects no product runtime targets and completes canonical release planning successfully.","proofConditionIds":["release"]},{"id":"refreeze","statement":"Control-plane maintenance is refrozen after terminal proof.","proofConditionIds":["refrozen"]}],"objective":"Continue the exact release-plan checkout-action removal mission on PR #1680 after the refreshed Gate generation. Preserve the explicit request contract, merge only after exact-head Gate is green, prove the workflow-only push uses event_native planning without any checkout action-definition fetch and selects no product runtime targets, then refreeze.","constraints":[{"id":"safety","statement":"Preserve canonical Gate, squash merge, protected-main recovery, exact source binding, affected-target ownership, and fail-closed fallback semantics.","proofConditionIds":["repo","release"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"repo","kind":"repository","claim":"Current source and regression coverage prove the release-plan event-native path has no checkout action dependency and the exact shell git fallback remains bounded and authenticated.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"release","kind":"release","claim":"The merged workflow-only push completes event-native planning without a checkout action-definition fetch and selects no product runtime targets.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"refrozen","kind":"release","claim":"Control-plane maintenance is refrozen after the verified no-product release.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestContractHash":"896b0372ac0f8aa137c4e45b5ab80091df7281f84f95ae3d6106c1553441948d","requestContractRevision":5,"previousRequestContractHash":"775ec0610d21f023cc55c2acbe0f5e56f50f77fda444baf3571ad4927116da56"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T12:28:51.290511+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:553eb4db-0d17-4ea5-a231-c4b088ebbc89:request-contract:896b0372ac0f8aa137c4e45b5ab80091df7281f84f95ae3d6106c1553441948d","mission_step_id":"670a7941-5fec-4d1a-bbbb-f8b228dd087e","command_center_event_id":"553eb4db-0d17-4ea5-a231-c4b088ebbc89"},{"id":"7290c59c-93c9-44fa-833a-a9e3b991c36b","source":"cc-execution","status":"in_progress","payload":{"ok":true,"jobId":null,"phase":"release","branch":"ai/objective-first-repair-5f520a34d250","reason":null,"status":"in_progress","metrics":{"receiptBytes":0,"releaseCount":1,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":3235,"terminal":false,"missionId":"5f520a34-d250-4b45-9741-840d8ffae27d","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"858c939cb47cf1f0abd9100790c5dea2006a9fb0","timingsMs":{"prReadinessMs":338,"approvedPlanMs":0,"shipAndProveMs":4102,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create replacement work.","receiptRef":{"mode":"full","missionId":"5f520a34-d250-4b45-9741-840d8ffae27d"},"performance":null,"deploymentId":"forgejo-main-858c939cb47c","releaseState":"failed","workflowRunId":10118,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime","runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":793,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-19T19:22:07.386286+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"3235","receipt_type":"automatic_mission_resume","idempotency_key":"mission:5f520a34-d250-4b45-9741-840d8ffae27d:automatic-mission-resume:3235:canonical_release_reconciliation_pending","mission_step_id":"e02eadb9-a152-408b-b006-0bbcfa1ad513","command_center_event_id":"5f520a34-d250-4b45-9741-840d8ffae27d"},{"id":"72950963-40c2-49bd-a0af-c0c2313acb6f","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Continue the same durable golden-restore-point mission after the transient Forgejo read timeout. Establish the mission branch/PR with the temporary bootstrap artifact only; do not merge it. The next generation removes the bootstrap and leaves only config/control-plane-restore-point.json in the final squash-merge diff.","wordingChanged":false,"canonicalIntent":"Continue the same durable golden-restore-point mission after the transient Forgejo read timeout. Establish the mission branch/PR with the temporary bootstrap artifact only; do not merge it. The next generation removes the bootstrap and leaves only config/control-plane-restore-point.json in the final squash-merge diff.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"durable-mission","statement":"Create one durable repair mission on the fresh golden-restore-point branch without merging any bootstrap content.","proofConditionIds":["pr-proof"]}],"objective":"Continue the same durable golden-restore-point mission after the transient Forgejo read timeout. Establish the mission branch/PR with the temporary bootstrap artifact only; do not merge it. The next generation removes the bootstrap and leaves only config/control-plane-restore-point.json in the final squash-merge diff.","constraints":[{"id":"bootstrap-temporary","statement":"The bootstrap file is temporary branch scaffolding and must be deleted before the final squash merge.","proofConditionIds":["pr-proof"]}],"terminalPolicy":"all_required_proof_conditions_satisfied","proofConditions":[{"id":"pr-proof","kind":"repository","claim":"A durable repair mission and fresh PR branch exist for the golden restore point; bootstrap content remains unmerged.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestContractHash":"2bbebfc47808e0e3e0167299bf9e39c1852fea1c57ccf447b7a5df17df8111f7","requestContractRevision":2,"previousRequestContractHash":"96683e28cd54f2e73cd0b060d45d8d94879d736869c7774a484268cedc2d7352"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-03T15:58:23.807524+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:259e126c-b50c-43a6-8412-04029cbde2ea:request-contract-revision:2:2bbebfc47808e0e3e0167299bf9e39c1852fea1c57ccf447b7a5df17df8111f7","mission_step_id":"e1f1c00d-47bc-42ad-b16e-9b0ac17d881e","command_center_event_id":"259e126c-b50c-43a6-8412-04029cbde2ea"},{"id":"729524bd-e6d7-475c-9fb5-5e178d9e0705","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-66f10ded85f4","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":3584,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"executorlessWaitMs":7014,"firstUsefulResultAt":"2026-09-28T23:02:40.924Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.59.3-direct-commit-ancestry","prNumber":null,"terminal":false,"missionId":"66f10ded-85f4-4fed-8e07-26977b875145","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1084,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":253,"providerAuthMs":0,"ledgerPrepareMs":253,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":253,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":253,"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":"66f10ded-85f4-4fed-8e07-26977b875145"},"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":3324,"likelyAffectedFiles":["src/PrivateAppShell.tsx"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T23:02:40.947387+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:66f10ded-85f4-4fed-8e07-26977b875145:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"588e0a60-f84b-4154-8864-c8d2a4905319","command_center_event_id":"66f10ded-85f4-4fed-8e07-26977b875145"},{"id":"7295cc86-a0f6-46f5-aa30-097f59f757b4","source":"cc-execution","status":"authorized","payload":{"paths":[".forgejo/workflows/knocklaunch.yml","workers/cc-execution/test/event-driven-auto-merge-invariants.test.js"],"reason":"Prevent serverless-fast-gate PRs from wasting the single heavy Forgejo runner on a redundant notifier job, while retaining the existing notifier for normal runner-gated PRs.","baseSha":"512074acca02cd635755b18ea9b463c159738496","issuedAt":1787941851468,"expiresAt":1787942031468,"missionId":"b1272341-5433-4b30-9ff3-041731695f8d","singleUse":true,"authorizationId":"6a394faf-35f8-4a9e-a2fc-baba64ee7ed8"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-28T18:30:52.971902+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"512074acca02cd635755b18ea9b463c159738496","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:6a394faf-35f8-4a9e-a2fc-baba64ee7ed8","mission_step_id":"b6ac58c2-659c-4ff7-87ec-fdcc7e10ee7b","command_center_event_id":"b1272341-5433-4b30-9ff3-041731695f8d"},{"id":"72972d81-27cb-4fbc-ae9a-6fa72983850e","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"24c989f8fde58d87333cc386b8ffa789bb73e390","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"24c989f8fde58d87333cc386b8ffa789bb73e390","releaseState":"verified","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"success"},"requestContractHash":"a8efd7c9984f115e7301c0589982c59e3424b2ddf222de6e9bbcb3e92eaaf668","forgejoWorkflowProof":{"error":"workflow_run_id_missing","runId":null},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T03:18:38.556889+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"24c989f8fde58d87333cc386b8ffa789bb73e390","external_id":"forgejo-main-24c989f8fde5","receipt_type":"canonical_release_status","idempotency_key":"mission:29638666-37ca-4f82-bb45-2b03ab41e5ef:forgejo-release-status:24c989f8fde58d87333cc386b8ffa789bb73e390:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"fc0d41fd-86d4-4cb3-b75f-605f4c2590b9","command_center_event_id":"29638666-37ca-4f82-bb45-2b03ab41e5ef"},{"id":"7298c65d-bf5a-4d1f-b326-7b38702e2fc6","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-33ea8c69c179","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":22977,"releaseCount":0,"toolCallCount":7,"repeatedCallCount":3,"executorlessWaitMs":15906,"firstUsefulResultAt":"2026-10-05T16:10:13.801Z","recoveryAttemptCount":5,"ownerInterruptionCount":0},"version":"1.64.97-boring-release-v1","prNumber":4971,"terminal":false,"missionId":"33ea8c69-c179-4524-ab21-f00900be44d7","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":2829,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":2650,"approvedPlanMs":0,"missionSetupMs":353,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":142,"ledgerReconcileMs":0,"lineageReconcileMs":211,"resolvePreflightMs":353,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":142,"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":"33ea8c69-c179-4524-ab21-f00900be44d7"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["repository","repository","repository","repository"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1523,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T16:10:23.453412+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4971","receipt_type":"execute_mission","idempotency_key":"mission:33ea8c69-c179-4524-ab21-f00900be44d7:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"316f6ef9-83e0-45f4-8b08-9208a206a611","command_center_event_id":"33ea8c69-c179-4524-ab21-f00900be44d7"},{"id":"7299a0b6-202f-43a2-938d-a0ede7aba6ca","source":"cc-execution","status":"pending","payload":{"ok":true,"jobId":"c061c5ec-73d2-4a75-b5e8-3612135678d0","phase":"universal_visual_witness_supervised","branch":"ai/objective-first-repair-fd8d56bfed6e","reason":null,"status":"pending","metrics":{"receiptBytes":95305,"releaseCount":0,"toolCallCount":60,"repeatedCallCount":39,"executorlessWaitMs":1205454,"firstUsefulResultAt":"2026-10-04T13:32:06.287Z","recoveryAttemptCount":24,"ownerInterruptionCount":0},"version":null,"prNumber":4794,"terminal":false,"missionId":"fd8d56bf-ed6e-40d4-9e58-2fa77ae6b048","operation":"visual_proof_started","proofGate":"universal_visual_witness_pending","sourceSha":"fc41f130ca6aba686143e8a5469c465665aeaa23","timingsMs":{"queue":433,"total":549,"execution":116},"nextAction":"Execution is pending; poll inspect_route_status only when fresh progress is expected, or cancel with inspect_route_cancel.","receiptRef":{"mode":"full","missionId":"fd8d56bf-ed6e-40d4-9e58-2fa77ae6b048"},"performance":null,"deploymentId":"forgejo-main-fc41f130ca6a","releaseState":"verified","visualWitness":{"role":"GodMode","jobId":"c061c5ec-73d2-4a75-b5e8-3612135678d0","tenant":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","runnerUrl":"https://laptop-witness.knocklaunch.app","runnerLane":"laptop","attemptsUsed":0,"supervisorId":"c061c5ec-73d2-4a75-b5e8-3612135678d0","failureReason":null,"observedRoute":null,"runnerVersion":null,"attemptLineage":[],"missionOutcome":null,"requestedRoute":"/pcg/dashboard?mode=submissions&tool=vault&vault=batch","runnerSourceSha":null,"selectedViewports":["desktop"],"checkpointAccounting":null,"correctiveGeneration":0,"restartReplayHistory":[]},"workflowRunId":15293,"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":1830,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-10-04T13:52:15.851298+00:00","proof_gate":"post_release_visual_proof_started","source_sha":"fc41f130ca6aba686143e8a5469c465665aeaa23","external_id":"c061c5ec-73d2-4a75-b5e8-3612135678d0","receipt_type":"visual_proof_started","idempotency_key":"mission:fd8d56bf-ed6e-40d4-9e58-2fa77ae6b048:visual-start:c061c5ec-73d2-4a75-b5e8-3612135678d0","mission_step_id":"6e97373b-9aa6-4c89-8803-88ad9954e64b","command_center_event_id":"fd8d56bf-ed6e-40d4-9e58-2fa77ae6b048"},{"id":"729a707c-e880-4e74-8f74-f88b8526e1f4","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-445c8fa09216","reason":"anchored_edit_anchor_not_unique:workers/cc-execution/test/release-orchestration-invariants.test.js","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.37-release-proof-noop-refreeze","prNumber":1679,"terminal":false,"missionId":"445c8fa0-9216-46ef-b17b-b6e94a9c4e00","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1577,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":958,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":770,"ledgerReconcileMs":0,"lineageReconcileMs":188,"resolvePreflightMs":958,"repositoryMutationMs":1577,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":770,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"445c8fa0-9216-46ef-b17b-b6e94a9c4e00"},"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":1579,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T12:19:37.418555+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:445c8fa0-9216-46ef-b17b-b6e94a9c4e00:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"a3d46cda-3ca8-4fb5-8092-d4154fa9ed3e","command_center_event_id":"445c8fa0-9216-46ef-b17b-b6e94a9c4e00"},{"id":"729e5ad2-d313-4741-b405-44d9ec1cf9e9","source":"cc-execution","status":"recorded","payload":{"objective":"Repair the La Vista del Mar dashboard regression without redesigning the approved layout: restore the configured tenant background, make the dashboard actions visibly functional, and prevent broken unit-photo placeholders.","tenantRef":"La Vista del Mar Rentals","receivedAt":"2026-08-27T22:11:59.841Z","fingerprint":"703c6aef2b17705421daf0193de5c5a86d39a0d0d76f5ec962ff224690566bd4","workstreamRef":"lavistadelmarrentals","conversationId":null,"canonicalBranch":"ai/fix-vista-dashboard-regression-20260827","requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Repair the La Vista del Mar dashboard regression without redesigning the approved layout: restore the configured tenant background, make the dashboard actions visibly functional, and prevent broken unit-photo placeholders.","wordingChanged":false,"canonicalIntent":"Repair the La Vista del Mar dashboard regression without redesigning the approved layout: restore the configured tenant background, make the dashboard actions visibly functional, and prevent broken unit-photo placeholders.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"vista-background","statement":"The La Vista dashboard shows the existing configured tenant background through a dark translucent readability overlay instead of replacing it with an opaque dashboard background.","proofConditionIds":["source-proof","production-proof"]},{"id":"vista-actions","statement":"Manage Rentals and Apartments give visible feedback, and Residents, Rent & Payments, Maintenance, and Documents & Leases navigate to their existing tenant-scoped destinations.","proofConditionIds":["source-proof","production-proof"]},{"id":"vista-photo-fallback","statement":"A failed unit lead photo falls back to the existing premium Home placeholder instead of showing a broken-image box.","proofConditionIds":["source-proof","production-proof"]}],"objective":"Repair the La Vista del Mar dashboard regression without redesigning the approved layout: restore the configured tenant background, make the dashboard actions visibly functional, and prevent broken unit-photo placeholders.","constraints":[{"id":"approved-layout","statement":"Keep the approved dark, calm, large, full-screen, one-page La Vista layout; do not redesign it.","proofConditionIds":["source-proof"]},{"id":"frontend-only","statement":"Do not change backend, storage, tenant data, auth, or release architecture.","proofConditionIds":["source-proof"]},{"id":"existing-routes","statement":"Preserve /customers, /billing/payments, /tasks, and /documents as the owning destinations for the four routed action cards.","proofConditionIds":["source-proof"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"source-proof","kind":"repository","claim":"src/pages/rental/LongTermRentalDashboard.tsx uses a transparent dashboard root, translucent overlay, visible apartment-action feedback, existing tenant route mappings, and failed-photo fallback handling.","route":"/la-vista-del-mar/dashboard","required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"]},{"id":"production-proof","kind":"runtime","claim":"The exact merged frontend source containing the La Vista dashboard regression repair is live in production.","route":"/la-vista-del-mar/dashboard","required":true,"expectedText":"What would you like to do?","targetedActions":[],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"]}],"validationErrors":[]},"requestedBranch":"ai/fix-vista-dashboard-regression-20260827","conversationContext":null,"requestContractHash":"5d283a3b8f143ca7c6a2e8d1d57a719286ac47d1e1311368cbc81130c3506d78","requestContractRevision":1},"tenant_id":"71b397ba-b9ad-496b-914c-985d97dbb12e","created_at":"2026-08-27T22:12:00.412635+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:7eb3127d-3224-4f7e-9849-3346b120aafd:tenant-workstream-contribution:703c6aef2b17705421daf0193de5c5a86d39a0d0d76f5ec962ff224690566bd4","mission_step_id":null,"command_center_event_id":"7eb3127d-3224-4f7e-9849-3346b120aafd"},{"id":"729ecb82-9739-49a6-8ba7-2ffc94e569c2","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Unfreeze the control plane only to continue PR #1679 on the same mission. Repair only the stale tests from Gate 5134, without altering runtime implementation semantics. Re-gate, squash merge when green, release cc-execution 1.58.38, benchmark the first fresh mutation, then refreeze.","wordingChanged":false,"canonicalIntent":"Unfreeze the control plane only to continue PR #1679 on the same mission. Repair only the stale tests from Gate 5134, without altering runtime implementation semantics. Re-gate, squash merge when green, release cc-execution 1.58.38, benchmark the first fresh mutation, 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":"Unfreeze the control plane only to continue PR #1679 on the same mission. Repair only the stale tests from Gate 5134, without altering runtime implementation semantics. Re-gate, squash merge when green, release cc-execution 1.58.38, benchmark the first fresh mutation, 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":"4252489f00982802431b6f4c2b8b9cfc9e8f65a75a713c052e3af76668befd62","requestContractRevision":6,"previousRequestContractHash":"c59f6046509e8c52cba08afff5c75e239775a2aa8f46b6c1dd373b0573e954ae"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T12:22:52.786172+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:4252489f00982802431b6f4c2b8b9cfc9e8f65a75a713c052e3af76668befd62","mission_step_id":"a3d46cda-3ca8-4fb5-8092-d4154fa9ed3e","command_center_event_id":"445c8fa0-9216-46ef-b17b-b6e94a9c4e00"},{"id":"729fbf89-e621-44fb-ac12-b99d6f624433","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"23834ab772c0abbfe4ffde620397edd4939b9845","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"23834ab772c0abbfe4ffde620397edd4939b9845","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"pending"},"requestContractHash":"eb6b292eb7355d99c5bb52e0a321e75d01a6f54e3f2020e726ae5ce018398532","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/5855","runId":5855,"status":"running","sourceSha":"23834ab772c0abbfe4ffde620397edd4939b9845","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-06T15:24:54.910624+00:00","proof_gate":"canonical_release_pending","source_sha":"23834ab772c0abbfe4ffde620397edd4939b9845","external_id":"forgejo-main-23834ab772c0","receipt_type":"canonical_release_status","idempotency_key":"mission:6e19cdd1-3345-49a9-80fb-f4fff14b61cb:forgejo-release-status:23834ab772c0abbfe4ffde620397edd4939b9845:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"6744d0a2-78c4-4955-ab91-d622005a2d68","command_center_event_id":"6e19cdd1-3345-49a9-80fb-f4fff14b61cb"},{"id":"72a114c0-8d57-45c6-8fab-36631c8ba3a1","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-bf3870e62124","prNumber":4101,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"75fbf7b42b7251901d5a23f9effb19b2a652c751","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T03:54:42.042674+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"75fbf7b42b7251901d5a23f9effb19b2a652c751","external_id":"4101","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:bf3870e6-2124-4023-92e0-a132c39fd277:merged-pr:4101:75fbf7b42b7251901d5a23f9effb19b2a652c751","mission_step_id":"49053c80-b4bd-407d-8af7-c78336798a44","command_center_event_id":"bf3870e6-2124-4023-92e0-a132c39fd277"},{"id":"72a49743-8568-464d-a14d-9f6260b8f7ff","source":"cc-execution","status":"authorized","payload":{"paths":[".forgejo/workflows/knocklaunch.yml","config/control-plane-capabilities.json","src/__tests__/contracts/command-center-forgejo-transport-reliability.contract.test.ts","workers/cc-execution/src/index-release-fast-lane.js","workers/cc-execution/src/mission-ledger.js","workers/cc-execution/src/version.js"],"reason":"Owner explicitly authorized unfreezing the control plane for this scoped speed-and-accuracy repair; single-use permit for the exact six paths only, with frozen state retained after completion.","baseSha":"f48a6a080bd7a93840a85adc712a734585e53e61","issuedAt":1788294904598,"expiresAt":1788295084598,"missionId":"5357e24e-a775-4ce8-a74c-53a168591c15","singleUse":true,"authorizationId":"35439e88-39de-4b4b-a5e7-4885fe7a0c23"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-01T20:35:05.923373+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"f48a6a080bd7a93840a85adc712a734585e53e61","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:35439e88-39de-4b4b-a5e7-4885fe7a0c23","mission_step_id":"f07ffe88-439e-4f9f-8020-5988fc4e9d6f","command_center_event_id":"5357e24e-a775-4ce8-a74c-53a168591c15"},{"id":"72a4a518-1be8-443c-b76b-d69eb03f6de9","source":"visual-sandbox","status":"completed_with_findings","payload":{"ok":true,"jobId":"f0af7bce-8547-49ba-8d8c-2e6a789fb5a4","phase":"universal_visual_witness_status","branch":"ai/objective-first-repair-f2fee72c5de9","reason":null,"status":"verification_pending","metrics":{"receiptBytes":203583,"releaseCount":0,"toolCallCount":46,"repeatedCallCount":23,"executorlessWaitMs":5697473,"firstUsefulResultAt":"2026-09-29T18:03:39.192Z","recoveryAttemptCount":11,"ownerInterruptionCount":0},"version":null,"prNumber":4167,"terminal":false,"missionId":"f2fee72c-5de9-49db-9562-8404efc431e6","operation":"visual_proof_status","proofGate":"interactive_visual_witness_completed_with_findings","sourceSha":"23347e586cb7ae0ff25223a76f28269338b82cd3","timingsMs":{"queue":1570,"total":20894,"execution":19324},"nextAction":null,"receiptRef":{"mode":"full","missionId":"f2fee72c-5de9-49db-9562-8404efc431e6"},"performance":null,"deploymentId":"forgejo-main-23347e586cb7","releaseState":"verified","visualWitness":{"role":"GodMode","jobId":"f0af7bce-8547-49ba-8d8c-2e6a789fb5a4","tenant":"knock-launch-os","runnerUrl":"https://laptop-witness.knocklaunch.app","runnerLane":"laptop","attemptsUsed":1,"supervisorId":"f0af7bce-8547-49ba-8d8c-2e6a789fb5a4","failureReason":null,"observedRoute":"/knock-launch-os/video-studio","runnerVersion":"laptop-bb1e9c24fd5d","attemptLineage":[{"jobId":"3b31b47c-f2b9-45f3-aa8f-35db19f4017f","attempt":1,"category":"completed_with_findings","sourceSha":"bb1e9c24fd5d6d6526aafb737dbeb2f9755ca0f4","startedAt":"2026-09-29T19:36:39.701Z","completedAt":"2026-09-29T19:37:00.674Z","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":"/knock-launch-os/video-studio","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":13168,"releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":"completed_with_findings","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":47746,"ownerActionRequired":false,"ownerFacingTerminal":false,"requestContractHash":"be7f03f9a57b29242035ef34f8f5b83ee8e44dc4ebc2ad341f51178431fd81a5","continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T19:38:38.226471+00:00","proof_gate":"interactive_visual_witness_completed_with_findings","source_sha":"laptop-bb1e9c24fd5d","external_id":"f0af7bce-8547-49ba-8d8c-2e6a789fb5a4","receipt_type":"visual_proof_status","idempotency_key":"mission:f2fee72c-5de9-49db-9562-8404efc431e6:visual:f0af7bce-8547-49ba-8d8c-2e6a789fb5a4:completed_with_findings","mission_step_id":"c157599f-2243-4693-aaf6-40426c3db32d","command_center_event_id":"f2fee72c-5de9-49db-9562-8404efc431e6"},{"id":"72a4b2cd-55b1-448d-9e4d-acaa5d98b2dd","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in implementation.","nextAction":{"lane":"cc-execution","action":"continue_implementation","reason":"synthesis_required","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"implementation\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"synthesis_required\",\"proofGate\":\"repair_mission_synthesis_ready\"},\"activeStep\":{\"key\":\"implementation\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"continue_implementation\",\"lane\":\"cc-execution\",\"reason\":\"synthesis_required\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"continue_implementation\",\"recoveryOwner\":\"cc-execution\"},\"acceptance\":{\"total\":6,\"verified\":1,\"pending\":5,\"percent\":17,\"satisfied\":false,\"verifiedIds\":[\"preflight\"],\"pendingIds\":[\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"release\",\"deadlineAt\":\"2026-08-07T01:01:23.388604+00:00\",\"recoveryAction\":\"continue_implementation\"},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/eradicate-lovable-runtime-openai\",\"prNumber\":null,\"sourceSha\":null,\"deploymentId\":null}"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-10-04T12:37:23.736736+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:50419526-235c-4305-a478-fcf15e138ce2:owner-progress-heartbeat:119407829","mission_step_id":"811256c7-dbea-4bf0-b918-ae71e0139686","command_center_event_id":"50419526-235c-4305-a478-fcf15e138ce2"},{"id":"72a53632-7d77-4935-bce3-852a2dace816","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/src/entrypoint-owner-status.js","workers/cc-execution/test/release-orchestration-invariants.test.js"],"reason":"Prime structured exact mutation continuation","baseSha":"a9222be0896b919e3ceee4a9bfa37b6c71bbced6","issuedAt":1791305489181,"expiresAt":1791305669181,"missionId":"68476ba0-a3e4-49e1-ab5c-1705534676bf","authorizationId":"0c33e1f0-328e-4d5a-bcaf-337288773090","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T16:51:29.727329+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"a9222be0896b919e3ceee4a9bfa37b6c71bbced6","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:0c33e1f0-328e-4d5a-bcaf-337288773090","mission_step_id":"062d29ec-17cc-4cb0-978c-f119abe6b987","command_center_event_id":"68476ba0-a3e4-49e1-ab5c-1705534676bf"},{"id":"72a61e40-4342-44d3-9d36-f8fe82f1011c","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"objective_received","branch":"ai/demo-studio-cinematic-framing-v2","reason":"pull_request_stale_refresh_required","status":"retryable","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.70-forgejo-source-discovery-retry-window","prNumber":2059,"terminal":false,"missionId":"fbcf6e36-2854-4b29-a04f-1ffa70fe241e","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":33646,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":30959,"approvedPlanMs":0,"missionSetupMs":633,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":633,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":633,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":633,"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":"fbcf6e36-2854-4b29-a04f-1ffa70fe241e"},"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":2250,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-07T13:02:21.940539+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"2059","receipt_type":"execute_mission","idempotency_key":"mission:fbcf6e36-2854-4b29-a04f-1ffa70fe241e:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"d86e6d16-050e-46e4-8c64-695a5e507ede","command_center_event_id":"fbcf6e36-2854-4b29-a04f-1ffa70fe241e"},{"id":"72a73f5c-5fe6-4067-b895-43c880010add","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-b79255f67e21","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":46405,"releaseCount":0,"toolCallCount":25,"repeatedCallCount":18,"executorlessWaitMs":556178,"firstUsefulResultAt":"2026-10-04T09:22:12.147Z","recoveryAttemptCount":18,"ownerInterruptionCount":0},"version":null,"prNumber":4714,"terminal":false,"missionId":"b79255f6-7e21-493b-90ff-5552f473f906","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":"b79255f6-7e21-493b-90ff-5552f473f906"},"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-04T09:31:28.3708+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"4714","receipt_type":"automatic_mission_resume","idempotency_key":"mission:b79255f6-7e21-493b-90ff-5552f473f906:automatic-mission-resume:4714:repair_mission_waiting_for_gate","mission_step_id":"7c4cc52b-c4f8-4fab-983b-afd317688807","command_center_event_id":"b79255f6-7e21-493b-90ff-5552f473f906"},{"id":"72a7eadf-bbe5-4948-af6e-f9565ebcfef9","source":"cc-execution","status":"recorded","payload":{"objective":"Continue the existing Big Papi proposal logo work on branch ai/big-papis-proposal-logo-20260903 and existing PR #1563. The new asset public/brand/big-papis-logo-2026.svg is already present on the branch. Make exactly one source edit in src/pages/mobile-vendor/BigPapisProposalDocument.tsx: replace `const logo=brand?.logoUrl||brand?.company_logo_url||'/brand/big-papis-logo.webp';` with `const logo='/brand/big-papis-logo-2026.svg';`. Do not alter any other proposal layout, pricing, text, workflow, tenant settings, or files. Reuse PR #1563; do not create a second PR. Run KnockLaunch Gate on the updated head, squash merge when green, deploy only the affected frontend to Cloudflare production, and prove both current Forgejo main contains `/brand/big-papis-logo-2026.svg` in the proposal document and production serves `/brand/big-papis-logo-2026.svg`. Do not run Visual Witness.","tenantRef":"BIG PAPI’S ICEYS","receivedAt":"2026-09-03T14:59:36.713Z","fingerprint":"35d08a5f926d432d872ade5cddb6cac8e7b405823a0f20a4d46baa5c1be8f4a6","workstreamRef":"bigpapisiceys","conversationId":null,"canonicalBranch":"ai/big-papis-proposal-logo-20260903","requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Continue the existing Big Papi proposal logo work on branch ai/big-papis-proposal-logo-20260903 and existing PR #1563. The new asset public/brand/big-papis-logo-2026.svg is already present on the branch. Make exactly one source edit in src/pages/mobile-vendor/BigPapisProposalDocument.tsx: replace `const logo=brand?.logoUrl||brand?.company_logo_url||'/brand/big-papis-logo.webp';` with `const logo='/brand/big-papis-logo-2026.svg';`. Do not alter any other proposal layout, pricing, text, workflow, tenant settings, or files. Reuse PR #1563; do not create a second PR. Run KnockLaunch Gate on the updated head, squash merge when green, deploy only the affected frontend to Cloudflare production, and prove both current Forgejo main contains `/brand/big-papis-logo-2026.svg` in the proposal document and production serves `/brand/big-papis-logo-2026.svg`. Do not run Visual Witness.","wordingChanged":false,"canonicalIntent":"Continue the existing Big Papi proposal logo work on branch ai/big-papis-proposal-logo-20260903 and existing PR #1563. The new asset public/brand/big-papis-logo-2026.svg is already present on the branch. Make exactly one source edit in src/pages/mobile-vendor/BigPapisProposalDocument.tsx: replace `const logo=brand?.logoUrl||brand?.company_logo_url||'/brand/big-papis-logo.webp';` with `const logo='/brand/big-papis-logo-2026.svg';`. Do not alter any other proposal layout, pricing, text, workflow, tenant settings, or files. Reuse PR #1563; do not create a second PR. Run KnockLaunch Gate on the updated head, squash merge when green, deploy only the affected frontend to Cloudflare production, and prove both current Forgejo main contains `/brand/big-papis-logo-2026.svg` in the proposal document and production serves `/brand/big-papis-logo-2026.svg`. Do not run Visual Witness.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"Continue the existing Big Papi proposal logo work on branch ai/big-papis-proposal-logo-20260903 and existing PR #1563. The new asset public/brand/big-papis-logo-2026.svg is already present on the branch. Make exactly one source edit in src/pages/mobile-vendor/BigPapisProposalDocument.tsx: replace `const logo=brand?.logoUrl||brand?.company_logo_url||'/brand/big-papis-logo.webp';` with `const logo='/brand/big-papis-logo-2026.svg';`. Do not alter any other proposal layout, pricing, text, workflow, tenant settings, or files. Reuse PR #1563; do not create a second PR. Run KnockLaunch Gate on the updated head, squash merge when green, deploy only the affected frontend to Cloudflare production, and prove both current Forgejo main contains `/brand/big-papis-logo-2026.svg` in the proposal document and production serves `/brand/big-papis-logo-2026.svg`. Do not run Visual Witness.","proofConditionIds":["proof-production"]}],"objective":"Continue the existing Big Papi proposal logo work on branch ai/big-papis-proposal-logo-20260903 and existing PR #1563. The new asset public/brand/big-papis-logo-2026.svg is already present on the branch. Make exactly one source edit in src/pages/mobile-vendor/BigPapisProposalDocument.tsx: replace `const logo=brand?.logoUrl||brand?.company_logo_url||'/brand/big-papis-logo.webp';` with `const logo='/brand/big-papis-logo-2026.svg';`. Do not alter any other proposal layout, pricing, text, workflow, tenant settings, or files. Reuse PR #1563; do not create a second PR. Run KnockLaunch Gate on the updated head, squash merge when green, deploy only the affected frontend to Cloudflare production, and prove both current Forgejo main contains `/brand/big-papis-logo-2026.svg` in the proposal document and production serves `/brand/big-papis-logo-2026.svg`. Do not run Visual Witness.","constraints":[],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-production","kind":"runtime","claim":"Continue the existing Big Papi proposal logo work on branch ai/big-papis-proposal-logo-20260903 and existing PR #1563. The new asset public/brand/big-papis-logo-2026.svg is already present on the branch. Make exactly one source edit in src/pages/mobile-vendor/BigPapisProposalDocument.tsx: replace `const logo=brand?.logoUrl||brand?.company_logo_url||'/brand/big-papis-logo.webp';` with `const logo='/brand/big-papis-logo-2026.svg';`. Do not alter any other proposal layout, pricing, text, workflow, tenant settings, or files. Reuse PR #1563; do not create a second PR. Run KnockLaunch Gate on the updated head, squash merge when green, deploy only the affected frontend to Cloudflare production, and prove both current Forgejo main contains `/brand/big-papis-logo-2026.svg` in the proposal document and production serves `/brand/big-papis-logo-2026.svg`. Do not run Visual Witness.","route":"/brand/big-papis-logo-2026.svg","roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestedBranch":"ai/big-papis-proposal-logo-20260903","conversationContext":null,"requestContractHash":"abf5f49ac6fb4a70b1f90ee7abda1173c69ca81eec1fbc164f19bdd0cfbc60a2","requestContractRevision":1},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-09-03T14:59:37.555472+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:75d7b813-c464-4a87-a0c4-bac16c7e511e:tenant-workstream-contribution:35d08a5f926d432d872ade5cddb6cac8e7b405823a0f20a4d46baa5c1be8f4a6","mission_step_id":null,"command_center_event_id":"75d7b813-c464-4a87-a0c4-bac16c7e511e"},{"id":"72aa3235-1ccf-4014-9187-6a8443ea2d64","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-de369cf96d5f","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":61635,"releaseCount":0,"toolCallCount":9,"repeatedCallCount":1,"executorlessWaitMs":547496,"firstUsefulResultAt":"2026-09-26T13:08:45.917Z","recoveryAttemptCount":2,"ownerInterruptionCount":0},"version":"1.58.286-cursor-readonly-mcp-bootstrap","prNumber":3796,"terminal":false,"missionId":"de369cf9-6d5f-4f43-b500-f5765b0b8702","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":5549,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":5440,"approvedPlanMs":0,"missionSetupMs":343,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":236,"ledgerReconcileMs":0,"lineageReconcileMs":107,"resolvePreflightMs":343,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":236,"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":"de369cf9-6d5f-4f43-b500-f5765b0b8702"},"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":1523,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-26T13:18:04.580576+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"3796","receipt_type":"execute_mission","idempotency_key":"mission:de369cf9-6d5f-4f43-b500-f5765b0b8702:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"db338266-1a75-4c48-a94e-39b2ecd3d70a","command_center_event_id":"de369cf9-6d5f-4f43-b500-f5765b0b8702"},{"id":"72aa8365-0ef1-4b60-87ef-4cdad9e585f0","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"fae689c93f00716924a48dd714275998b35b351d","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":true,"statement":"Repair and simplify the Big Papi's Coquito Iceys proposal creation workflow for Will. Current owner-visible defect: the proposal system effectively only allows editing an existing proposal/event; Will cannot cleanly start a new proposal or create a new customer from the flow, and he strongly dislikes the current experience. Implement one clear New Proposal workflow that starts blank and is separate from editing existing events/proposals. Required outcomes: (1) from Big Papi's proposal area, Will can start a brand-new proposal without first selecting an existing event/proposal; (2) during new proposal creation he can create a new customer/contact in-context, with the saved customer becoming the proposal customer immediately; (3) proposal products/options include $5, $7, $9, Unlimited, and Wine Slushy, using current Big Papi's product/pricing conventions where available and not inventing unrelated products; (4) simplify the interface so the primary sequence is Customer -> Products/quantities -> Event/details -> Review/Send, with sane defaults and no duplicate/confusing edit-only controls; (5) preserve the existing ability to edit an existing proposal/event, but make New Proposal a di","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":"d865cffb6dcee7b5802053312c2ab95f87894a0fc54893e13637d83719613895","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"proof-production","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"frontend":"success","supabaseEdge":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["frontend","supabaseEdge"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"d865cffb6dcee7b5802053312c2ab95f87894a0fc54893e13637d83719613895"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["frontend","supabaseEdge"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-16T22:05:21.20026+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"fae689c93f00716924a48dd714275998b35b351d","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:eac68a12-82bb-4a94-9f20-c7cf7877821a:request-contract:d865cffb6dcee7b5802053312c2ab95f87894a0fc54893e13637d83719613895:fae689c93f00716924a48dd714275998b35b351d:verified:","mission_step_id":"fcbfe0f4-f1aa-47af-8f25-98980fadbd6c","command_center_event_id":"eac68a12-82bb-4a94-9f20-c7cf7877821a"},{"id":"72ad0f69-56a9-489a-b020-c9156610dcf2","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"release","branch":"ai/objective-first-repair-5f277ccf5c54","reason":"explicit_pull_request_identity_mismatch:3142","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.182-witness-render-cold-start-aware","prNumber":3142,"terminal":false,"missionId":"5f277ccf-5c54-4bcd-b5e6-4bff66f2ec99","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":"7c8fd247d737cfb35dfacb2d724d441dc532aed7","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":17550,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":17550,"missionSetupMs":1646,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":373,"ledgerReconcileMs":0,"lineageReconcileMs":1273,"resolvePreflightMs":1646,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":373,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"5f277ccf-5c54-4bcd-b5e6-4bff66f2ec99"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime","runtime","runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1502,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-18T18:22:05.239524+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:5f277ccf-5c54-4bcd-b5e6-4bff66f2ec99:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"e1199605-c3ca-4678-ab73-c725fa3bbf48","command_center_event_id":"5f277ccf-5c54-4bcd-b5e6-4bff66f2ec99"},{"id":"72ad49e2-f612-4743-a5bd-138256536456","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"objective_received","branch":"ai/big-papis-public-touch-polish-20260822","reason":"retryable_provider_transport:GET:The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.50.16-onrunner-release-ownership","prNumber":null,"terminal":false,"missionId":"b48cfac1-8e40-405f-a4ab-ef1524c26416","operation":"execute_mission","proofGate":"repair_mission_execution_retryable","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"b48cfac1-8e40-405f-a4ab-ef1524c26416"},"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":5121,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-22T17:04:16.278759+00:00","proof_gate":"repair_mission_execution_retryable","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:b48cfac1-8e40-405f-a4ab-ef1524c26416:execute_mission:repair_mission_execution_retryable","mission_step_id":"4a4a0776-e15a-42c2-a808-2f0c229dcbfb","command_center_event_id":"b48cfac1-8e40-405f-a4ab-ef1524c26416"},{"id":"72ad977a-369e-493e-930f-657c2acfbbe6","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-0b63a19be0df","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":42859,"releaseCount":0,"toolCallCount":30,"repeatedCallCount":13,"executorlessWaitMs":229732,"firstUsefulResultAt":"2026-09-29T00:34:06.642Z","recoveryAttemptCount":2,"ownerInterruptionCount":0},"version":"1.59.3-direct-commit-ancestry","prNumber":4063,"terminal":false,"missionId":"0b63a19b-e0df-4284-8cea-682c4ae12955","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3749,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":1576,"missionSetupMs":497,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":373,"ledgerReconcileMs":0,"lineageReconcileMs":124,"resolvePreflightMs":497,"repositoryMutationMs":2173,"repositoryProviderMs":2173,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":1998,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":373,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":175},"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":"0b63a19b-e0df-4284-8cea-682c4ae12955"},"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":3556,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T00:34:31.804098+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"4063","receipt_type":"execute_mission","idempotency_key":"mission:0b63a19b-e0df-4284-8cea-682c4ae12955:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"64613a2b-3b30-4383-861f-55bf83f3ae31","command_center_event_id":"0b63a19b-e0df-4284-8cea-682c4ae12955"},{"id":"72af19bc-b81a-42d0-b7f5-c6d71c3feecf","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success","cc-execution/runtime-proof":"success"},"mainSha":"9ba086b8ff43ecb4602a03de83b88f31a96f5540","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof","frontend-cloudflare/live"],"sourceSha":"c7cbaf23438ab0012386598eb4e9959a8fb439b4","releaseState":"verified","sourceInMain":true,"compareStatus":"known_exact_protected_main_push_history","releaseTargets":{"frontend":true,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"success","ccExecution":"success"},"requestContractHash":"4eb6a2a895e17d792cb5ff1c8c148fc0e05904324aab8d4b7574886131c2f6d5","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/14228","runId":14228,"status":"success","sourceSha":"c7cbaf23438ab0012386598eb4e9959a8fb439b4","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"frontend":"success","ccExecution":"success"},"targetJobCount":7,"observedTargetStates":{"frontend":"success","ccExecution":"success"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"c7cbaf23438ab0012386598eb4e9959a8fb439b4","proofGate":"cc_execution_target_aware_runtime_identity_verified","deploymentId":"forgejo-main-c7cbaf23438ab0012386598eb4e9959a8fb439b4","compareStatus":"target_job_success_runtime_verified","workflowRunId":14228,"identitySource":"canonical_release_target_job","runtimeVersion":"1.64.47-paul-owner-answer-quality","workflowFailed":false,"containsSourceSha":true},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T02:48:23.431258+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"c7cbaf23438ab0012386598eb4e9959a8fb439b4","external_id":"forgejo-main-c7cbaf23438a","receipt_type":"canonical_release_status","idempotency_key":"mission:25292583-cf21-4de1-9ded-df4d2797912d:forgejo-release-status:c7cbaf23438ab0012386598eb4e9959a8fb439b4:verified:forgejo-main/source=success|forgejo-release/workflow=success|cc-execution/runtime-proof=success|frontend-cloudflare/live=success","mission_step_id":"3defa6fb-de88-4374-9504-2c90d7535dce","command_center_event_id":"25292583-cf21-4de1-9ded-df4d2797912d"},{"id":"72b6af45-b02e-447a-949a-34d7e06c8c11","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/tennex-contact-isolation","reason":"pull_request_checks_pending","status":"waiting_for_gate","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":4422,"terminal":false,"missionId":"76eacfaf-2edc-4cae-94f4-e5c0904e3cb0","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4442,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":4000,"approvedPlanMs":0,"missionSetupMs":528,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":528,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":528,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":528,"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":"76eacfaf-2edc-4cae-94f4-e5c0904e3cb0"},"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":1689,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T01:50:32.628188+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"4422","receipt_type":"execute_mission","idempotency_key":"mission:76eacfaf-2edc-4cae-94f4-e5c0904e3cb0:execute_mission:repair_mission_waiting_for_gate:current-generation","mission_step_id":"2a6620bd-05fa-45ba-9467-9711cc0ebc06","command_center_event_id":"76eacfaf-2edc-4cae-94f4-e5c0904e3cb0"},{"id":"72b7a1c3-8d8c-410b-8c5e-78e6782b7a0e","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-ccb0cda2784a","prNumber":2926,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"001a0d0f0543a868dd3beb9ee4e7097352902702","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-16T16:28:36.52512+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"001a0d0f0543a868dd3beb9ee4e7097352902702","external_id":"2926","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:ccb0cda2-784a-47b3-802a-2243bbc1d97d:merged-pr:2926:001a0d0f0543a868dd3beb9ee4e7097352902702","mission_step_id":"d7440666-7a18-4274-b2d8-29c353046ce0","command_center_event_id":"ccb0cda2-784a-47b3-802a-2243bbc1d97d"},{"id":"72b9da62-214e-41f0-967f-4daa2182d3db","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-66b5d6955389","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.52-paul-deep-critic","prNumber":null,"terminal":false,"missionId":"66b5d695-5389-4924-80ba-2ffc9fe77dd8","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1532,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":532,"providerAuthMs":0,"ledgerPrepareMs":532,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":532,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":532,"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":"66b5d695-5389-4924-80ba-2ffc9fe77dd8"},"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":4122,"likelyAffectedFiles":["src/__tests__/contracts/owner-cache-retirement.contract.test.ts"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T21:36:41.458535+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:66b5d695-5389-4924-80ba-2ffc9fe77dd8:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"1e2b0cd9-6149-4451-92fa-4c0ac2bbba6b","command_center_event_id":"66b5d695-5389-4924-80ba-2ffc9fe77dd8"},{"id":"72ba76c3-061a-4873-a23e-e2461309071c","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/fix-command-center-mutation-reference-error-20260804-r202608041540","reason":"auto_progress_pr_read_failed:404","status":"retryable","metrics":{"receiptBytes":807,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":3988,"terminal":false,"missionId":"35e1622e-6853-49be-b152-c9a2a7d309ac","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":"35e1622e-6853-49be-b152-c9a2a7d309ac"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":711,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":null},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-21T00:49:05.370766+00:00","proof_gate":"repair_mission_auto_progress_authorization_retryable","source_sha":null,"external_id":"3988","receipt_type":"automatic_mission_resume","idempotency_key":"mission:35e1622e-6853-49be-b152-c9a2a7d309ac:automatic-mission-resume:3988:repair_mission_auto_progress_authorization_retryable","mission_step_id":"08140603-70fd-4288-ad74-950a1c85077a","command_center_event_id":"35e1622e-6853-49be-b152-c9a2a7d309ac"},{"id":"72bac094-3d45-4487-9b8f-f8a985f24f23","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.30.16-controlled-merge-fallback-fix","prNumber":null,"terminal":false,"missionId":"795c50b8-5547-4657-93f4-d24222e62562","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"795c50b8-5547-4657-93f4-d24222e62562"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"onePullRequest":true,"terminalProofRequired":true},"sourceReceiptBytes":490,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-05T02:52:46.154972+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:795c50b8-5547-4657-93f4-d24222e62562:execute_mission:repair_mission_execution_blocked","mission_step_id":"2968adb0-af44-4c84-8dd0-4c0687bb3704","command_center_event_id":"795c50b8-5547-4657-93f4-d24222e62562"},{"id":"72bac4d8-b732-4dba-85f5-f76414d7d44b","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[{"path":"workers/cc-execution/src/console-knowledge.js","content":"import { listActiveMissions, readMission } from \"./mission-ledger.js\";\nconst STOP=new Set([\"the\",\"a\",\"an\",\"and\",\"or\",\"to\",\"of\",\"for\",\"in\",\"on\",\"at\",\"is\",\"it\",\"this\",\"that\",\"what\",\"how\",\"why\",\"did\",\"do\",\"we\",\"i\",\"you\",\"about\",\"me\",\"my\",\"our\",\"was\",\"were\",\"are\",\"be\",\"been\"]);\nconst MAX_STABLE=8,MAX_EXPERIENCES=3,WINDOW=30,TTL=21600;\nconst text=(v,m=600)=>String(v??\"\").trim().slice(0,m);\nconst toks=v=>[...new Set(text(v,4000).toLowerCase().replace(/[^a-z0-9]+/g,\" \").split(/\\s+/).filter(t=>t.length>1&&!STOP.has(t)))];\nconst score=(q,v)=>{const h=new Set(toks(v));return q.reduce((n,t)=>n+(h.has(t)?1:0),0)};\nexport function shouldRetrieveKnowledge(message,agentTurn=null){const v=text(message,4000).toLowerCase();if(!v)return false;if(/\\b(remember|recall|last time|previous|previously|prior|before|what happened|what did we|what have we|how did we fix|what worked|what failed|past run|past mission|what do you know)\\b/.test(v))return true;if(/\\b(wmp|whatsmyprogress|knocklaunch|big papi|speedy panda|redfish|pcg|curri|tenant|prime|witness|gate)\\b/.test(v)&&/\\b(what is|what's|who is|tell me about|know about|explain|history|context)\\b/.test(v))return true;return agentTurn?.intentClass===\"stable_context_read\"&&/\\b(remember|history|context|prior|previous)\\b/.test(v)}\nfunction flatten(v,path=\"\",depth=0,rows=[]){if(rows.length>=100||depth>3||v==null)return rows;if([\"string\",\"number\",\"boolean\"].includes(typeof v)){rows.push({path,value:text(v,320)});return rows}if(Array.isArray(v)){for(const item of v.slice(0,12))flatten(item,path,depth+1,rows);return rows}if(typeof v===\"object\")for(const [k,c]of Object.entries(v))flatten(c,path?path+\".\"+k:k,depth+1,rows);return rows}\nexport function selectStableFacts(stable,query){const q=toks(query);return flatten(stable).map(r=>({...r,s:score(q,r.path+\" \"+r.value)})).sort((a,b)=>b.s-a.s||a.path.localeCompare(b.path)).slice(0,MAX_STABLE).map(({path,value})=>({fact:value,path,provenance:\"owner_operating_context\"}))}\nexport function rankMissionCandidate(item,query,context={}){const q=toks(query),tenant=text(item?.tenantRef,160);let s=score(q,text(item?.objective,800))*4+score(q,tenant)*6;if(context?.tenantRef&&tenant===context.tenantRef)s+=12;if(item?.terminal===true)s+=1;return s}\nfunction reason(m){const rs=Array.isArray(m?.receipts)?m.receipts:Array.isArray(m?.recentReceipts)?m.recentReceipts:[];for(let i=rs.length-1;i>=0;i--){const v=text(rs[i]?.reason||rs[i]?.failureReason||rs[i]?.error||rs[i]?.detail,300);if(v)return v}return text(m?.terminalReason||m?.reason||m?.context?.reconciliationReason,300)||null}\nexport function classifyMissionOutcome(m={}){const s=text(m.status,80).toLowerCase(),r=text(m?.context?.requestContractState,80).toLowerCase(),terminal=m.terminal===true,verified=[\"verified\",\"live_verified\",\"complete\",\"success\"].includes(s)||text(m.ownerFacingState,80).toUpperCase()===\"LIVE\";if(terminal&&verified&&(!r||r===\"verified\"))return\"verified_success\";if(terminal&&s===\"cancelled\")return\"cancelled\";if(terminal&&s===\"superseded\")return\"superseded\";if(terminal&&(s===\"blocked\"||s===\"failed\"))return\"failed\";return terminal?\"terminal_unverified\":\"nonterminal\"}\nexport function distillMissionExperience(m={}){const outcome=classifyMissionOutcome(m),c=m.context&&typeof m.context===\"object\"?m.context:{},rs=Array.isArray(m.receipts)?m.receipts:[],proof=[...new Set(rs.map(x=>text(x?.proof_gate||x?.proofGate,120)).filter(Boolean))].slice(-4);return{missionId:text(m.missionId||m.mission_id,100),objective:text(m.objective,700),tenantRef:text(m.tenantRef||c.workstream_tenant_ref||c.tenant_reference_input,160)||null,outcome,successfulRepair:outcome===\"verified_success\",causeOrReason:reason(m),prNumber:Number(m.prNumber||c.prNumber||0)||null,sourceSha:text(m.sourceSha||c.sourceSha,100)||null,deploymentId:text(m.deploymentId||c.deploymentId,200)||null,proofGates:proof,updatedAt:text(m.lastProgressAt||m.updatedAt||m.updated_at||m.createdAt,100)||null,provenance:\"durable_mission_receipt\"}}\nasync function key(query,context={}){const raw=[text(query,1200).toLowerCase(),text(context.tenantRef,120).toLowerCase()].join(\"|\"),d=await crypto.subtle.digest(\"SHA-256\",new TextEncoder().encode(raw));return[...new Uint8Array(d)].map(b=>b.toString(16).padStart(2,\"0\")).join(\"\")}\nexport async function retrieveKnowledgePack({env,query,context={},stableContext={},listFn=listActiveMissions,readFn=readMission,cache=typeof caches!==\"undefined\"?caches.default:null}){const k=await key(query,context),req=new Request(\"https://cc-execution.knocklaunch.app/__internal/knowledge-pack/\"+k);if(cache){const hit=await cache.match(req);if(hit){const cached=await hit.json().catch(()=>null);if(cached?.projection===true)return{...cached,cacheHit:true}}}const stableFacts=selectStableFacts(stableContext,query),list=await listFn(env,WINDOW,{includeTerminal:true,newestFirst:true}),items=Array.isArray(list?.data?.items)?list.data.items:Array.isArray(list?.items)?list.items:[],ranked=items.filter(i=>i?.terminal===true).map(item=>({item,s:rankMissionCandidate(item,query,context)})).filter(x=>x.s>0).sort((a,b)=>b.s-a.s).slice(0,MAX_EXPERIENCES),experiences=[];for(const entry of ranked){const id=text(entry.item?.missionId,100);if(!id)continue;const full=await readFn(env,id,true),mission=full?.data||full;if(mission)experiences.push(distillMissionExperience(mission))}const pack={version:\"kl-knowledge-router-v1\",projection:true,authority:\"projection_only_live_truth_wins\",generatedAt:new Date().toISOString(),stableFacts,experiences:experiences.slice(0,MAX_EXPERIENCES),provenance:[\"owner_operating_context\",...experiences.map(x=>\"mission:\"+x.missionId)],limits:{stableFacts:MAX_STABLE,experiences:MAX_EXPERIENCES,missionWindow:WINDOW,fullMissionReads:experiences.length},cacheHit:false};if(cache)await cache.put(req,new Response(JSON.stringify(pack),{headers:{\"content-type\":\"application/json\",\"cache-control\":\"public, max-age=\"+TTL}}));return pack}\nexport function compactKnowledgeForModel(pack){if(!pack)return null;return{authority:pack.authority,stableFacts:(pack.stableFacts||[]).slice(0,MAX_STABLE).map(r=>({fact:text(r.fact,280),path:text(r.path,140),provenance:r.provenance})),experiences:(pack.experiences||[]).slice(0,MAX_EXPERIENCES).map(r=>({missionId:r.missionId,objective:text(r.objective,500),tenantRef:r.tenantRef,outcome:r.outcome,successfulRepair:r.successfulRepair===true,causeOrReason:text(r.causeOrReason,220)||null,sourceSha:r.sourceSha,prNumber:r.prNumber,proofGates:(r.proofGates||[]).slice(0,4)}))}}\n"},{"path":"workers/cc-execution/test/console-knowledge.test.js","content":"import test from \"node:test\";import assert from \"node:assert/strict\";import{shouldRetrieveKnowledge,rankMissionCandidate,classifyMissionOutcome,distillMissionExperience,retrieveKnowledgePack,compactKnowledgeForModel}from\"../src/console-knowledge.js\";\ntest(\"ordinary chat does not trigger mission knowledge reads\",()=>{assert.equal(shouldRetrieveKnowledge(\"hello, how are you?\"),false);assert.equal(shouldRetrieveKnowledge(\"write me a headline\"),false)});\ntest(\"recall triggers knowledge retrieval\",()=>{assert.equal(shouldRetrieveKnowledge(\"what happened last time with Speedy Panda?\"),true);assert.equal(shouldRetrieveKnowledge(\"how did we fix the merge queue before?\"),true)});\ntest(\"ranking prefers exact tenant/topic\",()=>{const a=rankMissionCandidate({objective:\"Repair Speedy Panda mobile navigation\",tenantRef:\"speedy-panda\",terminal:true},\"how did we fix Speedy Panda navigation\",{tenantRef:\"speedy-panda\"}),b=rankMissionCandidate({objective:\"Repair Big Papi proposal viewer\",tenantRef:\"big-papis\",terminal:true},\"how did we fix Speedy Panda navigation\",{tenantRef:\"speedy-panda\"});assert.ok(a>b)});\ntest(\"outcomes preserve success/failure/cancel\",()=>{assert.equal(classifyMissionOutcome({terminal:true,status:\"verified\",context:{requestContractState:\"verified\"}}),\"verified_success\");assert.equal(classifyMissionOutcome({terminal:true,status:\"failed\"}),\"failed\");assert.equal(classifyMissionOutcome({terminal:true,status:\"cancelled\"}),\"cancelled\");assert.equal(distillMissionExperience({missionId:\"m\",terminal:true,status:\"failed\",objective:\"x\"}).successfulRepair,false)});\ntest(\"retrieval is bounded to one list and three full reads\",async()=>{let lists=0,reads=0;const listFn=async()=>{lists++;return{data:{items:[1,2,3,4].map(i=>({missionId:String(i),terminal:true,objective:\"Speedy Panda repair \"+i,tenantRef:\"speedy-panda\"}))}}};const readFn=async(_e,id)=>{reads++;return{data:{missionId:id,terminal:true,status:\"verified\",objective:\"Speedy Panda repair\",tenantRef:\"speedy-panda\",context:{requestContractState:\"verified\"}}}};const p=await retrieveKnowledgePack({env:{},query:\"Speedy Panda repair\",context:{tenantRef:\"speedy-panda\"},stableContext:{memoryPolicy:{liveTruthWinsOverMemory:true}},listFn,readFn,cache:null});assert.equal(lists,1);assert.equal(reads,3);assert.equal(p.experiences.length,3);assert.equal(p.authority,\"projection_only_live_truth_wins\")});\ntest(\"model pack is bounded and embedding-free\",()=>{const p=compactKnowledgeForModel({authority:\"projection_only_live_truth_wins\",stableFacts:Array.from({length:20},(_,i)=>({fact:\"fact \"+i,path:\"p\"+i,provenance:\"owner_operating_context\"})),experiences:Array.from({length:10},(_,i)=>({missionId:String(i),objective:\"x\".repeat(900),outcome:\"verified_success\",successfulRepair:true,proofGates:[]}))});assert.equal(p.stableFacts.length,8);assert.equal(p.experiences.length,3);assert.ok(p.experiences.every(r=>r.objective.length<=500))});\n"}],"branch":"ai/objective-first-repair-c2a1a84c1511","writes":[],"patches":[],"version":1,"approved":true,"pr_title":"KNOCKLAUNCH Knowledge Router v1","missionId":"c2a1a84c-1511-4b2e-ab3c-cdb77ffd2b19","objective":"Corrective replay for KNOCKLAUNCH Knowledge Router v1 on current protected main 14b3d098e90077f62a578a41a8dc883b3dc57fea. Previous attempt wrote nothing because the maintenance base SHA moved. Preserve mission c2a1a84c-1511-4b2e-ab3c-cdb77ffd2b19 and the same architecture: owner_operating_context for stable knowledge, Prime/live receipts for current truth, durable terminal mission receipts for experience, Cloudflare cache for rebuildable compact projections only, no new knowledge database, no vector DB, no paid embeddings, no ordinary-chat mission reads.","sourceSha":"14b3d098e90077f62a578a41a8dc883b3dc57fea","repository":"noel/KnockLaunchOS","visualProof":false,"autoProgress":true,"verifyVisual":false,"ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"anchored_edits":[{"path":"workers/cc-execution/src/console-intelligence.js","new_content":"self_heal:{risk:\"bounded_write\",executor:\"deterministic_self_heal_policy\",verification:\"post_repair_receipt\"},\nknowledge:{risk:\"read_only\",executor:\"knowledge_router\",verification:\"knowledge_provenance\"}","old_content":"self_heal:{risk:\"bounded_write\",executor:\"deterministic_self_heal_policy\",verification:\"post_repair_receipt\"}"},{"path":"workers/cc-execution/src/console-intelligence.js","new_content":"\"Use chat for explanation/conversation, knowledge for stable KNOCKLAUNCH recall or questions about prior work, self_check for current KNOCKLAUNCH health/capability/state, research for external/current investigation or external-vs-KNOCKLAUNCH comparison, self_heal only when the owner asks to repair/heal and deterministic policy allows it, witness only for actual requested visual observation, mission only when the owner requests a source/product change that is not an allowlisted self-heal, and clarify only when ambiguity is materially unsafe.\"","old_content":"\"Use chat for explanation/conversation, self_check for current KNOCKLAUNCH health/capability/state, research for external/current investigation or external-vs-KNOCKLAUNCH comparison, self_heal only when the owner asks to repair/heal and deterministic policy allows it, witness only for actual requested visual observation, mission only when the owner requests a source/product change that is not an allowlisted self-heal, and clarify only when ambiguity is materially unsafe.\""},{"path":"workers/cc-execution/src/console-intelligence.js","new_content":"recentConversation:recent,knowledgePack:context.knowledgePack||null,frontendHint:hint","old_content":"recentConversation:recent,frontendHint:hint"},{"path":"workers/cc-execution/src/console-operator.js","new_content":"import { buildSelfSnapshot, chooseHealClass, createResearchGateway, formatSelfSnapshot, researchModeForMessage, selfHealPolicy } from './console-self-model.js';\nimport { compactKnowledgeForModel, retrieveKnowledgePack, shouldRetrieveKnowledge } from './console-knowledge.js';","old_content":"import { buildSelfSnapshot, chooseHealClass, createResearchGateway, formatSelfSnapshot, researchModeForMessage, selfHealPolicy } from './console-self-model.js';"},{"path":"workers/cc-execution/src/console-operator.js","new_content":"  const deterministicPlan = inferOperator(input.message, input.context);\n  const baseContext = safeContext(input.context);","old_content":"  const deterministicPlan = inferOperator(input.message, input.context);"},{"path":"workers/cc-execution/src/console-operator.js","new_content":"  const agentTurn = input.agentTurn && typeof input.agentTurn === 'object' ? input.agentTurn : input.context?.agentTurn;\n  let knowledgePack = null;\n  if (shouldRetrieveKnowledge(input.message, agentTurn)) {\n    const stable = await delegated(dispatch, env, ctx, '/owner/operating-context', null, 'GET');\n    knowledgePack = await retrieveKnowledgePack({ env, query: input.message, context: baseContext, stableContext: stable?.context || {} });\n  }","old_content":"  const agentTurn = input.agentTurn && typeof input.agentTurn === 'object' ? input.agentTurn : input.context?.agentTurn;"},{"path":"workers/cc-execution/src/console-operator.js","new_content":"  const intelligenceResult = await planConsoleIntent({ message: input.message, context: { ...baseContext, knowledgePack: compactKnowledgeForModel(knowledgePack) }, agentTurn, env, deterministicPlan });","old_content":"  const intelligenceResult = await planConsoleIntent({ message: input.message, context: safeContext(input.context), agentTurn, env, deterministicPlan });"},{"path":"workers/cc-execution/src/console-operator.js","new_content":"  if (plan.kind==='knowledge') return json({ok:true,kind:'knowledge',message:plan.message||'I found relevant KNOCKLAUNCH context.',context,knowledgePack,intelligence:intelligenceBase,decision:{intentClass:agentTurn?.intentClass||'stable_context_read',selectedCapability:'knowledge',lifecycleState:'observed',evidenceSource:'owner_context+durable_mission_receipts'}});\n  if (plan.kind==='chat') return json({ok:true,kind:'chat',message:plan.message||'I do not have enough grounded context to answer that confidently.',context,knowledgePack:knowledgePack||undefined,intelligence:intelligenceBase,decision:{intentClass:agentTurn?.intentClass||'conversation',selectedCapability:'chat',lifecycleState:'response_only',evidenceSource:knowledgePack?'knowledge_router+model_gateway':'model_gateway'},inference:{action:'chat',confidence:plan.confidence??null}});","old_content":"  if (plan.kind==='chat') return json({ok:true,kind:'chat',message:plan.message||'I do not have enough grounded context to answer that confidently.',context,intelligence:intelligenceBase,decision:{intentClass:agentTurn?.intentClass||'conversation',selectedCapability:'chat',lifecycleState:'response_only',evidenceSource:'model_gateway'},inference:{action:'chat',confidence:plan.confidence??null}});"},{"path":"workers/cc-execution/src/index-mcp.js","new_content":"    scopeLearnedContext: [\"global\", \"tenant\", \"project\"],\n    verifiedTerminalMissionsAreReusableExperience: true,\n    failedCancelledAndSupersededOutcomesStayLabeled: true,","old_content":"    scopeLearnedContext: [\"global\", \"tenant\", \"project\"],"},{"path":"workers/cc-execution/src/index-mcp.js","new_content":"  knowledgePolicy: {\n    currentExplicitOwnerRequestWins: true,\n    livePrimeTruthWinsOverStableOrHistoricalContext: true,\n    stableKnowledgeSource: \"owner_operating_context\",\n    durableExperienceSource: \"terminal_mission_receipts\",\n    cacheIsProjectionOnly: true,\n    maxRetrievedExperiences: 3,\n    embeddingsRequired: false,\n    aliases: { WMP: \"WhatsMyProgress\" },\n    activeExecutionRequiresPlayByPlay: true,\n  },\n  costPolicy: {","old_content":"  costPolicy: {"}],"commit_message":"feat: add bounded KNOCKLAUNCH knowledge router","implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"c2a1a84c-1511-4b2e-ab3c-cdb77ffd2b19","ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"requestContract":null,"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["workers/cc-execution/src/console-knowledge.js","workers/cc-execution/src/console-intelligence.js","workers/cc-execution/src/console-operator.js","workers/cc-execution/src/index-mcp.js","workers/cc-execution/test/console-knowledge.test.js"],"controlPlaneMaintenanceReason":"Corrective replay after stale-base refusal. Implement Knowledge Router v1 over existing owner context and durable mission receipts only, with rebuildable edge projection and no knowledge database or embeddings. Unfreeze exact affected files then return frozen-by-default after release."},"proofRequirements":null,"controlPlaneUnfreeze":true,"durableMutationResume":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["workers/cc-execution/src/console-knowledge.js","workers/cc-execution/src/console-intelligence.js","workers/cc-execution/src/console-operator.js","workers/cc-execution/src/index-mcp.js","workers/cc-execution/test/console-knowledge.test.js"],"controlPlaneMaintenanceReason":"Corrective replay after stale-base refusal. Implement Knowledge Router v1 over existing owner context and durable mission receipts only, with rebuildable edge projection and no knowledge database or embeddings. Unfreeze exact affected files then return frozen-by-default after release."},"recovery":false,"fingerprint":"f05516901324cf1d12f78ab53dba3aece0318e67f5d88d13ceb392c163872874","replayCount":0,"serializedBytes":18513},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T21:57:41.049189+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:c2a1a84c-1511-4b2e-ab3c-cdb77ffd2b19:repository-mutation-intent:f05516901324cf1d12f78ab53dba3aece0318e67f5d88d13ceb392c163872874:0","mission_step_id":"74ba2ac1-1d5c-42a9-85ca-f5a72de8f727","command_center_event_id":"c2a1a84c-1511-4b2e-ab3c-cdb77ffd2b19"},{"id":"72bbba0a-aeb8-44e5-a44d-eedc5502f017","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-14a884b49a8b","prNumber":4314,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"41b09beee4d98673ef680a90813291c548097c23","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"669daee1-57e8-4960-937c-ce397106f32e","created_at":"2026-10-01T03:10:38.569645+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"41b09beee4d98673ef680a90813291c548097c23","external_id":"4314","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:14a884b4-9a8b-411a-a44b-ff2035a0069f:merged-pr:4314:41b09beee4d98673ef680a90813291c548097c23","mission_step_id":"16e3412f-846d-4953-8422-a708dca67770","command_center_event_id":"14a884b4-9a8b-411a-a44b-ff2035a0069f"},{"id":"72bd4572-04a6-4066-aaef-4e6ff5c1a94e","source":"forgejo-runtime","status":"failed","payload":{"failed":["forgejo-release/workflow","supabase-edge-production/live","frontend-cloudflare/live"],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"failure","frontend-cloudflare/live":"failure","supabase-edge-production/live":"failure"},"mainSha":"ec7416fbd4fd6fd3056792528f158171991a5050","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live","frontend-cloudflare/live"],"sourceSha":"ec7416fbd4fd6fd3056792528f158171991a5050","releaseState":"failed","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":true},"releaseTargetStates":{},"requestContractHash":"adb7063e3c63f1f827645e9b6b650fcf0dff3ced5c47feedef0894a229814b71","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/9798","runId":9798,"status":"failure","sourceSha":"ec7416fbd4fd6fd3056792528f158171991a5050","conclusion":null,"failedJobs":[],"diagnostics":{"runId":9798,"logTail":["2026-09-18T20:02:43.5641319Z ec7416fbd4fd6fd3056792528f158171991a5050","2026-09-18T20:02:43.5694519Z ::remove-matcher owner=checkout-git::","2026-09-18T20:02:44.7424204Z supabase_release_stage checkout_ms=7468 source_sha=ec7416fbd4fd6fd3056792528f158171991a5050","2026-09-18T20:02:46.4887560Z (node:151) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.","2026-09-18T20:02:46.4888586Z (Use `node --trace-deprecation ...` to show where the warning was created)","2026-09-18T20:02:47.7995372Z Cache Size: ~55 MB (57781104 B)","2026-09-18T20:02:47.8658811Z [command]/usr/bin/tar -xf /tmp/8327d33e-c4f2-452d-bb8e-c0392a0dd6b8/cache.tgz -P -C /workspace/noel/KnockLaunchOS -z","2026-09-18T20:02:51.7513055Z Cache restored successfully","2026-09-18T20:02:51.7875929Z Cache restored from key: knocklaunch-supabase-cli-v1-linux-node22-2.116.0","2026-09-18T20:02:56.6733750Z supabase_release_stage cli_prepare_ms=3777 cache_hit=true version=2.116.0","2026-09-18T20:02:58.3593655Z supabase_release_stage resolve_ms=304 function_count=1","2026-09-18T20:03:03.3943966Z WARNING: Docker is not running","2026-09-18T20:03:03.4104446Z Uploading asset (self-serve-demo): supabase/functions/self-serve-demo/index.ts","2026-09-18T20:03:03.4433726Z Uploading asset (self-serve-demo): supabase/functions/_shared/business-discovery.ts","2026-09-18T20:03:05.1885045Z unexpected deploy status 400: {\"message\":\"Failed to bundle the function (reason: The module's source code could not be parsed: Expected unicode escape at file:///tmp/user_fn_ymntrajfubicyxwwdxxa_4ce1b19d-8e5c-4a18-8645-418851ba7a75_98/source/supabase/functions/self-serve-demo/index.ts:119:270\\n\\n  ...late_key,120)||null;\\\\n  return json(200,{ok:true,runtime:{environment:{id:enviro...\\n                         ~).\"}","2026-09-18T20:03:05.1895464Z Try rerunning the command with --debug to troubleshoot the error.","2026-09-18T20:03:05.2424212Z ::error::Canonical direct Edge Function deploy failed: self-serve-demo","2026-09-18T20:03:06.2531964Z ⚙️ [runner]: exitcode '1': failure","2026-09-18T20:03:06.2537992Z skipping post step for 'Restore bounded Edge reconciliation circuit'; main step was skipped","2026-09-18T20:03:06.2716238Z Skipping step 'Restore pinned Supabase CLI cache' due to 'success()'","2026-09-18T20:03:06.2878704Z ⭐ Run Post https://data.forgejo.org/actions/checkout@v4","2026-09-18T20:03:06.2990327Z   🐳  docker exec cmd=[node /var/run/act/actions/7c/0592090f64c9323388c9f0b5dde780529adb40b8d70bab5d905f0ba515f2d4/dist/index.js] user= workdir=","2026-09-18T20:03:06.9594350Z [command]/usr/bin/git version","2026-09-18T20:03:06.9714727Z git version 2.39.5","2026-09-18T20:03:06.9795131Z   ⚙  ***","2026-09-18T20:03:06.9844269Z Temporarily overriding HOME='/tmp/ed079c1b-77d6-4471-9fc9-a8efb15c5c07' before making global git config changes","2026-09-18T20:03:06.9844901Z Adding repository directory to the temporary git global config as a safe directory","2026-09-18T20:03:06.9908341Z [command]/usr/bin/git config --global --add safe.directory /workspace/noel/KnockLaunchOS","2026-09-18T20:03:07.0485116Z [command]/usr/bin/git config --local --name-only --get-regexp core\\.sshCommand","2026-09-18T20:03:07.0604888Z [command]/usr/bin/git submodule foreach --recursive sh -c \"git config --local --name-only --get-regexp 'core\\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :\"","2026-09-18T20:03:07.1879251Z [command]/usr/bin/git config --local --name-only --get-regexp http\\.https\\:\\/\\/git\\.knocklaunch\\.app\\/\\.extraheader","2026-09-18T20:03:07.1956999Z http.https://git.knocklaunch.app/.extraheader","2026-09-18T20:03:07.2469710Z [command]/usr/bin/git config --local --unset-all http.https://git.knocklaunch.app/.extraheader","2026-09-18T20:03:07.2598396Z [command]/usr/bin/git submodule foreach --recursive sh -c \"git config --local --name-only --get-regexp 'http\\.https\\:\\/\\/git\\.knocklaunch\\.app\\/\\.extraheader' && git config --local --unset-all 'http.https://git.knocklaunch.app/.extraheader' || :\"","2026-09-18T20:03:07.3861130Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\\.gitdir:","2026-09-18T20:03:07.4420944Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url","2026-09-18T20:03:07.6044476Z   ✅  Success - Post https://data.forgejo.org/actions/checkout@v4","2026-09-18T20:03:08.5402085Z 🏁  Job failed","2026-09-18T20:03:09.3861974Z Job 'Release Supabase Edge Functions' failed",""],"proofGate":"forgejo_action_run_logs_verified","truncated":false,"failureLines":[{"line":125,"content":"2026-09-18T20:03:05.1885045Z unexpected deploy status 400: {\"message\":\"Failed to bundle the function (reason: The module's source code could not be parsed: Expected unicode escape at file:///tmp/user_fn_ymntrajfubicyxwwdxxa_4ce1b19d-8e5c-4a18-8645-418851ba7a75_98/source/supabase/functions/self-serve-demo/index.ts:119:270\\n\\n  ...late_key,120)||null;\\\\n  return json(200,{ok:true,runtime:{environment:{id:enviro...\\n                         ~).\"}"},{"line":126,"content":"2026-09-18T20:03:05.1895464Z Try rerunning the command with --debug to troubleshoot the error."},{"line":127,"content":"2026-09-18T20:03:05.2424212Z ::error::Canonical direct Edge Function deploy failed: self-serve-demo"},{"line":128,"content":"2026-09-18T20:03:06.2531964Z ⚙️ [runner]: exitcode '1': failure"},{"line":148,"content":"2026-09-18T20:03:08.5402085Z 🏁  Job failed"},{"line":149,"content":"2026-09-18T20:03:09.3861974Z Job 'Release Supabase Edge Functions' failed"}]},"exactSource":true,"fingerprint":"failure||2026-09-18t20:03:05.1885045z unexpected deploy status 400: {\"message\":\"failed to bundle the function (reason: the module's source code could not be parsed: expected unicode escape at file:///tmp/user_fn_ymntrajfubicyxwwdxxa_4ce1b19d-8e5c-4a18-8645-418851ba7a75_98/source/supabase/functions/self-serve-demo/index.ts:119:270\\n\\n  ...late_key,120)||null;\\\\n  return json(200,{ok:true,runtime:{environment:{id:enviro...\\n                         ~).\"}|2026-09-18t20:03:05.1895464z try rerunning the command with --debug to troubleshoot the error.|2026-09-18t20:03:05.2424212z ::error::canonical direct edge function deploy failed: self-serve-demo|2026-09-18t20:03:06.2531964z ⚙️ [runner]: exitcode '1': failure|2026-09-18t20:03:08.5402085z 🏁  job failed|2026-09-18t20:03:09.3861974z job 'release supabase edge functions' failed|2026-09-18t20:02:43.5641319z ec7416fbd4fd6fd3056792528f158171991a5050|2026-09-18t20:02:43.5694519z ::remove-matcher owner=checkout-git::|2026-09-18t20:02:44.7424204z ","failureClass":"code_failure","safeAutoRetry":false},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":{"exact":true,"source":"exact_source_parent_diff_shared_release_owner_mapping","parentSha":"10b98ca41c8ada53c9bb16936ee6e509b42fc1d7","sourceSha":"ec7416fbd4fd6fd3056792528f158171991a5050","changedPaths":["src/pages/demo/PersistedApplicationDemo.tsx","supabase/functions/self-serve-demo/index.ts"],"changedPathCount":2,"independentOfCurrentMainCompare":true},"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-18T20:04:14.464637+00:00","proof_gate":"canonical_release_terminal_failed","source_sha":"ec7416fbd4fd6fd3056792528f158171991a5050","external_id":null,"receipt_type":"canonical_release_status","idempotency_key":"mission:c4948dd1-c6f7-4510-a765-afb6d89e3404:forgejo-release-status:ec7416fbd4fd6fd3056792528f158171991a5050:failed:forgejo-main/source=success|forgejo-release/workflow=failure|supabase-edge-production/live=failure|frontend-cloudflare/live=failure","mission_step_id":"e27b2414-91c8-4148-a4a5-50ea4fcd6269","command_center_event_id":"c4948dd1-c6f7-4510-a765-afb6d89e3404"},{"id":"72be56c2-9757-47c5-a614-7229643e3c1f","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"cc232ed970d84df42e7ac7f81886dd74d14e7fed","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"shared-source-fastpath","satisfied":false,"statement":"Both read-only repository search excerpts and exact repository_inspect file reads use one shared exact-SHA raw Forgejo source reader with immutable SHA/path edge caching instead of the /contents JSON/base64 hot path.","proofConditionIds":["proof-repository","proof-runtime"]},{"id":"hard-latency-budget","satisfied":false,"statement":"Exact repository inspection shares one 2500ms owner-facing wall-clock budget and never retains the current 6500ms drift.","proofConditionIds":["proof-repository","proof-runtime"]},{"id":"bounded-search-excerpts","satisfied":false,"statement":"Default read-only repository search returns path results plus at most two source excerpts, with each optional excerpt bounded to 650ms and no source excerpt allowed to hang the overall request.","proofConditionIds":["proof-repository","proof-runtime"]},{"id":"live-fast-proof","satisfied":true,"statement":"On live cc-execution 1.58.175-repository-source-fastpath, an exact source file inspection completes successfully within 2500ms and a repeated exact-SHA read demonstrates the immutable cache fast path; read-only repository search remains at or below 2500ms.","proofConditionIds":["proof-runtime"]}],"satisfied":false,"constraints":[{"id":"exact-sha","satisfied":false,"statement":"Source-content cache keys and provider reads are bound to an immutable exact commit SHA so moving main cannot return stale content as current.","proofConditionIds":["proof-repository","proof-runtime"]},{"id":"structured-failure","satisfied":false,"statement":"Provider timeout or transport exhaustion returns structured retryable state within the hard budget rather than hanging or widening the wall clock.","proofConditionIds":["proof-repository","proof-runtime"]},{"id":"single-release","satisfied":false,"statement":"Use one fresh ai/* branch, one PR, canonical Gate, squash merge, and one cc-execution release only.","proofConditionIds":["proof-repository","proof-runtime"]},{"id":"capability-completeness","satisfied":false,"statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["proof-repository","proof-runtime"]},{"id":"atomic-capability-lifecycle","satisfied":false,"statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["proof-repository","proof-runtime"]}],"contractHash":"5628fcdcdf053f0f511a88ef76924185f708eb7ba057089fc674e756942eeba7","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"proof-repository","kind":"repository","evidence":{"reason":null,"gateRunId":null,"satisfied":true,"gateTestProof":null,"gateTestPassed":false,"missingTargets":[],"gateTestExecuted":false,"disallowedTargets":[],"migrationRequired":false,"namedGateTestPath":null,"releaseTargetStates":{"ccExecution":"success"},"repositoryProofGate":null,"repositoryProofPath":null,"requestContractHash":"5628fcdcdf053f0f511a88ef76924185f708eb7ba057089fc674e756942eeba7","unsuccessfulTargets":[],"activeReleaseTargets":["ccExecution"],"allowedReleaseTargets":[],"repositoryProofStatus":"required","expectedRepositoryPath":null,"namedGateTestSatisfied":true,"requiredReleaseTargets":[],"migrationReleaseVerified":null,"repositoryConditionBound":false,"repositoryProofSourceSha":null},"required":true,"satisfied":false},{"id":"proof-runtime","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"ccExecution":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["ccExecution"],"allowedReleaseTargets":["ccExecution"],"requiredReleaseTargets":["ccExecution"],"migrationReleaseVerified":null,"releaseRequestContractHash":"5628fcdcdf053f0f511a88ef76924185f708eb7ba057089fc674e756942eeba7"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":["repository"],"activeReleaseTargets":["ccExecution"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-16T23:20:16.049378+00:00","proof_gate":"request_contract_pending","source_sha":"cc232ed970d84df42e7ac7f81886dd74d14e7fed","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:65c46ae6-e6fc-46a6-b460-5d6d158c686d:request-contract:5628fcdcdf053f0f511a88ef76924185f708eb7ba057089fc674e756942eeba7:cc232ed970d84df42e7ac7f81886dd74d14e7fed:pending:repository","mission_step_id":"affc8278-2b61-4ddd-8ae6-89593e4fe271","command_center_event_id":"65c46ae6-e6fc-46a6-b460-5d6d158c686d"},{"id":"72c08542-565f-4ccf-956f-39a6083d30e1","source":"cc-execution-mission-control","status":"verified","payload":{"branch":"ai/paul-native-schema-contract-20261012","headSha":null,"prNumber":6456},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-12T16:28:23.94463+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:2b457e44-423c-4adb-8014-aaa87595100e:pr:6456:implementation-created","mission_step_id":"93bea858-d8a5-4b68-a064-204eaddf26be","command_center_event_id":"2b457e44-423c-4adb-8014-aaa87595100e"},{"id":"72c2a63c-a677-4628-b94d-f72044fb45fb","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-292cf2bdb95b","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":14386,"releaseCount":0,"toolCallCount":9,"repeatedCallCount":3,"executorlessWaitMs":25286,"firstUsefulResultAt":"2026-10-06T02:47:44.252Z","recoveryAttemptCount":5,"ownerInterruptionCount":0},"version":"1.65.10-boundary-fix-release-retry","prNumber":5146,"terminal":false,"missionId":"292cf2bd-b95b-4e3e-9816-97c821a415fa","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3402,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":2005,"approvedPlanMs":1310,"missionSetupMs":1021,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":945,"ledgerReconcileMs":0,"lineageReconcileMs":76,"resolvePreflightMs":1021,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":945,"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":"292cf2bd-b95b-4e3e-9816-97c821a415fa"},"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":1526,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T02:48:01.131583+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"5146","receipt_type":"execute_mission","idempotency_key":"mission:292cf2bd-b95b-4e3e-9816-97c821a415fa:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"2e7f7a8a-8932-4f02-8f92-982109735f4d","command_center_event_id":"292cf2bd-b95b-4e3e-9816-97c821a415fa"},{"id":"72c2efaa-2faf-466a-9f57-ad8c79e8c728","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/fix-seaside-canonical-loading-20260808-r202608081224","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":1225,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.31.8-visual-objective-proof","prNumber":null,"terminal":false,"missionId":"2b25ca54-2086-4563-945a-c5893fe4e8e5","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":"2b25ca54-2086-4563-945a-c5893fe4e8e5"},"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":1934,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-08-08T12:25:14.633902+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:2b25ca54-2086-4563-945a-c5893fe4e8e5:execute_mission:repair_mission_synthesis_ready","mission_step_id":"b9680b95-d28a-42e1-99c3-522f3fd32b30","command_center_event_id":"2b25ca54-2086-4563-945a-c5893fe4e8e5"},{"id":"72c33375-4442-438e-ba88-7887ad8a09a9","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-40681a7c8d3e","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.185-generation-proof-isolation","prNumber":3264,"terminal":false,"missionId":"40681a7c-8d3e-4aca-9629-a69a58e041ce","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"c3d7946ad8824b941488443dcc6e0e7c3a2dffaa","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4111,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":485,"approvedPlanMs":0,"missionSetupMs":400,"providerAuthMs":0,"shipAndProveMs":3392,"ledgerPrepareMs":256,"ledgerReconcileMs":0,"lineageReconcileMs":144,"resolvePreflightMs":400,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":256,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"40681a7c-8d3e-4aca-9629-a69a58e041ce"},"performance":null,"deploymentId":"forgejo-main-c3d7946ad882","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2743,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-20T04:56:39.790325+00:00","proof_gate":"canonical_release_dispatched","source_sha":"c3d7946ad8824b941488443dcc6e0e7c3a2dffaa","external_id":"forgejo-main-c3d7946ad882","receipt_type":"execute_mission","idempotency_key":"mission:40681a7c-8d3e-4aca-9629-a69a58e041ce:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"4cf46fd0-39a4-494d-8287-f137a5cf48ae","command_center_event_id":"40681a7c-8d3e-4aca-9629-a69a58e041ce"},{"id":"72c336eb-44e3-4944-bf8f-d80f16277248","source":"forgejo","status":"retryable","payload":{"branch":"ai/objective-first-repair-c84fd408f5c9","merged":false,"prNumber":5233,"remediationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T19:57:11.287937+00:00","proof_gate":"forgejo_closed_pr_is_authoritative_source_lineage","source_sha":"8a76f5a37235a0876e3595aac1cb5eef0c1a4a7f","external_id":"5233","receipt_type":"source_lineage_pr_closed_without_merge","idempotency_key":"mission:c84fd408-f5c9-4f2f-b26f-14bbbbee4602:closed-pr:5233:unmerged","mission_step_id":"c7510979-7757-4dc3-9bf5-d2827850ea4f","command_center_event_id":"c84fd408-f5c9-4f2f-b26f-14bbbbee4602"},{"id":"72c3a74b-ba90-4572-86fb-0f7c804c3031","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Update dnc-audit-regenerate-pdf on PR #1897 to write PDF and CSV artifacts to platform-compliance/dnc/certificates. Do not release yet.","wordingChanged":false,"canonicalIntent":"Update dnc-audit-regenerate-pdf on PR #1897 to write PDF and CSV artifacts to platform-compliance/dnc/certificates. Do not release yet.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"dnc-regen-writer","statement":"Regenerated DNC court packet artifacts use platform-compliance/dnc/certificates.","proofConditionIds":["repo-proof"]}],"objective":"Update dnc-audit-regenerate-pdf on PR #1897 to write PDF and CSV artifacts to platform-compliance/dnc/certificates. Do not release yet.","constraints":[{"id":"same-pr","statement":"PR #1897 only; no release.","proofConditionIds":["repo-proof"]}],"terminalPolicy":"repository_mutation_only_no_release","proofConditions":[{"id":"repo-proof","kind":"repository","claim":"dnc-audit-regenerate-pdf writes to PLATFORM_STORAGE_BUCKETS.compliance.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":"PLATFORM_STORAGE_BUCKETS.compliance","targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestContractHash":"00262051d9ee712ab6959f9c83a2c6937f014d219a99ddbdf33875f77a967827","requestContractRevision":22,"previousRequestContractHash":"24e94e82181fb78d6f5969cbbd080aec7dad74be4834ea14a5d0489f5a11cb58"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-06T00:45:21.746032+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:6937df13-bcf1-4128-b5eb-c8aa6626b43d:request-contract:00262051d9ee712ab6959f9c83a2c6937f014d219a99ddbdf33875f77a967827","mission_step_id":"3370cc73-f50e-46b7-a76e-123686902ca9","command_center_event_id":"6937df13-bcf1-4128-b5eb-c8aa6626b43d"},{"id":"72c5389f-45a5-4eb9-b31a-c360689ac131","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-c387d88b5d3b","writes":[],"patches":[],"version":1,"approved":true,"missionId":"c387d88b-5d3b-4e07-9f98-56cf6fb5ea38","objective":"Corrective generation from current protected main 9bdc4c37e63dbc279305b5cda9ffe0fe4ff8584b after real merge conflict on PR #3618. Implement protected-main release-only recovery exactly as diagnosed. In dispatchForgejoRelease add explicitProtectedMainSourceShaInput; when no prNumber, exact SHA is valid and equals readMainSnapshot(env,false).sha, and explicit requiredReleaseTargets contains at least one true runtime target, skip PR reads, synthesize merged-main release identity from that SHA, infer no targets from paths, merge only explicit required targets, and reuse existing per-target reconciliation/workflow_dispatch logic. In shipAndProve allow no PR only for body.releaseOnlyProtectedMain===true with the same exact-main + explicit-target validation; skip PR readiness and call dispatchForgejoRelease with the explicit SHA. In executeRepairMission recognize shipRequested + no mutation + no PR + exact sourceSha + explicit required targets as release-only recovery, bypass synthesis/PR-required, and call shipAndProve with releaseOnlyProtectedMain:true. Preserve normal PR/Gate behavior otherwise. Update src/__tests__/contracts/command-center-release-reconciliation-budget.contract.test.ts with the release-only recovery contract. Update workers/cc-execution/test/release-orchestration-invariants.test.js so the existing cancelled-target recovery assertion expects `const files = releaseOnlyProtectedMainRecovery || preverifiedRecoverySeed ? [] : await readPullRequestFiles()` and `let targets = releaseOnlyProtectedMainRecovery` followed by the preverifiedRecoverySeed branch. Bump workers/cc-execution/src/version.js from 1.58.254-evidence-bound-progress to 1.58.255-protected-main-release-recovery. One fresh corrective ai branch, one PR, canonical Gate, squash merge, deploy cc-execution, verify runtime. Preserve PR #3618 as superseded conflict evidence until this corrective generation is proven.","sourceSha":"9bdc4c37e63dbc279305b5cda9ffe0fe4ff8584b","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/version.js","workers/cc-execution/test/release-orchestration-invariants.test.js","src/__tests__/contracts/command-center-release-reconciliation-budget.contract.test.ts"],"anchored_edits":[{"path":"workers/cc-execution/src/index-mission-control.js","new_content":"async function dispatchForgejoRelease(request, env, ctx, prNumber, knownWorkflowRunIdInput = null, preverifiedReadinessInput = null, preverifiedRecoveryInput = null, requiredReleaseTargetsInput = null, explicitProtectedMainSourceShaInput = null) {","old_content":"async function dispatchForgejoRelease(request, env, ctx, prNumber, knownWorkflowRunIdInput = null, preverifiedReadinessInput = null, preverifiedRecoveryInput = null, requiredReleaseTargetsInput = null) {"},{"path":"workers/cc-execution/src/index-mission-control.js","new_content":"  const releaseTargetsFromPaths = (paths = []) => releaseTargetsFromChangedPaths(paths);\n  const explicitProtectedMainSourceSha = String(explicitProtectedMainSourceShaInput || \"\").trim();\n  const explicitReleaseRequirements = requiredReleaseTargetsInput && typeof requiredReleaseTargetsInput === \"object\" && !Array.isArray(requiredReleaseTargetsInput)\n    ? requiredReleaseTargetsInput\n    : {};\n  const releaseOnlyProtectedMainRecovery = (!Number.isInteger(Number(prNumber)) || Number(prNumber) < 1)\n    && /^[0-9a-f]{40}$/i.test(explicitProtectedMainSourceSha)\n    && [\"ccExecution\", \"onrunner\", \"frontend\", \"supabaseEdge\", \"migrations\"].some((target) => explicitReleaseRequirements[target] === true);\n  if (releaseOnlyProtectedMainRecovery) {\n    const currentMainSnapshot = await readMainSnapshot(env, false);\n    const currentMainSha = String(currentMainSnapshot?.sha || \"\").trim();\n    if (currentMainSha !== explicitProtectedMainSourceSha) {\n      throw new Error(\"protected_main_release_only_source_not_current_main\");\n    }\n  }\n  const preverifiedReadiness = preverifiedReadinessInput && typeof preverifiedReadinessInput === \"object\"","old_content":"  const releaseTargetsFromPaths = (paths = []) => releaseTargetsFromChangedPaths(paths);\n  const preverifiedReadiness = preverifiedReadinessInput && typeof preverifiedReadinessInput === \"object\""},{"path":"workers/cc-execution/src/index-mission-control.js","new_content":"  const files = releaseOnlyProtectedMainRecovery || preverifiedRecoverySeed ? [] : await readPullRequestFiles();\n  const providerPr = releaseOnlyProtectedMainRecovery\n    ? {\n        state: \"closed\",\n        draft: false,\n        merged: true,\n        base: { ref: \"main\" },\n        head: { ref: \"main\", sha: explicitProtectedMainSourceSha },\n        merged_commit_sha: explicitProtectedMainSourceSha,\n      }\n    : preverifiedReadiness\n      ? null\n      : preverifiedRecoverySeed\n        ? {\n            state: \"closed\",\n            draft: false,\n            merged: true,\n            base: { ref: \"main\" },\n            head: { ref: \"main\", sha: String(preverifiedRecoverySeed.sourceSha || \"\").trim() },\n            merged_commit_sha: String(preverifiedRecoverySeed.sourceSha || \"\").trim(),\n          }\n        : await readPullRequest();","old_content":"  const files = preverifiedRecoverySeed ? [] : await readPullRequestFiles();\n  const providerPr = preverifiedReadiness\n    ? null\n    : preverifiedRecoverySeed\n      ? {\n          state: \"closed\",\n          draft: false,\n          merged: true,\n          base: { ref: \"main\" },\n          head: { ref: \"main\", sha: String(preverifiedRecoverySeed.sourceSha || \"\").trim() },\n          merged_commit_sha: String(preverifiedRecoverySeed.sourceSha || \"\").trim(),\n        }\n      : await readPullRequest();"},{"path":"workers/cc-execution/src/index-mission-control.js","new_content":"  let targets = releaseOnlyProtectedMainRecovery\n    ? { ccExecution: false, onrunner: false, frontend: false, supabaseEdge: false, migrations: false, edgeFunctionSlugs: [] }\n    : preverifiedRecoverySeed\n      ? {\n          ccExecution: seededRecoveryTargets.ccExecution === true,\n          onrunner: seededRecoveryTargets.onrunner === true,\n          frontend: seededRecoveryTargets.frontend === true,\n          supabaseEdge: seededRecoveryTargets.supabaseEdge === true,\n          migrations: seededRecoveryTargets.migrations === true,\n          edgeFunctionSlugs: Array.isArray(seededRecoveryTargets.edgeFunctionSlugs) ? seededRecoveryTargets.edgeFunctionSlugs : [],\n        }\n      : { ...releaseTargetsFromPaths(paths), edgeFunctionSlugs };","old_content":"  let targets = preverifiedRecoverySeed\n    ? {\n        ccExecution: seededRecoveryTargets.ccExecution === true,\n        onrunner: seededRecoveryTargets.onrunner === true,\n        frontend: seededRecoveryTargets.frontend === true,\n        supabaseEdge: seededRecoveryTargets.supabaseEdge === true,\n        migrations: seededRecoveryTargets.migrations === true,\n        edgeFunctionSlugs: Array.isArray(seededRecoveryTargets.edgeFunctionSlugs) ? seededRecoveryTargets.edgeFunctionSlugs : [],\n      }\n    : { ...releaseTargetsFromPaths(paths), edgeFunctionSlugs };"},{"path":"workers/cc-execution/src/index-mission-control.js","new_content":"  const body = await readBody(request);\n  const visualIntent = normalizeVisualProofIntent(body);\n  const prNumber = Number(body.prNumber || body.pr_number);\n  const explicitProtectedMainSourceSha = String(body.sourceSha || body.source_sha || \"\").trim();\n  const explicitRequiredReleaseTargets = body.requiredReleaseTargets || body.required_release_targets || {};\n  const releaseOnlyProtectedMainRecovery = body.releaseOnlyProtectedMain === true\n    && (!Number.isInteger(prNumber) || prNumber < 1)\n    && /^[0-9a-f]{40}$/i.test(explicitProtectedMainSourceSha)\n    && explicitRequiredReleaseTargets\n    && typeof explicitRequiredReleaseTargets === \"object\"\n    && !Array.isArray(explicitRequiredReleaseTargets)\n    && [\"ccExecution\", \"onrunner\", \"frontend\", \"supabaseEdge\", \"migrations\"].some((target) => explicitRequiredReleaseTargets[target] === true);\n  if ((!Number.isInteger(prNumber) || prNumber < 1) && !releaseOnlyProtectedMainRecovery) {\n    return json({ ok: false, status: \"blocked\", proofGate: \"ship_and_prove_blocked\", reason: \"valid_prNumber_required\" }, 400);\n  }","old_content":"  const body = await readBody(request);\n  const visualIntent = normalizeVisualProofIntent(body);\n  const prNumber = Number(body.prNumber || body.pr_number);\n  if (!Number.isInteger(prNumber) || prNumber < 1) {\n    return json({ ok: false, status: \"blocked\", proofGate: \"ship_and_prove_blocked\", reason: \"valid_prNumber_required\" }, 400);\n  }"},{"path":"workers/cc-execution/src/index-mission-control.js","new_content":"  const preverifiedReadiness = body.preverifiedReadiness && typeof body.preverifiedReadiness === \"object\"\n    ? body.preverifiedReadiness\n    : null;\n  if (releaseOnlyProtectedMainRecovery) {\n    const currentMainSnapshot = await readMainSnapshot(env, false);\n    if (String(currentMainSnapshot?.sha || \"\").trim() !== explicitProtectedMainSourceSha) {\n      return json({ ok: false, status: \"blocked\", proofGate: \"ship_and_prove_blocked\", reason: \"protected_main_release_only_source_not_current_main\" }, 409);\n    }\n  }\n  const reusablePreverifiedReadiness = Boolean(","old_content":"  const preverifiedReadiness = body.preverifiedReadiness && typeof body.preverifiedReadiness === \"object\"\n    ? body.preverifiedReadiness\n    : null;\n  const reusablePreverifiedReadiness = Boolean("},{"path":"workers/cc-execution/src/index-mission-control.js","new_content":"  const readinessSnapshot = reusablePreverifiedReadiness || releaseOnlyProtectedMainRecovery ? null : await readMainSnapshot(env);\n  const readiness = releaseOnlyProtectedMainRecovery\n    ? {\n        response: json({ ok: true, status: \"release_only\", proofGate: \"protected_main_release_only_verified\", sourceSha: explicitProtectedMainSourceSha }, 200),\n        data: { ok: true, status: \"release_only\", proofGate: \"protected_main_release_only_verified\", sourceSha: explicitProtectedMainSourceSha },\n        attempt: 0,\n        refreshAttempted: false,\n        refreshProof: null,\n      }\n    : reusablePreverifiedReadiness\n      ? {\n          response: json(preverifiedReadiness, 200),\n          data: preverifiedReadiness,\n          attempt: 0,\n          refreshAttempted: false,\n          refreshProof: null,\n        }\n      : await waitForPullRequestReady(","old_content":"  const readinessSnapshot = reusablePreverifiedReadiness ? null : await readMainSnapshot(env);\n  const readiness = reusablePreverifiedReadiness\n    ? {\n        response: json(preverifiedReadiness, 200),\n        data: preverifiedReadiness,\n        attempt: 0,\n        refreshAttempted: false,\n        refreshProof: null,\n      }\n    : await waitForPullRequestReady("},{"path":"workers/cc-execution/src/index-mission-control.js","new_content":"    deployment = await dispatchForgejoRelease(request, env, ctx, prNumber, body.workflowRunId || body.workflow_run_id || null, readyData, null, body.requiredReleaseTargets || body.required_release_targets || null, releaseOnlyProtectedMainRecovery ? explicitProtectedMainSourceSha : null);","old_content":"    deployment = await dispatchForgejoRelease(request, env, ctx, prNumber, body.workflowRunId || body.workflow_run_id || null, readyData, null, body.requiredReleaseTargets || body.required_release_targets || null);"},{"path":"workers/cc-execution/src/index-mission-control.js","new_content":"  const hasMutationPayload = explicitMutationPaths(body).length > 0;\n  const explicitReleaseSourceSha = String(body.sourceSha || body.source_sha || \"\").trim();\n  const explicitRequiredReleaseTargets = body.requiredReleaseTargets || body.required_release_targets || {};\n  const releaseOnlyProtectedMainRecovery = releaseIntent.shipRequested\n    && !hasMutationPayload\n    && (!Number.isInteger(existingPrNumber) || existingPrNumber < 1)\n    && /^[0-9a-f]{40}$/i.test(explicitReleaseSourceSha)\n    && explicitRequiredReleaseTargets\n    && typeof explicitRequiredReleaseTargets === \"object\"\n    && !Array.isArray(explicitRequiredReleaseTargets)\n    && [\"ccExecution\", \"onrunner\", \"frontend\", \"supabaseEdge\", \"migrations\"].some((target) => explicitRequiredReleaseTargets[target] === true);\n  const missionIdForLineage = String(body.missionId || body.mission_id || \"\").trim();","old_content":"  const hasMutationPayload = explicitMutationPaths(body).length > 0;\n  const missionIdForLineage = String(body.missionId || body.mission_id || \"\").trim();"},{"path":"workers/cc-execution/src/index-mission-control.js","new_content":"  if (releaseOnlyProtectedMainRecovery) {\n    executionResponse = json({\n      ok: true,\n      status: \"repair_prepared\",\n      proofGate: \"protected_main_release_only_recovery_prepared\",\n      sourceSha: explicitReleaseSourceSha,\n      synthesisBypassed: true,\n    });\n    executionData = await executionResponse.clone().json();\n  } else if (releaseIntent.shipRequested && Number.isInteger(existingPrNumber) && existingPrNumber > 0 && !hasMutationPayload) {","old_content":"  if (releaseIntent.shipRequested && Number.isInteger(existingPrNumber) && existingPrNumber > 0 && !hasMutationPayload) {"},{"path":"workers/cc-execution/src/index-mission-control.js","new_content":"  if (releaseOnlyProtectedMainRecovery) {\n    const shipRequest = new Request(request.url, {\n      method: \"POST\",\n      headers: request.headers,\n      body: JSON.stringify({\n        releaseOnlyProtectedMain: true,\n        sourceSha: explicitReleaseSourceSha,\n        requiredReleaseTargets: explicitRequiredReleaseTargets,\n        workflowRunId: body.workflowRunId || body.workflow_run_id || null,\n        approved: true,\n        ownerApproved: true,\n        visualProof: false,\n      }),\n    });\n    const shipAndProveStartedAt = Date.now();\n    const shipped = await shipAndProve(shipRequest, env, ctx);\n    repairTimings.shipAndProveMs = Date.now() - shipAndProveStartedAt;\n    const shippedData = await shipped.json().catch(() => ({ ok: false, status: \"blocked\", proofGate: \"repair_mission_ship_invalid_response\" }));\n    return json({ ...shippedData, executionProof: executionData, repairMission: true, timingsMs: { ...(shippedData?.timingsMs && typeof shippedData.timingsMs === \"object\" ? shippedData.timingsMs : {}), ...repairTimings } }, shipped.status);\n  }\n\n  if (executionData?.status === \"no_change\" && (!Number.isInteger(prNumber) || prNumber < 1) && !releaseIntent.shipRequested) {","old_content":"  if (executionData?.status === \"no_change\" && (!Number.isInteger(prNumber) || prNumber < 1) && !releaseIntent.shipRequested) {"},{"path":"workers/cc-execution/src/version.js","new_content":"export const CC_EXECUTION_VERSION = \"1.58.255-protected-main-release-recovery\";","old_content":"export const CC_EXECUTION_VERSION = \"1.58.254-evidence-bound-progress\";"},{"path":"workers/cc-execution/test/release-orchestration-invariants.test.js","new_content":"  assert.match(missionControlSource, /const files = releaseOnlyProtectedMainRecovery \\|\\| preverifiedRecoverySeed \\? \\[\\] : await readPullRequestFiles\\(\\)/);\n  assert.match(missionControlSource, /merged_commit_sha: String\\(preverifiedRecoverySeed\\.sourceSha \\|\\| \"\"\\)\\.trim\\(\\)/);\n  assert.match(missionControlSource, /let targets = releaseOnlyProtectedMainRecovery/);\n  assert.match(missionControlSource, /: preverifiedRecoverySeed/);","old_content":"  assert.match(missionControlSource, /const files = preverifiedRecoverySeed \\? \\[\\] : await readPullRequestFiles\\(\\)/);\n  assert.match(missionControlSource, /merged_commit_sha: String\\(preverifiedRecoverySeed\\.sourceSha \\|\\| \"\"\\)\\.trim\\(\\)/);\n  assert.match(missionControlSource, /let targets = preverifiedRecoverySeed/);"},{"path":"src/__tests__/contracts/command-center-release-reconciliation-budget.contract.test.ts","new_content":"  it('keeps release reconciliation inside the direct operator read budget', () => {\n    expect(missionLedgerSource).toContain('const MISSION_FORGEJO_READ_TIMEOUT_MS = 1200;');\n    expect(missionLedgerSource).toContain('const MISSION_FORGEJO_READ_MAX_ATTEMPTS = 1;');\n  });\n\n  it('allows fail-closed release-only recovery from exact current protected main without inventing PR state', () => {\n    expect(missionControlSource).toContain('protected_main_release_only_recovery_prepared');\n    expect(missionControlSource).toContain('protected_main_release_only_verified');\n    expect(missionControlSource).toContain('protected_main_release_only_source_not_current_main');\n    expect(missionControlSource).toContain('releaseOnlyProtectedMain: true');\n    expect(missionControlSource).toContain('releaseOnlyProtectedMainRecovery ? explicitProtectedMainSourceSha : null');\n    expect(missionControlSource).toContain('reason: \"valid_prNumber_required\"');\n  });","old_content":"  it('keeps release reconciliation inside the direct operator read budget', () => {\n    expect(missionLedgerSource).toContain('const MISSION_FORGEJO_READ_TIMEOUT_MS = 1200;');\n    expect(missionLedgerSource).toContain('const MISSION_FORGEJO_READ_MAX_ATTEMPTS = 1;');\n  });"}],"implementation":{"files":[],"writes":[]},"requestContract":{"intent":{"rawUtterance":"Unacceptable as there are no things in the merge queue or action queue.","wordingChanged":false,"canonicalIntent":"Make release recovery capable of dispatching explicit unfinished targets from exact current protected main without requiring PR reconciliation.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"owner_explicit","version":1,"outcomes":[{"id":"release-only-recovery","statement":"Exact current protected-main SHA plus explicit remaining targets can create the missing workflow_dispatch without an open PR; normal source changes still require PR/Gate.","proofConditionIds":["proof-cc"]}],"objective":"Corrective generation: add fail-closed protected-main release-only recovery from current main.","constraints":[{"id":"bounded","statement":"Limit changes to mission-control release logic, cc-execution version, and focused regression assertions.","proofConditionIds":["proof-cc"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-cc","kind":"runtime","claim":"Updated cc-execution runtime is deployed and healthy.","required":true,"allowedReleaseTargets":["ccExecution"],"requiredReleaseTargets":["ccExecution"]}]},"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":null,"ownerApproved":true,"releaseIntent":null,"sourceTargets":["workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/version.js","workers/cc-execution/test/release-orchestration-invariants.test.js","src/__tests__/contracts/command-center-release-reconciliation-budget.contract.test.ts"],"requestContract":{"intent":{"rawUtterance":"Unacceptable as there are no things in the merge queue or action queue.","wordingChanged":false,"canonicalIntent":"Make release recovery capable of dispatching explicit unfinished targets from exact current protected main without requiring PR reconciliation.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"owner_explicit","version":1,"outcomes":[{"id":"release-only-recovery","statement":"Exact current protected-main SHA plus explicit remaining targets can create the missing workflow_dispatch without an open PR; normal source changes still require PR/Gate.","proofConditionIds":["proof-cc"]}],"objective":"Corrective generation: add fail-closed protected-main release-only recovery from current main.","constraints":[{"id":"bounded","statement":"Limit changes to mission-control release logic, cc-execution version, and focused regression assertions.","proofConditionIds":["proof-cc"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-cc","kind":"runtime","claim":"Updated cc-execution runtime is deployed and healthy.","required":true,"allowedReleaseTargets":["ccExecution"],"requiredReleaseTargets":["ccExecution"]}]},"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/version.js","workers/cc-execution/test/release-orchestration-invariants.test.js","src/__tests__/contracts/command-center-release-reconciliation-budget.contract.test.ts"],"controlPlaneMaintenanceReason":"Owner authorized corrective generation after a real merge conflict blocked the release-recovery repair."},"proofRequirements":null,"controlPlaneUnfreeze":true,"durableMutationResume":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/version.js","workers/cc-execution/test/release-orchestration-invariants.test.js","src/__tests__/contracts/command-center-release-reconciliation-budget.contract.test.ts"],"controlPlaneMaintenanceReason":"Owner authorized corrective generation after a real merge conflict blocked the release-recovery repair."},"recovery":false,"fingerprint":"ff4c2c934eab2da9478acd56819702f602affff0e44bd92a29a11661c2ee12d4","replayCount":0,"serializedBytes":21702},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T14:01:45.844911+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:c387d88b-5d3b-4e07-9f98-56cf6fb5ea38:repository-mutation-intent:ff4c2c934eab2da9478acd56819702f602affff0e44bd92a29a11661c2ee12d4:0","mission_step_id":"683e451e-7fc6-4f67-9e21-51682e4fc948","command_center_event_id":"c387d88b-5d3b-4e07-9f98-56cf6fb5ea38"},{"id":"72c96134-2827-4454-93bb-8fa38b1b8feb","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"544c51ea8291e83901000769767ce75d2a2d2581","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"544c51ea8291e83901000769767ce75d2a2d2581","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":"694143e1577a214e6482cb8447512b6b4ca097ab146e14b69f1653443a4902b0","forgejoWorkflowProof":{"runId":12340,"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-27T22:53:32.292329+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"544c51ea8291e83901000769767ce75d2a2d2581","external_id":"forgejo-main-544c51ea8291","receipt_type":"canonical_release_status","idempotency_key":"mission:73b9455d-8609-4dbd-9737-e8d3a3aaeb8d:forgejo-release-status:544c51ea8291e83901000769767ce75d2a2d2581:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"8d4200c4-79a0-4248-8327-a1f53423bece","command_center_event_id":"73b9455d-8609-4dbd-9737-e8d3a3aaeb8d"},{"id":"72ca35cc-ab0e-4d33-bc8d-1866de461e4c","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-11f79c75dbe6","writes":[],"patches":[],"version":1,"approved":true,"pr_title":"Console: native AI operator loop","missionId":"11f79c75-dbe6-4604-9df2-ec3bc3725ed9","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/pages/admin/GodModeCommandConsole.tsx","config/capabilities/knocklaunch-console.json","config/owner-context.json","scripts/knocklaunch-console/README.md"],"anchored_edits":[{"path":"src/pages/admin/GodModeCommandConsole.tsx","edits":[{"new_content":"type ConsoleIntentClass = 'conversation' | 'stable_context_read' | 'live_state_read' | 'route_inspection' | 'direct_operation' | 'repository_repair';\ntype ConsoleDecision = { intentClass: ConsoleIntentClass; selectedCommand?: string; selectedCapability?: string; lifecycleState?: string; evidenceSource?: string; missionId?: string; witnessJobId?: string; statusTransitions?: string[] };\ntype ConsoleMessage = { id: string; role: 'user' | 'assistant'; content: string; error?: boolean; decision?: ConsoleDecision };","old_content":"type ConsoleMessage = { id: string; role: 'user' | 'assistant'; content: string; error?: boolean };"},{"new_content":"function classifyConsoleIntent(value: string, wantsWitness: boolean): ConsoleIntentClass {\n  const text = String(value || '').trim().toLowerCase();\n  if (wantsWitness) return 'route_inspection';\n  const directOperation = /\\b(cancel|rerun|retry|reconcile|retire|restart|bootstrap|repair)\\b/i.test(text)\n    && /\\b(queue|run|runner|workspace|tenant|storage|gate|pull request|pr)\\b/i.test(text);\n  if (directOperation) return 'direct_operation';\n  const repositoryMutation = /\\b(fix|change|update|implement|build|create|remove|replace|refactor|deploy|ship|make)\\b/i.test(text)\n    && /\\b(code|source|repo|repository|frontend|backend|component|route|console|platform|tenant|workflow|logic|bug|ui|page)\\b/i.test(text);\n  if (repositoryMutation) return 'repository_repair';\n  if (/\\b(current|live|latest|today|status|health|running|queued|failed|deployment|release|runner|gate|pull request|pr|main|runtime)\\b/i.test(text)) return 'live_state_read';\n  if (/\\b(what is|what are|how does|how do|explain|meaning|means|architecture|logic|policy|rule|preference|terminology|why do|why does)\\b/i.test(text)) return 'stable_context_read';\n  return 'conversation';\n}\n\nfunction buildConsoleDecision(intentClass: ConsoleIntentClass, data: any, witnessRun: any, witnessReceipt: any): ConsoleDecision {\n  const declared = data?.decision && typeof data.decision === 'object' ? data.decision : {};\n  const receipt = data?.receipt || witnessRun || witnessReceipt || null;\n  const selectedCommand = String(declared.selectedCommand || data?.selectedCommand || receipt?.command || receipt?.operation || (intentClass === 'route_inspection' && (witnessRun || witnessReceipt) ? 'inspect_route' : '')).trim();\n  const selectedCapability = String(declared.selectedCapability || data?.selectedCapability || receipt?.capability || (intentClass === 'route_inspection' ? 'visual_witness' : '')).trim();\n  const lifecycleState = String(declared.lifecycleState || data?.lifecycleState || receipt?.ownerFacingState || receipt?.phase || receipt?.status || 'requested').trim();\n  const evidenceSource = String(declared.evidenceSource || data?.evidenceSource || receipt?.proofGate || receipt?.proof_gate || receipt?.source || '').trim();\n  const missionId = String(declared.missionId || data?.missionId || receipt?.missionId || '').trim();\n  const witnessJobId = String(declared.witnessJobId || witnessRun?.id || witnessRun?.supervisorId || witnessReceipt?.run?.id || witnessReceipt?.run?.supervisorId || '').trim();\n  const transitions = declared.statusTransitions || data?.statusTransitions || receipt?.statusTransitions || [];\n  return {\n    intentClass,\n    ...(selectedCommand ? { selectedCommand } : {}),\n    ...(selectedCapability ? { selectedCapability } : {}),\n    lifecycleState,\n    ...(evidenceSource ? { evidenceSource } : {}),\n    ...(missionId ? { missionId } : {}),\n    ...(witnessJobId ? { witnessJobId } : {}),\n    ...(Array.isArray(transitions) && transitions.length ? { statusTransitions: transitions.map(String).slice(-12) } : {}),\n  };\n}\n\nfunction extractInternalRoute(value: string) {","old_content":"function extractInternalRoute(value: string) {"},{"new_content":"      if (String(payload?.assistant_message || '').trim()) {\n        const storedDecision = payload?.context?.decision || payload?.metadata?.decision || payload?.decision;\n        recovered.push({ id: String(turn?.id || crypto.randomUUID()) + ':assistant', role: 'assistant', content: String(payload.assistant_message), error: Boolean(payload?.metadata?.error), ...(storedDecision?.intentClass ? { decision: storedDecision as ConsoleDecision } : {}) });\n      }","old_content":"      if (String(payload?.assistant_message || '').trim()) recovered.push({ id: String(turn?.id || crypto.randomUUID()) + ':assistant', role: 'assistant', content: String(payload.assistant_message), error: Boolean(payload?.metadata?.error) });"},{"new_content":"  async function callConsoleOperator(message: string, context: ConsoleOperatorContext, agentTurn?: Record<string, unknown>) {\n    return consoleFetch('/__knocklaunch/console/operator', {\n      method: 'POST',\n      body: JSON.stringify({ message: message.slice(0, 2000), context, ...(agentTurn ? { agentTurn } : {}) }),\n    });\n  }","old_content":"  async function callConsoleOperator(message: string, context: ConsoleOperatorContext) {\n    return consoleFetch('/__knocklaunch/console/operator', {\n      method: 'POST',\n      body: JSON.stringify({ message: message.slice(0, 2000), context }),\n    });\n  }"},{"new_content":"      const inferred = await resolveConsoleTarget(text, wantsWitness);\n      const inferredRoute = inferred.route;\n      const inferredTenantRef = inferred.tenantRef;\n      const intentClass = classifyConsoleIntent(text, wantsWitness);\n      const agentTurn = {\n        version: 'knocklaunch-native-operator-v1',\n        originalPrompt: text,\n        intentClass,\n        preserveOwnerPrompt: true,\n        capabilitySource: 'live_command_registry',\n        capabilityPolicy: 'registered_commands_only',\n        stableContextCommand: 'owner_operating_context',\n        liveReadPolicy: 'current_prime_truth',\n        witnessCommand: 'inspect_route',\n        witnessStatusCommand: 'inspect_route_status',\n        repositoryMutationCommand: 'execute_objective',\n        missionStatusCommand: 'mission_status',\n        missionReceiptCommand: 'mission_receipt',\n        directOperationPolicy: 'bounded_registered_operator_only',\n        failClosed: true,\n        lifecycleProofRequired: true,\n        target: { route: inferredRoute || null, tenantRef: inferredTenantRef || null, roleRef: String(operatorContext.roleRef || '') || null },\n      };\n      const baseContext: ConsoleOperatorContext = {\n        ...operatorContext,\n        ...(inferredRoute ? { route: inferredRoute } : {}),\n        ...(inferredTenantRef ? { tenantRef: inferredTenantRef } : {}),\n        mode: wantsWitness ? 'witness' : 'chat',\n        witnessRequested: wantsWitness,\n        consoleSurface: 'sidekick-v4-native-operator',\n        agentTurn,\n        legacyRepoSessionAllowed: false,\n        recentConversation: messages.slice(-6).map((item) => ({ role: item.role, content: item.content.slice(0, 900) })),\n        inferenceContract: 'owner-conversational-context-v3-live-registry',\n        clarificationPolicy: 'ask_only_when_materially_ambiguous',\n        intentConfidence: inferred.confidence,\n      };","old_content":"      const inferred = await resolveConsoleTarget(text, wantsWitness);\n      const inferredRoute = inferred.route;\n      const inferredTenantRef = inferred.tenantRef;\n      const baseContext: ConsoleOperatorContext = {\n        ...operatorContext,\n        ...(inferredRoute ? { route: inferredRoute } : {}),\n        ...(inferredTenantRef ? { tenantRef: inferredTenantRef } : {}),\n        mode: wantsWitness ? 'witness' : 'chat',\n        witnessRequested: wantsWitness,\n        consoleSurface: 'sidekick-v3-actual-routes',\n        capabilities: ['repository', 'forgejo', 'cloudflare', 'supabase', 'missions', 'releases', 'runners', 'witness'],\n        legacyRepoSessionAllowed: false,\n        recentConversation: messages.slice(-6).map((item) => ({ role: item.role, content: item.content.slice(0, 900) })),\n        inferenceContract: 'owner-conversational-context-v2',\n        clarificationPolicy: 'ask_only_when_materially_ambiguous',\n        intentConfidence: inferred.confidence,\n      };"},{"new_content":"      let data: any = await callConsoleOperator(text, {\n        ...pinnedContext,\n        agentTurn,\n        ...(witnessRun ? { witnessRun: { id: witnessRun.id, status: witnessRun.status, phase: witnessRun.phase, currentRoute: witnessRun.currentRoute, observation: witnessObservation } } : {}),\n        witnessAlreadyDispatched: Boolean(wantsWitness && inferredRoute),\n        witnessObservationReady: Boolean(witnessObservation?.visibleText || witnessObservation?.headings?.length),\n      }, agentTurn);","old_content":"      const observationText = witnessObservation ? `\\n\\nAuthoritative Witness observation (report only what this evidence supports): ${JSON.stringify(witnessObservation)}` : '';\n      const executionMessage = wantsWitness && inferredRoute\n        ? `${text}\\n\\nAuthoritative Console resolution: tenant=${inferredTenantRef || 'current'}, route=${inferredRoute}. The Witness was dispatched to this exact route. Do not ask the owner to choose a page. Report on this target only.${observationText}`\n        : wantsWitness\n          ? `${text}\\n\\nNo authoritative Witness target resolved. Ask one concise clarification only if materially different page targets remain plausible. Do not silently substitute /admin/console.`\n          : `${text}\\n\\nThis is a normal Sidekick conversation turn. Do not start, claim, or imply a visual inspection. Existing route/session context is background only unless the user explicitly asks to inspect, show, witness, navigate, capture, or visually verify something.`;\n\n      let data: any = await callConsoleOperator(executionMessage, {\n        ...pinnedContext,\n        ...(witnessRun ? { witnessRun: { id: witnessRun.id, status: witnessRun.status, phase: witnessRun.phase, currentRoute: witnessRun.currentRoute, observation: witnessObservation } } : {}),\n        witnessAlreadyDispatched: Boolean(wantsWitness && inferredRoute),\n        witnessObservationReady: Boolean(witnessObservation?.visibleText || witnessObservation?.headings?.length),\n      });"},{"new_content":"      if (!assistantMessage) assistantMessage = witnessObservation ? fallbackWitnessSummary(witnessObservation) : 'The control plane returned no message.';\n      const decision = buildConsoleDecision(intentClass, data, witnessRun, witnessReceipt);\n      setMessages((prev) => [...prev, { id: crypto.randomUUID(), role: 'assistant', content: assistantMessage, decision }]);","old_content":"      if (!assistantMessage) assistantMessage = witnessObservation ? fallbackWitnessSummary(witnessObservation) : 'The control plane returned no message.';\n      setMessages((prev) => [...prev, { id: crypto.randomUUID(), role: 'assistant', content: assistantMessage }]);"},{"new_content":"          context: {\n            consoleSurface: 'sidekick-v4-native-operator',\n            originalPrompt: text,\n            witnessRequested: wantsWitness,\n            intentConfidence: inferred.confidence,\n            resolverMatch: resolverTrace.matchKind || null,\n            intentClass,\n            selectedCommand: decision.selectedCommand || null,\n            selectedCapability: decision.selectedCapability || null,\n            lifecycleState: decision.lifecycleState || 'requested',\n            missionId: decision.missionId || null,\n            witnessJobId: decision.witnessJobId || null,\n            statusTransitions: decision.statusTransitions || [],\n            decision,\n          },","old_content":"          context: {\n            consoleSurface: 'sidekick-v3-session-history',\n            witnessRequested: wantsWitness,\n            intentConfidence: inferred.confidence,\n            resolverMatch: resolverTrace.matchKind || null,\n          },"},{"new_content":"            <p className={message.error ? \"max-w-full whitespace-pre-wrap break-words text-sm leading-6 text-amber-200/90 [overflow-wrap:anywhere]\" : \"max-w-full whitespace-pre-wrap break-words text-sm leading-6 text-white/78 [overflow-wrap:anywhere]\"}>{message.content}</p>\n            {message.role === 'assistant' && message.decision ? <details className=\"mt-3 border-t border-white/[0.06] pt-2 text-[10px] text-white/38\"><summary className=\"cursor-pointer select-none text-emerald-200/55\">Why this action?</summary><div className=\"mt-2 grid gap-1 font-mono\"><span>intent: {message.decision.intentClass}</span><span>command: {message.decision.selectedCommand || 'no command required'}</span><span>state: {message.decision.lifecycleState || 'requested'}</span>{message.decision.evidenceSource ? <span>evidence: {message.decision.evidenceSource}</span> : null}{message.decision.missionId ? <span>mission: {message.decision.missionId}</span> : null}{message.decision.witnessJobId ? <span>witness: {message.decision.witnessJobId}</span> : null}</div></details> : null}","old_content":"            <p className={message.error ? \"max-w-full whitespace-pre-wrap break-words text-sm leading-6 text-amber-200/90 [overflow-wrap:anywhere]\" : \"max-w-full whitespace-pre-wrap break-words text-sm leading-6 text-white/78 [overflow-wrap:anywhere]\"}>{message.content}</p>"}]},{"path":"config/capabilities/knocklaunch-console.json","edits":[{"new_content":"    \"backendRuntime\": [\n      \"supabase/functions/console-ops\",\n      \"supabase/functions/_shared\",\n      \"workers/cc-execution\"\n    ],","old_content":"    \"backendRuntime\": [\n      \"supabase/functions/console-ops\",\n      \"supabase/functions/_shared\"\n    ],"},{"new_content":"      \"searchScopes\": [\n        \"chat_transcripts\",\n        \"tenant_routes\",\n        \"mission_runs\",\n        \"proof_receipts\"\n      ]\n    },\n    {\n      \"id\": \"native-ai-operator-loop\",\n      \"authority\": \"cc-execution-live-command-registry\",\n      \"intentClasses\": [\n        \"conversation\",\n        \"stable_context_read\",\n        \"live_state_read\",\n        \"route_inspection\",\n        \"direct_operation\",\n        \"repository_repair\"\n      ],\n      \"canonicalCommands\": {\n        \"stableContext\": \"owner_operating_context\",\n        \"visualInspection\": \"inspect_route\",\n        \"visualStatus\": \"inspect_route_status\",\n        \"repositoryMutation\": \"execute_objective\",\n        \"missionStatus\": \"mission_status\",\n        \"missionReceipt\": \"mission_receipt\"\n      },\n      \"requirements\": [\n        \"preserve_owner_prompt_verbatim\",\n        \"resolve_commands_from_live_registry\",\n        \"fail_closed_on_unresolved_capability_or_target\",\n        \"persist_turn_decision_and_receipt_metadata\",\n        \"never_claim_lifecycle_state_without_matching_receipt\"\n      ]\n    }\n  ],","old_content":"      \"searchScopes\": [\n        \"chat_transcripts\",\n        \"tenant_routes\",\n        \"mission_runs\",\n        \"proof_receipts\"\n      ]\n    }\n  ],"},{"new_content":"      \"Console renders stage controls and provider evidence\",\n      \"Unpaired local actions fail closed\",\n      \"Provider errors do not report health\",\n      \"Sidekick preserves the owner prompt while routing through the live command registry\",\n      \"Repository mutations use execute_objective and durable mission receipts\",\n      \"Witness turns expose their durable route-inspection evidence and selected command\"","old_content":"      \"Console renders stage controls and provider evidence\",\n      \"Unpaired local actions fail closed\",\n      \"Provider errors do not report health\""}]},{"path":"config/owner-context.json","edits":[{"new_content":"    \"operatorRouting\": {\n      \"preserveOwnerUtteranceVerbatim\": true,\n      \"stableContextCommand\": \"owner_operating_context\",\n      \"liveCapabilitySource\": \"current server-side command registry\",\n      \"repositoryMutationCommand\": \"execute_objective\",\n      \"visualInspectionCommand\": \"inspect_route\",\n      \"visualStatusCommand\": \"inspect_route_status\",\n      \"failClosedOnUnresolvedTargetOrCapability\": true,\n      \"explainDecisionFields\": [\"intentClass\", \"selectedCommand\", \"evidenceSource\"]\n    },\n    \"reporting\": [","old_content":"    \"reporting\": ["}]},{"path":"scripts/knocklaunch-console/README.md","edits":[{"new_content":"## KNOCKLAUNCH AI operator loop\n\nThe GodMode Sidekick is an owner-facing operator, not a generic chatbot. Each owner turn keeps the original prompt unchanged and is classified as conversation, stable-context read, live-state read, route inspection, bounded direct operation, or repository repair. Stable context routes through `owner_operating_context`; current facts come from current Prime/runtime truth; route inspection uses the canonical `inspect_route` / `inspect_route_status` witness lane; bounded operations must resolve to an exact currently registered command; repository mutation uses `execute_objective` and then durable `mission_status` / `mission_receipt` evidence.\n\nThe live server-side command registry is authoritative. The browser may infer intent and resolve tenant/route context, but it does not invent tools or success. Missing required targets or capabilities fail closed. Session history records the original prompt, intent class, selected command/capability, route/tenant/role projection, mission or witness identifier, lifecycle state transitions, and terminal evidence summary. Assistant messages expose a compact **Why this action?** trace without secrets.\n\nThe standalone local Console remains independently usable for its allowlisted local commands when Prime or hosted Sidekick is unavailable; this does not create a second mission authority.\n\nValidation: `node --test scripts/knocklaunch-console/console.test.mjs` and the GodMode component tests. Verify both the local launch and the live GodMode route before calling this installed.","old_content":"Validation: `node --test scripts/knocklaunch-console/console.test.mjs` and the GodMode component tests. Verify both the local launch and the live GodMode route before calling this installed."}]}],"commit_message":"feat(console): add native AI operator routing loop","implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"11f79c75-dbe6-4604-9df2-ec3bc3725ed9","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/pages/admin/GodModeCommandConsole.tsx","config/capabilities/knocklaunch-console.json","config/owner-context.json","scripts/knocklaunch-console/README.md"],"requestContract":null,"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":false,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"proofRequirements":null,"controlPlaneUnfreeze":false,"durableMutationResume":true,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"recovery":false,"fingerprint":"3c94741b59824c2e28b8bf247e01bf555f042b2dd42c8495700ef41f35c85d7a","replayCount":0,"serializedBytes":19636},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:42:58.699701+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:11f79c75-dbe6-4604-9df2-ec3bc3725ed9:repository-mutation-intent:3c94741b59824c2e28b8bf247e01bf555f042b2dd42c8495700ef41f35c85d7a:0","mission_step_id":"e174658f-3754-4450-a184-327b40b24c5e","command_center_event_id":"11f79c75-dbe6-4604-9df2-ec3bc3725ed9"},{"id":"72cc9071-e66d-4c09-8c28-2ba0294933b7","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"8c8be3b186362d7f5473ad820a4336d8125b60db","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"8c8be3b186362d7f5473ad820a4336d8125b60db","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":"38ef363a0e8663508e2df3d6f063d4fe51fc3eea765bf0e159afec3e05cd7c95","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/12718","runId":12718,"status":"waiting","sourceSha":"8c8be3b186362d7f5473ad820a4336d8125b60db","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-28T22:51:27.264324+00:00","proof_gate":"canonical_release_pending","source_sha":"8c8be3b186362d7f5473ad820a4336d8125b60db","external_id":"forgejo-main-8c8be3b18636","receipt_type":"canonical_release_status","idempotency_key":"mission:7d0655c9-ab90-4e42-b171-2db155cbe2e9:forgejo-release-status:8c8be3b186362d7f5473ad820a4336d8125b60db:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"920848c3-eec0-42ff-98c1-73c3e78ccdcd","command_center_event_id":"7d0655c9-ab90-4e42-b171-2db155cbe2e9"},{"id":"72ccdbf2-ed55-4da7-87be-335f8e6d9250","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"e195f1d073cd7335d5d85209a8145865322ab55d","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"e195f1d073cd7335d5d85209a8145865322ab55d","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/374","runId":374,"status":"running","conclusion":null,"failedJobs":[]},"ccExecutionRuntimeProof":null},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-15T14:33:55.646068+00:00","proof_gate":"canonical_release_pending","source_sha":"e195f1d073cd7335d5d85209a8145865322ab55d","external_id":"forgejo-main-e195f1d073cd","receipt_type":"canonical_release_status","idempotency_key":"mission:06227b7b-7524-4c44-86ed-88a092552b5b:forgejo-release-status:e195f1d073cd7335d5d85209a8145865322ab55d:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"4896f0e4-f063-414f-aa3c-d146800996fa","command_center_event_id":"06227b7b-7524-4c44-86ed-88a092552b5b"},{"id":"72d0acda-1e83-4623-860d-67253daa5f92","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-34020e2cd7a0","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":2589,"terminal":false,"missionId":"34020e2c-d7a0-4e83-8954-9baaa5057cbc","operation":"automatic_mission_resume","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"prReadinessMs":448,"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":"34020e2c-d7a0-4e83-8954-9baaa5057cbc"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1283,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-13T00:24:10.034184+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"2589","receipt_type":"automatic_mission_resume","idempotency_key":"mission:34020e2c-d7a0-4e83-8954-9baaa5057cbc:automatic-mission-resume:2589:repair_mission_waiting_for_gate","mission_step_id":"0244f977-94e1-48d9-9cfd-9c0ebb21167c","command_center_event_id":"34020e2c-d7a0-4e83-8954-9baaa5057cbc"},{"id":"72d29248-dcf5-4a62-83c7-9367547df602","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[{"path":"src/components/MiscAwareAccountMenu.tsx","content":"import { useContext, useEffect, useId, useMemo, useState, type ReactElement } from 'react';\nimport { useNavigate } from 'react-router-dom';\nimport { Bell, Building2, ChevronDown, ClipboardList, DatabaseZap, LogOut, PlugZap, Settings, User } from 'lucide-react';\nimport { Button } from '@/components/ui/button';\nimport { Badge } from '@/components/ui/badge';\nimport {\n  DropdownMenu,\n  DropdownMenuContent,\n  DropdownMenuItem,\n  DropdownMenuLabel,\n  DropdownMenuSeparator,\n  DropdownMenuTrigger,\n} from '@/components/ui/dropdown-menu';\nimport { useAuth } from '@/contexts/AuthContext';\nimport { useMultiTenant } from '@/contexts/MultiTenantContext';\nimport { useTenantRoles } from '@/contexts/tenantSelectors';\nimport { TenantApplicationChromeContext } from '@/contexts/TenantApplicationChromeContext';\nimport { cn } from '@/lib/utils';\nimport TenantLogo from '@/components/branding/TenantLogo';\nimport { normalizeBusinessOperatingBlueprint } from '@/lib/tenantBlueprints/businessOperatingBlueprint';\nimport { resolveAdaptiveBlueprintRoutePath } from '@/lib/applications/applicationFamilyRegistry';\nimport { isTenantAvatarMenuTargetAllowed, resolveTenantAvatarMenuContract } from '@/lib/tenants/tenantAvatarMenuContract';\nimport CRMUserMenu from './CRMUserMenu';\nimport CurriPortfolioReturnMenuItem from '@/components/curri/CurriPortfolioReturnMenuItem';\nimport { useIsMobile } from '@/hooks/use-mobile';\nimport { tenantExperienceFamily } from '@/shells/modesTenantShell';\nimport { useGodModeTenantDemo } from '@/hooks/useGodModeTenantDemo';\n\ntype MiscAwareAccountMenuProps = {\n  placement?: 'fixed' | 'inline';\n  className?: string;\n  singletonKey?: string;\n  singletonPriority?: number;\n  fallback?: boolean;\n  tenantShellOwner?: boolean;\n  avatarMode?: 'tenant' | 'user';\n  trigger?: ReactElement;\n};\n\ntype WorkspaceMenuAction = { label: string; path: string; icon: typeof ClipboardList };\n\nconst TENANT_SELECTOR_PATH = '/select-tenant?manual=1';\n\ntype NativeMiscMenuRegistration = {\n  fallback: boolean;\n  owner: boolean;\n  priority: number;\n  mountedAt: number;\n};\n\nconst nativeMiscMenuRegistry = new Map<string, NativeMiscMenuRegistration>();\nconst nativeMiscRegistryListeners = new Set<() => void>();\nlet nativeMiscMountCounter = 0;\n\nfunction notifyNativeMiscRegistry() {\n  nativeMiscRegistryListeners.forEach((listener) => listener());\n}\n\nfunction preferredNativeMiscMenuId(tenantScopeKey: string) {\n  const candidates = Array.from(nativeMiscMenuRegistry.entries()).filter(([id]) => id.endsWith(`:${tenantScopeKey}`));\n  candidates.sort(([, a], [, b]) => {\n    if (a.owner !== b.owner) return a.owner ? -1 : 1;\n    if (a.priority !== b.priority) return b.priority - a.priority;\n    if (a.fallback !== b.fallback) return a.fallback ? 1 : -1;\n    return a.mountedAt - b.mountedAt;\n  });\n  return candidates[0]?.[0] || null;\n}\n\nfunction useNativeMiscMenuSingleton(\n  enabled: boolean,\n  instanceId: string,\n  tenantScopeKey: string,\n  fallback: boolean,\n  owner: boolean,\n  priority: number,\n) {\n  const [, forceRender] = useState(0);\n  useEffect(() => {\n    if (!enabled) return;\n    nativeMiscMenuRegistry.set(instanceId, { fallback, owner, priority, mountedAt: ++nativeMiscMountCounter });\n    const listener = () => forceRender((value) => value + 1);\n    nativeMiscRegistryListeners.add(listener);\n    notifyNativeMiscRegistry();\n    return () => {\n      nativeMiscRegistryListeners.delete(listener);\n      nativeMiscMenuRegistry.delete(instanceId);\n      notifyNativeMiscRegistry();\n    };\n  }, [enabled, instanceId, fallback, owner, priority]);\n  return !enabled || preferredNativeMiscMenuId(tenantScopeKey) === instanceId;\n}\n\nfunction normalizeTenantType(value?: string | null) {\n  return String(value || '').trim().toUpperCase().replace(/[\\s-]+/g, '_');\n}\n\nfunction getTenantDisplayName(tenant?: { company_dba_name?: string | null; company_legal_name?: string | null; name?: string | null; company_slug?: string | null } | null) {\n  return tenant?.company_dba_name || tenant?.company_legal_name || tenant?.name || tenant?.company_slug || 'Workspace';\n}\n\nfunction miscWorkspacePresentation(activeTenant: any) {\n  if (tenantExperienceFamily(activeTenant) === 'modes') {\n    return { actionLabel: 'Open workspace', workspaceLabel: 'MODES' };\n  }\n  const tenantType = normalizeTenantType(activeTenant?.tenant_type);\n  const workspaceType = String(activeTenant?.settings?.workspace_type || '').trim().toLowerCase();\n  const workspaceVariant = String(activeTenant?.settings?.workspace_variant || '').trim().toLowerCase();\n  const vertical = String(activeTenant?.settings?.vertical || '').trim().toLowerCase();\n  if (tenantType === 'PORTFOLIO_CONTROL_CENTER' || workspaceType === 'executive_control_center' || workspaceVariant === 'curri_control_center') {\n    return { actionLabel: 'Open control center', workspaceLabel: 'Executive Oversight' };\n  }\n  if (workspaceType === 'state_photo_docs') {\n    return { actionLabel: 'Facility Photo Report', workspaceLabel: 'Photo Documentation' };\n  }\n  if (workspaceType === 'mobile_vendor') {\n    return { actionLabel: 'Open workspace', workspaceLabel: 'Mobile Vendor' };\n  }\n  if (vertical === 'food_beverage') {\n    return { actionLabel: 'Open workspace', workspaceLabel: 'Food & Beverage' };\n  }\n  const blueprint = normalizeBusinessOperatingBlueprint(activeTenant?.settings || {}, activeTenant);\n  return { actionLabel: 'Open workspace', workspaceLabel: blueprint.vocabulary.workspace || 'Business Operations' };\n}\n\nfunction formatRole(role?: string | null) {\n  const normalized = String(role || '').trim().toUpperCase().replace(/[\\s-]+/g, '_');\n  if (normalized === 'OWNER' || normalized === 'TENANT_OWNER') return 'Owner';\n  if (normalized === 'MANAGER') return 'Route Manager';\n  if (normalized === 'OFFICE_ADMIN' || normalized === 'OFFICE_STAFF') return 'Office Coordinator';\n  if (normalized === 'CREW') return 'Crew Member';\n  if (normalized === 'REP') return 'Field Teammate';\n  if (normalized === 'GODMODE') return 'Platform Admin';\n  return normalized ? normalized.toLowerCase().split('_').map((part) => part.charAt(0).toUpperCase()).join(' ') : 'Team Member';\n}\n\nexport default function MiscAwareAccountMenu(props: MiscAwareAccountMenuProps) {\n  const navigate = useNavigate();\n  const { user, signOut } = useAuth();\n  const { activeTenant } = useMultiTenant();\n  const { effectiveRole, isTenantOwner, isAdminOrHigher, isGodMode, isSystemAdmin, hasGodModeAnywhere } = useTenantRoles();\n  const [isOpen, setIsOpen] = useState(false);\n  const [isSigningOut, setIsSigningOut] = useState(false);\n  const isMobile = useIsMobile();\n  const demo = useGodModeTenantDemo();\n  const applicationChromeMode = useContext(TenantApplicationChromeContext);\n  const tenantShellOwner = props.tenantShellOwner === true || props.fallback === true;\n  const explicitTenantShellOwner = props.tenantShellOwner === true && props.fallback !== true;\n  const nativeReactId = useId();\n\n  const tenantType = normalizeTenantType(activeTenant?.tenant_type);\n  const usesNativeMiscMenu = ['MISC', 'MISCELLANEOUS', 'PORTFOLIO_CONTROL_CENTER'].includes(tenantType);\n  const nativeTenantScopeKey = String(activeTenant?.id || tenantType || 'no-tenant');\n  const nativeRegistryId = `${props.singletonKey || nativeReactId}:${nativeTenantScopeKey}`;\n  const nativeShouldRender = useNativeMiscMenuSingleton(\n    usesNativeMiscMenu,\n    nativeRegistryId,\n    nativeTenantScopeKey,\n    props.fallback === true,\n    explicitTenantShellOwner,\n    explicitTenantShellOwner ? Math.max(props.singletonPriority || 0, 1000) : (props.singletonPriority || 0),\n  );\n  const tenantRoutes = resolveTenantAvatarMenuContract(activeTenant as any);\n  const teamPath = tenantRoutes.path('team');\n  const isOwnerLike = ['GODMODE','ADMIN','OWNER','TENANT_OWNER'].includes(String(effectiveRole || '').trim().toUpperCase().replace(/[\\s-]+/g, '_')) || isTenantOwner() || isAdminOrHigher() || isGodMode || isSystemAdmin || hasGodModeAnywhere();\n  const placement = props.placement || 'inline';\n  const tenantLabel = getTenantDisplayName(activeTenant);\n  const displayName = user?.user_metadata?.full_name || user?.user_metadata?.name || user?.email?.split('@')[0] || 'Account';\n  const displayEmail = user?.email || '';\n  const avatarUrl = String(user?.user_metadata?.avatar_url || user?.user_metadata?.picture || '').trim();\n  const initials = useMemo(() => {\n    const parts = String(displayName).split(/[\\s._-]+/).filter(Boolean);\n    return parts.slice(0, 2).map((part) => part.charAt(0).toUpperCase()).join('') || 'A';\n  }, [displayName]);\n\n  if (applicationChromeMode === 'tenant-integrated' && !tenantShellOwner) return null;\n\n  const handleSignOut = async () => {\n    setIsSigningOut(true);\n    setIsOpen(false);\n    try {\n      await signOut();\n    } finally {\n      setIsSigningOut(false);\n    }\n  };\n\n  const handleTenantNavigate = (path: string) => {\n    if (!isTenantAvatarMenuTargetAllowed(activeTenant as any, path)) return;\n    setIsOpen(false);\n    navigate(path);\n  };\n\n  if (tenantType === 'LAWN_CARE') {\n    if (placement !== 'inline') return null;\n    const roleLabel = formatRole(effectiveRole);\n    const useTenantAvatar = props.avatarMode === 'tenant';\n    const lawnCareWorkspacePath = tenantRoutes.basePath;\n    const lawnCareGearPath = `${lawnCareWorkspacePath}#gear`;\n    const lawnCareTeamPath = `${lawnCareWorkspacePath}#team`;\n    const lawnCareMoneyPath = `${lawnCareWorkspacePath}#invoices`;\n    return (\n      <div className={cn('relative z-10 inline-flex', props.className)} data-single-role-tenant-avatar=\"true\" data-lawn-care-account-menu=\"canonical\">\n        <DropdownMenu open={isOpen} onOpenChange={setIsOpen}>\n          <DropdownMenuTrigger asChild>\n            {props.trigger ?? <Button type=\"button\" variant=\"ghost\" size=\"sm\" className=\"min-h-[44px] max-w-[240px] gap-2 rounded-full border border-white/15 bg-slate-950/88 px-2 text-white shadow-sm backdrop-blur hover:bg-slate-900\" aria-label={`Open account menu for ${displayName}`} title={`${tenantLabel} · ${roleLabel}`}>\n              <span className=\"flex h-7 w-7 shrink-0 items-center justify-center overflow-hidden rounded-full border border-white/10 bg-slate-800 text-[11px] font-bold text-white\">\n                {useTenantAvatar ? <TenantLogo tenant={activeTenant as any} size={28} rounded=\"full\" fallbackVariant=\"initial\" className=\"border-0 bg-transparent\" /> : avatarUrl ? <img src={avatarUrl} alt=\"\" className=\"h-full w-full object-cover\" referrerPolicy=\"no-referrer\" /> : initials}\n              </span>\n              <span className=\"hidden min-w-0 flex-col items-start leading-tight sm:flex\"><span className=\"max-w-[145px] truncate text-xs font-semibold\">{displayName}</span><span className=\"max-w-[145px] truncate text-[10px] text-slate-300\">{roleLabel}</span></span>\n              <ChevronDown className=\"h-3.5 w-3.5 shrink-0 text-slate-300\" />\n            </Button>}\n          </DropdownMenuTrigger>\n          <DropdownMenuContent align=\"end\" className=\"w-72 max-h-[min(82vh,720px)] overflow-y-auto\">\n            <div className=\"px-3 py-3\"><div className=\"flex items-start gap-3\"><span className=\"flex h-10 w-10 shrink-0 items-center justify-center overflow-hidden rounded-full bg-slate-900 text-sm font-bold text-white\">{useTenantAvatar ? <TenantLogo tenant={activeTenant as any} size={40} rounded=\"full\" fallbackVariant=\"initial\" className=\"border-0 bg-transparent\" /> : avatarUrl ? <img src={avatarUrl} alt=\"\" className=\"h-full w-full object-cover\" referrerPolicy=\"no-referrer\" /> : initials}</span><div className=\"min-w-0 flex-1\"><p className=\"truncate text-sm font-semibold\">{displayName}</p>{displayEmail && <p className=\"truncate text-xs text-muted-foreground\">{displayEmail}</p>}<p className=\"truncate text-xs text-muted-foreground\">{tenantLabel}</p><div className=\"mt-2 flex flex-wrap gap-1.5\"><Badge variant=\"secondary\" className=\"h-5 px-1.5 text-[10px]\">{roleLabel}</Badge><Badge variant=\"outline\" className=\"h-5 px-1.5 text-[10px]\">Lawn Care</Badge></div></div></div></div>\n            <DropdownMenuSeparator />\n            <DropdownMenuLabel className=\"text-[11px] uppercase tracking-wide text-muted-foreground\">Workspace</DropdownMenuLabel>\n            <DropdownMenuItem onClick={() => handleTenantNavigate(lawnCareGearPath)}><ClipboardList className=\"mr-2 h-4 w-4\" /> Gear</DropdownMenuItem>\n            <DropdownMenuItem onClick={() => handleTenantNavigate(lawnCareTeamPath)}><User className=\"mr-2 h-4 w-4\" /> Team</DropdownMenuItem>\n            <DropdownMenuItem onClick={() => handleTenantNavigate(lawnCareMoneyPath)}><ClipboardList className=\"mr-2 h-4 w-4\" /> Money</DropdownMenuItem>\n            <DropdownMenuSeparator />\n            <DropdownMenuLabel className=\"text-[11px] uppercase tracking-wide text-muted-foreground\">Account</DropdownMenuLabel>\n            <DropdownMenuItem onClick={() => handleTenantNavigate(tenantRoutes.settingsPath)}><Settings className=\"mr-2 h-4 w-4\" /> Settings & Profile</DropdownMenuItem>\n            <DropdownMenuItem onClick={() => handleTenantNavigate(tenantRoutes.notificationsPath)}><Bell className=\"mr-2 h-4 w-4\" /> Notification settings</DropdownMenuItem>\n            {isOwnerLike ? <DropdownMenuItem onClick={() => handleTenantNavigate(tenantRoutes.connectionsPath)}><PlugZap className=\"mr-2 h-4 w-4\" /> Connections</DropdownMenuItem> : null}\n            <DropdownMenuItem onClick={() => { setIsOpen(false); window.location.assign(TENANT_SELECTOR_PATH); }}><Building2 className=\"mr-2 h-4 w-4\" /> Switch workspace</DropdownMenuItem>\n            {demo.available ? <DropdownMenuItem onClick={() => { setIsOpen(false); demo.setEnabled(!demo.enabled); }}><DatabaseZap className=\"mr-2 h-4 w-4\" />Demo data: {demo.enabled ? 'On' : 'Off'}</DropdownMenuItem> : null}\n            <DropdownMenuSeparator />\n            <DropdownMenuItem disabled={isSigningOut} onClick={() => void handleSignOut()} className=\"text-destructive focus:text-destructive\"><LogOut className=\"mr-2 h-4 w-4\" /> {isSigningOut ? 'Signing out…' : 'Sign out'}</DropdownMenuItem>\n          </DropdownMenuContent>\n        </DropdownMenu>\n      </div>\n    );\n  }\n\n  if (!usesNativeMiscMenu) return <CRMUserMenu {...props} placement={placement} tenantShellOwner={tenantShellOwner} />;\n  if (!nativeShouldRender) return null;\n\n  const settings = activeTenant?.settings && typeof activeTenant.settings === 'object' ? activeTenant.settings as Record<string, any> : {};\n  const workspaceType = String(settings.workspace_type || '').trim().toLowerCase();\n  const workspaceVariant = String(settings.workspace_variant || '').trim().toLowerCase();\n  const isModesWorkspace = tenantExperienceFamily(activeTenant) === 'modes';\n  const isExecutiveControlCenter = !isModesWorkspace && (tenantType === 'PORTFOLIO_CONTROL_CENTER' || workspaceType === 'executive_control_center' || workspaceVariant === 'curri_control_center');\n  const { actionLabel: workspaceActionLabel, workspaceLabel: legacyWorkspaceLabel } = miscWorkspacePresentation(activeTenant);\n  const workspaceLabel = isModesWorkspace ? 'MODES' : legacyWorkspaceLabel;\n  const blueprint = isExecutiveControlCenter || isModesWorkspace ? null : normalizeBusinessOperatingBlueprint(settings, activeTenant);\n  const blueprintActions = (blueprint?.modules ?? [])\n    .filter((module) => Boolean(module.path))\n    .map<WorkspaceMenuAction>((module) => ({\n      label: module.label,\n      path: activeTenant\n        ? (resolveAdaptiveBlueprintRoutePath(module.id, activeTenant as any, effectiveRole) || resolveAdaptiveBlueprintRoutePath(module.path, activeTenant as any, effectiveRole) || tenantRoutes.path(module.path))\n        : tenantRoutes.path(module.path),\n      icon: ClipboardList,\n    }))\n    .filter((action, index, actions) => isTenantAvatarMenuTargetAllowed(activeTenant as any, action.path) && actions.findIndex((candidate) => candidate.path === action.path) === index)\n    .slice(0, 7);\n  const workspaceActions: WorkspaceMenuAction[] = (isModesWorkspace\n    ? [{ label: 'MODES home', path: tenantRoutes.workspacePath, icon: ClipboardList }]\n    : isExecutiveControlCenter\n    ? [\n        { label: 'Command Mode', path: tenantRoutes.workspacePath, icon: ClipboardList },\n        { label: 'Portfolio Mode', path: `${tenantRoutes.workspacePath}?tab=businesses`, icon: Building2 },\n        { label: 'Opportunity Mode', path: `${tenantRoutes.workspacePath}?tab=opportunities`, icon: ClipboardList },\n        { label: 'Decision Mode', path: `${tenantRoutes.workspacePath}?tab=decisions`, icon: ClipboardList },\n        { label: 'Systems', path: `${tenantRoutes.workspacePath}?tab=more`, icon: Settings },\n      ]\n    : [\n        { label: workspaceActionLabel, path: tenantRoutes.workspacePath, icon: ClipboardList },\n        ...blueprintActions.filter((action) => action.path !== tenantRoutes.workspacePath),\n      ]).filter((action) => isTenantAvatarMenuTargetAllowed(activeTenant as any, action.path)).slice(0, 8);\n  const containerClass = placement === 'fixed' ? 'fixed right-4 z-50' : 'relative z-10 inline-flex';\n  const containerStyle = placement === 'fixed' ? { top: 'calc(var(--comm-banner-h, 0px) + 1rem)' } : undefined;\n\n  return (\n    <div className={cn(containerClass, props.className)} style={containerStyle} data-single-role-tenant-avatar=\"true\" data-misc-tenant-avatar=\"true\" data-tenant-native-avatar-menu=\"true\" data-tenant-avatar-slug={tenantRoutes.tenantSlug}>\n      <DropdownMenu open={isOpen} onOpenChange={setIsOpen}>\n        <DropdownMenuTrigger asChild>\n          {props.trigger ?? <Button type=\"button\" variant=\"ghost\" size=\"sm\" className={cn('min-h-[44px] rounded-full border border-border/50 bg-background/72 text-foreground shadow-sm transition hover:bg-muted/80', isMobile ? 'w-[44px] p-0' : 'max-w-[260px] gap-2 px-2')} aria-label={`Open ${tenantLabel} workspace menu`} title={tenantLabel} onPointerDown={isExecutiveControlCenter ? (event) => { event.preventDefault(); setIsOpen((open) => !open); } : undefined}>\n            <span className=\"flex h-7 w-7 shrink-0 items-center justify-center overflow-hidden rounded-full border border-border/60 bg-background\"><TenantLogo tenant={activeTenant as any} size={28} rounded=\"full\" fallbackVariant=\"initial\" className=\"border-0 bg-transparent\" /></span>\n            <span className=\"hidden min-w-0 flex-col items-start leading-tight sm:flex\"><span className=\"max-w-[150px] truncate text-xs font-semibold\">{tenantLabel}</span><span className=\"max-w-[150px] truncate text-[10px] text-muted-foreground\">{workspaceLabel}</span></span>\n            {!isMobile ? <ChevronDown className=\"h-3.5 w-3.5 shrink-0 text-muted-foreground\" /> : null}\n          </Button>}\n        </DropdownMenuTrigger>\n        <DropdownMenuContent align=\"end\" className=\"w-72 max-h-[min(82vh,720px)] overflow-y-auto\">\n          <div className=\"px-3 py-3\"><div className=\"flex items-start gap-3\"><span className=\"flex h-10 w-10 shrink-0 items-center justify-center overflow-hidden rounded-full border border-border/60 bg-background\"><TenantLogo tenant={activeTenant as any} size={40} rounded=\"full\" fallbackVariant=\"initial\" className=\"border-0 bg-transparent\" /></span><div className=\"min-w-0 flex-1\"><p className=\"truncate text-sm font-semibold\">{tenantLabel}</p><p className=\"truncate text-xs text-muted-foreground\">{displayName}</p>{displayEmail && <p className=\"truncate text-xs text-muted-foreground\">{displayEmail}</p>}<div className=\"mt-2 flex flex-wrap gap-1.5\"><Badge variant=\"secondary\" className=\"h-5 px-1.5 text-[10px]\">Workspace</Badge><Badge variant=\"outline\" className=\"h-5 px-1.5 text-[10px]\">{workspaceLabel}</Badge></div></div></div></div>\n          <DropdownMenuSeparator />\n          <DropdownMenuLabel className=\"text-[11px] uppercase tracking-wide text-muted-foreground\">Workspace</DropdownMenuLabel>\n          {workspaceActions.map(({ label, path, icon: Icon }) => <DropdownMenuItem key={`${label}:${path}`} onClick={() => handleTenantNavigate(path)}><Icon className=\"mr-2 h-4 w-4\" />{label}</DropdownMenuItem>)}\n          {isOwnerLike ? <DropdownMenuItem onClick={() => handleTenantNavigate(teamPath)}><User className=\"mr-2 h-4 w-4\" /> Team</DropdownMenuItem> : null}\n          <CurriPortfolioReturnMenuItem onNavigate={() => setIsOpen(false)} />\n          <DropdownMenuItem onClick={() => { setIsOpen(false); navigate(TENANT_SELECTOR_PATH); }}><Building2 className=\"mr-2 h-4 w-4\" />Switch workspace</DropdownMenuItem>\n          <DropdownMenuSeparator />\n          <DropdownMenuLabel className=\"text-[11px] uppercase tracking-wide text-muted-foreground\">My account</DropdownMenuLabel>\n          <DropdownMenuItem onClick={() => handleTenantNavigate(tenantRoutes.settingsPath)}><Settings className=\"mr-2 h-4 w-4\" />Settings & Profile</DropdownMenuItem>\n          <DropdownMenuItem onClick={() => handleTenantNavigate(tenantRoutes.notificationsPath)}><Bell className=\"mr-2 h-4 w-4\" />Notification settings</DropdownMenuItem>\n          {isOwnerLike ? <DropdownMenuItem onClick={() => handleTenantNavigate(tenantRoutes.connectionsPath)}><PlugZap className=\"mr-2 h-4 w-4\" />Connections</DropdownMenuItem> : null}\n          {demo.available ? <DropdownMenuItem onClick={() => { setIsOpen(false); demo.setEnabled(!demo.enabled); }}><DatabaseZap className=\"mr-2 h-4 w-4\" />Demo data: {demo.enabled ? 'On' : 'Off'}</DropdownMenuItem> : null}\n          <DropdownMenuItem disabled={isSigningOut} onClick={() => void handleSignOut()} className=\"text-destructive focus:text-destructive\"><LogOut className=\"mr-2 h-4 w-4\" />{isSigningOut ? 'Signing out…' : 'Sign out'}</DropdownMenuItem>\n        </DropdownMenuContent>\n      </DropdownMenu>\n    </div>\n  );\n}\n\nexport function TenantMobileAccountSlot({ className, triggerClassName, label = 'Account' }: { className?: string; triggerClassName?: string; label?: string }) {\n  const { user } = useAuth();\n  const displayName = user?.user_metadata?.full_name || user?.user_metadata?.name || user?.email?.split('@')[0] || 'Account';\n  const avatarUrl = String(user?.user_metadata?.avatar_url || user?.user_metadata?.picture || '').trim();\n  const initials = String(displayName).split(/[\\s._-]+/).filter(Boolean).slice(0,2).map((part)=>part.charAt(0).toUpperCase()).join('') || 'A';\n  return (\n    <MiscAwareAccountMenu\n      placement=\"inline\"\n      className={className}\n      avatarMode=\"user\"\n      tenantShellOwner\n      trigger={\n        <button\n          type=\"button\"\n          data-tenant-mobile-account-slot=\"true\"\n          aria-label={`Open account menu for ${displayName}`}\n          className={cn('flex min-h-[44px] w-full flex-col items-center justify-center gap-1 rounded-xl px-1 text-[10px] font-medium text-muted-foreground transition-colors hover:bg-accent hover:text-accent-foreground', triggerClassName)}\n        >\n          <span className=\"flex h-6 w-6 items-center justify-center overflow-hidden rounded-full border border-current/20 bg-background/70 text-[10px] font-black\">\n            {avatarUrl ? <img src={avatarUrl} alt=\"\" className=\"h-full w-full object-cover\" referrerPolicy=\"no-referrer\" /> : initials}\n          </span>\n          <span className=\"max-w-full truncate\">{label}</span>\n        </button>\n      }\n    />\n  );\n}\n","expectedSha":"875eeadfbe790460fce77b8aabf8b69e04369e68"},{"path":"src/__tests__/contracts/mobile-tenant-avatar-navigation.contract.test.ts","content":"import { readFileSync } from 'node:fs';\nimport { resolve } from 'node:path';\nimport { describe, expect, it } from 'vitest';\n\nconst read = (path: string) => readFileSync(resolve(process.cwd(), path), 'utf8');\n\ndescribe('mobile tenant avatar navigation contract', () => {\n  it('gives generic CRMShell workspaces a canonical mobile nav and removes the duplicate mobile header avatar', () => {\n    const shell = read('src/components/crm/CRMShell.tsx');\n    expect(shell).toContain(\"<CRMMobileNavigation/>\");\n    expect(shell).toContain(\"{!isMobile?<MiscAwareAccountMenu\");\n    expect(shell).toContain('data-pcg-mobile-navigation=\"true\"');\n    expect(shell).toContain('<TenantMobileAccountSlot');\n  });\n\n  it('builds generic mobile navigation from canonical mobile placement metadata and keeps account last', () => {\n    const mobile = read('src/components/crm/CRMMobileNavigation.tsx');\n    expect(mobile).toContain(\"navigationItemHasPlacement(item, 'mobile-more')\");\n    expect(mobile).toContain('resolveAdaptiveBlueprintRoutePath');\n    expect(mobile).toContain('data-generic-crm-mobile-navigation=\"true\"');\n    expect(mobile.lastIndexOf('<TenantMobileAccountSlot')).toBeGreaterThan(mobile.lastIndexOf('</DropdownMenu>'));\n  });\n\n  it('keeps specialized mobile navigation destinations and places the tenant account slot last', () => {\n    const sce = read('src/components/sce/SCENavigation.tsx');\n    const barbershop = read('src/components/barbershop/BarbershopNavigation.tsx');\n    expect(sce).toContain('const overflowItems=[...primaryItems.slice(4)');\n    expect(sce.lastIndexOf('<TenantMobileAccountSlot')).toBeGreaterThan(sce.lastIndexOf('</DropdownMenu>'));\n    expect(barbershop).toContain('grid-cols-6');\n    expect(barbershop.lastIndexOf('<TenantMobileAccountSlot')).toBeGreaterThan(barbershop.lastIndexOf('>More</button>'));\n    const bigPapis = read('src/pages/mobile-vendor/BigPapisOwnerShell.tsx');\n    expect(bigPapis).toContain('grid-cols-5');\n    expect(bigPapis).toContain('data-big-papis-mobile-nav-contract=\"crown-centered-v3\"');\n    expect(bigPapis).toContain('mobileShortcutItems.slice(2, 3)');\n    expect(bigPapis).toContain('data-big-papis-crown-slot=\"true\"');\n    expect(bigPapis).toContain('...modeNavigationItems.map((item) => ({ ...item, accent: modeAccent }))');\n    expect(bigPapis).not.toContain(\"label: activeMode === 'office' ? 'Back Office' : activeModeConfig.label\");\n    expect(bigPapis.lastIndexOf('data-big-papis-mobile-account-menu=\"true\"')).toBeGreaterThan(bigPapis.lastIndexOf('data-big-papis-crown-slot=\"true\"'));\n  });\n\n  it('declares one canonical mobile shell contract at the shared private tenant workspace root', () => {\n    const privateShell = read('src/PrivateAppShell.tsx');\n    expect(privateShell).toContain('data-tenant-mobile-shell-contract=\"canonical-v2\"');\n    expect(privateShell).toContain('[data-big-papis-mobile-nav=\"true\"]');\n    expect(privateShell).toContain('<TenantLayoutPreferenceBridge/>');\n    expect(privateShell).toContain('min-w-0 w-full max-w-full');\n    expect(privateShell).toContain(\"--kl-platform-mobile-nav-h\");\n    expect(privateShell).toContain(\"const canonicalTenantNavs=selectors.map((selector)=>document.querySelector<HTMLElement>(selector))\");\n    expect(privateShell).toContain(\"const ordered=[primary,...Array.from(new Set(canonicalTenantNavs.filter((candidate)=>candidate!==primary)))]\");\n    expect(privateShell).not.toContain(\"document.body.querySelectorAll<HTMLElement>('*')).filter((candidate)=>\");\n    expect(privateShell).toContain(\"footer.style.setProperty('bottom','0px','important')\");\n    const appCss = read('src/App.css');\n    expect(appCss).toContain('bottom: calc(var(--kl-platform-mobile-nav-h, 0px) + env(safe-area-inset-bottom)) !important;');\n    expect(appCss).toContain('.kl-responsive-tenant-runtime[data-route-scroll-owner=\"tenant\"]');\n    expect(appCss).toContain('bottom: var(--kl-shell-bottom-inset) !important;');\n    expect(appCss).toContain('.kl-responsive-tenant-runtime[data-route-scroll-owner=\"document\"]');\n    expect(appCss).toContain('scroll-padding-bottom: var(--kl-shell-bottom-inset);');\n    expect(appCss).toContain('body.kl-big-papis-app-family .kl-responsive-tenant-runtime');\n  });\n\n  it('keeps private lawn-care workspaces on the canonical tenant viewport owner', () => {\n    const app = read('src/App.tsx');\n    const routeEffects = read('src/runtime/useAppRouteDocumentEffects.ts');\n    expect(app).toContain('useAppRouteDocumentEffects({');\n    expect(routeEffects).toContain('const documentOwnsLawnCareViewport = isLawnCareRoute && (isPublicRoute || isSelfContainedBookingRoute);');\n    expect(routeEffects).toContain(\"classList.toggle('kl-lawn-care-mobile-route', documentOwnsLawnCareViewport)\");\n  });\n\n  it('never treats self-contained authenticated route families as an avatar exemption', () => {\n    const privateShell = read('src/PrivateAppShell.tsx');\n    expect(privateShell).toContain('const selfContainedRouteFamily=resolveTenantWorkspaceRuntimeProfile(activeTenant,location.pathname).isSelfContainedTenantWorkspace');\n    expect(privateShell).toContain('adaptiveShellOwnsAccountMenu&&!selfContainedRouteFamily');\n    expect(privateShell).toContain('<GlobalFallbackAccountMenu/>');\n    expect(privateShell).not.toContain('verifyShellOwnership={isSelfContainedTenantWorkspace}');\n  });\n\n  it('keeps the avatar safety net at the tenant-owned shell boundary instead of making PrivateAppShell the experience owner', () => {\n    const boundary = read('src/shells/TenantOwnedShellBoundary.tsx');\n    const menu = read('src/components/CRMUserMenu.tsx');\n    expect(boundary).toContain('function TenantExperienceContract');\n    expect(boundary).toContain('data-tenant-experience-account-fallback=\"true\"');\n    expect(boundary).toContain('singletonKey=\"tenant-experience-account-menu\"');\n    expect(boundary).toContain('fallback');\n    expect(boundary).toContain('tenantShellOwner');\n    expect(boundary).toContain('return <TenantExperienceContract>{shell}</TenantExperienceContract>');\n    expect(boundary).toContain(\"case 'pcg':\");\n    expect(boundary).toContain(\"case 'modes':\");\n    expect(boundary).toContain(\"case 'redfish':\");\n    expect(menu).toContain('tenantShellOwner ? Math.max(singletonPriority, 1000) : singletonPriority');\n    expect(menu).toContain('if (a.fallback !== b.fallback) return a.fallback ? 1 : -1;');\n  });\n\n  it('suppresses the shared fallback when a native MISC tenant shell owns its account menu', () => {\n    const menu = read('src/components/MiscAwareAccountMenu.tsx');\n    expect(menu).toContain('const nativeMiscMenuRegistry = new Map<string, NativeMiscMenuRegistration>()');\n    expect(menu).toContain('if (a.owner !== b.owner) return a.owner ? -1 : 1;');\n    expect(menu).toContain('if (a.fallback !== b.fallback) return a.fallback ? 1 : -1;');\n    expect(menu).toContain('const explicitTenantShellOwner = props.tenantShellOwner === true && props.fallback !== true;');\n    expect(menu).toContain('if (!nativeShouldRender) return null;');\n  });\n\n  it('uses the authenticated user avatar for the mobile account slot and keeps tenant branding separate', () => {\n    const menu = read('src/components/MiscAwareAccountMenu.tsx');\n    expect(menu).toContain('trigger?: ReactElement');\n    expect(menu).toContain('data-tenant-mobile-account-slot=\"true\"');\n    expect(menu).toContain('avatarMode=\"user\"');\n    expect(menu).toContain('user?.user_metadata?.avatar_url');\n    expect(menu).not.toContain('<TenantLogo size={24}');\n  });\n});\n","expectedSha":"69083210b25dd899355135c2ff34dfad6859f347"}],"branch":"ai/objective-first-repair-mutvqzks","writes":[],"patches":[],"version":1,"approved":true,"missionId":"536e55dc-dabc-4153-9520-9fe3b9311c84","objective":"Continue the already synthesized native MISC/MODES account-menu singleton corrective repair on this exact branch. Apply the supplied exact full-file writes, add focused coverage, then canonical Gate, squash merge, frontend release and live proof. Do not create a replacement branch or broaden into PrivateAppShell.","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":null,"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":"8798ec03fd056f8dbaf9a502512f3be25dd103591e2979477cb1c82d15a3d7c3","replayCount":0,"serializedBytes":32817},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T13:57:34.290564+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:536e55dc-dabc-4153-9520-9fe3b9311c84:repository-mutation-intent:8798ec03fd056f8dbaf9a502512f3be25dd103591e2979477cb1c82d15a3d7c3:0","mission_step_id":"e239b075-8e5a-40e4-b7da-a265ab9e5083","command_center_event_id":"536e55dc-dabc-4153-9520-9fe3b9311c84"},{"id":"72d48e5e-a034-486b-850d-d154dbdbb31a","source":"forgejo","status":"retryable","payload":{"branch":"ai/objective-first-repair-5bc6055a2954","merged":false,"prNumber":3689,"remediationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T00:29:00.80814+00:00","proof_gate":"forgejo_closed_pr_is_authoritative_source_lineage","source_sha":null,"external_id":"3689","receipt_type":"source_lineage_pr_closed_without_merge","idempotency_key":"mission:5bc6055a-2954-43d2-8509-02bdd0065617:closed-pr:3689:unmerged","mission_step_id":"9640baa8-d8ac-4c6c-9351-42f36be68b19","command_center_event_id":"5bc6055a-2954-43d2-8509-02bdd0065617"},{"id":"72d5c353-25a1-4a54-8c8e-f09cd5aca769","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"f847067b6a599ffb4e7f1d5d81f0a00212e5989e","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"9d71c0e252776d1c91713e69636e895d97ed9a7f","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":"7b2875ee320606bb0c62ec4ee65304231763b55941fd1bf66e829087cd55a159","forgejoWorkflowProof":{"runId":15253,"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-04T12:57:56.86396+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"9d71c0e252776d1c91713e69636e895d97ed9a7f","external_id":"forgejo-main-9d71c0e25277","receipt_type":"canonical_release_status","idempotency_key":"mission:e41e9e52-fdde-4784-a17e-d1c878d8dcca:forgejo-release-status:9d71c0e252776d1c91713e69636e895d97ed9a7f:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"5039b654-69dd-4166-921b-09a92f697b0f","command_center_event_id":"e41e9e52-fdde-4784-a17e-d1c878d8dcca"},{"id":"72d7ed7d-6616-42ee-806f-51a10a72b176","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Unfreeze the control plane on exact current main b7dbc0e129e3c74c5c3ae4a2070ba85452dbc704 and repair the exact-green merge race without weakening safety. When exact-green merge is rejected only because the PR head is behind current main, automatically refresh that same ai/* PR onto current main, discard stale green proof, return to waiting-for-gate, and require a fresh canonical Gate on the refreshed exact head before merge. Preserve the same durable mission and PR identity, do not create a replacement PR, do not manual-merge, and do not re-enter /mission/execute merely to refresh. Add regression coverage, update capability policy and runtime version, run canonical Gate, squash merge, release cc-execution only, verify live runtime identity, then refreeze.","wordingChanged":false,"canonicalIntent":"Unfreeze the control plane on exact current main b7dbc0e129e3c74c5c3ae4a2070ba85452dbc704 and repair the exact-green merge race without weakening safety. When exact-green merge is rejected only because the PR head is behind current main, automatically refresh that same ai/* PR onto current main, discard stale green proof, return to waiting-for-gate, and require a fresh canonical Gate on the refreshed exact head before merge. Preserve the same durable mission and PR identity, do not create a replacement PR, do not manual-merge, and do not re-enter /mission/execute merely to refresh. Add regression coverage, update capability policy and runtime version, run canonical Gate, squash merge, release cc-execution only, verify live runtime identity, then refreeze.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"race-repair","statement":"Behind-base rejection on an exact-green armed PR automatically refreshes the same PR onto current main and returns it to canonical Gate without owner intervention or a replacement PR.","proofConditionIds":["repo","gate"]},{"id":"safety","statement":"Stale green proof is never reused after base movement; squash merge occurs only after the refreshed exact head passes canonical Gate.","proofConditionIds":["gate","safety"]},{"id":"release","statement":"Only cc-execution is released and live runtime identity matches the merged source.","proofConditionIds":["release","runtime"]},{"id":"refreeze","statement":"Control plane is refrozen after production proof.","proofConditionIds":["refrozen"]}],"objective":"Unfreeze the control plane on exact current main b7dbc0e129e3c74c5c3ae4a2070ba85452dbc704 and repair the exact-green merge race without weakening safety. When exact-green merge is rejected only because the PR head is behind current main, automatically refresh that same ai/* PR onto current main, discard stale green proof, return to waiting-for-gate, and require a fresh canonical Gate on the refreshed exact head before merge. Preserve the same durable mission and PR identity, do not create a replacement PR, do not manual-merge, and do not re-enter /mission/execute merely to refresh. Add regression coverage, update capability policy and runtime version, run canonical Gate, squash merge, release cc-execution only, verify live runtime identity, then refreeze.","constraints":[{"id":"same-pr","statement":"Preserve the same durable mission and PR identity; do not create a replacement PR or manually merge.","proofConditionIds":["repo"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"repo","kind":"repository","claim":"Source implements same-PR behind-base auto-refresh and regression coverage.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"gate","kind":"release","claim":"Canonical Gate passes on the repair PR and refreshed proof generations.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"safety","kind":"repository","claim":"No stale green proof bypass and no /mission/execute re-entry for refresh.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"release","kind":"release","claim":"Canonical release targets cc-execution only.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"runtime","kind":"runtime","claim":"Live cc-execution runtime source/version matches merged repair.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"refrozen","kind":"runtime","claim":"Control plane is refrozen.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestContractHash":"67936a3c1b31bc56d4c5f3b5763e74e59010076f882cb72e1295745b0bf50670","requestContractRevision":2,"previousRequestContractHash":"d4e7c04165b78c9865bef30b202120b369f8d769cbf3bbd98af6d47abf0bd3e3"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T13:50:04.83643+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:9af67bef-e172-4647-ab92-69a2fe5fd737:request-contract:67936a3c1b31bc56d4c5f3b5763e74e59010076f882cb72e1295745b0bf50670","mission_step_id":"dadd50be-50e8-4e2c-a0a2-a2af26b94cb6","command_center_event_id":"9af67bef-e172-4647-ab92-69a2fe5fd737"},{"id":"72d85b5e-5507-4bf4-b703-da7cab5a7cb1","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-90ef6d5b28ec","reason":"control_plane_frozen_explicit_unfreeze_required","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.185-generation-proof-isolation","prNumber":3279,"terminal":false,"missionId":"90ef6d5b-28ec-455b-b304-41150b7128ca","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":1036,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":845,"ledgerReconcileMs":0,"lineageReconcileMs":191,"resolvePreflightMs":1036,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":845,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"90ef6d5b-28ec-455b-b304-41150b7128ca"},"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":1568,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-20T06:01:16.064123+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":"3279","receipt_type":"execute_mission","idempotency_key":"mission:90ef6d5b-28ec-455b-b304-41150b7128ca:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"da34ee0a-552a-47dd-8589-c2779b6502ae","command_center_event_id":"90ef6d5b-28ec-455b-b304-41150b7128ca"},{"id":"72d86b5a-e8d9-450c-8786-60ea82eea908","source":"cc-execution","status":"repair_prepared","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/seaside-vanity-canonical-rocket-canvas-20260806-r202608070219","reason":null,"status":"repair_prepared","metrics":{"receiptBytes":918,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.30.20-pr-scoped-release-missions","prNumber":4172,"terminal":false,"missionId":"1ad939a3-5e09-4454-ab4d-759ac2b0ccf4","operation":"execute_mission","proofGate":"repair_mission_prepared","sourceSha":null,"timingsMs":null,"nextAction":"continue_batch_or_ship_and_prove","receiptRef":{"mode":"full","missionId":"1ad939a3-5e09-4454-ab4d-759ac2b0ccf4"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"onePullRequest":true,"terminalProofRequired":true},"sourceReceiptBytes":1551,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-08-07T02:19:44.524789+00:00","proof_gate":"repair_mission_prepared","source_sha":null,"external_id":"4172","receipt_type":"execute_mission","idempotency_key":"mission:1ad939a3-5e09-4454-ab4d-759ac2b0ccf4:execute_mission:repair_mission_prepared","mission_step_id":"7c14a24a-fe2b-4cec-ba17-a5c3b42e8eed","command_center_event_id":"1ad939a3-5e09-4454-ab4d-759ac2b0ccf4"},{"id":"72dad9a6-acb7-4623-a651-64b1bed5e052","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"8fa490bc90057f6257e5dd951acb460c8b8b12dd","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"8fa490bc90057f6257e5dd951acb460c8b8b12dd","releaseState":"verified","sourceInMain":true,"compareStatus":"identical","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/1601","runId":1601,"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-19T23:24:42.451703+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"8fa490bc90057f6257e5dd951acb460c8b8b12dd","external_id":"forgejo-main-8fa490bc9005","receipt_type":"canonical_release_status","idempotency_key":"mission:c0c2a9c1-0def-4e1f-9538-7f367294a606:forgejo-release-status:8fa490bc90057f6257e5dd951acb460c8b8b12dd:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"06f5a858-5765-4b35-974a-5caba6f1de85","command_center_event_id":"c0c2a9c1-0def-4e1f-9538-7f367294a606"},{"id":"72db8eff-9b44-47df-a5a1-4a61e858d357","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","cc-execution/runtime-proof":"success"},"mainSha":"1b3f37645b5ffebc2eb855aa7c7fad88b508c7b1","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"dc139f274aaf4f86fecc924f24c41e6869c734f9","releaseState":"verified","sourceInMain":true,"compareStatus":"known_exact_protected_main_push_history","releaseTargets":{"frontend":false,"migrations":false,"ccExecution":true,"supabaseEdge":false},"releaseTargetStates":{"ccExecution":"success"},"requestContractHash":"dba69bda8ff02af25a1102525beb334a3a66cfe5ab2d0f4eae0c4b358340f870","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/22759","runId":23096,"status":"success","sourceSha":"dc139f274aaf4f86fecc924f24c41e6869c734f9","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"ccExecution":"success"},"targetJobCount":7,"observedTargetStates":{"ccExecution":"success"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"dc139f274aaf4f86fecc924f24c41e6869c734f9","proofGate":"cc_execution_target_aware_runtime_identity_verified","deploymentId":"forgejo-main-dc139f274aaf4f86fecc924f24c41e6869c734f9","compareStatus":"target_job_success_runtime_verified","workflowRunId":23096,"identitySource":"canonical_release_target_job","runtimeVersion":"1.67.20-three-way-current-anchor-proof","workflowFailed":false,"containsSourceSha":true},"releaseTargetRecoveryProof":{"exact":true,"source":"exact_source_parent_diff_shared_release_owner_mapping","parentSha":"68525690e9665596e8584242c0bdfaf1e6b90ffa","sourceSha":"dc139f274aaf4f86fecc924f24c41e6869c734f9","changedPaths":["workers/cc-execution/src/entrypoint-owner-status.js"],"changedPathCount":1,"independentOfCurrentMainCompare":true},"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-13T20:23:21.741069+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"dc139f274aaf4f86fecc924f24c41e6869c734f9","external_id":null,"receipt_type":"canonical_release_status","idempotency_key":"mission:59dd44f1-14e0-40ab-b7f7-55ecd29fbd36:forgejo-release-status:dc139f274aaf4f86fecc924f24c41e6869c734f9:verified:forgejo-main/source=success|forgejo-release/workflow=success|cc-execution/runtime-proof=success","mission_step_id":"0bbfe975-8c3d-4ee1-be9a-23d80e40191e","command_center_event_id":"59dd44f1-14e0-40ab-b7f7-55ecd29fbd36"},{"id":"72dc1f2a-7430-49fe-bcf4-f09b501fe778","source":"cc-execution","status":"no_change","payload":{"ok":true,"jobId":null,"phase":"runtime_proof","branch":"ai/objective-first-repair-mtqpsswo","reason":null,"status":"no_change","metrics":{"receiptBytes":0,"releaseCount":1,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.70-forgejo-source-discovery-retry-window","prNumber":2048,"terminal":true,"missionId":"38400e28-4452-49e5-8759-0b2535548946","operation":"execute_mission","proofGate":"repair_mission_no_change_verified","sourceSha":"0c3cab6116754520713879576744bd15d3a008e7","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":491,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":361,"providerAuthMs":0,"ledgerPrepareMs":361,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":361,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":361,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"38400e28-4452-49e5-8759-0b2535548946"},"performance":null,"deploymentId":"forgejo-main-0c3cab611675","workflowRunId":6102,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":true,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["application-api"]},"detailsAvailable":true,"ownerFacingState":"LIVE","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1165,"ownerActionRequired":false,"ownerFacingTerminal":true,"continuationRequired":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-07T04:24:29.529847+00:00","proof_gate":"repair_mission_no_change_verified","source_sha":"0c3cab6116754520713879576744bd15d3a008e7","external_id":"forgejo-main-0c3cab611675","receipt_type":"execute_mission","idempotency_key":"mission:38400e28-4452-49e5-8759-0b2535548946:execute_mission:repair_mission_no_change_verified:current-generation","mission_step_id":"f753fba4-6ed4-4348-87dc-d2bdd72bcb79","command_center_event_id":"38400e28-4452-49e5-8759-0b2535548946"},{"id":"72def5c0-dd85-45fb-bc29-024a85a07f7c","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\":\"source_resolution_required\",\"proofGate\":\"repair_mission_source_resolution_required\"},\"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\":2,\"verified\":0,\"pending\":2,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\",\"proof-visual\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"implementation\",\"deadlineAt\":\"2026-09-21T03:57:14.734836+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-72e56e2b3254\",\"prNumber\":null,\"sourceSha\":null,\"deploymentId\":null}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-21T02:01:03.700073+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:72e56e2b-3254-421f-af3e-c4b83eb9a7d9:owner-progress-heartbeat:119330404","mission_step_id":"af865584-3fd6-4e35-96f2-09234958e831","command_center_event_id":"72e56e2b-3254-421f-af3e-c4b83eb9a7d9"},{"id":"72e03d02-e9a9-4f68-a18f-5d8f160a8ba3","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-128dc323d0c6","reason":"control_plane_maintenance_authorization_required","status":"blocked","metrics":{"receiptBytes":3557,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"executorlessWaitMs":11769,"firstUsefulResultAt":"2026-09-26T19:32:15.025Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.287-console-service-binding","prNumber":null,"terminal":false,"missionId":"128dc323-d0c6-45a9-86e3-473abe1fe094","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":265,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":265,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":265,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":265,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"128dc323-d0c6-45a9-86e3-473abe1fe094"},"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":1440,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-26T19:34:14.181868+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:128dc323-d0c6-45a9-86e3-473abe1fe094:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"9431ceee-deb6-48e2-babe-0a7a31de6dc8","command_center_event_id":"128dc323-d0c6-45a9-86e3-473abe1fe094"},{"id":"72e1bcff-259a-44a9-a201-52a1cc42048f","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","automationAllowed":true,"ownerActionRequired":false},"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},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_pull_request\",\"recoveryOwner\":\"cc-execution\"},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"runtime_proof\",\"deadlineAt\":\"2026-10-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-06T12:19:04.62926+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:119419276","mission_step_id":"a036e1a4-6bb7-4248-b530-a16b22bcaaa4","command_center_event_id":"8461f374-86b0-422f-bb81-3fb39febaab9"},{"id":"72e1e628-8497-4f09-a516-22ef8d73ede2","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/visual-witness-repair-the-universal-visual-witne","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.31.26-direct-route-visual-intent","prNumber":null,"terminal":false,"missionId":"ea180a72-854c-4531-ac3d-1a7b901fa724","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":"ea180a72-854c-4531-ac3d-1a7b901fa724"},"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":9196,"likelyAffectedFiles":["scripts/visual-witness-hosted-runner/src/universal-witness.mjs","scripts/visual-witness-hosted-runner/src/runner-entrypoint.mjs","workers/cc-execution/src/index-visual-witness-fast-path.js",".github/workflows/production-release-conductor.yml","scripts/resolve-autonomous-change-plan.mjs","scripts/resolve-production-workflow-run.mjs","src/routes/","src/pages/","src/components/","src/index.css",".github/workflows/canonical-pull-request-gate.yml","workers/cc-execution/src/index-controlled-deploy-gate.js"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-08-09T13:19:26.214326+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:ea180a72-854c-4531-ac3d-1a7b901fa724:execute_mission:repair_mission_synthesis_ready","mission_step_id":"4b30d902-cf78-4f87-b7f6-971d5439f239","command_center_event_id":"ea180a72-854c-4531-ac3d-1a7b901fa724"},{"id":"72eb030a-f088-46d2-aee0-9829555b67e7","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"objective_received","branch":"ai/fix-frontend-gate-tsc-heap-20260827","reason":"anchored_edit_anchor_not_unique:.forgejo/workflows/knocklaunch.yml","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.52.8-deterministic-green-merge-ack","prNumber":null,"terminal":false,"missionId":"de2e2fac-e9ec-403d-ae56-6cfafbfac4de","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"handlerMs":185,"prReadinessMs":0,"approvedPlanMs":185,"missionSetupMs":2936,"shipAndProveMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"de2e2fac-e9ec-403d-ae56-6cfafbfac4de"},"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":5004,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-27T02:35:00.320948+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:de2e2fac-e9ec-403d-ae56-6cfafbfac4de:execute_mission:repair_mission_execution_blocked","mission_step_id":"8dced2c8-2ca4-43b1-a033-b50d0eb37c89","command_center_event_id":"de2e2fac-e9ec-403d-ae56-6cfafbfac4de"},{"id":"72eb2ecb-184e-4d5d-a89d-a40553a128cd","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":"280bd115-f85d-4b0a-92ec-dd9f6b79abf0","phase":"visual_proof","branch":"ai/objective-first-repair-285944eff62b","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":2,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.217-deterministic-exact-mutation-branch","prNumber":3471,"terminal":false,"missionId":"285944ef-f62b-4c50-a0be-04838efe26d6","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4739,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":934,"missionSetupMs":429,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":429,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":429,"repositoryMutationMs":3805,"repositoryProviderMs":3805,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2300,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":429,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1505},"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":"285944ef-f62b-4c50-a0be-04838efe26d6"},"performance":null,"deploymentId":null,"releaseState":"verified","visualWitness":{"role":null,"jobId":"280bd115-f85d-4b0a-92ec-dd9f6b79abf0","tenant":null,"runnerUrl":null,"runnerLane":null,"attemptsUsed":null,"supervisorId":null,"failureReason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","observedRoute":null,"runnerVersion":null,"attemptLineage":[],"missionOutcome":null,"requestedRoute":null,"runnerSourceSha":null,"selectedViewports":[],"checkpointAccounting":null,"correctiveGeneration":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":3280,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T01:47:08.698227+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"280bd115-f85d-4b0a-92ec-dd9f6b79abf0","receipt_type":"execute_mission","idempotency_key":"mission:285944ef-f62b-4c50-a0be-04838efe26d6:execute_mission:repair_mission_pr_handed_off_to_supervisor:generation-2","mission_step_id":"30d1fcc8-d205-4ded-90ea-37d97da7bccb","command_center_event_id":"285944ef-f62b-4c50-a0be-04838efe26d6"},{"id":"72ec4aa0-7180-4aab-b4ef-4c0829fe0aa0","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-e0106e23d39c","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":15587,"releaseCount":0,"toolCallCount":7,"repeatedCallCount":3,"executorlessWaitMs":143224,"firstUsefulResultAt":"2026-10-02T00:17:14.946Z","recoveryAttemptCount":2,"ownerInterruptionCount":0},"version":null,"prNumber":4421,"terminal":false,"missionId":"e0106e23-d39c-468c-9e44-8cf6852cce56","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":2177,"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":"e0106e23-d39c-468c-9e44-8cf6852cce56"},"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-02T00:19:35.251626+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4421","receipt_type":"automatic_mission_resume","idempotency_key":"mission:e0106e23-d39c-468c-9e44-8cf6852cce56:automatic-mission-resume:4421:repair_mission_pr_ready_retryable","mission_step_id":"d48d1924-6072-4ef8-af7b-044dd2c28476","command_center_event_id":"e0106e23-d39c-468c-9e44-8cf6852cce56"},{"id":"72f0e9c0-ac47-4c9c-9088-31d93c6521e7","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/thirsty-panda-logo-glow-0817","reason":null,"status":"source_resolution_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.46.17-release-orchestration-guardrails","prNumber":null,"terminal":false,"missionId":"7fd99e96-cc37-4c85-995f-1090efc8cc8c","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":null,"nextAction":"Resolve bounded authoritative Forgejo source targets, then continue this same mission with exact files or anchored_edits. Do not call the synthesis helper again until source exists.","receiptRef":{"mode":"full","missionId":"7fd99e96-cc37-4c85-995f-1090efc8cc8c"},"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":8288,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"69c86c8d-c737-439a-8f30-3246af0b3ad1","created_at":"2026-08-17T16:56:02.407215+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:7fd99e96-cc37-4c85-995f-1090efc8cc8c:execute_mission:repair_mission_source_resolution_required","mission_step_id":"60dab58f-49fc-441c-b919-f0b6fd197302","command_center_event_id":"7fd99e96-cc37-4c85-995f-1090efc8cc8c"},{"id":"72f0f34b-db12-4d3f-8bf4-997fb5e7e578","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"objective_received","branch":null,"reason":null,"status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.30.0-single-patch-authority","prNumber":null,"terminal":true,"missionId":"167bf5fa-7a26-428c-9480-999b62cd4b15","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"167bf5fa-7a26-428c-9480-999b62cd4b15"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"sourceReceiptBytes":192,"ownerActionRequired":false},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-03T15:36:31.802861+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:167bf5fa-7a26-428c-9480-999b62cd4b15:execute_mission:repair_mission_execution_blocked","mission_step_id":"8e8e51c5-a623-43a9-8c56-1ed214275f42","command_center_event_id":"167bf5fa-7a26-428c-9480-999b62cd4b15"},{"id":"72f1bbca-df53-4fe8-be54-7e035cf489e5","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/src/mission-ledger.js","workers/cc-execution/src/version.js","workers/cc-execution/test/mission-implementation-auto-continuation.test.js"],"reason":"Owner-authorized latency repair: persisted deterministic implementation intents must auto-continue instead of waiting executorless.","baseSha":"0c09220c29eb80a8527ad1ad733a189e730b5cb4","issuedAt":1790225048848,"expiresAt":1790225228848,"missionId":"ce1aaef9-6cbf-4567-8214-5633d1676cb8","authorizationId":"7a47febf-868a-47a3-9408-e61b541adb1f","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T04:44:09.156569+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"0c09220c29eb80a8527ad1ad733a189e730b5cb4","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:7a47febf-868a-47a3-9408-e61b541adb1f","mission_step_id":"9adcc71f-b3dd-4204-9a70-be13913783e4","command_center_event_id":"ce1aaef9-6cbf-4567-8214-5633d1676cb8"},{"id":"72f3353d-ae0a-4d16-b802-ff028e33db0f","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/fix-big-papi-inventory-workspace-20260828","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":6503,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.55.8-readiness-resilience","prNumber":988,"terminal":false,"missionId":"b4ccd904-607b-484b-a5ed-8f73624bfb09","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"a7da52df39a1afd725277074e9eab88972f2ac01","timingsMs":{"handlerMs":30948,"prReadinessMs":3487,"approvedPlanMs":15676,"missionSetupMs":1245,"shipAndProveMs":11772},"nextAction":null,"receiptRef":{"mode":"full","missionId":"b4ccd904-607b-484b-a5ed-8f73624bfb09"},"performance":null,"deploymentId":"forgejo-main-a7da52df39a1","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":7885,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-29T01:33:32.237209+00:00","proof_gate":"canonical_release_dispatched","source_sha":"a7da52df39a1afd725277074e9eab88972f2ac01","external_id":"forgejo-main-a7da52df39a1","receipt_type":"execute_mission","idempotency_key":"mission:b4ccd904-607b-484b-a5ed-8f73624bfb09:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"087c5b30-ced8-415c-b2d5-145bd94b14bb","command_center_event_id":"b4ccd904-607b-484b-a5ed-8f73624bfb09"},{"id":"72f5a344-ecf3-4cbf-b3d7-bab179c2996c","source":"cc-execution","status":"in_progress","payload":{"ok":true,"jobId":null,"phase":"release","branch":"ai/lock-big-papis-approved-variants-20260830","reason":null,"status":"in_progress","metrics":{"receiptBytes":18494,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":1,"ownerInterruptionCount":0},"version":"1.56.5-premium-motion-source-targets","prNumber":1174,"terminal":false,"missionId":"0c3e06fb-c068-487b-a5af-d6e7248f4cd2","operation":"execute_mission","proofGate":"canonical_release_reconciliation_pending","sourceSha":null,"timingsMs":{"handlerMs":4904,"prReadinessMs":293,"approvedPlanMs":0,"missionSetupMs":1002,"shipAndProveMs":4529},"nextAction":"Reconcile this same mission and pull request automatically; do not create replacement work.","receiptRef":{"mode":"full","missionId":"0c3e06fb-c068-487b-a5af-d6e7248f4cd2"},"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":1010,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-31T00:34:49.231935+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"1174","receipt_type":"execute_mission","idempotency_key":"mission:0c3e06fb-c068-487b-a5af-d6e7248f4cd2:execute_mission:canonical_release_reconciliation_pending:current-generation","mission_step_id":"d253e6f9-6db2-4158-9056-a47037ff6205","command_center_event_id":"0c3e06fb-c068-487b-a5af-d6e7248f4cd2"},{"id":"72f78402-7aac-450b-a636-d3a8b6cbe282","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-43feefa098cc","reason":null,"status":"source_resolution_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.118-architecture-exclusivity","prNumber":null,"terminal":false,"missionId":"43feefa0-98cc-4464-b8f7-d463532417ea","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":11,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":1190,"providerAuthMs":0,"ledgerPrepareMs":1190,"ledgerReconcileMs":246,"lineageReconcileMs":0,"resolvePreflightMs":1190,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":1436,"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":"43feefa0-98cc-4464-b8f7-d463532417ea"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":5202,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T20:43:46.179598+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:43feefa0-98cc-4464-b8f7-d463532417ea:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"5f716bc5-4b59-47e8-bb38-7b6ae5c4c7fb","command_center_event_id":"43feefa0-98cc-4464-b8f7-d463532417ea"},{"id":"72f8f15d-079c-40ba-b9f2-73e1150b2e7c","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/accept-function-auth-proof","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":1839,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":1,"ownerInterruptionCount":0},"version":"1.30.20-pr-scoped-release-missions","prNumber":4166,"terminal":false,"missionId":"0832f32c-7ffe-4176-8a6b-ad8b77aaa3b2","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"fba33f34c176dee5b5867c0e1bf158e296b244e0","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"0832f32c-7ffe-4176-8a6b-ad8b77aaa3b2"},"performance":null,"deploymentId":"canonical-release-fba33f34c176","workflowRunId":31129236008,"releaseTargets":{"frontend":false,"onrunner":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":[]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"onePullRequest":true,"terminalProofRequired":true},"sourceReceiptBytes":1706,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-06T22:47:54.523909+00:00","proof_gate":"canonical_release_dispatched","source_sha":"fba33f34c176dee5b5867c0e1bf158e296b244e0","external_id":"canonical-release-fba33f34c176","receipt_type":"execute_mission","idempotency_key":"mission:0832f32c-7ffe-4176-8a6b-ad8b77aaa3b2:execute_mission:canonical_release_dispatched","mission_step_id":"70432e67-7f23-473d-b156-5ea1a13522c2","command_center_event_id":"0832f32c-7ffe-4176-8a6b-ad8b77aaa3b2"},{"id":"72faf5fa-3feb-404b-af98-04b3e1815260","source":"forgejo","status":"waiting","payload":{"branch":"ai/pr-readiness-tail-budget-20260906","prNumber":1990,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"3d0733260ad2b75779c458858cbc0d131313c59b","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-06T19:51:12.275548+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"3d0733260ad2b75779c458858cbc0d131313c59b","external_id":"1990","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:e60a04bc-038f-4147-b881-e15da6b7dd34:merged-pr:1990:3d0733260ad2b75779c458858cbc0d131313c59b","mission_step_id":"1b54c83e-8c2d-4f53-8072-1e4df3568622","command_center_event_id":"e60a04bc-038f-4147-b881-e15da6b7dd34"},{"id":"72fb6de9-c75a-484e-8109-c53a0606bf60","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-d4d3bc1c44b0","prNumber":3807,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"399a317c71f6c19b08c3c0f806823460ff8a38f0","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-26T16:49:46.702211+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"399a317c71f6c19b08c3c0f806823460ff8a38f0","external_id":"3807","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:d4d3bc1c-44b0-4b03-830d-fed5407883f8:merged-pr:3807:399a317c71f6c19b08c3c0f806823460ff8a38f0","mission_step_id":"9562fd58-1169-4256-a200-7156ad3217af","command_center_event_id":"d4d3bc1c-44b0-4b03-830d-fed5407883f8"},{"id":"72ff632e-27f0-45b0-b6b5-1ba1ee33caec","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-5cc4cb4ac61a","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":8534,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":0,"executorlessWaitMs":27998,"firstUsefulResultAt":"2026-09-28T23:06:46.072Z","recoveryAttemptCount":1,"ownerInterruptionCount":0},"version":null,"prNumber":4052,"terminal":false,"missionId":"5cc4cb4a-c61a-49e2-a026-114917f0b57d","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":5589,"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":"5cc4cb4a-c61a-49e2-a026-114917f0b57d"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":819,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T23:07:14.115905+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4052","receipt_type":"automatic_mission_resume","idempotency_key":"mission:5cc4cb4a-c61a-49e2-a026-114917f0b57d:automatic-mission-resume:4052:repair_mission_pr_ready_retryable","mission_step_id":"324443d7-4f1f-4d0e-bb9e-1c4f6d748ed5","command_center_event_id":"5cc4cb4a-c61a-49e2-a026-114917f0b57d"},{"id":"73024252-5447-406c-8d94-af747136476f","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-45578ea6cec6","prNumber":5023,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"9e3625f8a4efe118a952c1f839916fb853eccaf2","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T18:14:15.495013+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"9e3625f8a4efe118a952c1f839916fb853eccaf2","external_id":"5023","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:45578ea6-cec6-4f6c-aed1-e85758ba332b:merged-pr:5023:9e3625f8a4efe118a952c1f839916fb853eccaf2","mission_step_id":"d5a2c2e0-460f-4350-924f-4565eab58817","command_center_event_id":"45578ea6-cec6-4f6c-aed1-e85758ba332b"},{"id":"7302ea5b-436c-4782-b5d0-fc1ea17cdc86","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-831c95286527","reason":"explicit_pull_request_identity_mismatch:2935","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":1,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.162-owner-activity-mission-recovery","prNumber":2935,"terminal":false,"missionId":"831c9528-6527-489b-bd71-6e85f4063b83","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":"5c28be067aae3062c1cb2195ccf2093937435c37","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":16782,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":1502,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":1502,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":1502,"repositoryMutationMs":16782,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":1502,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"831c9528-6527-489b-bd71-6e85f4063b83"},"performance":null,"deploymentId":"forgejo-main-5c28be067aae","workflowRunId":8897,"releaseTargets":{"frontend":false,"onrunner":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1500,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-16T18:29:38.507887+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":"5c28be067aae3062c1cb2195ccf2093937435c37","external_id":"forgejo-main-5c28be067aae","receipt_type":"execute_mission","idempotency_key":"mission:831c9528-6527-489b-bd71-6e85f4063b83:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"cf2bbf22-9b4a-4f72-b371-5803a8b3d7c4","command_center_event_id":"831c9528-6527-489b-bd71-6e85f4063b83"},{"id":"730693a9-df64-477b-bb12-464afb90845f","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","cc-execution/runtime-proof":"pending"},"mainSha":"e156e62a44e50cfc019d142cba45ae1493371087","missing":[],"pending":["forgejo-release/workflow","cc-execution/runtime-proof"],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"e156e62a44e50cfc019d142cba45ae1493371087","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{},"requestContractHash":"94095492e875054bbf88b325ad6c635f21e83f08b7925834b7a4a12fba597563","forgejoWorkflowProof":{"error":"workflow_run_id_missing","runId":null},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"f5a54ba46b6546d61e5bfd6682342be66ccd0a1f","deploymentId":"forgejo-main-f5a54ba46b6546d61e5bfd6682342be66ccd0a1f","compareStatus":null,"identitySource":"local_build_metadata","runtimeVersion":"1.58.226-top-level-execution-truth","containsSourceSha":false},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T03:37:45.300647+00:00","proof_gate":"canonical_release_pending","source_sha":"e156e62a44e50cfc019d142cba45ae1493371087","external_id":"forgejo-main-e156e62a44e5","receipt_type":"canonical_release_status","idempotency_key":"mission:25d2beda-8c8f-4a3a-9016-b3a3bfba3bc8:forgejo-release-status:e156e62a44e50cfc019d142cba45ae1493371087:pending:forgejo-main/source=success|forgejo-release/workflow=pending|cc-execution/runtime-proof=pending","mission_step_id":"fb8daf04-8145-4a1b-829c-189d02b65113","command_center_event_id":"25d2beda-8c8f-4a3a-9016-b3a3bfba3bc8"},{"id":"7306cfb0-e868-4593-8db3-808a78d0ebdc","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-e65259856822","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.177-tenant-source-scope","prNumber":2998,"terminal":false,"missionId":"e6525985-6822-4f04-a965-9b16637efbb0","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"e1a1175a8087434e24718db483a41dc58df18ed8","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":11944,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":1471,"approvedPlanMs":0,"missionSetupMs":1770,"providerAuthMs":0,"shipAndProveMs":9788,"ledgerPrepareMs":1322,"ledgerReconcileMs":0,"lineageReconcileMs":448,"resolvePreflightMs":1770,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":1322,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"e6525985-6822-4f04-a965-9b16637efbb0"},"performance":null,"deploymentId":"forgejo-main-e1a1175a8087","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":2532,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-17T11:57:35.887076+00:00","proof_gate":"canonical_release_dispatched","source_sha":"e1a1175a8087434e24718db483a41dc58df18ed8","external_id":"forgejo-main-e1a1175a8087","receipt_type":"execute_mission","idempotency_key":"mission:e6525985-6822-4f04-a965-9b16637efbb0:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"0df09f32-2dd5-439d-96fc-1af30e9d7171","command_center_event_id":"e6525985-6822-4f04-a965-9b16637efbb0"},{"id":"7306da00-43d6-431f-b99d-542040adc33f","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"release","branch":"ai/objective-first-repair-06d03c22643e","reason":"canonical_release_queue_busy:16341","status":"blocked","metrics":{"receiptBytes":79866,"releaseCount":0,"toolCallCount":51,"repeatedCallCount":36,"executorlessWaitMs":2272191,"firstUsefulResultAt":"2026-10-06T14:18:37.798Z","recoveryAttemptCount":34,"ownerInterruptionCount":0},"version":"1.67.0-stopless-self-heal","prNumber":5184,"terminal":false,"missionId":"06d03c22-643e-446a-b7ae-e032d13a1857","operation":"execute_mission","proofGate":"canonical_release_blocked","sourceSha":"e997f20a9eddbe8ed90b83e54cc9adab45150ce6","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1547,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":115,"approvedPlanMs":0,"missionSetupMs":2193,"providerAuthMs":0,"shipAndProveMs":829,"ledgerPrepareMs":830,"ledgerReconcileMs":0,"lineageReconcileMs":1363,"resolvePreflightMs":2193,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":830,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"06d03c22-643e-446a-b7ae-e032d13a1857"},"performance":null,"deploymentId":"forgejo-main-e997f20a9edd","releaseState":null,"workflowRunId":16341,"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":1410,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T14:56:32.434633+00:00","proof_gate":"canonical_release_blocked","source_sha":"e997f20a9eddbe8ed90b83e54cc9adab45150ce6","external_id":"forgejo-main-e997f20a9edd","receipt_type":"execute_mission","idempotency_key":"mission:06d03c22-643e-446a-b7ae-e032d13a1857:execute_mission:canonical_release_blocked:current-generation","mission_step_id":"18c18cfa-4bec-462f-a51f-26d3675ff32a","command_center_event_id":"06d03c22-643e-446a-b7ae-e032d13a1857"},{"id":"7307d73f-8d53-4bcd-a93c-7504d7efdccf","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-fb18b85e1e27","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":3976,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"executorlessWaitMs":35167,"firstUsefulResultAt":"2026-09-27T20:26:23.347Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":null,"terminal":false,"missionId":"fb18b85e-1e27-4fce-9830-6d7bcaeb92dd","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1209,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":270,"providerAuthMs":0,"ledgerPrepareMs":270,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":270,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":270,"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":"fb18b85e-1e27-4fce-9830-6d7bcaeb92dd"},"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":3885,"likelyAffectedFiles":["src/components/admin/OperatorSidekick.tsx","src/routes/commandCenterRoutes.tsx","src/PrivateAppShell.tsx"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:26:58.535182+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:fb18b85e-1e27-4fce-9830-6d7bcaeb92dd:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"3b08825d-ba3e-4ff2-8e6e-2e20b81db22c","command_center_event_id":"fb18b85e-1e27-4fce-9830-6d7bcaeb92dd"},{"id":"73085b7d-3896-4ed3-8ef0-e265f9ca8adb","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"300c756053700eed702b7314f80a1ec8880617e5","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"300c756053700eed702b7314f80a1ec8880617e5","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":"488079da49675cc152b4b48cb994f7d6d1b2d1a406bf2a5a33b3dc378a53f250","forgejoWorkflowProof":{"runId":7043,"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":"de8369b6-a78f-40bb-ae1f-28ffca62bc7e","created_at":"2026-09-11T06:02:44.639195+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"300c756053700eed702b7314f80a1ec8880617e5","external_id":"forgejo-main-300c75605370","receipt_type":"canonical_release_status","idempotency_key":"mission:4eb6c2d1-c42a-4755-af4a-52d9201cad84:forgejo-release-status:300c756053700eed702b7314f80a1ec8880617e5:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"e7bac6e9-efc9-4006-910e-e4dc42f94211","command_center_event_id":"4eb6c2d1-c42a-4755-af4a-52d9201cad84"},{"id":"73093ab8-96ec-4a5d-b958-66c52ce73eeb","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-7e3aca5bb3b9","reason":"control_plane_maintenance_authorization_required","status":"blocked","metrics":{"receiptBytes":8558,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"executorlessWaitMs":42346,"firstUsefulResultAt":"2026-09-27T02:46:38.847Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.292-release-target-parity","prNumber":null,"terminal":false,"missionId":"7e3aca5b-b3b9-45fa-b6b4-5d0ec144969f","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":239,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":239,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":239,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":239,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"7e3aca5b-b3b9-45fa-b6b4-5d0ec144969f"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime","runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1440,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T02:47:22.046574+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:7e3aca5b-b3b9-45fa-b6b4-5d0ec144969f:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"7fa46f03-987d-447f-88c5-c35e7392b1a7","command_center_event_id":"7e3aca5b-b3b9-45fa-b6b4-5d0ec144969f"},{"id":"7309c6b6-098c-492b-9474-c5c624738d90","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"release","branch":null,"reason":"pull_request_stale_refresh_required","status":"retryable","metrics":{"receiptBytes":4127,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":1,"ownerInterruptionCount":0},"version":"1.46.14-file-write-contract","prNumber":301,"terminal":false,"missionId":"bac40f5d-7ea9-479b-9ecb-db02060b9d66","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":"bac40f5d-7ea9-479b-9ecb-db02060b9d66"},"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":6397,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"6f522f13-31f4-41af-a806-bcdfbc927a9e","created_at":"2026-08-16T20:51:29.39622+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"301","receipt_type":"execute_mission","idempotency_key":"mission:bac40f5d-7ea9-479b-9ecb-db02060b9d66:execute_mission:repair_mission_pr_ready_retryable","mission_step_id":"0a2b1b7d-3f0a-4e0e-9324-3208245cb951","command_center_event_id":"bac40f5d-7ea9-479b-9ecb-db02060b9d66"},{"id":"730a20e4-77bc-475b-a6b9-9de2327a5211","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"release","branch":null,"reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":1011,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.36.4-conductor-dispatch-contract","prNumber":4694,"terminal":false,"missionId":"66dc61eb-cb92-4b14-92ee-61a539d43dd1","operation":"ship_and_prove","proofGate":"canonical_release_dispatched","sourceSha":"5a871063ceace010eb34d2a5c161623603d3cd06","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"66dc61eb-cb92-4b14-92ee-61a539d43dd1"},"performance":null,"deploymentId":"canonical-release-5a871063ceac","workflowRunId":31609811383,"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":1267,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"fe5cc9d9-c2fe-4062-84c7-a334663cd63c","created_at":"2026-08-12T14:59:16.531081+00:00","proof_gate":"canonical_release_dispatched","source_sha":"5a871063ceace010eb34d2a5c161623603d3cd06","external_id":"canonical-release-5a871063ceac","receipt_type":"ship_and_prove","idempotency_key":"mission:66dc61eb-cb92-4b14-92ee-61a539d43dd1:ship_and_prove:canonical_release_dispatched:5a871063ceace010eb34d2a5c161623603d3cd06:31609811383","mission_step_id":"f047ec5e-72f3-404e-9fb4-93f1dc10ea69","command_center_event_id":"66dc61eb-cb92-4b14-92ee-61a539d43dd1"},{"id":"730cac5e-eba0-4e0a-ab67-4a3b666aa7a7","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/deterministic-next-action-81fd1441","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.190-public-owner-checkpoints","prNumber":3291,"terminal":false,"missionId":"81fd1441-cf62-4734-b80a-400858066693","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":16702,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":3894,"missionSetupMs":365,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":365,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":365,"repositoryMutationMs":12808,"repositoryProviderMs":12808,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":6002,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":365,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":6806},"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":"81fd1441-cf62-4734-b80a-400858066693"},"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":3820,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-20T15:06:34.419007+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3291","receipt_type":"execute_mission","idempotency_key":"mission:81fd1441-cf62-4734-b80a-400858066693:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"7e32ed0a-ebf6-42df-af81-3eec459ab995","command_center_event_id":"81fd1441-cf62-4734-b80a-400858066693"},{"id":"730e151c-695b-42ea-ae5d-0d2fa3df815e","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/frontend-release-continuity-20260904","reason":"fresh_pr_provider_receipt_already_proves_auto_progress_gate_notifier_owns_next_state","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.50-pr-readiness-forgejo-merge-base-refreeze","prNumber":1713,"terminal":false,"missionId":"4f62731b-6fef-4ca7-95d6-4674e9d105ec","operation":"execute_mission","proofGate":"repair_mission_fresh_pr_handed_off_to_gate","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4559,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":870,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":766,"ledgerReconcileMs":0,"lineageReconcileMs":104,"resolvePreflightMs":870,"repositoryMutationMs":4559,"repositoryProviderMs":3083,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":1884,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":766,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1199},"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":"4f62731b-6fef-4ca7-95d6-4674e9d105ec"},"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":3621,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T14:24:01.25501+00:00","proof_gate":"repair_mission_fresh_pr_handed_off_to_gate","source_sha":null,"external_id":"1713","receipt_type":"execute_mission","idempotency_key":"mission:4f62731b-6fef-4ca7-95d6-4674e9d105ec:execute_mission:repair_mission_fresh_pr_handed_off_to_gate:current-generation","mission_step_id":"0d07a280-bafa-4723-a1f7-bad7a26af2d9","command_center_event_id":"4f62731b-6fef-4ca7-95d6-4674e9d105ec"},{"id":"730ef5cb-eb98-467d-a145-8672ab11f584","source":"cc-execution","status":"in_progress","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":null,"reason":null,"status":"in_progress","metrics":{"receiptBytes":0,"releaseCount":1,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.71-mcp-oauth-owner-retry","prNumber":2006,"terminal":false,"missionId":"682974a1-5a91-47fa-8212-6a12d9232898","operation":"execute_mission","proofGate":"canonical_release_reconciliation_pending","sourceSha":"bb0db422407859dbe047e3083a1ba50961c14567","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":20205,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":1000,"approvedPlanMs":0,"missionSetupMs":310,"providerAuthMs":0,"shipAndProveMs":18235,"ledgerPrepareMs":310,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":310,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":310,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create replacement work.","receiptRef":{"mode":"full","missionId":"682974a1-5a91-47fa-8212-6a12d9232898"},"performance":null,"deploymentId":"forgejo-main-bb0db4224078","workflowRunId":6300,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":true,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1481,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-07T22:36:37.636371+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":"bb0db422407859dbe047e3083a1ba50961c14567","external_id":"forgejo-main-bb0db4224078","receipt_type":"execute_mission","idempotency_key":"mission:682974a1-5a91-47fa-8212-6a12d9232898:execute_mission:canonical_release_reconciliation_pending:current-generation","mission_step_id":"99929a9a-b6a0-4353-af2d-9c76011369bf","command_center_event_id":"682974a1-5a91-47fa-8212-6a12d9232898"},{"id":"73124974-1cfc-4640-9668-f4910ddb1c25","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"reasoning_required","branch":"ai/objective-first-repair-0f1f4662f71e","reason":"authoritative_source_resolution_failed","status":"source_resolution_required","metrics":{"receiptBytes":2945,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"executorlessWaitMs":1707,"firstUsefulResultAt":"2026-10-05T16:00:21.842Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.96-cloudflare-release-reconciliation","prNumber":null,"terminal":false,"missionId":"0f1f4662-f71e-47e3-be3c-5a7bc4ae776e","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1330,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":236,"providerAuthMs":0,"ledgerPrepareMs":236,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":236,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":236,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Supply exact sourceTargets on the same mission; planner guesses cannot replace missing mission scope.","receiptRef":{"mode":"full","missionId":"0f1f4662-f71e-47e3-be3c-5a7bc4ae776e"},"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-05T16:01:08.086241+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:0f1f4662-f71e-47e3-be3c-5a7bc4ae776e:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"21e1a7c6-7953-45d9-9501-a754eca7a7c6","command_center_event_id":"0f1f4662-f71e-47e3-be3c-5a7bc4ae776e"},{"id":"7313784a-9d5b-4e89-ba30-bd227df974e9","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Unfreeze the control plane for this bounded Forgejo reactivity and speed repair. Repair the shared cc-execution Forgejo transport latency class by tightening mission-provider, main-snapshot, release-fast-lane, and scoped-repository default GET retry budgets while preserving exact-head identity, protected-main Gate enforcement, no-blind-write-retry, atomic write reconciliation, and one-vCPU sequential pressure safety.","wordingChanged":false,"canonicalIntent":"Unfreeze the control plane for this bounded Forgejo reactivity and speed repair. Repair the shared cc-execution Forgejo transport latency class by tightening mission-provider, main-snapshot, release-fast-lane, and scoped-repository default GET retry budgets while preserving exact-head identity, protected-main Gate enforcement, no-blind-write-retry, atomic write reconciliation, and one-vCPU sequential pressure safety.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"forgejo-reactivity","statement":"Unfreeze the control plane for this exact bounded repair and reduce cc-execution Forgejo/provider tail latency on healthy infrastructure.","proofConditionIds":["repo-proof","release-proof","runtime-proof"]},{"id":"safety-preserved","statement":"Exact-head identity, protected-main Gate enforcement, no blind write retries, atomic reconciliation, and sequential read-pressure safety remain intact.","proofConditionIds":["repo-proof","release-proof","runtime-proof"]}],"objective":"Unfreeze the control plane for this bounded Forgejo reactivity and speed repair. Repair the shared cc-execution Forgejo transport latency class by tightening mission-provider, main-snapshot, release-fast-lane, and scoped-repository default GET retry budgets while preserving exact-head identity, protected-main Gate enforcement, no-blind-write-retry, atomic write reconciliation, and one-vCPU sequential pressure safety.","constraints":[{"id":"exact-scope","statement":"Only the four named control-plane files may change.","proofConditionIds":["repo-proof","release-proof","runtime-proof"]},{"id":"single-lane","statement":"No new workflow, release lane, global scan, or unbounded Forgejo concurrency may be added.","proofConditionIds":["repo-proof","release-proof","runtime-proof"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"repo-proof","kind":"repository","claim":"Exact current Forgejo diff contains only the bounded latency-budget repair.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"release-proof","kind":"release","claim":"KnockLaunch Gate passes, squash merge completes, and ccExecution release succeeds.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":["ccExecution"]},{"id":"runtime-proof","kind":"runtime","claim":"Live cc-execution runtime matches the merged SHA after release.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":["ccExecution"]}],"validationErrors":[]},"requestContractHash":"3160a2b3fe833e1a70abda81aa9bae1329b47e6c75209950958ef3f910171db3","requestContractRevision":4,"previousRequestContractHash":"ada47bb8814621022df18af0b4f5890ff5cd3747b3d4696742706e59053be7d5"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-08T18:10:58.199074+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:eda9436a-b4cd-40dc-8f03-665b23659a17:request-contract:3160a2b3fe833e1a70abda81aa9bae1329b47e6c75209950958ef3f910171db3","mission_step_id":"ab2f8e88-9b05-4f4f-86a8-98baddd18bc5","command_center_event_id":"eda9436a-b4cd-40dc-8f03-665b23659a17"},{"id":"7317dadc-d2a4-493c-aded-31a2006648ee","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-5e7a3cf9fcfb","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.97-mutation-latency-reconcile-fastpath","prNumber":null,"terminal":false,"missionId":"5e7a3cf9-fcfb-4b9a-bddc-44e4968ab6a7","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":125,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":395,"providerAuthMs":0,"ledgerPrepareMs":395,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":395,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":395,"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":"5e7a3cf9-fcfb-4b9a-bddc-44e4968ab6a7"},"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":4475,"likelyAffectedFiles":["workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/version.js",".forgejo/workflows/knocklaunch.yml"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-10T20:56:08.532679+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:5e7a3cf9-fcfb-4b9a-bddc-44e4968ab6a7:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"aac12c0b-1fb7-486c-840e-a396df2ddda0","command_center_event_id":"5e7a3cf9-fcfb-4b9a-bddc-44e4968ab6a7"},{"id":"731a4a85-892c-4eab-94b1-cd4941de2223","source":"owner_authorized_full_backlog_cleanup","status":"recorded","payload":{"category":"other_product_work","disposition":"superseded_execution_attempt","previousStatus":"waiting","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:61b362e6-d1cb-4ff2-a526-b6ca491d0afb","mission_step_id":null,"command_center_event_id":"61b362e6-d1cb-4ff2-a526-b6ca491d0afb"},{"id":"731b1796-c9ce-469e-9192-7b45503570dc","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/src/mission-ledger.js","workers/cc-execution/test/release-orchestration-invariants.test.js"],"reason":"Correct the proven legacy non-UUID mission identifier 500 at the shared cc-execution ledger boundary and return to frozen-by-default after exact live proof.","baseSha":"b6af7ef22095b528b2f8a36606d29485fd39e738","issuedAt":1789021971006,"expiresAt":1789022151006,"missionId":"20aae700-7266-447e-844c-b0d60ddea665","authorizationId":"4509cdd5-35a5-402e-a18f-adf9c6d66c78","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-10T06:32:51.41282+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"b6af7ef22095b528b2f8a36606d29485fd39e738","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:4509cdd5-35a5-402e-a18f-adf9c6d66c78","mission_step_id":"4919f3c1-0b00-4c46-96dc-f07486281403","command_center_event_id":"20aae700-7266-447e-844c-b0d60ddea665"},{"id":"731b3bfc-3f43-4778-b639-f8e33221af31","source":"cc-execution","status":"pending","payload":{"ok":true,"jobId":"96013e04-84e4-4574-b582-da2d51cc7a09","phase":"universal_visual_witness_supervised","branch":"ai/objective-first-repair-1297fc3ea836","reason":null,"status":"pending","metrics":{"receiptBytes":197347,"releaseCount":0,"toolCallCount":101,"repeatedCallCount":61,"executorlessWaitMs":3524854,"firstUsefulResultAt":"2026-09-27T05:46:06.727Z","recoveryAttemptCount":30,"ownerInterruptionCount":0},"version":null,"prNumber":3868,"terminal":false,"missionId":"1297fc3e-a836-406c-ae04-a0aa8f124741","operation":"visual_proof_started","proofGate":"universal_visual_witness_pending","sourceSha":"f8738a33c612186b0be0d3656401ea19682633ec","timingsMs":{"queue":281,"total":284,"execution":3},"nextAction":"Execution is pending; poll inspect_route_status only when fresh progress is expected, or cancel with inspect_route_cancel.","receiptRef":{"mode":"full","missionId":"1297fc3e-a836-406c-ae04-a0aa8f124741"},"performance":null,"deploymentId":"forgejo-main-f8738a33c612","releaseState":"verified","visualWitness":{"role":"GodMode","jobId":"96013e04-84e4-4574-b582-da2d51cc7a09","tenant":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","runnerUrl":"https://paul-witness.knocklaunch.app","runnerLane":"paul","attemptsUsed":0,"supervisorId":"96013e04-84e4-4574-b582-da2d51cc7a09","failureReason":null,"observedRoute":null,"runnerVersion":null,"attemptLineage":[],"missionOutcome":null,"requestedRoute":"/admin/console","runnerSourceSha":null,"selectedViewports":["desktop","mobile"],"checkpointAccounting":null,"correctiveGeneration":2,"restartReplayHistory":[]},"workflowRunId":12186,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["visual"],"verificationState":"failed","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1792,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T06:45:00.881894+00:00","proof_gate":"post_release_visual_proof_started","source_sha":"f8738a33c612186b0be0d3656401ea19682633ec","external_id":"96013e04-84e4-4574-b582-da2d51cc7a09","receipt_type":"visual_proof_started","idempotency_key":"mission:1297fc3e-a836-406c-ae04-a0aa8f124741:visual-start:96013e04-84e4-4574-b582-da2d51cc7a09","mission_step_id":"0ba439ab-d717-4a78-a0aa-0d065243e2c0","command_center_event_id":"1297fc3e-a836-406c-ae04-a0aa8f124741"},{"id":"731c9b67-c645-4b28-a918-652a7802e9ae","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in release.","nextAction":{"lane":"production-release-conductor","action":"reconcile_release","reason":"merged_source_requires_release_proof","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_pending\"},\"activeStep\":{\"key\":\"pull_request\",\"status\":\"waiting\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"release\",\"status\":\"waiting\",\"lane\":\"production-release-conductor\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_release\",\"recoveryOwner\":\"production-release-conductor\"},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"release\",\"deadlineAt\":\"2026-10-01T01:49:04.704026+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-8c64d55109cd\",\"prNumber\":4285,\"sourceSha\":\"19774fcd24811ac1451fe38946436da826557f88\",\"deploymentId\":\"forgejo-main-19774fcd2481\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T23:11:54.36376+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:8c64d551-09cd-4a22-8649-a04d9e811c37:owner-progress-heartbeat:119387327","mission_step_id":"75b2b7f2-4b03-4d1a-b7bd-4dde421438ed","command_center_event_id":"8c64d551-09cd-4a22-8649-a04d9e811c37"},{"id":"731d3157-c7b6-4cf6-87e6-33860dbc25af","source":"owner_authorized_full_backlog_cleanup","status":"recorded","payload":{"category":"pcg_website","disposition":"superseded_execution_attempt","previousStatus":"blocked","sourcePreserved":true,"noCompletionClaim":true,"recoveryPortfolioId":"55995cfc-e6e8-a455-6cf0-07ece50ae56c"},"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:57d7ea5b-604a-4d7b-9652-3f7aad1aa4c3","mission_step_id":null,"command_center_event_id":"57d7ea5b-604a-4d7b-9652-3f7aad1aa4c3"},{"id":"731f7214-f4a7-4a4a-b99f-aabf84e861ed","source":"owner_authorized_full_backlog_cleanup","status":"recorded","payload":{"category":"historical_pr_salvage","disposition":"superseded_execution_attempt","previousStatus":"waiting","sourcePreserved":true,"noCompletionClaim":true,"recoveryPortfolioId":"f6756a8c-12df-1bf5-0ed6-972d468db13e"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-11T16:14:39.646808+00:00","proof_gate":"source_objective_preserved_in_existing_mission_ledger","source_sha":null,"external_id":null,"receipt_type":"owner_backlog_disposition","idempotency_key":"owner-full-backlog-cleanup-20261011:ca5aeebb-f380-47ea-8a4e-f5caf56311eb","mission_step_id":null,"command_center_event_id":"ca5aeebb-f380-47ea-8a4e-f5caf56311eb"},{"id":"7321a61a-8f85-4ced-b8a6-1bdb52b74422","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"visual_proof","branch":"ai/objective-first-repair-3a33a7f6e8bd","reason":"canonical_release_queue_busy:14522","status":"blocked","metrics":{"receiptBytes":35068,"releaseCount":0,"toolCallCount":27,"repeatedCallCount":18,"executorlessWaitMs":630092,"firstUsefulResultAt":"2026-10-02T21:24:39.318Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.52-paul-deep-critic","prNumber":4533,"terminal":false,"missionId":"3a33a7f6-e8bd-40ca-92a9-65e1e94f241f","operation":"execute_mission","proofGate":"canonical_release_blocked","sourceSha":"3b6fa3175433f553599b4ce105330026c98d771b","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":881,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":63,"approvedPlanMs":0,"missionSetupMs":327,"providerAuthMs":0,"shipAndProveMs":348,"ledgerPrepareMs":327,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":327,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":327,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"3a33a7f6-e8bd-40ca-92a9-65e1e94f241f"},"performance":null,"deploymentId":"forgejo-main-3b6fa3175433","releaseState":"verified","workflowRunId":14519,"releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["visual"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1401,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T21:27:54.500006+00:00","proof_gate":"canonical_release_blocked","source_sha":"3b6fa3175433f553599b4ce105330026c98d771b","external_id":"forgejo-main-3b6fa3175433","receipt_type":"execute_mission","idempotency_key":"mission:3a33a7f6-e8bd-40ca-92a9-65e1e94f241f:execute_mission:canonical_release_blocked:current-generation","mission_step_id":"897fa768-d053-4a1e-8e93-624df41ed4ff","command_center_event_id":"3a33a7f6-e8bd-40ca-92a9-65e1e94f241f"},{"id":"7325c5f4-c5fa-4ce3-941b-1acf8b9cd4f9","source":"cc-execution","status":"in_progress","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":null,"reason":null,"status":"in_progress","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.77-mcp-oauth-es256","prNumber":2183,"terminal":false,"missionId":"2a19d89f-c0d6-4110-82c4-ba74696f1580","operation":"execute_mission","proofGate":"canonical_release_reconciliation_pending","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":38309,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":1242,"approvedPlanMs":0,"missionSetupMs":2763,"providerAuthMs":0,"shipAndProveMs":34516,"ledgerPrepareMs":263,"ledgerReconcileMs":0,"lineageReconcileMs":2500,"resolvePreflightMs":2763,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":263,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create replacement work.","receiptRef":{"mode":"full","missionId":"2a19d89f-c0d6-4110-82c4-ba74696f1580"},"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":1486,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-09T00:20:25.786807+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"2183","receipt_type":"execute_mission","idempotency_key":"mission:2a19d89f-c0d6-4110-82c4-ba74696f1580:execute_mission:canonical_release_reconciliation_pending:current-generation","mission_step_id":"26cd915f-7dbd-4770-94fb-e5c7bfc53f95","command_center_event_id":"2a19d89f-c0d6-4110-82c4-ba74696f1580"},{"id":"73261442-0fe1-457f-b173-b828df5e3f7a","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"main","reason":"branch_must_start_with_ai","status":"blocked","metrics":{"receiptBytes":1574,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.31.26-direct-route-visual-intent","prNumber":null,"terminal":false,"missionId":"42d42732-48b2-422f-a6df-7786339c66fd","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"42d42732-48b2-422f-a6df-7786339c66fd"},"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":312,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-09T14:18:26.593534+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:42d42732-48b2-422f-a6df-7786339c66fd:execute_mission:repair_mission_execution_blocked","mission_step_id":"f49d4135-c5ac-4132-a311-db9abf57f14d","command_center_event_id":"42d42732-48b2-422f-a6df-7786339c66fd"},{"id":"732619cc-aece-4e83-919f-cd2f03a03f7c","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-57e09f3d28f1","reason":"control_plane_maintenance_base_sha_mismatch","status":"blocked","metrics":{"receiptBytes":15082,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-10-02T23:05:37.868Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.56-paul-eval-diagnostics-mission-freedom-structured-facade-explicit-contract-hydration","prNumber":null,"terminal":false,"missionId":"57e09f3d-28f1-40a5-baf1-e07071a3e2f1","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1421,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":1421,"missionSetupMs":275,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":275,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":275,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":275,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"57e09f3d-28f1-40a5-baf1-e07071a3e2f1"},"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":1477,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T23:05:40.251792+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:57e09f3d-28f1-40a5-baf1-e07071a3e2f1:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"179308a6-01cf-4329-96e7-12b3f9727890","command_center_event_id":"57e09f3d-28f1-40a5-baf1-e07071a3e2f1"},{"id":"7326355f-9f4c-4bcd-b856-5aa7856c2b09","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"5789c78328f15f40979faf5a9de973830588b934","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"connection-research-command","satisfied":true,"statement":"PAUL exposes a registered read-only connection research command that returns a deterministic structured provider connection contract from grounded research.","proofConditionIds":["proof-repository","proof-runtime"]},{"id":"connection-research-safety","satisfied":true,"statement":"Unknown or conflicting provider capabilities are preserved as unknown and block write activation; research never stores credentials or activates a provider.","proofConditionIds":["proof-repository","proof-runtime"]},{"id":"connection-research-evidence","satisfied":true,"statement":"The contract preserves research source URLs, observation timestamps, confidence/evidence, and explicit activation prerequisites.","proofConditionIds":["proof-repository","proof-runtime"]}],"satisfied":true,"constraints":[{"id":"reuse-existing-research","satisfied":true,"statement":"Reuse the existing PAUL research gateway and source collection; do not create a parallel inference or web-research stack.","proofConditionIds":["proof-repository"]},{"id":"read-only-boundary","satisfied":true,"statement":"The new command is read-only, idempotent for the same observed evidence, credential-free, and incapable of provider activation or tenant mutation.","proofConditionIds":["proof-repository","proof-runtime"]},{"id":"no-invention","satisfied":true,"statement":"Unsupported or unverified provider facts must not be fabricated; ambiguous fields remain explicit unknowns and write activation must remain blocked.","proofConditionIds":["proof-repository","proof-runtime"]},{"id":"preserve-existing-runtime","satisfied":true,"statement":"Preserve existing PAUL inference, mission, tenant, connector, and Command Center behavior outside this additive capability.","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-repository","proof-runtime"]},{"id":"atomic-capability-lifecycle","satisfied":true,"statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["proof-repository","proof-runtime"]}],"contractHash":"1d3ffe7de728d0a53e00886f28cc1c9c44f4eb49859c3b7de3b9b44e3296777d","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"proof-repository","kind":"repository","evidence":{"reason":null,"gateRunId":14136,"satisfied":true,"gateTestProof":null,"gateTestPassed":false,"missingTargets":[],"gateTestExecuted":false,"disallowedTargets":[],"migrationRequired":false,"namedGateTestPath":null,"releaseTargetStates":{"ccExecution":"success"},"repositoryProofGate":"request_contract_repository_verified","repositoryProofPath":null,"requestContractHash":"1d3ffe7de728d0a53e00886f28cc1c9c44f4eb49859c3b7de3b9b44e3296777d","unsuccessfulTargets":[],"activeReleaseTargets":["ccExecution"],"allowedReleaseTargets":[],"repositoryProofStatus":"verified","expectedRepositoryPath":null,"namedGateTestSatisfied":true,"requiredReleaseTargets":[],"migrationReleaseVerified":null,"repositoryConditionBound":true,"repositoryProofSourceSha":"5789c78328f15f40979faf5a9de973830588b934"},"required":true,"satisfied":true},{"id":"proof-runtime","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"ccExecution":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["ccExecution"],"allowedReleaseTargets":[],"requiredReleaseTargets":["ccExecution"],"migrationReleaseVerified":null,"releaseRequestContractHash":"1d3ffe7de728d0a53e00886f28cc1c9c44f4eb49859c3b7de3b9b44e3296777d"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["ccExecution"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":2},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T00:32:20.854498+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"5789c78328f15f40979faf5a9de973830588b934","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:4adeff75-f590-4e0b-8da0-1b5cdd2e1d17:request-contract:1d3ffe7de728d0a53e00886f28cc1c9c44f4eb49859c3b7de3b9b44e3296777d:5789c78328f15f40979faf5a9de973830588b934:verified:","mission_step_id":"c080d128-333c-4fd4-aa2b-c9c25b435b83","command_center_event_id":"4adeff75-f590-4e0b-8da0-1b5cdd2e1d17"},{"id":"73263ef1-60d5-4a5f-9030-a19cdd5d9e50","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"30f1adacfd7f67528f9cd6fe5ea91a93d52a5e79","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"30f1adacfd7f67528f9cd6fe5ea91a93d52a5e79","releaseState":"verified","sourceInMain":true,"compareStatus":"identical","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/1980","runId":1980,"status":"success","sourceSha":"30f1adacfd7f67528f9cd6fe5ea91a93d52a5e79","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-21T14:39:50.131782+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"30f1adacfd7f67528f9cd6fe5ea91a93d52a5e79","external_id":null,"receipt_type":"canonical_release_status","idempotency_key":"mission:1f153a5c-3ab5-4a65-8982-3fb6dd53a048:forgejo-release-status:30f1adacfd7f67528f9cd6fe5ea91a93d52a5e79:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"c9ee92e7-8442-4235-ad27-51112ea2739b","command_center_event_id":"1f153a5c-3ab5-4a65-8982-3fb6dd53a048"},{"id":"7326730c-2f94-4d96-8f32-3b770821de7a","source":"cc-execution","status":"in_progress","payload":{"ok":true,"jobId":null,"phase":"runtime_proof","branch":"ai/proposal-editor-ornament-instances","reason":null,"status":"in_progress","metrics":{"receiptBytes":0,"releaseCount":1,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":1964,"terminal":false,"missionId":"0dc9d40e-bebf-4e68-908d-1523ef3f07ef","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"dfdea14400577d14bbac33a3854fda076f45f998","timingsMs":{"prReadinessMs":2734,"approvedPlanMs":0,"shipAndProveMs":7534,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create replacement work.","receiptRef":{"mode":"full","missionId":"0dc9d40e-bebf-4e68-908d-1523ef3f07ef"},"performance":null,"deploymentId":"forgejo-main-dfdea1440057","workflowRunId":5885,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["proposal-engine"]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":794,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-09-06T16:33:43.605339+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"1964","receipt_type":"automatic_mission_resume","idempotency_key":"mission:0dc9d40e-bebf-4e68-908d-1523ef3f07ef:automatic-mission-resume:1964:canonical_release_reconciliation_pending","mission_step_id":"78711e02-7599-46c3-a007-66f9680a479e","command_center_event_id":"0dc9d40e-bebf-4e68-908d-1523ef3f07ef"},{"id":"73267aa6-d879-4da4-950e-1e62d7073b14","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":"2585172352dc9d8cd092044ae106d02b02bcb674","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":"2585172352dc9d8cd092044ae106d02b02bcb674","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"onrunner":false,"migrations":true,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["capability-router","zoho-mail"]},"releaseTargetStates":{"migrations":"pending","supabaseEdge":"pending"},"requestContractHash":"89b026bef99cc1e5872a0395edefb784853b65456f2147a4dd51f0615c0c4434","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/6048","runId":6048,"status":"running","sourceSha":"2585172352dc9d8cd092044ae106d02b02bcb674","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"migrations":"pending","supabaseEdge":"pending"},"targetJobCount":7,"observedTargetStates":{"migrations":"pending","supabaseEdge":"pending"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-07T02:23:03.583597+00:00","proof_gate":"canonical_release_pending","source_sha":"2585172352dc9d8cd092044ae106d02b02bcb674","external_id":"forgejo-main-2585172352dc","receipt_type":"canonical_release_status","idempotency_key":"mission:27651882-ac8d-41d4-a013-57effbe18a2d:forgejo-release-status:2585172352dc9d8cd092044ae106d02b02bcb674:pending:forgejo-main/source=success|forgejo-release/workflow=pending|supabase-edge-production/live=pending|supabase-migrations/live=pending","mission_step_id":"652a3151-a2f9-4b0e-9554-4b7b8022ef83","command_center_event_id":"27651882-ac8d-41d4-a013-57effbe18a2d"},{"id":"73292c12-9ec4-431f-a435-437dafe06c4c","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":null,"reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":null,"recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.77-paul-heldout-repair","prNumber":4669,"terminal":false,"missionId":"1281bddc-f1f7-4e01-a198-cb80534686b3","operation":"execute_mission","proofGate":"canonical_release_reconciliation_pending","sourceSha":"2069b2ccc92e973179cab2ca246d846ff3ee4a25","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4352,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":703,"approvedPlanMs":0,"missionSetupMs":3636,"providerAuthMs":0,"shipAndProveMs":2976,"ledgerPrepareMs":3636,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":3636,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":3636,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"1281bddc-f1f7-4e01-a198-cb80534686b3"},"performance":null,"deploymentId":"forgejo-main-2069b2ccc92e","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":2467,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T20:34:46.188946+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":"2069b2ccc92e973179cab2ca246d846ff3ee4a25","external_id":"forgejo-main-2069b2ccc92e","receipt_type":"execute_mission","idempotency_key":"mission:1281bddc-f1f7-4e01-a198-cb80534686b3:execute_mission:canonical_release_reconciliation_pending:current-generation","mission_step_id":"6709d53c-83dd-40fb-b6b9-f279a7a7e690","command_center_event_id":"1281bddc-f1f7-4e01-a198-cb80534686b3"},{"id":"732b8f5f-c1f9-4815-850f-efeaca24c108","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"a3033644ed4669c210a163b5dbc4692f87f14978","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"a3033644ed4669c210a163b5dbc4692f87f14978","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":"70ed1810a309ebb685f5c9fc3925a3a3e38b00c6666ab3980b21a5603bca4963","forgejoWorkflowProof":{"runId":6871,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"frontend":"pending"},"targetJobCount":7,"observedTargetStates":{"frontend":"pending"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-10T21:41:51.559882+00:00","proof_gate":"canonical_release_pending","source_sha":"a3033644ed4669c210a163b5dbc4692f87f14978","external_id":"forgejo-main-a3033644ed46","receipt_type":"canonical_release_status","idempotency_key":"mission:5fee86d1-8f78-4168-865d-a1f0735beeb5:forgejo-release-status:a3033644ed4669c210a163b5dbc4692f87f14978:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"b0b0fdab-234e-440b-bca3-ae40b9278c47","command_center_event_id":"5fee86d1-8f78-4168-865d-a1f0735beeb5"},{"id":"732d2a65-f00c-4ee9-a6e0-580e45450197","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"2787c96b0131f8cb0550560508cc0baa9e306cbe","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"2787c96b0131f8cb0550560508cc0baa9e306cbe","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":"7a65ffb9b7acc1d85714592d2836828b96a908192a0a442162ff0b31afa71c49","forgejoWorkflowProof":{"runId":12149,"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-27T04:22:12.96254+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"2787c96b0131f8cb0550560508cc0baa9e306cbe","external_id":"forgejo-main-2787c96b0131","receipt_type":"canonical_release_status","idempotency_key":"mission:748b503b-dd0d-48b8-b7f3-b8be40a0c49f:forgejo-release-status:2787c96b0131f8cb0550560508cc0baa9e306cbe:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"208f4d1b-b873-429b-83d7-e42882fd3da3","command_center_event_id":"748b503b-dd0d-48b8-b7f3-b8be40a0c49f"},{"id":"732d720c-b804-438d-b11c-742ecb0d0e3f","source":"cc-execution","status":"authorized","payload":{"paths":[".forgejo/workflows/knocklaunch.yml","config/control-plane-capabilities.json"],"reason":"Owner explicitly authorized unfreeze -> repair control plane and queue behavior -> refreeze; current production config contradicts the existing three-runner setup by forcing heavyJobsParallel=1.","baseSha":"1977ced46ee7321ffccfd40f4436870e3f9b4c8b","issuedAt":1788476084786,"expiresAt":1788476264786,"missionId":"ea00d215-89e5-472b-a482-a39753c72582","singleUse":true,"authorizationId":"88bb0cba-3d03-48fc-a159-b36c1ff17ecb"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-03T22:54:45.722329+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"1977ced46ee7321ffccfd40f4436870e3f9b4c8b","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:88bb0cba-3d03-48fc-a159-b36c1ff17ecb","mission_step_id":"be4f1e6f-bc3a-4d53-840c-beccf5b6ec1e","command_center_event_id":"ea00d215-89e5-472b-a482-a39753c72582"},{"id":"732e671c-4c33-4d06-95f7-6ceba06f74d2","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"ed1bdb5b5c7d603055ffde762f700a966cc50e18","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"canonical-navigation-owner","satisfied":false,"statement":"Application identity, tenant app routes, app availability, and canonical tenant search/navigation discovery each have one existing owner: applicationCapabilityRegistry, tenantApplicationRouteResolver, and CanonicalWorkspaceSidebarRoot respectively. Shells may provide labels/order/context but do not become app-route owners.","proofConditionIds":["repo-navigation-proof","standard-navigation-proof","modes-navigation-proof","redfish-navigation-proof"]},{"id":"explicit-shell-context","satisfied":false,"statement":"MODES and Redfish preserve their tenant-specific presentation and vocabulary while registering navigation context explicitly through WorkspaceSidebarRegistration; canonical search no longer scrapes rendered shell DOM to discover app ownership or routes.","proofConditionIds":["repo-navigation-proof","modes-navigation-proof","redfish-navigation-proof"]},{"id":"single-tenant-search-owner","satisfied":false,"statement":"Tenant workspaces have one Cmd/Ctrl+K business search owner. GlobalCommandPalette is admin-only and does not query tenant business records or hard-code tenant application navigation.","proofConditionIds":["repo-navigation-proof","standard-navigation-proof"]},{"id":"compatibility-demotion","satisfied":false,"statement":"Legacy vertical/private route registries remain compatibility input adapters only and are not promoted into a second application registry or navigation owner.","proofConditionIds":["repo-navigation-proof"]}],"satisfied":false,"constraints":[{"id":"no-new-layer","satisfied":false,"statement":"Do not create a new registry, shell system, search product, route owner, backend service, database model, Edge Function, or orchestration layer.","proofConditionIds":["repo-navigation-proof"]},{"id":"presentation-preserved","satisfied":false,"statement":"MODES and Redfish visual navigation, tenant vocabulary, mode query state, and existing user-facing route aliases remain presentation behavior; only ownership/discovery plumbing changes.","proofConditionIds":["repo-navigation-proof","modes-navigation-proof","redfish-navigation-proof"]},{"id":"frontend-only","satisfied":false,"statement":"This pass is frontend/source-contract only. Do not change database schema/data, authentication, Edge Functions, workers, or external providers.","proofConditionIds":["repo-navigation-proof"]},{"id":"capability-completeness","satisfied":false,"statement":"Every changed dependency is wired, gated, released only to affected frontend production, and proven on representative standard, MODES, and Redfish tenant routes.","proofConditionIds":["repo-navigation-proof","standard-navigation-proof","modes-navigation-proof","redfish-navigation-proof"]},{"id":"atomic-capability-lifecycle","satisfied":false,"statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["repo-navigation-proof","standard-navigation-proof","modes-navigation-proof","redfish-navigation-proof"]}],"contractHash":"218a74eb88ec61f59b8a1c9e60ae3273402618dd55caefa21737305589e2cb96","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"repo-navigation-proof","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":"218a74eb88ec61f59b8a1c9e60ae3273402618dd55caefa21737305589e2cb96","unsuccessfulTargets":[],"activeReleaseTargets":["frontend"],"allowedReleaseTargets":["frontend"],"repositoryProofStatus":"required","expectedRepositoryPath":null,"namedGateTestSatisfied":true,"requiredReleaseTargets":["frontend"],"migrationReleaseVerified":null,"repositoryConditionBound":false,"repositoryProofSourceSha":null},"required":true,"satisfied":false},{"id":"standard-navigation-proof","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":"218a74eb88ec61f59b8a1c9e60ae3273402618dd55caefa21737305589e2cb96"},"required":true,"satisfied":true},{"id":"modes-navigation-proof","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":"218a74eb88ec61f59b8a1c9e60ae3273402618dd55caefa21737305589e2cb96"},"required":true,"satisfied":true},{"id":"redfish-navigation-proof","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":"218a74eb88ec61f59b8a1c9e60ae3273402618dd55caefa21737305589e2cb96"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":["repository"],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-17T21:19:38.943336+00:00","proof_gate":"request_contract_pending","source_sha":"ed1bdb5b5c7d603055ffde762f700a966cc50e18","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:910b1885-a201-49ab-8c4f-8637431bdc31:request-contract:218a74eb88ec61f59b8a1c9e60ae3273402618dd55caefa21737305589e2cb96:ed1bdb5b5c7d603055ffde762f700a966cc50e18:pending:repository","mission_step_id":"8bc62ef0-ca9c-4d9c-b0a4-922ab6cf75bb","command_center_event_id":"910b1885-a201-49ab-8c4f-8637431bdc31"},{"id":"732e9089-01a5-4b65-855d-ebe06fb0c2db","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"a95b3f885017355211dd558df8f821c2d3608b01","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"a95b3f885017355211dd558df8f821c2d3608b01","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":"767ffeda39cbbd7026179b97e8fe00a8855624f34e7d1bf6a63a1b782c7860ac","forgejoWorkflowProof":{"runId":11430,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"frontend":"pending"},"targetJobCount":7,"observedTargetStates":{"frontend":"pending"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T05:35:07.417455+00:00","proof_gate":"canonical_release_pending","source_sha":"a95b3f885017355211dd558df8f821c2d3608b01","external_id":"forgejo-main-a95b3f885017","receipt_type":"canonical_release_status","idempotency_key":"mission:0a680ea0-28cd-4751-b264-c7ac0f65951b:forgejo-release-status:a95b3f885017355211dd558df8f821c2d3608b01:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"34188583-ba2e-4984-99a5-9e8470d7138a","command_center_event_id":"0a680ea0-28cd-4751-b264-c7ac0f65951b"},{"id":"732e99fc-310f-40e5-8101-f99fd9b9631a","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-fcee5289cbc6","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":28724,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":1,"executorlessWaitMs":48419,"firstUsefulResultAt":"2026-09-28T17:26:56.329Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.305-paul-machinery-sync-drift-proof","prNumber":4024,"terminal":false,"missionId":"fcee5289-cbc6-48b0-8b25-1a4d64a96502","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":5168,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":2198,"missionSetupMs":286,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":286,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":286,"repositoryMutationMs":2970,"repositoryProviderMs":2970,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":1900,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":286,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1070},"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":"fcee5289-cbc6-48b0-8b25-1a4d64a96502"},"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":3139,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T17:27:51.324714+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"4024","receipt_type":"execute_mission","idempotency_key":"mission:fcee5289-cbc6-48b0-8b25-1a4d64a96502:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"cf94132e-151c-45ad-a24b-88f1f29dfa76","command_center_event_id":"fcee5289-cbc6-48b0-8b25-1a4d64a96502"}],"rows":400,"limit":400,"table":"command_center_receipts","format":"knocklaunch-table-chunk-v1","offset":19600,"schema":"public","order_key":"id"}