{"data":[{"id":"5be2039c-f089-479b-9a49-518d3d2248cc","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"16c567ffb21328e5fc037bc4fa8889b51749c7a3","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"16c567ffb21328e5fc037bc4fa8889b51749c7a3","releaseState":"verified","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"success"},"requestContractHash":"03d170132b9f5754ca8cb84dcd66ceb7186d664b78165c7e7419586c98f0cca5","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/6238","runId":6238,"status":"success","sourceSha":"16c567ffb21328e5fc037bc4fa8889b51749c7a3","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"frontend":"success"},"targetJobCount":7,"observedTargetStates":{"frontend":"success"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-09-07T19:25:14.54486+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"16c567ffb21328e5fc037bc4fa8889b51749c7a3","external_id":"forgejo-main-16c567ffb213","receipt_type":"canonical_release_status","idempotency_key":"mission:8a76ddba-3041-4df0-a7e3-45c2424957e5:forgejo-release-status:16c567ffb21328e5fc037bc4fa8889b51749c7a3:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"55206fca-519b-4495-b3bb-c7687c767f40","command_center_event_id":"8a76ddba-3041-4df0-a7e3-45c2424957e5"},{"id":"5be3e384-953c-4a3c-bdb8-3eb21e5414a1","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"objective_received","branch":null,"reason":"canonical_release_queue_busy:11504","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":null,"recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.260-release-actions-query-parity","prNumber":null,"terminal":false,"missionId":"029b9c68-2623-44fe-b8f7-9e229d77e5dc","operation":"execute_mission","proofGate":"canonical_release_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":467,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":356,"providerAuthMs":0,"shipAndProveMs":151,"ledgerPrepareMs":356,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":356,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":356,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"029b9c68-2623-44fe-b8f7-9e229d77e5dc"},"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":1393,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T14:49:21.829895+00:00","proof_gate":"canonical_release_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:029b9c68-2623-44fe-b8f7-9e229d77e5dc:execute_mission:canonical_release_blocked:current-generation","mission_step_id":"49252273-3dc7-4521-8b61-eeb4cab2fa88","command_center_event_id":"029b9c68-2623-44fe-b8f7-9e229d77e5dc"},{"id":"5be6e08f-0025-4390-afa6-94be1fdae6d0","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"b6dce652d48f0f3829d42cbf5af20a16ad447c2a","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"redfish-owner-model","satisfied":true,"statement":"Redfish owner home clearly represents Retail and Insurance roofing, financing, claim payout, jobs, documents, reporting, and homeowner operations without generic CRM noise or a duplicate owner console.","proofConditionIds":["source-contract","runtime-sha"]},{"id":"roofhelpfinder-routing","satisfied":true,"statement":"RoofHelpFinder leads in Redfish follow a Jimmy-exclusive assignment rule and never silently fall back to KnockLaunch Bot when Jimmy lacks an active Redfish membership; they reconcile automatically when his membership becomes active.","proofConditionIds":["source-contract","data-contract"]}],"satisfied":true,"constraints":[{"id":"preserve-contracts","satisfied":true,"statement":"Preserve the existing roofing_project_ops, claim/payment, financing, estimate, document, and closeout contracts already shipped.","proofConditionIds":["source-contract"]},{"id":"no-auth-bypass","satisfied":true,"statement":"Do not hand-insert or otherwise bypass Supabase auth to manufacture Jimmy's user identity.","proofConditionIds":["source-contract","data-contract"]},{"id":"other-tenants","satisfied":true,"statement":"Do not alter other tenants' owner experience or routing unless they explicitly configure the generic lead-source routing setting.","proofConditionIds":["source-contract"]},{"id":"no-visual-witness","satisfied":true,"statement":"Do not run Visual Witness.","proofConditionIds":["source-contract","runtime-sha"]}],"contractHash":"980ebf9b14c70f3c5ece5af36ec785b086c8ae5d8b83c650f8d69147e2797ea4","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"source-contract","kind":"repository","evidence":{"releaseState":"verified","releaseRequestContractHash":"980ebf9b14c70f3c5ece5af36ec785b086c8ae5d8b83c650f8d69147e2797ea4"},"required":true,"satisfied":true},{"id":"data-contract","kind":"runtime","evidence":{"releaseState":"verified","releaseRequestContractHash":"980ebf9b14c70f3c5ece5af36ec785b086c8ae5d8b83c650f8d69147e2797ea4"},"required":true,"satisfied":true},{"id":"runtime-sha","kind":"runtime","evidence":{"releaseState":"verified","releaseRequestContractHash":"980ebf9b14c70f3c5ece5af36ec785b086c8ae5d8b83c650f8d69147e2797ea4"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":2},"tenant_id":"de8369b6-a78f-40bb-ae1f-28ffca62bc7e","created_at":"2026-08-31T23:47:04.161461+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"b6dce652d48f0f3829d42cbf5af20a16ad447c2a","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:d49c333e-8fb1-4bce-a2d4-19265cb05292:request-contract:980ebf9b14c70f3c5ece5af36ec785b086c8ae5d8b83c650f8d69147e2797ea4:b6dce652d48f0f3829d42cbf5af20a16ad447c2a:verified:","mission_step_id":"9c11d6a7-567c-4378-b083-857f9e08d5ce","command_center_event_id":"d49c333e-8fb1-4bce-a2d4-19265cb05292"},{"id":"5be7d643-8b15-4116-8c76-6a6e48aac87f","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-a3d59bd73d1a","reason":"pull_request_checks_failed","status":"retryable","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":3284,"terminal":false,"missionId":"a3d59bd7-3d1a-4a5d-a5b1-cbbfed259c88","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":1026,"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":"a3d59bd7-3d1a-4a5d-a5b1-cbbfed259c88"},"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":1360,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-20T14:24:44.652554+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"3284","receipt_type":"automatic_mission_resume","idempotency_key":"mission:a3d59bd7-3d1a-4a5d-a5b1-cbbfed259c88:automatic-mission-resume:3284:repair_mission_pr_ready_retryable","mission_step_id":"62da6984-dd7b-4633-ae09-573f58507291","command_center_event_id":"a3d59bd7-3d1a-4a5d-a5b1-cbbfed259c88"},{"id":"5be8a88d-e10f-455c-b7c8-7af81e1b5ef0","source":"forgejo","status":"waiting","payload":{"branch":"ai/curri-opportunity-radar-profiles-0907","prNumber":2106,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"a7c0bde1cc5a3ff3afa27b95ce54e279ad20e2e9","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-07T20:50:49.250728+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"a7c0bde1cc5a3ff3afa27b95ce54e279ad20e2e9","external_id":"2106","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:5ea0cea3-ad91-4ff4-8526-2f41893bfd0b:merged-pr:2106:a7c0bde1cc5a3ff3afa27b95ce54e279ad20e2e9","mission_step_id":"ead13717-b3e0-4d1e-85ac-81655cefbe2b","command_center_event_id":"5ea0cea3-ad91-4ff4-8526-2f41893bfd0b"},{"id":"5beeb67c-bad2-493a-b631-bf814fa631d0","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"compilation":{"stages":["owner_intent","conversation_context","scope","live_state","mutation_authority","affected_systems","dependencies","risk_and_blast_radius","execution_tactics","required_proof","release_plan","recovery_plan"],"version":2,"explicit":true,"objective":"Continue this exact mission now from the durable checkpoint. Reuse the existing sourceBundle and inspect only exact additional files you need. Implement the owner play-by-play UI and production phone notification path described in the mission objective, then Gate, squash merge, deploy, and prove live. Do not create a new mission and do not stop at synthesis, PR, or Gate.","proofKinds":["repository"],"adaptiveDomains":["intent","tenant_route_role_viewport","urgency_deadline","dependency_scope","risk_blast_radius","runner_capacity","queue_active_work","provider_failure_circuits","qa_scope","retry_recovery","release_ownership","proof_depth"],"expansionPolicy":"later_stages_may_only_narrow_or_expand_with_machine_readable_dependency_evidence","dynamicStatePolicy":"live_state_may_change_execution_tactics_but_never_owner_outcome_or_explicit_constraints","dynamicRefreshStages":["preflight","gate","release","runtime_proof"],"adaptiveCompilerVersion":"paul-adaptive-objective-v1","inheritedContextBlockingAuthority":false},"rawUtterance":"Continue this exact mission now from the durable checkpoint. Reuse the existing sourceBundle and inspect only exact additional files you need. Implement the owner play-by-play UI and production phone notification path described in the mission objective, then Gate, squash merge, deploy, and prove live. Do not create a new mission and do not stop at synthesis, PR, or Gate.","wordingChanged":false,"canonicalIntent":"Continue this exact mission now from the durable checkpoint. Reuse the existing sourceBundle and inspect only exact additional files you need. Implement the owner play-by-play UI and production phone notification path described in the mission objective, then Gate, squash merge, deploy, and prove live. Do not create a new mission and do not stop at synthesis, PR, or Gate.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"Continue this exact mission now from the durable checkpoint. Reuse the existing sourceBundle and inspect only exact additional files you need. Implement the owner play-by-play UI and production phone notification path described in the mission objective, then Gate, squash merge, deploy, and prove live. Do not create a new mission and do not stop at synthesis, PR, or Gate.","provenance":{"reason":null,"source":"current_request_inference","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]}],"objective":"Continue this exact mission now from the durable checkpoint. Reuse the existing sourceBundle and inspect only exact additional files you need. Implement the owner play-by-play UI and production phone notification path described in the mission objective, then Gate, squash merge, deploy, and prove live. Do not create a new mission and do not stop at synthesis, PR, or Gate.","constraints":[{"id":"capability-completeness","statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","provenance":{"reason":null,"source":"heuristic_current_objective","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]},{"id":"atomic-capability-lifecycle","statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","provenance":{"reason":null,"source":"heuristic_current_objective","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]}],"adaptivePolicy":{"risk":{"tier":"standard","blastRadius":"scoped"},"proof":{"requiredKinds":["repository"],"visualProofScope":"none","interactionRequired":false,"runtimeProofRequired":true},"scope":{"route":null,"roleRef":null,"tenantRef":null,"sourceTargets":[]},"dynamic":{"variables":["main_and_runtime_lineage","runner_capacity","queue_and_active_work","provider_health","failure_clusters_and_circuits","release_target_state","current_pr_and_gate_state"],"refreshStages":["preflight","gate","release","runtime_proof"],"refreshMayChange":["runner_selection","parallelism","retry_path","qa_depth","release_recovery","proof_timing"],"refreshMayNotChange":["owner_outcome","explicit_no_go_constraints","tenant_identity","credential_boundary","hard_safety_invariants"]},"urgency":{"priority":"normal","deadlineSignals":[],"deadlineExplicit":false},"version":"paul-adaptive-objective-v1","recovery":{"transient":"one_bounded_retry_then_alternate_eligible_pool_or_provider_path","deterministic":"repair_source_or_contract_do_not_blind_rerun","mutationDependencyFailure":"prerequisite_required_or_targeted_recovery_never_invent","readOnlyDependencyFailure":"degrade_to_available_grounded_context_and_keep_conversation_alive"},"unknowns":["tenant","route","source_targets_until_repository_resolution","release_targets_until_changed_paths","deadline"],"authority":{"outcome":"current_explicit_owner_request","tactics":"live_prime_truth","unknownPolicy":"preserve_unknown_never_invent","historicalContext":"advisory_unless_current_request_confirms"},"execution":{"mutation":true,"concurrency":"parallel_non_overlapping_work","scopePolicy":"start_bounded_expand_only_with_machine_readable_dependency_evidence","staleStatePolicy":"refresh_dynamic_state_before_irreversible_or_acceptance_stage","conversationIsolation":true,"ownerOutcomeMayBeChangedByAdaptation":false},"experience":{"visual":false,"viewports":["mobile"],"behavioral":false,"visualProofScope":"none"},"dependencies":{"requiredDomains":["frontend","backend_runtime","release_ownership","live_production_proof"],"capabilityDomains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"releaseTargetHints":[]},"inputSignals":{"rawUtterance":"Continue this exact mission now from the durable checkpoint. Reuse the existing sourceBundle and inspect only exact additional files you need. Implement the owner play-by-play UI and production phone notification path described in the mission objective, then Gate, squash merge, deploy, and prove live. Do not create a new mission and do not stop at synthesis, PR, or Gate.","canonicalIntent":"Continue this exact mission now from the durable checkpoint. Reuse the existing sourceBundle and inspect only exact additional files you need. Implement the owner play-by-play UI and production phone notification path described in the mission objective, then Gate, squash merge, deploy, and prove live. Do not create a new mission and do not stop at synthesis, PR, or Gate.","conversationContextPresent":false}},"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-production","kind":"repository","claim":"Continue this exact mission now from the durable checkpoint. Reuse the existing sourceBundle and inspect only exact additional files you need. Implement the owner play-by-play UI and production phone notification path described in the mission objective, then Gate, squash merge, deploy, and prove live. Do not create a new mission and do not stop at synthesis, PR, or Gate.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}],"validationErrors":[],"capabilityManifest":{"id":"Continue-this-exact-mission-now-from-the-durable-checkpoint.-Reuse-the-existing-sourceBundle-and-ins","driftPolicy":"exact_manifest_source_release_dependency_or_runtime_identity_mismatch_is_nonterminal","proofLedger":"command_center_mission_ledger_request_contract_hash_bound","schemaVersion":1,"releaseTargets":[],"lifecycleStates":["prepare","deploy","verify","activate"],"activationPolicy":"dependencies_and_claim_matched_live_proof_before_exposure","dependencyDomains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_required_not_runtime_failures","compatibilityWindow":["N","N-1"],"failureIsolationPolicy":"quarantine_or_rollback_affected_capability_only_preserve_unrelated_working_capabilities","canaryProofConditionIds":["proof-production"]},"capabilityCompleteness":{"domains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"required":true,"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_states_not_runtime_failures"}},"requestContractHash":"ea4eddd88f508cecf8b1ffc4201c067c863b173845887ed7f1e34269f926e57d","requestContractRevision":2,"previousRequestContractHash":"b51bd639e5df13c4bb11caa8dbeed88e7b2b4530ad6284191faf656e11750627"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T14:17:33.731555+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:d97048d2-32c3-4cf4-855e-0310dc27948b:request-contract:ea4eddd88f508cecf8b1ffc4201c067c863b173845887ed7f1e34269f926e57d","mission_step_id":"1ca38cac-0343-4f2a-953a-bd59a5c57ad6","command_center_event_id":"d97048d2-32c3-4cf4-855e-0310dc27948b"},{"id":"5beecd4a-4a04-4d3d-b7e1-b7bba6a07a0a","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","render-onrunner/runtime-proof":"success"},"mainSha":"2ba417adc03f92cd4290c8e79028619b0068c95f","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","render-onrunner/runtime-proof"],"sourceSha":"2ba417adc03f92cd4290c8e79028619b0068c95f","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"onrunner":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"onrunner":"success"},"requestContractHash":"fce5d35c1dcbe1cbc0abf5be9e792a28b6bf9f5b2b2dc8dad40b05a31ff41862","forgejoWorkflowProof":{"runId":11815,"source":"exact_live_onrunner_runtime_identity","status":"running","liveSha":"2ba417adc03f92cd4290c8e79028619b0068c95f","results":{},"proofGate":"onrunner_exact_live_runtime_substitutes_interrupted_workflow_receipt","sourceSha":"2ba417adc03f92cd4290c8e79028619b0068c95f","conclusion":"running","targetStates":{"onrunner":"pending"},"runnerVersion":"onrunner-2ba417adc03f","targetJobCount":7,"observedTargetStates":{"onrunner":"pending"},"workflowReceiptSubstituted":true},"onrunnerRuntimeProof":{"reason":null,"hostedUrl":"https://knocklaunchcrm.onrender.com","brokerReady":true,"exactSource":true,"healthStatus":200,"runtimeReady":true,"liveSourceSha":"2ba417adc03f92cd4290c8e79028619b0068c95f","runnerVersion":"onrunner-2ba417adc03f","expectedSourceSha":"2ba417adc03f92cd4290c8e79028619b0068c95f"},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T14:08:13.278183+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"2ba417adc03f92cd4290c8e79028619b0068c95f","external_id":"forgejo-main-2ba417adc03f","receipt_type":"canonical_release_status","idempotency_key":"mission:e0cf6a8a-969a-45bd-9bf1-a35f2d3cc564:forgejo-release-status:2ba417adc03f92cd4290c8e79028619b0068c95f:verified:forgejo-main/source=success|forgejo-release/workflow=success|render-onrunner/runtime-proof=success","mission_step_id":"84e3f691-e61e-4758-a0b6-82f59e060038","command_center_event_id":"e0cf6a8a-969a-45bd-9bf1-a35f2d3cc564"},{"id":"5bf16ff5-1d27-40bd-978c-8c3b14d65ea9","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"bef905857cc36fb5138a4227b55cb0d1c9eb3fab","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"bef905857cc36fb5138a4227b55cb0d1c9eb3fab","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-23T08:54:45.976144+00:00","proof_gate":"canonical_release_pending","source_sha":"bef905857cc36fb5138a4227b55cb0d1c9eb3fab","external_id":null,"receipt_type":"canonical_release_status","idempotency_key":"mission:1eb7f2ca-6e80-4619-9e08-58ae78c8540d:forgejo-release-status:bef905857cc36fb5138a4227b55cb0d1c9eb3fab:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"8bb28356-375a-4ad5-8ecb-0c4ffa73f51b","command_center_event_id":"1eb7f2ca-6e80-4619-9e08-58ae78c8540d"},{"id":"5bf1e382-00a0-4638-9380-660ca5f5b6f8","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-0681e9b8101f","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":20941,"releaseCount":0,"toolCallCount":8,"repeatedCallCount":2,"executorlessWaitMs":688005,"firstUsefulResultAt":"2026-09-27T05:31:38.123Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.292-release-target-parity","prNumber":3865,"terminal":false,"missionId":"0681e9b8-101f-48b7-bece-3cca02923ca9","operation":"execute_mission","proofGate":"canonical_release_reconciliation_pending","sourceSha":"449d4d9f85f3703a9de58fef45dc14ac934d46d2","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3225,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":375,"approvedPlanMs":0,"missionSetupMs":328,"providerAuthMs":0,"shipAndProveMs":2167,"ledgerPrepareMs":232,"ledgerReconcileMs":0,"lineageReconcileMs":96,"resolvePreflightMs":328,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":232,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"0681e9b8-101f-48b7-bece-3cca02923ca9"},"performance":null,"deploymentId":"forgejo-main-449d4d9f85f3","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":2530,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T05:43:20.434643+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":"449d4d9f85f3703a9de58fef45dc14ac934d46d2","external_id":"forgejo-main-449d4d9f85f3","receipt_type":"execute_mission","idempotency_key":"mission:0681e9b8-101f-48b7-bece-3cca02923ca9:execute_mission:canonical_release_reconciliation_pending:current-generation","mission_step_id":"e3737eae-67ae-4ff2-b093-2fc42a5d92ee","command_center_event_id":"0681e9b8-101f-48b7-bece-3cca02923ca9"},{"id":"5bf4743d-df75-4594-83b0-1436347b7782","source":"forgejo","status":"waiting","payload":{"branch":"ai/prime-oauth-single-owner-20260910","prNumber":2302,"nextAction":null,"mergeCommitSha":"08f4bb1c8329c1c79d2f52246ba821d8bbf550cf","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-10T16:29:45.216072+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"08f4bb1c8329c1c79d2f52246ba821d8bbf550cf","external_id":"2302","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:8ab5254f-1339-4a93-91b0-a269b76b7b84:merged-pr:2302:08f4bb1c8329c1c79d2f52246ba821d8bbf550cf","mission_step_id":"471cd09c-f16b-48d3-b4cd-5b8ca6dcc9ff","command_center_event_id":"8ab5254f-1339-4a93-91b0-a269b76b7b84"},{"id":"5bf53277-2ff4-4f88-b44a-e62504ed56d4","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"0b75168bd2d411a2e672bb4cc7b529ed76a7a6a2","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":true,"statement":"Apply exact follow-up edit to the same file and PR.","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":"8c0e3ffd635fc0e201658d9a218865a44edc5e67fa51d2f6908e2d53a2723015","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"proof-production","kind":"repository","evidence":{"reason":null,"gateRunId":16281,"satisfied":true,"gateTestProof":null,"gateTestPassed":false,"missingTargets":[],"gateTestExecuted":false,"disallowedTargets":[],"migrationRequired":false,"namedGateTestPath":null,"releaseTargetStates":{"frontend":"success"},"repositoryProofGate":"request_contract_repository_verified","repositoryProofPath":null,"requestContractHash":"8c0e3ffd635fc0e201658d9a218865a44edc5e67fa51d2f6908e2d53a2723015","unsuccessfulTargets":[],"activeReleaseTargets":["frontend"],"allowedReleaseTargets":[],"repositoryProofStatus":"verified","expectedRepositoryPath":null,"namedGateTestSatisfied":true,"requiredReleaseTargets":[],"migrationReleaseVerified":null,"repositoryConditionBound":true,"repositoryProofSourceSha":"0b75168bd2d411a2e672bb4cc7b529ed76a7a6a2"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":4},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T11:55:05.597436+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"0b75168bd2d411a2e672bb4cc7b529ed76a7a6a2","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:b5f44bcf-e851-4fce-a6c9-54ab17d5805e:request-contract:8c0e3ffd635fc0e201658d9a218865a44edc5e67fa51d2f6908e2d53a2723015:0b75168bd2d411a2e672bb4cc7b529ed76a7a6a2:verified:","mission_step_id":"b214febb-25fd-48c9-8c18-7b802e041254","command_center_event_id":"b5f44bcf-e851-4fce-a6c9-54ab17d5805e"},{"id":"5bf5fb74-66e3-4baa-b899-6a8402d8b98a","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-980b9743e3e3","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":12867,"releaseCount":0,"toolCallCount":6,"repeatedCallCount":1,"executorlessWaitMs":441989,"firstUsefulResultAt":"2026-09-24T19:37:33.927Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.261-nonvisual-proof-precedence","prNumber":3667,"terminal":false,"missionId":"980b9743-e3e3-4fa2-b582-487091d09a8b","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3928,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":1187,"missionSetupMs":454,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":290,"ledgerReconcileMs":0,"lineageReconcileMs":164,"resolvePreflightMs":454,"repositoryMutationMs":2741,"repositoryProviderMs":2741,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2592,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":290,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":149},"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":"980b9743-e3e3-4fa2-b582-487091d09a8b"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime","visual"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3063,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T19:38:55.533355+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3667","receipt_type":"execute_mission","idempotency_key":"mission:980b9743-e3e3-4fa2-b582-487091d09a8b:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"5c1409cb-1838-4806-8bd4-0c7a693665da","command_center_event_id":"980b9743-e3e3-4fa2-b582-487091d09a8b"},{"id":"5bf92cc4-bd7e-4742-87d6-0ae0ef4df6a0","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Continue the same PR 1568 mission after stale-main detection. Automatically refresh the existing Big Papi proposal visual-system pull request onto current protected main, preserve its exact existing source intent, re-gate the refreshed exact head, then squash merge, release only the affected frontend, and prove delivery.","wordingChanged":false,"canonicalIntent":"Continue the same PR 1568 mission after stale-main detection. Automatically refresh the existing Big Papi proposal visual-system pull request onto current protected main, preserve its exact existing source intent, re-gate the refreshed exact head, then squash merge, release only the affected frontend, and prove delivery.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"deliver-existing-pr","statement":"The exact Big Papi proposal visual-system changes represented by PR 1568 are preserved, refreshed onto current protected main, merged, and released.","proofConditionIds":["production-proof"]},{"id":"stale-main-recovery","statement":"Any main movement is handled as refresh/re-gate rather than terminal code failure.","proofConditionIds":["production-proof"]}],"objective":"Continue the same PR 1568 mission after stale-main detection. Automatically refresh the existing Big Papi proposal visual-system pull request onto current protected main, preserve its exact existing source intent, re-gate the refreshed exact head, then squash merge, release only the affected frontend, and prove delivery.","constraints":[{"id":"preserve-proposal-contract","statement":"Proposal content, pricing, calculations, current logo, and behavior remain unchanged; only the existing visual-system work is delivered.","proofConditionIds":["production-proof"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"production-proof","kind":"runtime","claim":"The affected production frontend is released from the exact merged source containing PR 1568's preserved visual-system changes.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestContractHash":"6f266b16efa01006064c4bec4d00cdd4f864c8f886d0777aa21db2dc22f45ff4","requestContractRevision":2,"previousRequestContractHash":"ffa95954fbb4cddb8308105b801dc5246a17b98450aa484bfcb98b295d9525dd"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-03T15:30:33.130907+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:bae516db-8c70-4673-94b2-a4021eb99e3b:request-contract-revision:2:6f266b16efa01006064c4bec4d00cdd4f864c8f886d0777aa21db2dc22f45ff4","mission_step_id":"2f6b57c8-4f6e-4963-a716-e808aab5046b","command_center_event_id":"bae516db-8c70-4673-94b2-a4021eb99e3b"},{"id":"5bf98d20-d923-4979-9b3f-b3f6a9ffdfb9","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"release","branch":"ai/redfish-insurance-retail-dual-pipeline-20260829","reason":"The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":20998,"releaseCount":1,"toolCallCount":11,"repeatedCallCount":5,"ownerInterruptionCount":0},"version":"1.55.9-explicit-branch-pr-reconciliation","prNumber":1006,"terminal":false,"missionId":"a12f229a-bb9a-4d36-a7ab-8261815df283","operation":"execute_mission","proofGate":"canonical_release_transport_retryable","sourceSha":"cb81ca57e152db436b2985b3842745dfb1e438a4","timingsMs":{"handlerMs":24611,"prReadinessMs":1181,"approvedPlanMs":0,"missionSetupMs":2567,"shipAndProveMs":23417},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"a12f229a-bb9a-4d36-a7ab-8261815df283"},"performance":null,"deploymentId":"forgejo-main-cb81ca57e152","workflowRunId":null,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":true,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":5240,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"de8369b6-a78f-40bb-ae1f-28ffca62bc7e","created_at":"2026-08-29T12:22:51.259909+00:00","proof_gate":"canonical_release_transport_retryable","source_sha":"cb81ca57e152db436b2985b3842745dfb1e438a4","external_id":"forgejo-main-cb81ca57e152","receipt_type":"execute_mission","idempotency_key":"mission:a12f229a-bb9a-4d36-a7ab-8261815df283:execute_mission:canonical_release_transport_retryable:current-generation","mission_step_id":"cff97177-81dc-4162-8ee0-810b6b2e7837","command_center_event_id":"a12f229a-bb9a-4d36-a7ab-8261815df283"},{"id":"5bf9bfe3-2a71-48d3-901f-1b51f1715369","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:03:41.121026+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:119418014","mission_step_id":"8f1c0a7d-df5b-4529-9b5e-b41c824b98db","command_center_event_id":"6cd825d0-ddfe-4532-8e8e-5f72704f5be5"},{"id":"5bfd33e6-6d55-47ac-8715-1ea5af034de2","source":"cc-execution","status":"release_verification_pending","payload":{"ok":true,"jobId":null,"phase":"release","branch":null,"reason":null,"status":"release_verification_pending","metrics":{"receiptBytes":1957,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":1,"ownerInterruptionCount":0},"version":"1.46.14-file-write-contract","prNumber":311,"terminal":false,"missionId":"43f72b9c-ff22-409e-9a0b-b0bceb676a1f","operation":"ship_and_prove","proofGate":"ship_and_prove_release_pending","sourceSha":"a4447e76d55c7a804c232aa51e1770abbddc0fe0","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"43f72b9c-ff22-409e-9a0b-b0bceb676a1f"},"performance":null,"deploymentId":"forgejo-main-a4447e76d55c","workflowRunId":996,"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":6158,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"6f522f13-31f4-41af-a806-bcdfbc927a9e","created_at":"2026-08-16T21:42:01.999455+00:00","proof_gate":"ship_and_prove_release_pending","source_sha":"a4447e76d55c7a804c232aa51e1770abbddc0fe0","external_id":"forgejo-main-a4447e76d55c","receipt_type":"ship_and_prove","idempotency_key":"mission:43f72b9c-ff22-409e-9a0b-b0bceb676a1f:ship_and_prove:ship_and_prove_release_pending:a4447e76d55c7a804c232aa51e1770abbddc0fe0:996","mission_step_id":"1174ddd1-6495-4b38-ae68-d951e23aff86","command_center_event_id":"43f72b9c-ff22-409e-9a0b-b0bceb676a1f"},{"id":"5bff12be-340f-4a57-a32e-ae05aaab3192","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/fix-big-papis-events-runtime-stub-20260823","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":9304,"releaseCount":0,"toolCallCount":6,"repeatedCallCount":2,"ownerInterruptionCount":0},"version":"1.50.16-onrunner-release-ownership","prNumber":null,"terminal":false,"missionId":"c6adc074-4e27-402c-ae48-68e73b25b6e8","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":"c6adc074-4e27-402c-ae48-68e73b25b6e8"},"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":8980,"likelyAffectedFiles":[".forgejo/workflows/knocklaunch.yml","src/__tests__/contracts/command-center-forgejo-transport-reliability.contract.test.ts","src/__tests__/contracts/command-center-release-reconciliation-budget.contract.test.ts","src/__tests__/contracts/command-center-existing-branch-refresh.contract.test.ts","src/__tests__/contracts/command-center-event-runtime.test.ts","src/__tests__/commandCenter/deployDetection.test.ts","config/control-plane-capabilities.json","scripts/validate-command-center-contracts.mjs"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-23T14:53:07.895951+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:c6adc074-4e27-402c-ae48-68e73b25b6e8:execute_mission:repair_mission_synthesis_ready","mission_step_id":"16bfef2e-3876-41e3-a0d5-6403c800c4c8","command_center_event_id":"c6adc074-4e27-402c-ae48-68e73b25b6e8"},{"id":"5bffd5bf-b46a-42e9-8761-a2b2164187e5","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},\"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-03T20:56:09.739303+00:00\",\"recoveryAction\":\"reconcile_release\"},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":3904,\"sourceSha\":\"e3c85ad23367d30f75e4b9e1867e2ea8761ee6c8\",\"deploymentId\":\"canonical-release-e3c85ad23367\"}"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T21:33:48.803026+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:b69b82ae-025e-4429-b144-670d07401af9:owner-progress-heartbeat:119329335","mission_step_id":"ca17935a-1152-492f-93d2-256906550738","command_center_event_id":"b69b82ae-025e-4429-b144-670d07401af9"},{"id":"5c0171d7-12d7-40ca-878b-1c9a80697e8e","source":"cc-execution","status":"in_progress","payload":{"ok":true,"jobId":null,"phase":"release","branch":"ai/objective-first-repair-f1fb7a7ad1df","reason":null,"status":"in_progress","metrics":{"receiptBytes":0,"releaseCount":1,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":1926,"terminal":false,"missionId":"f1fb7a7a-d1df-40d8-9f27-7c88862256d5","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"542df6b39dcbe642a2528d3cb289f0939976c80c","timingsMs":{"prReadinessMs":1175,"approvedPlanMs":0,"shipAndProveMs":5965,"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":"f1fb7a7a-d1df-40d8-9f27-7c88862256d5"},"performance":null,"deploymentId":"forgejo-main-542df6b39dcb","workflowRunId":5785,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":794,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-06T03:14:12.531649+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"1926","receipt_type":"automatic_mission_resume","idempotency_key":"mission:f1fb7a7a-d1df-40d8-9f27-7c88862256d5:automatic-mission-resume:1926:canonical_release_reconciliation_pending","mission_step_id":"f0c589bf-0a36-4017-ac70-294689b50015","command_center_event_id":"f1fb7a7a-d1df-40d8-9f27-7c88862256d5"},{"id":"5c02eb07-d446-4885-b2cb-2c037e9bc8ae","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"compilation":{"stages":["owner_intent","conversation_context","scope","live_state","mutation_authority","affected_systems","dependencies","risk_and_blast_radius","execution_tactics","required_proof","release_plan","recovery_plan"],"version":2,"explicit":true,"objective":"Continue the authorized full-stack drift audit convergence mission. Inspect only the exact current main source target supplied for reconciliation; do not mutate until the complete exact source required for the proven drift repair is available.","proofKinds":["repository"],"adaptiveDomains":["intent","tenant_route_role_viewport","urgency_deadline","dependency_scope","risk_blast_radius","runner_capacity","queue_active_work","provider_failure_circuits","qa_scope","retry_recovery","release_ownership","proof_depth"],"expansionPolicy":"later_stages_may_only_narrow_or_expand_with_machine_readable_dependency_evidence","dynamicStatePolicy":"live_state_may_change_execution_tactics_but_never_owner_outcome_or_explicit_constraints","dynamicRefreshStages":["preflight","gate","release","runtime_proof"],"adaptiveCompilerVersion":"paul-adaptive-objective-v1","inheritedContextBlockingAuthority":false},"rawUtterance":"Continue the authorized full-stack drift audit convergence mission. Inspect only the exact current main source target supplied for reconciliation; do not mutate until the complete exact source required for the proven drift repair is available.","wordingChanged":false,"canonicalIntent":"Continue the authorized full-stack drift audit convergence mission. Inspect only the exact current main source target supplied for reconciliation; do not mutate until the complete exact source required for the proven drift repair is available.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-source","statement":"The exact current main source required for the authorized drift repair is inspected without broadening scope.","provenance":{"reason":null,"source":"explicit_request_contract","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-repository"]}],"objective":"Continue the authorized full-stack drift audit convergence mission. Inspect only the exact current main source target supplied for reconciliation; do not mutate until the complete exact source required for the proven drift repair is available.","constraints":[{"id":"constraint-read","statement":"Do not mutate from incomplete or stale source.","provenance":{"reason":null,"source":"explicit_request_contract","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-repository"]},{"id":"capability-completeness","statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","provenance":{"reason":null,"source":"hard_safety_invariant","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-repository"]},{"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"]}],"adaptivePolicy":{"risk":{"tier":"standard","blastRadius":"scoped"},"proof":{"requiredKinds":["repository"],"visualProofScope":"none","interactionRequired":false,"runtimeProofRequired":true},"scope":{"route":null,"roleRef":null,"tenantRef":null,"sourceTargets":["config/capabilities/knocklaunch-console.json"]},"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","release_targets_until_changed_paths","deadline"],"authority":{"outcome":"current_explicit_owner_request","tactics":"live_prime_truth","unknownPolicy":"preserve_unknown_never_invent","historicalContext":"advisory_unless_current_request_confirms"},"execution":{"mutation":true,"concurrency":"parallel_non_overlapping_work","scopePolicy":"start_bounded_expand_only_with_machine_readable_dependency_evidence","staleStatePolicy":"refresh_dynamic_state_before_irreversible_or_acceptance_stage","conversationIsolation":true,"ownerOutcomeMayBeChangedByAdaptation":false},"experience":{"visual":false,"viewports":["desktop","mobile"],"behavioral":false,"visualProofScope":"none"},"dependencies":{"requiredDomains":["backend_runtime"],"capabilityDomains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"releaseTargetHints":[]},"inputSignals":{"rawUtterance":"Continue the authorized full-stack drift audit convergence mission. Inspect only the exact current main source target supplied for reconciliation; do not mutate until the complete exact source required for the proven drift repair is available.","canonicalIntent":"Continue the authorized full-stack drift audit convergence mission. Inspect only the exact current main source target supplied for reconciliation; do not mutate until the complete exact source required for the proven drift repair is available.","conversationContextPresent":false}},"terminalPolicy":"all_required_proof_conditions_satisfied","proofConditions":[{"id":"proof-repository","kind":"repository","claim":"Exact current main source is resolved.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}],"validationErrors":[],"capabilityManifest":{"id":"Continue-the-authorized-full-stack-drift-audit-convergence-mission.-Inspect-only-the-exact-current-m","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"]},"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":"4b155a2f142703c5793201a08bbf29833c2ab5a8543e21a3346b432e0e5a787b","requestContractRevision":3,"previousRequestContractHash":"230933304b003a34f0f4ab9d7420170c9bab9767c21180268ebe9e47d8a37f60"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T15:19:13.673071+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:36c8c7a2-9d26-44be-b83b-3d15fc348073:request-contract:4b155a2f142703c5793201a08bbf29833c2ab5a8543e21a3346b432e0e5a787b","mission_step_id":"c31bbb10-8259-4160-ba09-a64a9f877ad3","command_center_event_id":"36c8c7a2-9d26-44be-b83b-3d15fc348073"},{"id":"5c052295-1910-437b-a05c-5d78b08e28ab","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/stale-pr-continuation-primitive-v2","reason":"protected_control_plane_invalid_json:config/control-plane-capabilities.json","status":"blocked","metrics":{"receiptBytes":24224,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-09-30T13:13:34.357Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.11-paul-basename-precision","prNumber":null,"terminal":false,"missionId":"c773265b-fed6-4dfb-985f-547b06c0e765","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1532,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":1532,"missionSetupMs":337,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":337,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":337,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":337,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"c773265b-fed6-4dfb-985f-547b06c0e765"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1542,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T13:13:37.108097+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:c773265b-fed6-4dfb-985f-547b06c0e765:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"0b90cd3e-9368-45e9-b72d-af3a366bc7e5","command_center_event_id":"c773265b-fed6-4dfb-985f-547b06c0e765"},{"id":"5c05423a-32e3-4be3-802d-5e8e51179d31","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in pull request.","nextAction":{"lane":"cc-execution","action":"reconcile_pull_request","reason":"pull_request_exists_without_merged_source","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"repair_prepared\",\"proofGate\":\"repair_mission_prepared\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_pull_request\",\"lane\":\"cc-execution\",\"reason\":\"pull_request_exists_without_merged_source\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"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\":[\"implementation\"],\"pendingIds\":[\"preflight\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"release\",\"deadlineAt\":\"2026-08-07T00:30:00.31921+00:00\",\"recoveryAction\":\"reconcile_pull_request\"},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/fix-assets-only-worker-binding\",\"prNumber\":4158,\"sourceSha\":null,\"deploymentId\":null}"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-10-04T11:39:40.646239+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:7b06670b-4b1b-4979-bad4-d557b308c43d:owner-progress-heartbeat:119407598","mission_step_id":"3dff634d-05c0-4c3e-ab15-02072fbfdfde","command_center_event_id":"7b06670b-4b1b-4979-bad4-d557b308c43d"},{"id":"5c05830e-c632-458e-a011-c084e90c563c","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-fd3468a5c7a5","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":16345,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-09-30T18:40:10.091Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.20-paul-owner-babysitting-guard","prNumber":4256,"terminal":false,"missionId":"fd3468a5-c7a5-4d90-94ce-8ea4cd9eaa36","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":5793,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":1970,"missionSetupMs":574,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":574,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":574,"repositoryMutationMs":3823,"repositoryProviderMs":3823,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2508,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":574,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1315},"nextAction":"Canonical KnockLaunch Gate notifier and durable mission supervisor own Gate, merge, release, and proof progression from this exact PR head outside the owner response path.","receiptRef":{"mode":"full","missionId":"fd3468a5-c7a5-4d90-94ce-8ea4cd9eaa36"},"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":4181,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T18:40:17.405123+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"4256","receipt_type":"execute_mission","idempotency_key":"mission:fd3468a5-c7a5-4d90-94ce-8ea4cd9eaa36:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"778a49d3-5f2b-4f35-bab2-947a6145bd79","command_center_event_id":"fd3468a5-c7a5-4d90-94ce-8ea4cd9eaa36"},{"id":"5c07ddcb-8e1e-4c83-a3f6-d298af92cab4","source":"forgejo","status":"waiting","payload":{"branch":"ai/generation-proof-isolation","prNumber":3263,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"d8de318e5f7f0f5a9529a9d450a078312cd06f45","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-20T04:14:50.254975+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"d8de318e5f7f0f5a9529a9d450a078312cd06f45","external_id":"3263","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:15cf6542-7456-4c36-8950-748ec91a29a7:merged-pr:3263:d8de318e5f7f0f5a9529a9d450a078312cd06f45","mission_step_id":"97a9a44b-c1f5-4c50-9b3c-766664efc4a2","command_center_event_id":"15cf6542-7456-4c36-8950-748ec91a29a7"},{"id":"5c07dde1-93a4-4238-9a8a-ae2717f1e849","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-3328d67a5c3c","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":18664,"releaseCount":0,"toolCallCount":7,"repeatedCallCount":2,"executorlessWaitMs":370162,"firstUsefulResultAt":"2026-09-30T03:50:36.601Z","recoveryAttemptCount":2,"ownerInterruptionCount":0},"version":null,"prNumber":4211,"terminal":false,"missionId":"3328d67a-5c3c-458e-b3b1-865e5e4f8a9f","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"711a56440ffa4f7ac1663494771a0bfd84a0bc58","timingsMs":{"prReadinessMs":59,"approvedPlanMs":0,"shipAndProveMs":207,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"3328d67a-5c3c-458e-b3b1-865e5e4f8a9f"},"performance":null,"deploymentId":"forgejo-main-711a56440ffa","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1560,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T03:59:37.952542+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"4211","receipt_type":"automatic_mission_resume","idempotency_key":"mission:3328d67a-5c3c-458e-b3b1-865e5e4f8a9f:automatic-mission-resume:4211:canonical_release_reconciliation_pending","mission_step_id":"a8e396d2-286e-477a-8f5a-93d10e2b38b0","command_center_event_id":"3328d67a-5c3c-458e-b3b1-865e5e4f8a9f"},{"id":"5c0c59d4-9015-4c3d-9bbb-7f38b00323c1","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-e6a9f106c0ab","writes":[],"patches":[],"version":1,"approved":true,"missionId":"e6a9f106-c0ab-4d13-9da3-8c67bf171dfc","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"anchored_edits":[{"path":"wrangler.toml","edits":[{"new_content":"[[services]]\nbinding = \"CC_EXECUTION\"\nservice = \"cc-execution\"\n\n[assets]\ndirectory = \"./dist\"\nbinding = \"ASSETS\"","old_content":"[assets]\ndirectory = \"./dist\"\nbinding = \"ASSETS\""}]},{"path":"workers/cc-execution/src/version.js","edits":[{"new_content":"export const CC_EXECUTION_VERSION = \"1.58.287-console-service-binding\";","old_content":"export const CC_EXECUTION_VERSION = \"1.58.286-cursor-readonly-mcp-bootstrap\";"}]},{"path":"workers/cc-execution/src/entrypoint-owner-status.js","edits":[{"new_content":"async function consoleForgejoInventory(env) {\n  const [repoRunners, userRunners] = await Promise.all([\n    forgejo(env, `/repos/${DEFAULT_REPOSITORY}/actions/runners?limit=50`),\n    forgejo(env, \"/user/actions/runners?limit=50\"),\n  ]);\n  if (!repoRunners.ok) return json({ ok: false, error: repoRunners.body?.reason || 'Forgejo runner inventory unavailable' }, repoRunners.status || 502);\n  const rows = (result) => result?.ok ? (Array.isArray(result.body?.runners) ? result.body.runners : Array.isArray(result.body) ? result.body : []) : [];\n  const combined = [...rows(repoRunners), ...rows(userRunners)];\n  const seen = new Set();\n  const runners = combined.filter((runner) => { const key = String(runner?.id ?? runner?.name ?? ''); if (!key || seen.has(key)) return false; seen.add(key); return true; }).map((runner) => ({ id: runner?.id ?? null, name: String(runner?.name || ''), status: String(runner?.status || ''), busy: Boolean(runner?.busy), version: String(runner?.version || ''), labels: (Array.isArray(runner?.labels) ? runner.labels : []).map((label) => typeof label === 'string' ? label : String(label?.name || '')).filter(Boolean) }));\n  return json({ status: 'observed', observedAt: new Date().toISOString(), summary: { Runners: runners.length }, sections: { Runners: { status: 'observed', data: { total_count: runners.length, runners } } } });\n}\n\nasync function consoleRunnerProof(env) {\n  const result = await forgejoWrite(env, 'POST', `/repos/${DEFAULT_REPOSITORY}/actions/workflows/msi-runner-proof.yml/dispatches`, { ref: 'main' });\n  if (!result.ok) return json({ ok: false, error: result.body?.reason || `MSI proof dispatch failed (${result.status || 502})` }, result.status || 502);\n  return json({ status: 'observed', observedAt: new Date().toISOString(), summary: { Runner: 'msi-local', Workflow: 'MSI Runner Proof', Ref: 'main', Dispatch: 'accepted' }, sections: { Dispatch: { status: 'observed', data: { workflow: 'msi-runner-proof.yml', ref: 'main' } } } });\n}\n\nasync function forgejoWrite(env, method, path, payload = null) {","old_content":"async function forgejoWrite(env, method, path, payload = null) {"},{"new_content":"    if (path === \"/internal/console/forgejo\" && request.method === \"GET\") return consoleForgejoInventory(env);\n    if (path === \"/internal/console/forgejo\" && request.method === \"POST\") {\n      const body = await request.json().catch(() => ({}));\n      if (body?.action !== 'runner-proof') return json({ ok: false, error: 'Action not allowed' }, 400);\n      return consoleRunnerProof(env);\n    }\n    if (path === \"/forgejo/event\" && request.method === \"POST\") return forgejoEvent(request, env, ctx);","old_content":"    if (path === \"/forgejo/event\" && request.method === \"POST\") return forgejoEvent(request, env, ctx);"}]},{"path":"scripts/cloudflare-native-owner-worker.mjs","edits":[{"new_content":"async function handleConsoleForgejoRequest(request, env) {\n  if (!['GET','POST'].includes(request.method)) return workspaceJson({ ok: false, error: 'Method not allowed' }, 405, { allow: 'GET, POST' });\n  const auth = await requireSystemAdmin(request); if (!auth.ok) return auth.response;\n  if (!env.CC_EXECUTION?.fetch) return workspaceJson({ ok: false, error: 'Console control-plane binding is unavailable' }, 503);\n  const body = request.method === 'POST' ? await request.clone().json().catch(() => ({})) : null;\n  if (request.method === 'POST' && body?.action !== 'runner-proof') return workspaceJson({ ok: false, error: 'Action not allowed' }, 400);\n  let upstream;\n  try {\n    upstream = await env.CC_EXECUTION.fetch('https://cc-execution.internal/internal/console/forgejo', {\n      method: request.method,\n      headers: { 'Content-Type': 'application/json', 'X-Knocklaunch-Console-Proxy': 'owner-production' },\n      ...(request.method === 'POST' ? { body: JSON.stringify({ action: 'runner-proof' }) } : {}),\n    });\n  } catch (error) {\n    return workspaceJson({ ok: false, error: `Console control plane unavailable: ${error instanceof Error ? error.message : String(error)}` }, 502);\n  }\n  const payload = await upstream.json().catch(() => ({ error: 'Console control plane returned invalid JSON' }));\n  return workspaceJson(payload, upstream.status);\n}","old_content":"async function handleConsoleForgejoRequest(request, env) {\n  if (!['GET','POST'].includes(request.method)) return workspaceJson({ ok: false, error: 'Method not allowed' }, 405, { allow: 'GET, POST' });\n  const auth = await requireSystemAdmin(request); if (!auth.ok) return auth.response;\n  const token = String(env.FGJ_CONTROL_TOKEN || env.FORGEJO_TOKEN || '').trim();\n  if (!token) return workspaceJson({ ok: false, error: 'Forgejo control credential is not configured' }, 503);\n  const headers = { Authorization: `token ${token}`, Accept: 'application/json', 'Content-Type': 'application/json' };\n  if (request.method === 'POST') {\n    const body = await request.json().catch(() => ({}));\n    if (body?.action !== 'runner-proof') return workspaceJson({ ok: false, error: 'Action not allowed' }, 400);\n    const dispatched = await fetch('https://git.knocklaunch.app/api/v1/repos/noel/KnockLaunchOS/actions/workflows/msi-runner-proof.yml/dispatches', { method: 'POST', headers, body: JSON.stringify({ ref: 'main' }), signal: AbortSignal.timeout(10000) }).catch(() => null);\n    if (!dispatched?.ok) return workspaceJson({ ok: false, error: `MSI proof dispatch failed${dispatched ? ` (${dispatched.status})` : ''}` }, 502);\n    return workspaceJson({ status: 'observed', observedAt: new Date().toISOString(), summary: { Runner: 'msi-local', Workflow: 'MSI Runner Proof', Ref: 'main', Dispatch: 'accepted' }, sections: { Dispatch: { status: 'observed', data: { workflow: 'msi-runner-proof.yml', ref: 'main' } } } });\n  }\n  const runnersResponse = await fetch('https://git.knocklaunch.app/api/v1/repos/noel/KnockLaunchOS/actions/runners?limit=50', { headers, signal: AbortSignal.timeout(10000) }).catch(() => null);\n  if (!runnersResponse?.ok) return workspaceJson({ ok: false, error: `Forgejo runner inventory unavailable${runnersResponse ? ` (${runnersResponse.status})` : ''}` }, 502);\n  const payload = await runnersResponse.json().catch(() => null);\n  const runners = (Array.isArray(payload?.runners) ? payload.runners : []).map((runner) => ({ id: runner?.id ?? null, name: String(runner?.name || ''), status: String(runner?.status || ''), busy: Boolean(runner?.busy), version: String(runner?.version || ''), labels: (Array.isArray(runner?.labels) ? runner.labels : []).map((label) => typeof label === 'string' ? label : String(label?.name || '')).filter(Boolean) }));\n  return workspaceJson({ status: 'observed', observedAt: new Date().toISOString(), summary: { Runners: runners.length }, sections: { Runners: { status: 'observed', data: { total_count: runners.length, runners } } } });\n}"}]}],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"e6a9f106-c0ab-4d13-9da3-8c67bf171dfc","ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"requestContract":null,"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["scripts/cloudflare-native-owner-worker.mjs","wrangler.toml","workers/cc-execution/src/entrypoint-owner-status.js","workers/cc-execution/src/version.js","public/console/console.js"],"controlPlaneMaintenanceReason":"Owner explicitly instructed: do not stop; if there is a blocker, fix the blocker. This maintenance scope exactly matches the durable Mission Freedom Console repair source scope."},"proofRequirements":null,"controlPlaneUnfreeze":true,"durableMutationResume":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["scripts/cloudflare-native-owner-worker.mjs","wrangler.toml","workers/cc-execution/src/entrypoint-owner-status.js","workers/cc-execution/src/version.js","public/console/console.js"],"controlPlaneMaintenanceReason":"Owner explicitly instructed: do not stop; if there is a blocker, fix the blocker. This maintenance scope exactly matches the durable Mission Freedom Console repair source scope."},"recovery":false,"fingerprint":"1b345470e1b8427dd941a8ace0fa19be540ea0419ac0f805514f14c64157733b","replayCount":0,"serializedBytes":9145},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-26T17:38:40.510472+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:e6a9f106-c0ab-4d13-9da3-8c67bf171dfc:repository-mutation-intent:1b345470e1b8427dd941a8ace0fa19be540ea0419ac0f805514f14c64157733b:0","mission_step_id":"24b92250-0e13-44fb-9f19-c926932f43f9","command_center_event_id":"e6a9f106-c0ab-4d13-9da3-8c67bf171dfc"},{"id":"5c0d2645-4263-4b9a-adb7-192316adb1b6","source":"cc-execution","status":"authorized","payload":{"paths":["scripts/validate-command-center-contracts.mjs","workers/cc-execution/src/entrypoint-owner-status.js"],"reason":"Prime structured exact mutation continuation","baseSha":"2a47455ac0d88573bfe3ef3aafee90c423bb32cb","issuedAt":1791304818486,"expiresAt":1791304998486,"missionId":"68476ba0-a3e4-49e1-ab5c-1705534676bf","authorizationId":"928d02bc-c48d-4b04-be5c-0f7974f8c3fd","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T16:40:19.035132+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"2a47455ac0d88573bfe3ef3aafee90c423bb32cb","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:928d02bc-c48d-4b04-be5c-0f7974f8c3fd","mission_step_id":"062d29ec-17cc-4cb0-978c-f119abe6b987","command_center_event_id":"68476ba0-a3e4-49e1-ab5c-1705534676bf"},{"id":"5c0da277-4c59-4b39-af94-cea0b8fd832d","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":"0de7c799d4a067ff1d18cc8ca9275ba3646edab0","issuedAt":1791231570860,"expiresAt":1791231750860,"missionId":"22f51b0a-71d9-4939-9f28-feefe7771431","authorizationId":"f39f03a4-45d2-4f8f-ad52-8e8c4d3451ef","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T20:19:31.346607+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"0de7c799d4a067ff1d18cc8ca9275ba3646edab0","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:f39f03a4-45d2-4f8f-ad52-8e8c4d3451ef","mission_step_id":"45f4c701-8d6b-4028-bc96-f903dcb8ab41","command_center_event_id":"22f51b0a-71d9-4939-9f28-feefe7771431"},{"id":"5c103745-dcac-48d8-97f3-bdc1f63eae92","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/godmode-qr-suite-20260822","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":6300,"releaseCount":0,"toolCallCount":5,"repeatedCallCount":2,"ownerInterruptionCount":0},"version":"1.50.16-onrunner-release-ownership","prNumber":586,"terminal":false,"missionId":"e8ab5ac4-140b-449f-89d2-0029db45a7ac","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"5a8d91e93523526dc313bf3cfee7314e9e3afa66","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"e8ab5ac4-140b-449f-89d2-0029db45a7ac"},"performance":null,"deploymentId":"forgejo-main-5a8d91e93523","workflowRunId":null,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["qr-suite"]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":5868,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-22T05:33:17.054191+00:00","proof_gate":"canonical_release_dispatched","source_sha":"5a8d91e93523526dc313bf3cfee7314e9e3afa66","external_id":"forgejo-main-5a8d91e93523","receipt_type":"execute_mission","idempotency_key":"mission:e8ab5ac4-140b-449f-89d2-0029db45a7ac:execute_mission:canonical_release_dispatched","mission_step_id":"8c70133a-f225-499e-b78c-df4761edd955","command_center_event_id":"e8ab5ac4-140b-449f-89d2-0029db45a7ac"},{"id":"5c10960e-d3f4-4151-ba94-b061aec60bac","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-06T11:53:55.577562+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:119419175","mission_step_id":"a036e1a4-6bb7-4248-b530-a16b22bcaaa4","command_center_event_id":"8461f374-86b0-422f-bb81-3fb39febaab9"},{"id":"5c12d93a-0f49-4fe8-a38d-ddef8dd81856","source":"cc-execution","status":"waiting","payload":{"sourceTargets":["src/pages/admin/PlatformExperienceEditor.tsx"],"continuationObjective":"Repair PR #5061 in place by restoring src/pages/admin/PlatformExperienceEditor.tsx from current protected main as the safe baseline because the PR head version is invalid (`probe`) and lacks the default export. Keep the same PR/branch. Do not touch unrelated files. Rerun Gate and ship only if green."},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T20:59:57.52871+00:00","proof_gate":"mission_continuation_scope_persisted","source_sha":null,"external_id":null,"receipt_type":"mission_continuation_scope_updated","idempotency_key":"mission:a85957ed-2b2a-4bb2-83f1-8002aebcc49a:mission_continuation_scope_updated:mission_continuation_scope_persisted:waiting","mission_step_id":"4796c215-fb65-44db-bded-31666d2e43f1","command_center_event_id":"a85957ed-2b2a-4bb2-83f1-8002aebcc49a"},{"id":"5c147426-952d-4b06-ba3c-a363f3dc2fb3","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"7f0984263d34909cf3db8e3b29de39f6c6e75794","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":true,"statement":"Apply the scoped green-Gate promotion repair on the existing mission: increase the PR readiness foreground budget from the proven-bad 4s cutoff to 9s, add a regression contract preventing return to the 4s cutoff, bump cc-execution runtime identity, then Gate, merge, deploy cc-execution, and immediately retry PCG PR #5197.","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":"ba66238b575953d0eff96d175225c7aad220c4e6d0fc15d34b7404bd94246806","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":"ba66238b575953d0eff96d175225c7aad220c4e6d0fc15d34b7404bd94246806"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["ccExecution"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":2},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T18:19:03.529536+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"7f0984263d34909cf3db8e3b29de39f6c6e75794","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:8f84a818-5df6-49c1-ba1d-2921251ef1d5:request-contract:ba66238b575953d0eff96d175225c7aad220c4e6d0fc15d34b7404bd94246806:7f0984263d34909cf3db8e3b29de39f6c6e75794:verified:","mission_step_id":"541a54bd-139c-40c6-b664-f1499cdb5613","command_center_event_id":"8f84a818-5df6-49c1-ba1d-2921251ef1d5"},{"id":"5c152935-af13-48dd-8bcb-b245b49d54e5","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"b0c9814925f4daba223af35956088af7bfe5e534","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"b0c9814925f4daba223af35956088af7bfe5e534","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"pending"},"requestContractHash":"08fe667d7547cc54819315eeec5428bfaf0481ecb37c5f67667f56823fe17f1c","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/5476","runId":5476,"status":"running","sourceSha":"b0c9814925f4daba223af35956088af7bfe5e534","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":"90ed5bf4-8abd-4d3a-af7c-024664b5b99d","created_at":"2026-09-05T12:11:24.0168+00:00","proof_gate":"canonical_release_pending","source_sha":"b0c9814925f4daba223af35956088af7bfe5e534","external_id":"forgejo-main-b0c9814925f4","receipt_type":"canonical_release_status","idempotency_key":"mission:270a8457-8555-48c8-8e5f-2b16c366f346:forgejo-release-status:b0c9814925f4daba223af35956088af7bfe5e534:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"4a5ea927-cfb2-46f6-8ac5-bd04f1fca2db","command_center_event_id":"270a8457-8555-48c8-8e5f-2b16c366f346"},{"id":"5c154575-06ec-4b41-b3fb-53821830ee21","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"release","branch":"ai/objective-first-repair-37c5ac4d5567","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":2,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":2494,"terminal":false,"missionId":"37c5ac4d-5567-4c34-86ba-474a5c7bdfc1","operation":"automatic_mission_resume","proofGate":"canonical_release_dispatched","sourceSha":"20350c5abaffeba22ba3fae993bf328865c4f15f","timingsMs":{"prReadinessMs":2081,"approvedPlanMs":0,"shipAndProveMs":5248,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"37c5ac4d-5567-4c34-86ba-474a5c7bdfc1"},"performance":null,"deploymentId":"forgejo-main-20350c5abaff","workflowRunId":7376,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":true,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["owner-search-console","tenant-provider-connections"]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2322,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T15:26:33.164043+00:00","proof_gate":"canonical_release_dispatched","source_sha":null,"external_id":"2494","receipt_type":"automatic_mission_resume","idempotency_key":"mission:37c5ac4d-5567-4c34-86ba-474a5c7bdfc1:automatic-mission-resume:2494:canonical_release_dispatched","mission_step_id":"6c1c2cdb-0ae1-493a-8b55-01dda06b7049","command_center_event_id":"37c5ac4d-5567-4c34-86ba-474a5c7bdfc1"},{"id":"5c1a42cf-d608-45b9-ad51-bdcc1f50a936","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/fix-godmode-selector-click-20260806","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.30.19-full-mcp-directive-control","prNumber":null,"terminal":false,"missionId":"0416a85c-f8e6-4b44-981f-197d6f58e790","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":"0416a85c-f8e6-4b44-981f-197d6f58e790"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"onePullRequest":true,"terminalProofRequired":true},"sourceReceiptBytes":1705,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-06T14:14:44.429849+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:0416a85c-f8e6-4b44-981f-197d6f58e790:execute_mission:repair_mission_synthesis_ready","mission_step_id":"630f50a3-b128-489b-b5d0-62d5704b27f7","command_center_event_id":"0416a85c-f8e6-4b44-981f-197d6f58e790"},{"id":"5c1ebd3f-8697-422f-b9ee-41f77da72080","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Unfreeze the control plane only for the exact bounded Command Center Forgejo PR-handoff read-budget repair, apply the three timeout constant changes in workers/cc-execution/src/index-release-fast-lane.js, ship and verify cc-execution, then restore normal control-plane protection. This repair is required to complete already-green Godmode PR #2285. Change FORGEJO_PR_READY_READ_TIMEOUT_MS 3000→5000, FORGEJO_PR_READY_TOTAL_BUDGET_MS 7000→12000, and FORGEJO_MERGE_READ_TIMEOUT_MS 2500→5000. Leave generic reads, retry counts, merge writes, Gate behavior, and all frontend source unchanged.","wordingChanged":false,"canonicalIntent":"Unfreeze the control plane only for the exact bounded Command Center Forgejo PR-handoff read-budget repair, apply the three timeout constant changes in workers/cc-execution/src/index-release-fast-lane.js, ship and verify cc-execution, then restore normal control-plane protection. This repair is required to complete already-green Godmode PR #2285. Change FORGEJO_PR_READY_READ_TIMEOUT_MS 3000→5000, FORGEJO_PR_READY_TOTAL_BUDGET_MS 7000→12000, and FORGEJO_MERGE_READ_TIMEOUT_MS 2500→5000. Leave generic reads, retry counts, merge writes, Gate behavior, and all frontend source unchanged.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-pr-budget","statement":"Command Center PR readiness and merge reads tolerate the observed Forgejo PR endpoint latency without changing generic repository read behavior.","proofConditionIds":["proof-source","proof-runtime"]}],"objective":"Unfreeze the control plane only for the exact bounded Command Center Forgejo PR-handoff read-budget repair, apply the three timeout constant changes in workers/cc-execution/src/index-release-fast-lane.js, ship and verify cc-execution, then restore normal control-plane protection. This repair is required to complete already-green Godmode PR #2285. Change FORGEJO_PR_READY_READ_TIMEOUT_MS 3000→5000, FORGEJO_PR_READY_TOTAL_BUDGET_MS 7000→12000, and FORGEJO_MERGE_READ_TIMEOUT_MS 2500→5000. Leave generic reads, retry counts, merge writes, Gate behavior, and all frontend source unchanged.","constraints":[{"id":"constraint-one-file","statement":"Change only workers/cc-execution/src/index-release-fast-lane.js and only the three specified timeout constants.","proofConditionIds":["proof-source"]},{"id":"constraint-protected","statement":"Unfreeze the control plane only for this exact authorized path and repair, then restore normal protection after live proof.","proofConditionIds":["proof-source","proof-runtime"]},{"id":"constraint-release","statement":"Use one branch, one PR, KnockLaunch Gate, squash merge, and deploy only cc-execution.","proofConditionIds":["proof-runtime"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-source","kind":"repository","claim":"Current Forgejo source contains PR_READY_READ_TIMEOUT_MS=5000, PR_READY_TOTAL_BUDGET_MS=12000, and MERGE_READ_TIMEOUT_MS=5000 while generic read constants remain unchanged.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":"FORGEJO_PR_READY_TOTAL_BUDGET_MS = 12000","targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"proof-runtime","kind":"runtime","claim":"The updated cc-execution worker is live from the merged source and healthy.","route":"https://cc-execution.knocklaunch.app/health","roleRef":null,"userRef":null,"required":true,"expectedText":"live","targetedActions":[],"allowedReleaseTargets":["ccExecution"],"requiredReleaseTargets":["ccExecution"]}],"validationErrors":[]},"requestContractHash":"a90e56537051e99a6dacc8d49e0651810681a880c60b8d2068f150b004eb0b0b","requestContractRevision":2,"previousRequestContractHash":"e0a154db61ddfde2b984f71962304fb382ac87bc5bfae907bb13c4a77e7465c6"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-10T06:38:07.501938+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:8bd1cf6b-815c-4142-871a-79b62ad96e39:request-contract:a90e56537051e99a6dacc8d49e0651810681a880c60b8d2068f150b004eb0b0b","mission_step_id":"3a641ba4-1404-40d6-9e94-8eda97eb91f3","command_center_event_id":"8bd1cf6b-815c-4142-871a-79b62ad96e39"},{"id":"5c1eddea-49b7-4149-be14-04816fe3c91b","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/big-papis-calendar-email-opportunities-20260819","reason":"anchored_edit_anchor_missing:supabase/functions/zoho-mail/index.ts","status":"blocked","metrics":{"receiptBytes":5419,"releaseCount":0,"toolCallCount":5,"repeatedCallCount":2,"ownerInterruptionCount":0},"version":"1.47.7-forgejo-queue-retire","prNumber":441,"terminal":false,"missionId":"75a4012a-c27d-4268-a75f-f5a6546d8a1f","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"75a4012a-c27d-4268-a75f-f5a6546d8a1f"},"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":4957,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-19T19:33:25.931975+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:75a4012a-c27d-4268-a75f-f5a6546d8a1f:execute_mission:repair_mission_execution_blocked","mission_step_id":"dbd64d3a-49da-4346-b5b8-bf52761ac312","command_center_event_id":"75a4012a-c27d-4268-a75f-f5a6546d8a1f"},{"id":"5c1ee88b-66bd-4eab-83ef-a3e170a8958a","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/tenant-loader-use-canonical-backgrounds-20260902","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.4-refresh-fastpath","prNumber":null,"terminal":false,"missionId":"240babbd-4700-48ce-be59-072329a750c0","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"handlerMs":1575,"missionSetupMs":1958},"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":"240babbd-4700-48ce-be59-072329a750c0"},"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":4584,"likelyAffectedFiles":["src/components/ReleaseAllLeadsButton.tsx","src/components/ReleaseLeadButton.tsx","src/components/GlobalCommandPalette.tsx","src/components/AdaptiveBusinessDashboard.tsx","src/components/admin/AdminPage.tsx","src/components/admin/AdminPageContext.tsx","src/components/CallFlow/WorkflowCallCockpit.tsx","src/components/CallFlow/WorkflowLiveCoachingFocus.tsx","src/components/CallFlow/WorkflowTabs.tsx","src/components/DashboardHub.tsx","src/components/PreWorkflowScreen.tsx","src/components/WorkflowRouter.tsx"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-02T01:59:49.140423+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:240babbd-4700-48ce-be59-072329a750c0:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"a6c3219e-1244-408b-bb78-a087c0d9d96a","command_center_event_id":"240babbd-4700-48ce-be59-072329a750c0"},{"id":"5c1ee8a9-a283-4e45-9011-5c825bbab3ae","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/thirsty-panda-clean-build-20260817","reason":"pull_request_stale_refresh_required","status":"retryable","metrics":{"receiptBytes":5689,"releaseCount":0,"toolCallCount":5,"repeatedCallCount":1,"ownerInterruptionCount":0},"version":null,"prNumber":324,"terminal":false,"missionId":"1451a782-6065-4ccf-bd48-4de3b505015b","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":null,"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"1451a782-6065-4ccf-bd48-4de3b505015b"},"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":1101,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"69c86c8d-c737-439a-8f30-3246af0b3ad1","created_at":"2026-08-17T13:37:04.088801+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"324","receipt_type":"automatic_mission_resume","idempotency_key":"mission:1451a782-6065-4ccf-bd48-4de3b505015b:automatic-mission-resume:324:repair_mission_pr_ready_retryable","mission_step_id":"858953e8-dfd4-4869-8161-a7d9657e71dd","command_center_event_id":"1451a782-6065-4ccf-bd48-4de3b505015b"},{"id":"5c20b68d-c7d7-49ac-abad-610035e6e014","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-56e94f79c087","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":5633,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":0,"executorlessWaitMs":62755,"firstUsefulResultAt":"2026-10-01T18:12:34.666Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.38-paul-owner-velocity","prNumber":4376,"terminal":false,"missionId":"56e94f79-c087-4b08-878c-f7a3aee3d48e","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4917,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":954,"missionSetupMs":281,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":281,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":281,"repositoryMutationMs":3963,"repositoryProviderMs":3963,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2398,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":281,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1565},"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":"56e94f79-c087-4b08-878c-f7a3aee3d48e"},"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":3761,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-01T18:13:43.302901+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"4376","receipt_type":"execute_mission","idempotency_key":"mission:56e94f79-c087-4b08-878c-f7a3aee3d48e:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"fcec981a-8368-4f32-aac1-97addd1eb403","command_center_event_id":"56e94f79-c087-4b08-878c-f7a3aee3d48e"},{"id":"5c22110f-97d6-45c2-8104-b15079a479e7","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\":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-05T20:11:49.43394+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-d7ae93924645\",\"prNumber\":4999,\"sourceSha\":\"6522cb88f83e94a544272ec076add1a06b0d9f88\",\"deploymentId\":\"forgejo-main-6522cb88f83e\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T17:14:28.610784+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:d7ae9392-4645-40d3-9b1e-8e506c612dda:owner-progress-heartbeat:119414697","mission_step_id":"8eb32bd4-1a9e-495f-8fb8-0b2769bb839c","command_center_event_id":"d7ae9392-4645-40d3-9b1e-8e506c612dda"},{"id":"5c22aad7-275e-4e84-8ff1-fd156f354334","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-10b94cd190ad","prNumber":5152,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"9f348ceb2c0264336b39d36da97795ad7b3e20bd","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T03:08:14.330434+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"9f348ceb2c0264336b39d36da97795ad7b3e20bd","external_id":"5152","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:10b94cd1-90ad-46bd-a864-548ea1c53b2a:merged-pr:5152:9f348ceb2c0264336b39d36da97795ad7b3e20bd","mission_step_id":"70976661-2777-4563-9ba9-e04d6a8512e4","command_center_event_id":"10b94cd1-90ad-46bd-a864-548ea1c53b2a"},{"id":"5c241553-62b6-42d4-9460-7d2015ef7862","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Continue the same Visual Witness repair with one corrective generation because the protected-main path classifier correctly saw PR #1813 as workflow/test-only and therefore did not release cc-execution. Unfreeze the control plane only for config/control-plane-capabilities.json and make the ccExecutionReleaseToolingPolicy accurately record the now-proven Witness Container release contract: pinned Wrangler/local dependencies plus Forgejo Docker host and verified Docker CE CLI. This is a meaningful cc-execution-owned policy update and therefore must trigger the canonical cc-execution release for the complete current main, including the already-merged virtual runner binding, release hydration, and Docker runtime repairs. One fresh ai/* corrective branch, one PR, Gate, squash merge, cc-execution-only release, refreeze, then prove inspect_route_health returns live via virtual failover. No unrelated mutations or targets.","wordingChanged":false,"canonicalIntent":"Continue the same Visual Witness repair with one corrective generation because the protected-main path classifier correctly saw PR #1813 as workflow/test-only and therefore did not release cc-execution. Unfreeze the control plane only for config/control-plane-capabilities.json and make the ccExecutionReleaseToolingPolicy accurately record the now-proven Witness Container release contract: pinned Wrangler/local dependencies plus Forgejo Docker host and verified Docker CE CLI. This is a meaningful cc-execution-owned policy update and therefore must trigger the canonical cc-execution release for the complete current main, including the already-merged virtual runner binding, release hydration, and Docker runtime repairs. One fresh ai/* corrective branch, one PR, Gate, squash merge, cc-execution-only release, refreeze, then prove inspect_route_health returns live via virtual failover. No unrelated mutations or targets.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"Current main including all Visual Witness virtual failover repairs is deployed to cc-execution and canonical Witness health is live instead of 502.","proofConditionIds":["proof-release","proof-health"]}],"objective":"Continue the same Visual Witness repair with one corrective generation because the protected-main path classifier correctly saw PR #1813 as workflow/test-only and therefore did not release cc-execution. Unfreeze the control plane only for config/control-plane-capabilities.json and make the ccExecutionReleaseToolingPolicy accurately record the now-proven Witness Container release contract: pinned Wrangler/local dependencies plus Forgejo Docker host and verified Docker CE CLI. This is a meaningful cc-execution-owned policy update and therefore must trigger the canonical cc-execution release for the complete current main, including the already-merged virtual runner binding, release hydration, and Docker runtime repairs. One fresh ai/* corrective branch, one PR, Gate, squash merge, cc-execution-only release, refreeze, then prove inspect_route_health returns live via virtual failover. No unrelated mutations or targets.","constraints":[{"id":"constraint-1","statement":"The only new mutation is the authoritative ccExecutionReleaseToolingPolicy update; release only cc-execution.","proofConditionIds":["proof-release"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-release","kind":"release","claim":"The corrective config commit passes KnockLaunch Gate, squash merges, and its protected-main release selects and successfully deploys cc-execution only.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["ccExecution"],"requiredReleaseTargets":["ccExecution"]},{"id":"proof-health","kind":"runtime","claim":"Canonical inspect_route_health returns 200/live via the virtual runner instead of 502 while Render primary remains unavailable.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["ccExecution"],"requiredReleaseTargets":["ccExecution"]}],"validationErrors":[]},"requestContractHash":"b226015cdb2fa349c4123f12b82d315bb4f62adaebddd2f3861123e2dc925ec0","requestContractRevision":4,"previousRequestContractHash":"9b59dde84502ccc5b1d499b2eaacebce6d8ca0cae4c6859f55e8a8a00a5748e7"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-05T11:27:49.924024+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:45f6a362-ebf9-4768-a65c-0bcd3e8aa4b8:request-contract:b226015cdb2fa349c4123f12b82d315bb4f62adaebddd2f3861123e2dc925ec0","mission_step_id":"c19f69f8-3809-4930-84a1-bbfc95c3d373","command_center_event_id":"45f6a362-ebf9-4768-a65c-0bcd3e8aa4b8"},{"id":"5c278381-a811-47e7-8e6b-e807ed91fd41","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"8b410b546118745ad17305253ffaeca80f0f0d1b","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"interaction-capability","satisfied":true,"statement":"GodMode Console exposes Observe, Interact, and explicit-target Act using canonical Visual Witness.","proofConditionIds":["production"]}],"satisfied":true,"constraints":[{"id":"existing-safety-boundaries","satisfied":true,"statement":"Preserve current authentication, tenant projection, origin, and dangerous-control safeguards.","proofConditionIds":["production"]},{"id":"explicit-target-act","satisfied":true,"statement":"Act requires a specifically resolved named UI action and never performs generic control traversal.","proofConditionIds":["production"]},{"id":"capability-completeness","satisfied":true,"statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["production"]},{"id":"atomic-capability-lifecycle","satisfied":true,"statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["production"]}],"contractHash":"ae42ed38c0b6893cbe1a4216b3678bfffb729485eb1bc9d4c79989e8ac56c17b","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"production","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"frontend":"success","ccExecution":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["ccExecution","frontend"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"ae42ed38c0b6893cbe1a4216b3678bfffb729485eb1bc9d4c79989e8ac56c17b"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["ccExecution","frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T22:22:41.258122+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"8b410b546118745ad17305253ffaeca80f0f0d1b","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:aa491cdd-210c-441a-a600-c1f41137bfb3:request-contract:ae42ed38c0b6893cbe1a4216b3678bfffb729485eb1bc9d4c79989e8ac56c17b:8b410b546118745ad17305253ffaeca80f0f0d1b:verified:","mission_step_id":"9459d1dc-e894-4909-bde3-c997022ad922","command_center_event_id":"aa491cdd-210c-441a-a600-c1f41137bfb3"},{"id":"5c27bd84-be5f-439f-a30b-81e400dc29be","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":null,"reason":null,"status":"source_resolution_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":null,"recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.280-witness-lockdown","prNumber":null,"terminal":false,"missionId":"52a85653-4d87-41ec-8fbd-30126da2c3ee","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1369,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":421,"providerAuthMs":0,"ledgerPrepareMs":421,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":421,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":421,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Supply exact sourceTargets on the same mission; planner guesses cannot replace missing mission scope.","receiptRef":{"mode":"full","missionId":"52a85653-4d87-41ec-8fbd-30126da2c3ee"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1177,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T13:39:16.205541+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:52a85653-4d87-41ec-8fbd-30126da2c3ee:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"d481124d-4260-4c55-96e4-f3198028fd61","command_center_event_id":"52a85653-4d87-41ec-8fbd-30126da2c3ee"},{"id":"5c298b50-2b2e-43a2-a9ef-e6731f0d6d9e","source":"forgejo","status":"waiting","payload":{"branch":"ai/big-papis-tenant-stabilization","prNumber":1862,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"13864a881c8e913dd266248dbc6d4d13b0cf8eda","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-09-05T17:55:26.714526+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"13864a881c8e913dd266248dbc6d4d13b0cf8eda","external_id":"1862","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:74a9a3c0-652b-468e-ba41-a757b7a1ee08:merged-pr:1862:13864a881c8e913dd266248dbc6d4d13b0cf8eda","mission_step_id":"638f93dc-1f4c-4be0-bb8a-5036028e2461","command_center_event_id":"74a9a3c0-652b-468e-ba41-a757b7a1ee08"},{"id":"5c2ab133-b703-4535-9e3d-999270e0513f","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/src/paul-owner-execution-policy.js","workers/cc-execution/test/paul-owner-execution-policy.test.js"],"baseSha":"94c28e9edb59e9ebafe8e137720e6913718d5988","issuedAt":1791826227388,"expiresAt":1791826407388,"missionId":"237356b7-9c2a-493f-a4da-bc8b5fffc7d8","autoRefreeze":true,"authorizationId":"98b31063-d102-40f1-8ec2-4300e58807d7","authorizationSource":"explicit_owner_request_contract"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-12T17:30:28.023225+00:00","proof_gate":"control_plane_maintenance_exact_scope_authorized","source_sha":"94c28e9edb59e9ebafe8e137720e6913718d5988","external_id":"98b31063-d102-40f1-8ec2-4300e58807d7","receipt_type":"control_plane_maintenance_authorized","idempotency_key":"control-plane-maintenance:237356b7-9c2a-493f-a4da-bc8b5fffc7d8:98b31063-d102-40f1-8ec2-4300e58807d7","mission_step_id":null,"command_center_event_id":"237356b7-9c2a-493f-a4da-bc8b5fffc7d8"},{"id":"5c2bb6b9-4006-4f80-aa9f-69b6d4b92812","source":"cc-execution","status":"recorded","payload":{"objective":"Ship and prove noel/KnockLaunchOS PR #439","tenantRef":"bigpapisiceys","receivedAt":"2026-08-19T18:55:03.491Z","fingerprint":"eb723f7ae19963e2dd21345bf6d7d9937e186c88f0eda498143cfecb6834de4c","workstreamRef":"bigpapisiceys","conversationId":null,"canonicalBranch":"ai/big-papis-mail-premium-rebuild-20260819","requestedBranch":null,"conversationContext":null},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-19T18:55:03.964398+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:775b10da-a6dc-45aa-9fba-5e60f6d2114f:tenant-workstream-contribution:eb723f7ae19963e2dd21345bf6d7d9937e186c88f0eda498143cfecb6834de4c","mission_step_id":"f23f7334-f94d-4018-a92c-4540b51abb99","command_center_event_id":"775b10da-a6dc-45aa-9fba-5e60f6d2114f"},{"id":"5c2f0074-170c-452d-b527-a7372ad0b6b2","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-1b57ae418f82","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":57529,"releaseCount":0,"toolCallCount":32,"repeatedCallCount":28,"executorlessWaitMs":117944,"firstUsefulResultAt":"2026-10-05T16:40:04.612Z","recoveryAttemptCount":30,"ownerInterruptionCount":0},"version":null,"prNumber":4984,"terminal":false,"missionId":"1b57ae41-8f82-467d-b2d4-af3116fe0dce","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":2454,"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":"1b57ae41-8f82-467d-b2d4-af3116fe0dce"},"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-05T16:40:18.838461+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4984","receipt_type":"automatic_mission_resume","idempotency_key":"mission:1b57ae41-8f82-467d-b2d4-af3116fe0dce:automatic-mission-resume:4984:repair_mission_pr_ready_retryable","mission_step_id":"68422141-4e40-4b18-80fa-3027e01c5a2e","command_center_event_id":"1b57ae41-8f82-467d-b2d4-af3116fe0dce"},{"id":"5c30e635-2640-4798-9015-54cfda727cab","source":"cc-execution","status":"pending","payload":{"ok":true,"jobId":"baf2f3ba-f95e-4030-b94d-811e4268cafe","phase":"universal_visual_witness_supervised","branch":"ai/objective-first-repair-8c04bea84e20","reason":null,"status":"pending","metrics":{"receiptBytes":104790,"releaseCount":0,"toolCallCount":62,"repeatedCallCount":32,"executorlessWaitMs":2054279,"firstUsefulResultAt":"2026-09-28T13:17:30.172Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":3993,"terminal":false,"missionId":"8c04bea8-4e20-43c8-8b0e-56d79150cdd6","operation":"visual_proof_started","proofGate":"universal_visual_witness_pending","sourceSha":"7d477d4a1e4117ce0180b206604417728935ac6a","timingsMs":{"queue":254,"total":314,"execution":60},"nextAction":"Execution is pending; poll inspect_route_status only when fresh progress is expected, or cancel with inspect_route_cancel.","receiptRef":{"mode":"full","missionId":"8c04bea8-4e20-43c8-8b0e-56d79150cdd6"},"performance":null,"deploymentId":"forgejo-main-7d477d4a1e41","releaseState":"verified","visualWitness":{"role":"GodMode","jobId":"baf2f3ba-f95e-4030-b94d-811e4268cafe","tenant":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","runnerUrl":"https://laptop-witness.knocklaunch.app","runnerLane":"laptop","attemptsUsed":0,"supervisorId":"baf2f3ba-f95e-4030-b94d-811e4268cafe","failureReason":null,"observedRoute":null,"runnerVersion":null,"attemptLineage":[],"missionOutcome":null,"requestedRoute":"/redfish-roofing/roof-measurement","runnerSourceSha":null,"selectedViewports":["desktop","mobile"],"checkpointAccounting":null,"correctiveGeneration":1,"restartReplayHistory":[]},"workflowRunId":null,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["visual"],"verificationState":"failed","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1817,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T13:51:45.423996+00:00","proof_gate":"post_release_visual_proof_started","source_sha":"7d477d4a1e4117ce0180b206604417728935ac6a","external_id":"baf2f3ba-f95e-4030-b94d-811e4268cafe","receipt_type":"visual_proof_started","idempotency_key":"mission:8c04bea8-4e20-43c8-8b0e-56d79150cdd6:visual-start:baf2f3ba-f95e-4030-b94d-811e4268cafe","mission_step_id":"d411668f-fe4a-4ab5-80d6-0d9bde8b75cc","command_center_event_id":"8c04bea8-4e20-43c8-8b0e-56d79150cdd6"},{"id":"5c3206de-09f1-4bee-ac3d-c72de9783b9f","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/golden-restore-point-f4009fee-20260909","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":2269,"terminal":false,"missionId":"4e4f39e7-aef5-40d4-ba05-4db4c43acb4d","operation":"automatic_mission_resume","proofGate":"canonical_release_dispatched","sourceSha":"3c07f8f6fa8d5fc39c9ebd57afce35ca48a5f9d2","timingsMs":{"prReadinessMs":1215,"approvedPlanMs":0,"shipAndProveMs":9797,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"4e4f39e7-aef5-40d4-ba05-4db4c43acb4d"},"performance":null,"deploymentId":"forgejo-main-3c07f8f6fa8d","workflowRunId":null,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1843,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-10T04:09:07.513028+00:00","proof_gate":"canonical_release_dispatched","source_sha":null,"external_id":"2269","receipt_type":"automatic_mission_resume","idempotency_key":"mission:4e4f39e7-aef5-40d4-ba05-4db4c43acb4d:automatic-mission-resume:2269:canonical_release_dispatched","mission_step_id":"db80a112-da53-4509-99db-36e3c6e8c033","command_center_event_id":"4e4f39e7-aef5-40d4-ba05-4db4c43acb4d"},{"id":"5c36eaa4-48f1-4451-8986-ffa82daffe86","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-90e18e9a0e48","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":2510,"terminal":false,"missionId":"90e18e9a-0e48-482f-aa0c-1f222cdda17a","operation":"automatic_mission_resume","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"prReadinessMs":2865,"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":"90e18e9a-0e48-482f-aa0c-1f222cdda17a"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1284,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T16:49:09.649475+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"2510","receipt_type":"automatic_mission_resume","idempotency_key":"mission:90e18e9a-0e48-482f-aa0c-1f222cdda17a:automatic-mission-resume:2510:repair_mission_waiting_for_gate","mission_step_id":"e459d3fe-c9f3-4b1f-b075-aab603c1809f","command_center_event_id":"90e18e9a-0e48-482f-aa0c-1f222cdda17a"},{"id":"5c37209b-d159-49a4-8f1e-ff32d5752a09","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"cfc0d0cb3ec2e83928e8f2cf414e04ab666598d0","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"reuse","satisfied":true,"statement":"Exact-input expensive frontend QA may be reused after same-PR refresh.","proofConditionIds":["prod"]},{"id":"safety","satisfied":true,"statement":"Hard-safety/current-main checks rerun and merge still requires current-main ancestry.","proofConditionIds":["prod"]}],"satisfied":true,"constraints":[{"id":"fail-closed","satisfied":true,"statement":"Any relevant input change or evidence miss forces full validation.","proofConditionIds":["prod"]},{"id":"single-gate","satisfied":true,"statement":"Use only the canonical Gate and same mission/branch/PR.","proofConditionIds":["prod"]},{"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":["prod"]},{"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":["prod"]}],"contractHash":"86580aeebe89f49f6c3514af6443a9619ed9966c2692061bf72d101e8f86a3b8","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"prod","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"ccExecution":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["ccExecution"],"allowedReleaseTargets":["ccExecution"],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"86580aeebe89f49f6c3514af6443a9619ed9966c2692061bf72d101e8f86a3b8"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["ccExecution"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":3},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T04:58:27.681764+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"cfc0d0cb3ec2e83928e8f2cf414e04ab666598d0","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:ae53d005-9d3c-44a4-9374-5fc6219b79cf:request-contract:86580aeebe89f49f6c3514af6443a9619ed9966c2692061bf72d101e8f86a3b8:cfc0d0cb3ec2e83928e8f2cf414e04ab666598d0:verified:","mission_step_id":"3fa7b8cd-acef-4480-92c6-47ff40c6c423","command_center_event_id":"ae53d005-9d3c-44a4-9374-5fc6219b79cf"},{"id":"5c374912-2a3a-4e94-a1cf-f6dbd40a659a","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-9f00e4d0a77f-r202609041201","reason":"fresh_pr_provider_receipt_already_proves_auto_progress_gate_notifier_owns_next_state","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":1,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.36-atomic-write-deadline-refreeze","prNumber":1678,"terminal":false,"missionId":"9f00e4d0-a77f-4e5f-8dae-e3a3527ef4d0","operation":"execute_mission","proofGate":"repair_mission_fresh_pr_handed_off_to_gate","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":7480,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":1218,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":1218,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":1218,"repositoryMutationMs":7480,"repositoryProviderMs":5969,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2559,"repositoryBranchCreateMs":1223,"totalSynchronousLedgerMs":1218,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":2187},"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":"9f00e4d0-a77f-4e5f-8dae-e3a3527ef4d0"},"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":3950,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T12:01:05.812838+00:00","proof_gate":"repair_mission_fresh_pr_handed_off_to_gate","source_sha":null,"external_id":"1678","receipt_type":"execute_mission","idempotency_key":"mission:9f00e4d0-a77f-4e5f-8dae-e3a3527ef4d0:execute_mission:repair_mission_fresh_pr_handed_off_to_gate:generation-1","mission_step_id":"b73cfbe5-beaa-412a-82d4-13bd54bd29b9","command_center_event_id":"9f00e4d0-a77f-4e5f-8dae-e3a3527ef4d0"},{"id":"5c37730e-17c0-494f-aade-27a5c8323e4c","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[{"path":"supabase/functions/tenant-provider-connections/index.ts","content":"import {createClient} from 'https://esm.sh/@supabase/supabase-js@2.45.0';\nimport {decryptSecret,encryptSecret} from '../_shared/tenantCrypto.ts';\n\nconst APP_BASE='https://app.knocklaunch.app';\nconst SUPABASE_URL=Deno.env.get('SUPABASE_URL')||'';\nconst CALLBACK_URL=`${SUPABASE_URL}/functions/v1/tenant-provider-connections?oauth=callback`;\nconst ORIGINS=new Set(['https://knocklaunch.app','https://app.knocklaunch.app']);\ntype Key='google_workspace'|'google_search_console'|'microsoft_365'|'monday'|'quickbooks'|'slack'|'dropbox'|'hubspot'|'docusign';\ntype Def={key:Key;label:string;category:string;caps:string[];permissions:string[];clientIdEnv:string;clientSecretEnv:string;authUrl:string;tokenUrl:string;revokeUrl?:string;scopes:string[];delimiter:' '|',';pkce:boolean;tokenAuth:'body'|'basic'};\ntype Token={access_token:string;refresh_token?:string|null;expires_at?:string|null;token_type?:string|null;scope?:string|null;metadata?:Record<string,unknown>};\nconst PRIVATE_OWNER_TENANT_ID='a3ffa31f-0c88-4fdd-b872-051db013ca3e';\nconst PRIVATE_PROVIDER_KEY:Key='google_search_console';\nconst P:Record<Key,Def>={\n google_workspace:{key:'google_workspace',label:'Google Workspace',category:'Calendar, files & Gmail',caps:['Calendar events','Drive files used with KnockLaunch','Gmail inbox, search & sending'],permissions:['View and manage calendar events','Use only Drive files opened or created through KnockLaunch','Read, organize and send email in the connected Gmail account','Basic account identity'],clientIdEnv:'GOOGLE_WORKSPACE_CLIENT_ID',clientSecretEnv:'GOOGLE_WORKSPACE_CLIENT_SECRET',authUrl:'https://accounts.google.com/o/oauth2/v2/auth',tokenUrl:'https://oauth2.googleapis.com/token',revokeUrl:'https://oauth2.googleapis.com/revoke',scopes:['openid','email','profile','https://www.googleapis.com/auth/calendar.events','https://www.googleapis.com/auth/drive.file','https://www.googleapis.com/auth/gmail.modify','https://www.googleapis.com/auth/gmail.send'],delimiter:' ',pkce:true,tokenAuth:'body'},\n google_search_console:{key:'google_search_console',label:'Google Search Console',category:'Owner SEO',caps:['Search performance','Search Console properties','Sitemaps','URL inspection'],permissions:['Read Search Console performance and property status','Inspect indexing status for registered owner URLs','Basic account identity'],clientIdEnv:'GOOGLE_WORKSPACE_CLIENT_ID',clientSecretEnv:'GOOGLE_WORKSPACE_CLIENT_SECRET',authUrl:'https://accounts.google.com/o/oauth2/v2/auth',tokenUrl:'https://oauth2.googleapis.com/token',revokeUrl:'https://oauth2.googleapis.com/revoke',scopes:['openid','email','profile','https://www.googleapis.com/auth/webmasters.readonly'],delimiter:' ',pkce:true,tokenAuth:'body'},\n microsoft_365:{key:'microsoft_365',label:'Microsoft 365',category:'Calendar',caps:['Microsoft 365 calendar'],permissions:['Basic Microsoft account identity','View and manage calendar events','Offline access for scheduled calendar sync'],clientIdEnv:'MICROSOFT_365_CLIENT_ID',clientSecretEnv:'MICROSOFT_365_CLIENT_SECRET',authUrl:'https://login.microsoftonline.com/common/oauth2/v2.0/authorize',tokenUrl:'https://login.microsoftonline.com/common/oauth2/v2.0/token',scopes:['openid','profile','email','offline_access','User.Read','Calendars.ReadWrite'],delimiter:' ',pkce:true,tokenAuth:'body'},\n monday:{key:'monday',label:'monday.com',category:'Work management',caps:['Boards','Workspaces','Users'],permissions:['Read account identity','Read and update boards','Read workspaces','Read users'],clientIdEnv:'MONDAY_CLIENT_ID',clientSecretEnv:'MONDAY_CLIENT_SECRET',authUrl:'https://auth.monday.com/oauth2/authorize',tokenUrl:'https://auth.monday.com/oauth_ms/oauth/token',revokeUrl:'https://auth.monday.com/oauth_ms/oauth/revoke',scopes:['me:read','boards:read','boards:write','workspaces:read','users:read'],delimiter:' ',pkce:true,tokenAuth:'body'},\n quickbooks:{key:'quickbooks',label:'QuickBooks Online',category:'Accounting',caps:['Accounting data'],permissions:['Read and update the connected QuickBooks company accounting data'],clientIdEnv:'QUICKBOOKS_CLIENT_ID',clientSecretEnv:'QUICKBOOKS_CLIENT_SECRET',authUrl:'https://appcenter.intuit.com/connect/oauth2',tokenUrl:'https://oauth.platform.intuit.com/oauth2/v1/tokens/bearer',revokeUrl:'https://developer.api.intuit.com/v2/oauth2/tokens/revoke',scopes:['com.intuit.quickbooks.accounting'],delimiter:' ',pkce:false,tokenAuth:'basic'},\n slack:{key:'slack',label:'Slack',category:'Team messaging',caps:['Channel list','KnockLaunch notifications'],permissions:['View channel names','Post messages as the KnockLaunch app'],clientIdEnv:'SLACK_CLIENT_ID',clientSecretEnv:'SLACK_CLIENT_SECRET',authUrl:'https://slack.com/oauth/v2/authorize',tokenUrl:'https://slack.com/api/oauth.v2.access',revokeUrl:'https://slack.com/api/auth.revoke',scopes:['channels:read','chat:write'],delimiter:',',pkce:false,tokenAuth:'body'},\n dropbox:{key:'dropbox',label:'Dropbox',category:'Files',caps:['KnockLaunch app-folder files'],permissions:['Read account identity','Read and write files inside the Dropbox app folder configured for KnockLaunch'],clientIdEnv:'DROPBOX_CLIENT_ID',clientSecretEnv:'DROPBOX_CLIENT_SECRET',authUrl:'https://www.dropbox.com/oauth2/authorize',tokenUrl:'https://api.dropboxapi.com/oauth2/token',revokeUrl:'https://api.dropboxapi.com/2/auth/token/revoke',scopes:['account_info.read','files.metadata.read','files.content.read','files.content.write'],delimiter:' ',pkce:true,tokenAuth:'basic'},\n hubspot:{key:'hubspot',label:'HubSpot',category:'CRM',caps:['Contacts'],permissions:['Read contacts','Create and update contacts'],clientIdEnv:'HUBSPOT_CLIENT_ID',clientSecretEnv:'HUBSPOT_CLIENT_SECRET',authUrl:'https://app.hubspot.com/oauth/authorize',tokenUrl:'https://api.hubapi.com/oauth/v3/token',scopes:['oauth','crm.objects.contacts.read','crm.objects.contacts.write'],delimiter:' ',pkce:false,tokenAuth:'body'},\n docusign:{key:'docusign',label:'DocuSign',category:'E-signature',caps:['Envelope signing'],permissions:['Create and manage signature envelopes','Maintain authorized background access until disconnected'],clientIdEnv:'DOCUSIGN_CLIENT_ID',clientSecretEnv:'DOCUSIGN_CLIENT_SECRET',authUrl:'https://account.docusign.com/oauth/auth',tokenUrl:'https://account.docusign.com/oauth/token',scopes:['signature','extended'],delimiter:' ',pkce:false,tokenAuth:'basic'}\n};\nconst PUBLIC_OAUTH=(Object.keys(P) as Key[]).filter(k=>k!==PRIVATE_PROVIDER_KEY);\nconst MUSE={key:'meta_muse',label:'Meta Muse',category:'AI & Assistants',caps:['Calendar & events','Inventory','Customers','Tasks & notes','Proposals & invoices','Pop-up planning','Workspace search'],permissions:['Use only the connected tenant workspace','Respect current KnockLaunch user and tenant authorization','Destructive or outbound actions still require KnockLaunch approval controls']} as const;\nconst MUSE_ROLLOUT_SLUGS=new Set(['big-papis']);\nfunction cors(req:Request){const o=String(req.headers.get('Origin')||'');return{...(ORIGINS.has(o)?{'Access-Control-Allow-Origin':o}:{}),'Access-Control-Allow-Headers':'authorization, x-client-info, apikey, content-type','Access-Control-Allow-Methods':'POST, OPTIONS','Vary':'Origin'}}\nfunction j(req:Request,status:number,body:unknown){return new Response(JSON.stringify(body),{status,headers:{...cors(req),'Content-Type':'application/json','Cache-Control':'no-store'}})}\nfunction safePath(v:unknown){const s=String(v||'');if(!s.startsWith('/')||s.startsWith('//')||s.includes('://'))return'/connections';return s}\nfunction ret(path:string,provider:string,status:'connected'|'error'){const u=new URL(safePath(path),APP_BASE);u.searchParams.set('connection',status);u.searchParams.set('provider',provider);return u.toString()}\nfunction cfg(d:Def){const clientId=Deno.env.get(d.clientIdEnv)||'',clientSecret=Deno.env.get(d.clientSecretEnv)||'';return{clientId,clientSecret,configured:Boolean(clientId&&clientSecret)}}\nfunction b64u(bytes:Uint8Array){let b='';for(const x of bytes)b+=String.fromCharCode(x);return btoa(b).replace(/\\+/g,'-').replace(/\\//g,'_').replace(/=+$/,'')}\nasync function sha(v:string){return b64u(new Uint8Array(await crypto.subtle.digest('SHA-256',new TextEncoder().encode(v))))}\nasync function userId(req:Request){const h=req.headers.get('Authorization')||'';if(!h.startsWith('Bearer '))throw new Error('Unauthorized');const c=createClient(SUPABASE_URL,Deno.env.get('SUPABASE_ANON_KEY')||'',{global:{headers:{Authorization:h}}});const {data,error}=await c.auth.getUser(h.slice(7));if(error||!data.user?.id)throw new Error('Unauthorized');return data.user.id}\nasync function authorize(admin:any,uid:string,tid:string){const [o,a]=await Promise.all([admin.rpc('is_tenant_owner_for',{_user_id:uid,_tenant_id:tid}),admin.rpc('is_system_admin',{_user_id:uid})]);if(o.error)throw o.error;if(a.error)throw a.error;if(!o.data&&!a.data)throw new Error('Tenant owner or admin required')}\nasync function authorizeTenantMember(admin:any,uid:string,tid:string){const [o,a,m]=await Promise.all([admin.rpc('is_tenant_owner_for',{_user_id:uid,_tenant_id:tid}),admin.rpc('is_system_admin',{_user_id:uid}),admin.from('user_tenant_memberships').select('user_id,status').eq('user_id',uid).eq('tenant_id',tid).maybeSingle()]);if(o.error)throw o.error;if(a.error)throw a.error;if(m.error)throw m.error;const activeMember=Boolean(m.data?.user_id)&&(!m.data?.status||m.data.status==='active');if(!o.data&&!a.data&&!activeMember)throw new Error('Active tenant membership required')}\nasync function resolveConnectionSubject(admin:any,operatorUid:string,tid:string,requested:unknown){const targetUid=String(requested||operatorUid).trim()||operatorUid;if(targetUid===operatorUid)return{targetUserId:operatorUid,support:false};const a=await admin.rpc('is_system_admin',{_user_id:operatorUid});if(a.error)throw a.error;if(!a.data)throw new Error('GodMode support access required');const m=await admin.from('user_tenant_memberships').select('user_id,status').eq('tenant_id',tid).eq('user_id',targetUid).maybeSingle();if(m.error)throw m.error;if(!m.data?.user_id||(m.data.status&&m.data.status!=='active'))throw new Error('Projected user is not an active tenant member');return{targetUserId:targetUid,support:true}}\nfunction visibleToConnectionSubject(metadata:any,targetUid:string){const bound=String(metadata?.bound_user_id||'').trim();return !bound||bound===targetUid}\nasync function auditSupportAction(admin:any,tid:string,operatorUid:string,targetUid:string,action:string,provider:string,connectionId?:string|null){if(operatorUid===targetUid)return;const now=new Date().toISOString();const{error}=await admin.from('activity_timeline').insert({tenant_org_id:tid,user_id:operatorUid,activity_type:'godmode_connection_support',title:'GodMode connection support: '+action,metadata:{operator_user_id:operatorUid,projected_user_id:targetUid,provider,connection_id:connectionId||null,action},related_entity_type:'provider_connection',importance:'normal',is_system_generated:true,event_domain:'connections',source_channel:'godmode_support',source_system:'knocklaunch',source_record_type:'provider_connection',source_record_id:connectionId||provider,correlation_key:'godmode-connection:'+tid+':'+targetUid+':'+provider+':'+action+':'+Date.now(),actor_role:'GodMode',new_state:action,currency:'USD',recorded_at:now});if(error)throw error}\nasync function tenantSlug(admin:any,tid:string){const {data,error}=await admin.from('tenants').select('company_slug').eq('id',tid).maybeSingle();if(error)throw error;return String(data?.company_slug||'').trim().toLowerCase()}\nconst PCG_DEDICATED_CALENDAR_SCOPE='https://www.googleapis.com/auth/calendar.app.created';\nasync function providerScopes(admin:any,d:Def,tid:string){const scopes=[...d.scopes];if(d.key==='google_workspace'&&await tenantSlug(admin,tid)==='pcg')scopes.push(PCG_DEDICATED_CALENDAR_SCOPE);return Array.from(new Set(scopes))}\nasync function privateOwner(admin:any,uid:string,tid:string){if(tid!==PRIVATE_OWNER_TENANT_ID)throw new Error('Personal Knock Launch OS owner required');const {data}=await admin.from('tenants').select('owner_id').eq('id',tid).maybeSingle();const a=await admin.rpc('is_system_admin',{_user_id:uid});if(data?.owner_id!==uid&&!a.data)throw new Error('Personal Knock Launch OS owner required')}\nasync function readToken(admin:any,tid:string,key:Key){const {data,error}=await admin.from('tenant_provider_secrets').select('ciphertext,iv').eq('tenant_id',tid).eq('provider',key).maybeSingle();if(error)throw error;if(!data)return null;return JSON.parse(await decryptSecret(data.ciphertext,data.iv)) as Token}\nasync function write(admin:any,tid:string,uid:string,operatorUid:string,d:Def,t:Token){const e=await encryptSecret(JSON.stringify(t));let r=await admin.from('tenant_provider_secrets').upsert({tenant_id:tid,provider:d.key,ciphertext:e.ciphertext,iv:e.iv,key_version:1,verified_at:new Date().toISOString(),verification_error:null,created_by:uid},{onConflict:'tenant_id,provider'});if(r.error)throw r.error;r=await admin.from('tenant_provider_credentials').upsert({tenant_id:tid,provider:d.key,credential_ref:`db:tenant_provider_secrets:${d.key}`,credential_status:'active',last_verified_at:new Date().toISOString(),verification_notes:`${d.label} connected through OAuth.`,metadata:{capabilities:d.caps,granted_scopes:String(t.scope||d.scopes.join(d.delimiter)).split(/[ ,]+/).filter(Boolean),connected_by_user_id:uid,bound_user_id:uid,support_operator_user_id:operatorUid!==uid?operatorUid:null,provider_account_id:String(t.metadata?.realm_id||t.metadata?.team_id||t.metadata?.account_id||t.metadata?.user_id||'').trim()||null,...(t.metadata||{})},created_by:operatorUid},{onConflict:'tenant_id,provider'});if(r.error)throw r.error}\nasync function googleIdentity(accessToken:string){const res=await fetch('https://openidconnect.googleapis.com/v1/userinfo',{headers:{Authorization:`Bearer ${accessToken}`}});const data=await res.json().catch(()=>({}));if(!res.ok)throw new Error(String(data?.error_description||data?.error||'Google account identity could not be read.'));return{providerAccountId:String(data?.sub||'').trim(),email:String(data?.email||'').trim().toLowerCase(),name:String(data?.name||'').trim()}}\nasync function refreshGoogleWorkspaceToken(token:Token){if(!token?.refresh_token)return token;const d=P.google_workspace,c=cfg(d);if(!c.configured)return token;const p=new URLSearchParams({grant_type:'refresh_token',refresh_token:String(token.refresh_token),client_id:c.clientId,client_secret:c.clientSecret});const res=await fetch(d.tokenUrl,{method:'POST',headers:{'Content-Type':'application/x-www-form-urlencoded'},body:p});const x=await res.json().catch(()=>({}));if(!res.ok||!x.access_token)return token;return{...token,access_token:String(x.access_token),expires_at:x.expires_in?new Date(Date.now()+Number(x.expires_in)*1000).toISOString():token.expires_at,scope:x.scope||token.scope,refresh_token:token.refresh_token}}\nasync function hydrateGoogleAccountIdentity(admin:any,tid:string,row:any){const existingStable=String(row?.provider_account_id||'').trim(),existingEmail=String(row?.account_email||'').trim().toLowerCase();if(row?.credential_status!=='active'||!row?.ciphertext||!row?.iv)return row;if(row?.account_email&&row?.account_name&&existingStable&&existingStable!==existingEmail)return row;try{let token=JSON.parse(await decryptSecret(row.ciphertext,row.iv)) as Token;let identity:{providerAccountId:string;email:string;name:string};try{identity=await googleIdentity(token.access_token)}catch{token=await refreshGoogleWorkspaceToken(token);identity=await googleIdentity(token.access_token)}if(!identity.email||!identity.providerAccountId)return row;const encrypted=await encryptSecret(JSON.stringify(token));const tokenScopes=String(token.scope||'').split(/[ ,]+/).filter(Boolean);const grantedScopes=tokenScopes.length?tokenScopes:(Array.isArray(row.granted_scopes)?row.granted_scopes:Array.isArray(row?.metadata?.granted_scopes)?row.metadata.granted_scopes:[]);const actorUserId=row.actor_user_id||row?.metadata?.bound_user_id||row?.metadata?.connected_by_user_id||row.created_by;const metadata={...(row.metadata||{}),provider_account_id:identity.providerAccountId,account_email:identity.email,account_name:identity.name||row.account_name||null,granted_scopes:grantedScopes,bound_user_id:row?.metadata?.bound_user_id||actorUserId,connected_by_user_id:row?.metadata?.connected_by_user_id||actorUserId};const{data,error}=await admin.from('tenant_google_workspace_connections').update({provider_account_id:identity.providerAccountId,actor_user_id:actorUserId,granted_scopes:grantedScopes,account_email:identity.email,account_name:identity.name||null,metadata,ciphertext:encrypted.ciphertext,iv:encrypted.iv,updated_at:new Date().toISOString()}).eq('id',row.id).eq('tenant_id',tid).select('id,provider_account_id,actor_user_id,granted_scopes,account_email,account_name,connection_role,is_primary,metadata,credential_status,verified_at,created_at,ciphertext,iv,key_version,created_by').single();if(error)return row;return data||row}catch{return row}}\nasync function googleAccounts(admin:any,tid:string){const{data,error}=await admin.from('tenant_google_workspace_connections').select('id,provider_account_id,actor_user_id,granted_scopes,account_email,account_name,connection_role,is_primary,metadata,credential_status,verified_at,created_at,ciphertext,iv,key_version,created_by').eq('tenant_id',tid).order('is_primary',{ascending:false}).order('created_at',{ascending:true});if(error)throw error;const rows=data||[];return await Promise.all(rows.map((row:any)=>hydrateGoogleAccountIdentity(admin,tid,row)))}\nfunction googleServices(metadata:any){const raw=metadata?.service_access&&typeof metadata.service_access==='object'?metadata.service_access:{};return{mail:raw.mail!==false,drive:raw.drive!==false,calendar:raw.calendar!==false}}\nasync function syncGoogleStorageBinding(admin:any,tid:string,row:any){const scopes=Array.isArray(row?.granted_scopes)?row.granted_scopes.map((value:unknown)=>String(value)):Array.isArray(row?.metadata?.granted_scopes)?row.metadata.granted_scopes.map((value:unknown)=>String(value)):[];const enabled=googleServices(row?.metadata).drive&&scopes.includes('https://www.googleapis.com/auth/drive.file');if(!enabled){const{error}=await admin.from('tenant_capability_providers').update({enabled:false,connection_ref:null,updated_at:new Date().toISOString()}).eq('tenant_id',tid).eq('capability','storage.files').eq('provider_key','google_workspace');if(error)throw error;return}const connectionRef='tenant_google_workspace_connection:'+String(row.id);const{error}=await admin.from('tenant_capability_providers').upsert({tenant_id:tid,capability:'storage.files',provider_key:'google_workspace',adapter_key:'google_drive_file',connection_ref:connectionRef,enabled:true,priority:50,metadata:{binding:'onepath',provider_account_id:row.provider_account_id||row?.metadata?.provider_account_id||null,account_email:row.account_email||null,connection_id:row.id},updated_at:new Date().toISOString()},{onConflict:'tenant_id,capability,provider_key'});if(error)throw error}\nasync function syncLegacyGooglePrimary(admin:any,tid:string,uid:string,row:any){let r=await admin.from('tenant_provider_secrets').upsert({tenant_id:tid,provider:'google_workspace',ciphertext:row.ciphertext,iv:row.iv,key_version:row.key_version||1,verified_at:row.verified_at||new Date().toISOString(),verification_error:null,created_by:row.created_by||uid},{onConflict:'tenant_id,provider'});if(r.error)throw r.error;r=await admin.from('tenant_provider_credentials').upsert({tenant_id:tid,provider:'google_workspace',credential_ref:'db:tenant_provider_secrets:google_workspace',credential_status:'active',last_verified_at:row.verified_at||new Date().toISOString(),verification_notes:'Primary Google Workspace connection.',metadata:{...(row.metadata||{}),account_email:row.account_email||null,account_name:row.account_name||null,connection_id:row.id},created_by:row.created_by||uid},{onConflict:'tenant_id,provider'});if(r.error)throw r.error}\nasync function writeGoogleConnection(admin:any,tid:string,uid:string,operatorUid:string,d:Def,t:Token){const identity=await googleIdentity(t.access_token);if(!identity.providerAccountId)throw new Error('Google stable account identity was unavailable.');if(!identity.email)throw new Error('Google account email was unavailable.');const encrypted=await encryptSecret(JSON.stringify(t));const existing=await googleAccounts(admin,tid);const current=existing.find((row:any)=>String(row.provider_account_id||'')===identity.providerAccountId)||existing.find((row:any)=>String(row.account_email||'').toLowerCase()===identity.email);const hasPrimary=existing.some((row:any)=>row.is_primary&&row.credential_status==='active'&&row.id!==current?.id);const isPrimary=current?.is_primary===true||!hasPrimary;const role=isPrimary?'primary':String(current?.connection_role||'secondary');const grantedScopes=String(t.scope||d.scopes.join(d.delimiter)).split(/[ ,]+/).filter(Boolean);const metadata={...(current?.metadata||{}),capabilities:d.caps,granted_scopes:grantedScopes,account_email:identity.email,account_name:identity.name,connected_by_user_id:uid,bound_user_id:uid,support_operator_user_id:operatorUid!==uid?operatorUid:null,provider_account_id:identity.providerAccountId,service_access:googleServices(current?.metadata)};let query=admin.from('tenant_google_workspace_connections');const payload={tenant_id:tid,provider_account_id:identity.providerAccountId,actor_user_id:uid,granted_scopes:grantedScopes,account_email:identity.email,account_name:identity.name||null,connection_role:role,is_primary:isPrimary,ciphertext:encrypted.ciphertext,iv:encrypted.iv,key_version:1,metadata,credential_status:'active',verified_at:new Date().toISOString(),verification_error:null,created_by:current?.created_by||operatorUid,updated_at:new Date().toISOString()};const result=current?await query.update(payload).eq('id',current.id).eq('tenant_id',tid).select('*').single():await query.insert(payload).select('*').single();if(result.error)throw result.error;if(isPrimary){await syncLegacyGooglePrimary(admin,tid,operatorUid,result.data);await syncGoogleStorageBinding(admin,tid,result.data)}return result.data}\nasync function exchange(d:Def,code:string,verifier:string|null,u:URL,requestedScopes:string[]=d.scopes){const c=cfg(d);if(!c.configured)throw new Error(`${d.label} connection is not configured.`);const p=new URLSearchParams({grant_type:'authorization_code',code,redirect_uri:CALLBACK_URL});if(verifier)p.set('code_verifier',verifier);const h:Record<string,string>={'Content-Type':'application/x-www-form-urlencoded'};if(d.tokenAuth==='basic')h.Authorization=`Basic ${btoa(`${c.clientId}:${c.clientSecret}`)}`;else{p.set('client_id',c.clientId);p.set('client_secret',c.clientSecret)}const res=await fetch(d.tokenUrl,{method:'POST',headers:h,body:p});const x=await res.json().catch(()=>({}));if(!res.ok||!x.access_token)throw new Error(String(x.error_description||x.error||`${d.label} authorization failed.`));return{access_token:String(x.access_token),refresh_token:x.refresh_token?String(x.refresh_token):null,expires_at:x.expires_in?new Date(Date.now()+Number(x.expires_in)*1000).toISOString():null,token_type:x.token_type||'Bearer',scope:x.scope||requestedScopes.join(d.delimiter),metadata:d.key==='quickbooks'?{realm_id:u.searchParams.get('realmId')}:d.key==='slack'?{team_id:x.team?.id||null,team_name:x.team?.name||null}:{} } as Token}\nasync function state(admin:any,raw:string){const h=await sha(raw),now=new Date().toISOString();const {data,error}=await admin.from('tenant_provider_oauth_states').update({consumed_at:now}).eq('state_hash',h).is('consumed_at',null).gt('expires_at',now).select('provider,tenant_id,user_id,operator_user_id,return_path,code_verifier').maybeSingle();if(error)throw error;if(!data)throw new Error('Connection state is invalid, expired, or already used.');return data}\nasync function authUrl(admin:any,d:Def,tid:string,operatorUid:string,targetUid:string,path:string){const c=cfg(d);if(!c.configured)throw new Error(`${d.label} is not enabled on KnockLaunch yet.`);const raw=b64u(crypto.getRandomValues(new Uint8Array(32))),verifier=d.pkce?b64u(crypto.getRandomValues(new Uint8Array(48))):null;const {error}=await admin.from('tenant_provider_oauth_states').insert({state_hash:await sha(raw),provider:d.key,tenant_id:tid,user_id:targetUid,operator_user_id:operatorUid,return_path:safePath(path),code_verifier:verifier,expires_at:new Date(Date.now()+600000).toISOString()});if(error)throw error;const p=new URLSearchParams({client_id:c.clientId,response_type:'code',redirect_uri:CALLBACK_URL,scope:(await providerScopes(admin,d,tid)).join(d.delimiter),state:raw});if(verifier){p.set('code_challenge',await sha(verifier));p.set('code_challenge_method','S256')}if(d.key==='google_workspace'||d.key===PRIVATE_PROVIDER_KEY){p.set('access_type','offline');p.set('prompt','consent');p.set('include_granted_scopes','true')}if(d.key==='microsoft_365')p.set('response_mode','query');if(d.key==='dropbox')p.set('token_access_type','offline');return`${d.authUrl}?${p}`}\nDeno.serve(async req=>{if(req.method==='OPTIONS')return new Response('ok',{headers:cors(req)});const admin=createClient(SUPABASE_URL,Deno.env.get('SUPABASE_SERVICE_ROLE_KEY')||''),u=new URL(req.url),cb=u.searchParams.get('oauth')==='callback';let provider='connection',path='/connections';try{if(cb){const s=await state(admin,u.searchParams.get('state')||'');provider=s.provider;path=safePath(s.return_path);const d=P[s.provider as Key];if(!d)throw new Error('Unsupported connection provider.');const targetUid=String(s.user_id||'').trim(),operatorUid=String(s.operator_user_id||s.user_id||'').trim();if(!targetUid||!operatorUid)throw new Error('Connection state identity is incomplete.');if(operatorUid!==targetUid){const support=await admin.rpc('is_system_admin',{_user_id:operatorUid});if(support.error)throw support.error;if(!support.data)throw new Error('GodMode support access required');await authorizeTenantMember(admin,targetUid,s.tenant_id)}else if(d.key==='google_workspace')await authorizeTenantMember(admin,targetUid,s.tenant_id);else await authorize(admin,targetUid,s.tenant_id);if(d.key===PRIVATE_PROVIDER_KEY)await privateOwner(admin,operatorUid,s.tenant_id);const code=u.searchParams.get('code')||'';if(!code)throw new Error(u.searchParams.get('error_description')||u.searchParams.get('error')||'Authorization was not completed.');const exchanged=await exchange(d,code,s.code_verifier,u,await providerScopes(admin,d,s.tenant_id));if(d.key==='google_workspace')await writeGoogleConnection(admin,s.tenant_id,targetUid,operatorUid,d,exchanged);else await write(admin,s.tenant_id,targetUid,operatorUid,d,exchanged);await auditSupportAction(admin,s.tenant_id,operatorUid,targetUid,'oauth_callback',d.key);return Response.redirect(ret(path,d.key,'connected'),302)}if(req.method!=='POST')return j(req,405,{ok:false,error:'Method not allowed'});const uid=await userId(req),x=await req.json().catch(()=>({})),tid=String(x.tenant_id||'').trim(),action=String(x.action||'catalog').toLowerCase(),requestedProvider=String(x.provider||'');if(!tid)return j(req,400,{ok:false,error:'tenant_id required'});const subject=await resolveConnectionSubject(admin,uid,tid,x.projected_user_id),targetUid=subject.targetUserId;if(action==='catalog'||(requestedProvider==='google_workspace'&&action==='authorize_url'))await authorizeTenantMember(admin,uid,tid);else await authorize(admin,uid,tid);if(action==='catalog'){const {data,error}=await admin.from('tenant_provider_credentials').select('provider,credential_status,last_verified_at,metadata').eq('tenant_id',tid).in('provider',PUBLIC_OAUTH);if(error)throw error;const google=(await googleAccounts(admin,tid)).filter((account:any)=>visibleToConnectionSubject(account.metadata,targetUid));const rows=new Map((data||[]).filter((r:any)=>visibleToConnectionSubject(r.metadata,targetUid)).map((r:any)=>[r.provider,r])),slug=await tenantSlug(admin,tid),museEligible=MUSE_ROLLOUT_SLUGS.has(slug);return j(req,200,{ok:true,providers:[...PUBLIC_OAUTH.map(key=>{const d=P[key],r:any=rows.get(key);const accounts=key==='google_workspace'?google.map((account:any)=>({id:account.id,providerAccountId:account.provider_account_id||account?.metadata?.provider_account_id||null,email:account.account_email,name:account.account_name,role:account.connection_role,is_primary:account.is_primary,status:account.credential_status,last_verified_at:account.verified_at,bound_user_id:String(account.metadata?.bound_user_id||'').trim()||null,scopes:Array.isArray(account.metadata?.granted_scopes)?account.metadata.granted_scopes:[],services:googleServices(account.metadata)})):undefined;return{key,label:d.label,category:d.category,capabilities:key==='google_workspace'&&slug==='pcg'?[...d.caps,'Dedicated Prestigious Card Grading calendar']:d.caps,permissions:key==='google_workspace'&&slug==='pcg'?[...d.permissions,'Create and manage the dedicated Prestigious Card Grading calendar']:d.permissions,configured:cfg(d).configured,connected:key==='google_workspace'?google.some((account:any)=>account.credential_status==='active'):r?.credential_status==='active',status:key==='google_workspace'?(google.some((account:any)=>account.credential_status==='active')?'active':'missing'):(r?.credential_status||'missing'),last_verified_at:key==='google_workspace'?(google.find((account:any)=>account.is_primary)?.verified_at||null):(r?.last_verified_at||null),accounts}}),{key:MUSE.key,label:MUSE.label,category:MUSE.category,capabilities:MUSE.caps,permissions:MUSE.permissions,configured:false,connected:false,status:museEligible?'setup_required':'rollout_pending',eligible:museEligible,setup_message:museEligible?'Meta Muse is enabled for this workspace rollout, but Meta connector review and issued platform credentials are still required before authorization can begin. No Muse provider token is stored until Meta activation is complete.':'Meta Muse is available in the global Connections catalog. Big Papi\\'s is the first rollout tenant; this workspace is not enabled for authorization yet.',last_verified_at:null}]})}if(requestedProvider==='irslogiqs'){if(action!=='revoke')return j(req,400,{ok:false,error:'Unsupported action'});await admin.from('tenant_provider_secrets').delete().eq('tenant_id',tid).eq('provider','irslogiqs');await admin.from('tenant_provider_credentials').update({credential_status:'disabled',last_verified_at:null,verification_notes:'Disconnected by tenant owner or platform admin.',metadata:{disconnected_at:new Date().toISOString()}}).eq('tenant_id',tid).eq('provider','irslogiqs');return j(req,200,{ok:true,disconnected:true})}if(requestedProvider===MUSE.key){const slug=await tenantSlug(admin,tid),eligible=MUSE_ROLLOUT_SLUGS.has(slug);return j(req,409,{ok:false,code:eligible?'provider_prerequisite_required':'provider_rollout_not_enabled',error:eligible?'Meta Muse is enabled for this workspace rollout, but Meta connector review and issued platform credentials are not activated yet.':'Meta Muse is in the global Connections catalog, but this workspace is not in the first rollout.'})}const d=P[requestedProvider as Key];if(!d)return j(req,400,{ok:false,error:'Unsupported provider'});if(d.key===PRIVATE_PROVIDER_KEY)await privateOwner(admin,uid,tid);if(action==='authorize_url'){const authorize_url=await authUrl(admin,d,tid,uid,targetUid,String(x.return_path||'/connections'));await auditSupportAction(admin,tid,uid,targetUid,'authorize_url',d.key);return j(req,200,{ok:true,authorize_url})}if(d.key==='google_workspace'&&action==='set_services'){const connectionId=String(x.connection_id||'').trim();if(!connectionId)return j(req,400,{ok:false,error:'connection_id required'});const{data:row,error}=await admin.from('tenant_google_workspace_connections').select('id,metadata').eq('id',connectionId).eq('tenant_id',tid).maybeSingle();if(error)throw error;if(!row)return j(req,404,{ok:false,error:'Google Workspace connection not found'});if(!visibleToConnectionSubject(row.metadata,targetUid))return j(req,403,{ok:false,error:'Connection is scoped to a different tenant user'});const current=googleServices(row.metadata);const requested=x.services&&typeof x.services==='object'?x.services:{};const services={mail:typeof requested.mail==='boolean'?requested.mail:current.mail,drive:typeof requested.drive==='boolean'?requested.drive:current.drive,calendar:typeof requested.calendar==='boolean'?requested.calendar:current.calendar};const metadata={...(row.metadata||{}),service_access:services};const updated=await admin.from('tenant_google_workspace_connections').update({metadata,updated_at:new Date().toISOString()}).eq('id',connectionId).eq('tenant_id',tid).select('id,metadata').single();if(updated.error)throw updated.error;return j(req,200,{ok:true,connection_id:connectionId,services})}if(d.key==='google_workspace'&&action==='set_role'){const connectionId=String(x.connection_id||'').trim(),role=String(x.connection_role||'').trim().toLowerCase();if(!connectionId)return j(req,400,{ok:false,error:'connection_id required'});if(!new Set(['secondary','legacy','import']).has(role))return j(req,400,{ok:false,error:'connection_role must be secondary, legacy, or import'});const{data:row,error}=await admin.from('tenant_google_workspace_connections').select('id,is_primary,metadata').eq('id',connectionId).eq('tenant_id',tid).maybeSingle();if(error)throw error;if(!row)return j(req,404,{ok:false,error:'Google Workspace connection not found'});if(!visibleToConnectionSubject(row.metadata,targetUid))return j(req,403,{ok:false,error:'Connection is scoped to a different tenant user'});if(row.is_primary)return j(req,409,{ok:false,code:'primary_role_locked',error:'Set another Google Workspace account as primary before changing this account role.'});const updated=await admin.from('tenant_google_workspace_connections').update({connection_role:role,updated_at:new Date().toISOString()}).eq('id',connectionId).eq('tenant_id',tid).select('id,connection_role').single();if(updated.error)throw updated.error;return j(req,200,{ok:true,connection_id:connectionId,connection_role:role})}if(d.key==='google_workspace'&&action==='set_primary'){const connectionId=String(x.connection_id||'').trim();if(!connectionId)return j(req,400,{ok:false,error:'connection_id required'});const{data:row,error}=await admin.from('tenant_google_workspace_connections').select('*').eq('id',connectionId).eq('tenant_id',tid).eq('credential_status','active').maybeSingle();if(error)throw error;if(!row)return j(req,404,{ok:false,error:'Google Workspace connection not found'});if(!visibleToConnectionSubject(row.metadata,targetUid))return j(req,403,{ok:false,error:'Connection is scoped to a different tenant user'});await admin.from('tenant_google_workspace_connections').update({is_primary:false,connection_role:'secondary',updated_at:new Date().toISOString()}).eq('tenant_id',tid).neq('id',connectionId);const promoted=await admin.from('tenant_google_workspace_connections').update({is_primary:true,connection_role:'primary',updated_at:new Date().toISOString()}).eq('id',connectionId).eq('tenant_id',tid).select('*').single();if(promoted.error)throw promoted.error;await syncLegacyGooglePrimary(admin,tid,uid,promoted.data);await syncGoogleStorageBinding(admin,tid,promoted.data);await auditSupportAction(admin,tid,uid,targetUid,'set_primary',d.key,connectionId);return j(req,200,{ok:true,primary:connectionId})}if(action==='refresh'){const t=await readToken(admin,tid,d.key);if(!t?.access_token)return j(req,409,{ok:false,code:'provider_prerequisite_required',error:`${d.label} is not connected.`});return j(req,200,{ok:true,expires_at:t.expires_at||null})}if(action==='revoke'){if(d.key==='google_workspace'&&x.connection_id){const connectionId=String(x.connection_id).trim();const{data:row,error}=await admin.from('tenant_google_workspace_connections').select('id,is_primary,metadata').eq('id',connectionId).eq('tenant_id',tid).maybeSingle();if(error)throw error;if(!row)return j(req,404,{ok:false,error:'Google Workspace connection not found'});if(!visibleToConnectionSubject(row.metadata,targetUid))return j(req,403,{ok:false,error:'Connection is scoped to a different tenant user'});const{count}=await admin.from('tenant_google_workspace_connections').select('id',{count:'exact',head:true}).eq('tenant_id',tid).eq('credential_status','active');if(row.is_primary&&Number(count||0)>1)return j(req,409,{ok:false,code:'primary_connection_required',error:'Set another Google Workspace account as primary before disconnecting this one.'});await admin.from('tenant_google_workspace_connections').delete().eq('id',connectionId).eq('tenant_id',tid);if(row.is_primary){await admin.from('tenant_provider_secrets').delete().eq('tenant_id',tid).eq('provider','google_workspace');await admin.from('tenant_provider_credentials').update({credential_status:'disabled',last_verified_at:null,verification_notes:'Disconnected by tenant owner or platform admin.',metadata:{disconnected_at:new Date().toISOString()}}).eq('tenant_id',tid).eq('provider','google_workspace')}return j(req,200,{ok:true,disconnected:true,connection_id:connectionId})}await admin.from('tenant_provider_secrets').delete().eq('tenant_id',tid).eq('provider',d.key);await admin.from('tenant_provider_credentials').update({credential_status:'disabled',last_verified_at:null,verification_notes:'Disconnected by tenant owner or platform admin.',metadata:{disconnected_at:new Date().toISOString()}}).eq('tenant_id',tid).eq('provider',d.key);return j(req,200,{ok:true,disconnected:true})}return j(req,400,{ok:false,error:'Unsupported action'})}catch(e){console.error('[tenant-provider-connections]',e);if(cb)return Response.redirect(ret(path,provider,'error'),302);const m=e instanceof Error?e.message:String(e);return j(req,m==='Unauthorized'?401:m.includes('owner or admin')?403:500,{ok:false,error:m})}});\n"},{"path":"supabase/functions/google-workspace-mail/index.ts","content":"import { createClient } from \"https://esm.sh/@supabase/supabase-js@2.45.0\";\nimport { decryptSecret, encryptSecret } from \"../_shared/tenantCrypto.ts\";\nimport { boundedGooglePageSize, googleApiJson, mapWithConcurrency } from \"../_shared/googleWorkspaceResilience.ts\";\n\nexport const FUNCTION_VERSION = \"1.2.0-onepath-account-binding\";\nconst SUPABASE_URL = Deno.env.get(\"SUPABASE_URL\") || \"\";\nconst GMAIL_BASE = \"https://gmail.googleapis.com/gmail/v1/users/me\";\nconst REQUIRED_SCOPE = \"https://www.googleapis.com/auth/gmail.modify\";\nconst cors = {\n  \"Access-Control-Allow-Origin\": \"*\",\n  \"Access-Control-Allow-Headers\": \"authorization, x-client-info, apikey, content-type, x-kl-mail-action, x-kl-tenant-id, x-kl-mailbox-id, x-kl-file-name\",\n  \"Access-Control-Allow-Methods\": \"GET, POST, OPTIONS\",\n  \"Access-Control-Expose-Headers\": \"content-type, content-disposition\"\n};\n\ntype StoredToken = { access_token?: string; refresh_token?: string | null; expires_at?: string | null; token_type?: string | null; scope?: string | null };\ntype UploadedAttachment = { fileName: string; mimeType: string; dataBase64: string };\n\nfunction j(status: number, body: unknown) {\n  return new Response(JSON.stringify(body), { status, headers: { ...cors, \"Content-Type\": \"application/json\", \"Cache-Control\": \"no-store\" } });\n}\nfunction utf8Base64(value: string) {\n  const bytes = new TextEncoder().encode(value);\n  let binary = \"\";\n  for (let offset = 0; offset < bytes.length; offset += 0x8000) binary += String.fromCharCode(...bytes.subarray(offset, Math.min(offset + 0x8000, bytes.length)));\n  return btoa(binary);\n}\nfunction base64UrlText(value: string) { return utf8Base64(value).replace(/\\+/g, \"-\").replace(/\\//g, \"_\").replace(/=+$/g, \"\"); }\nfunction decodeBase64Url(value: string) {\n  const normalized = String(value || \"\").replace(/-/g, \"+\").replace(/_/g, \"/\");\n  const padded = normalized + \"=\".repeat((4 - normalized.length % 4) % 4);\n  const binary = atob(padded);\n  return Uint8Array.from(binary, (char) => char.charCodeAt(0));\n}\nfunction decodeText(value: string) { try { return new TextDecoder().decode(decodeBase64Url(value)); } catch { return \"\"; } }\nfunction safeHeader(value: unknown) { return String(value || \"\").replace(/[\\r\\n]+/g, \" \").trim(); }\nfunction encodeAttachment(value: UploadedAttachment) { return base64UrlText(JSON.stringify(value)); }\nfunction decodeAttachment(value: unknown): UploadedAttachment | null {\n  try { return JSON.parse(decodeText(String(value || \"\"))) as UploadedAttachment; } catch { return null; }\n}\nasync function bearerUser(req: Request) {\n  const header = req.headers.get(\"Authorization\") || \"\";\n  if (!header.startsWith(\"Bearer \")) throw new Error(\"Unauthorized\");\n  const client = createClient(SUPABASE_URL, Deno.env.get(\"SUPABASE_ANON_KEY\") || \"\", { global: { headers: { Authorization: header } } });\n  const { data, error } = await client.auth.getUser(header.slice(7));\n  if (error || !data.user?.id) throw new Error(\"Unauthorized\");\n  return data.user.id;\n}\nasync function authorize(admin: any, userId: string, tenantId: string) {\n  const [member, system] = await Promise.all([\n    admin.rpc(\"is_tenant_member\", { _user_id: userId, _tenant_id: tenantId }),\n    admin.rpc(\"is_system_admin\", { _user_id: userId })\n  ]);\n  if (member.error) throw member.error;\n  if (system.error) throw system.error;\n  if (!member.data && !system.data) throw new Error(\"Workspace access required\");\n}\nasync function googleConnectionRows(admin:any,tenantId:string){const{data,error}=await admin.from(\"tenant_google_workspace_connections\").select(\"id,provider_account_id,actor_user_id,granted_scopes,account_email,account_name,connection_role,is_primary,ciphertext,iv,key_version,metadata,credential_status,verified_at,created_at\").eq(\"tenant_id\",tenantId).eq(\"credential_status\",\"active\").order(\"is_primary\",{ascending:false}).order(\"created_at\",{ascending:true});if(error)throw error;return(data||[]).filter((row:any)=>row?.metadata?.service_access?.mail!==false)}\nfunction scopesForConnection(connection:any){return Array.isArray(connection?.granted_scopes)?connection.granted_scopes.map((value:unknown)=>String(value)):Array.isArray(connection?.metadata?.granted_scopes)?connection.metadata.granted_scopes.map((value:unknown)=>String(value)):[]}\nfunction actorConnections(rows:any[],userId:string){return rows.filter((row:any)=>String(row.actor_user_id||row?.metadata?.bound_user_id||row?.metadata?.connected_by_user_id||'')===String(userId))}\nasync function tokenFor(admin:any,tenantId:string,userId:string,connectionId?:string|null){const connections=await googleConnectionRows(admin,tenantId);if(connections.length){if(!connectionId)throw new Error(\"provider_account_selection_required\");const connection=connections.find((row:any)=>String(row.id)===String(connectionId));if(!connection)throw new Error(\"Google Workspace account binding not found for this workspace.\");const actorId=String(connection.actor_user_id||connection?.metadata?.bound_user_id||connection?.metadata?.connected_by_user_id||'');if(actorId!==String(userId))throw new Error(\"Google Workspace account is bound to a different tenant user.\");const scopes=scopesForConnection(connection);if(!scopes.includes(REQUIRED_SCOPE))throw new Error(\"Reconnect this Google Workspace account in Settings → Connections to enable Gmail inbox access.\");let token=JSON.parse(await decryptSecret(connection.ciphertext,connection.iv)) as StoredToken;const expiresAt=token.expires_at?new Date(token.expires_at).getTime():0;if(!token.access_token||expiresAt<=Date.now()+300000){if(!token.refresh_token)throw new Error(\"Reconnect this Google Workspace account in Settings → Connections.\");const clientId=Deno.env.get(\"GOOGLE_WORKSPACE_CLIENT_ID\")||\"\",clientSecret=Deno.env.get(\"GOOGLE_WORKSPACE_CLIENT_SECRET\")||\"\";if(!clientId||!clientSecret)throw new Error(\"Google Workspace is not enabled on KnockLaunch.\");const response=await fetch(\"https://oauth2.googleapis.com/token\",{method:\"POST\",headers:{\"Content-Type\":\"application/x-www-form-urlencoded\"},body:new URLSearchParams({grant_type:\"refresh_token\",refresh_token:token.refresh_token,client_id:clientId,client_secret:clientSecret})});const payload=await response.json().catch(()=>({}));if(!response.ok||!payload?.access_token)throw new Error(String(payload?.error_description||payload?.error||\"Google Workspace token refresh failed\"));token={...token,access_token:String(payload.access_token),refresh_token:payload.refresh_token?String(payload.refresh_token):token.refresh_token,expires_at:payload.expires_in?new Date(Date.now()+Number(payload.expires_in)*1000).toISOString():token.expires_at,scope:payload.scope?String(payload.scope):token.scope,token_type:payload.token_type?String(payload.token_type):token.token_type};const encrypted=await encryptSecret(JSON.stringify(token));const refreshedScopes=payload.scope?String(payload.scope).split(/[ ,]+/).filter(Boolean):scopes;await admin.from(\"tenant_google_workspace_connections\").update({ciphertext:encrypted.ciphertext,iv:encrypted.iv,granted_scopes:refreshedScopes,verified_at:new Date().toISOString(),verification_error:null,updated_at:new Date().toISOString()}).eq(\"id\",connection.id).eq(\"tenant_id\",tenantId)}if(!token.access_token)throw new Error(\"Reconnect this Google Workspace account in Settings → Connections.\");return token.access_token}\n// ONEPATH compatibility lane: legacy provider credential may be used only when the tenant has zero first-class Google connection rows.\nconst{data:credential,error:credentialError}=await admin.from(\"tenant_provider_credentials\").select(\"credential_status,metadata\").eq(\"tenant_id\",tenantId).eq(\"provider\",\"google_workspace\").maybeSingle();if(credentialError)throw credentialError;const scopes=Array.isArray(credential?.metadata?.granted_scopes)?credential.metadata.granted_scopes.map((value:unknown)=>String(value)):[];if(credential?.credential_status!==\"active\")throw new Error(\"Connect Google Workspace in Settings → Connections.\");if(!scopes.includes(REQUIRED_SCOPE))throw new Error(\"Reconnect Google Workspace in Settings → Connections to enable Gmail inbox access.\");const{data:secret,error:secretError}=await admin.from(\"tenant_provider_secrets\").select(\"ciphertext,iv\").eq(\"tenant_id\",tenantId).eq(\"provider\",\"google_workspace\").maybeSingle();if(secretError)throw secretError;if(!secret?.ciphertext||!secret?.iv)throw new Error(\"Reconnect Google Workspace in Settings → Connections.\");const token=JSON.parse(await decryptSecret(secret.ciphertext,secret.iv)) as StoredToken;if(!token.access_token)throw new Error(\"Reconnect Google Workspace in Settings → Connections.\");return token.access_token}\nasync function gmail(accessToken: string, path: string, init: RequestInit = {}) {\n  return await googleApiJson({ service: \"Google Mail\", accessToken, url: GMAIL_BASE + path, init });\n}\nfunction headersOf(payload: any) {\n  const out: Record<string, string> = {};\n  for (const header of payload?.headers || []) out[String(header?.name || \"\").toLowerCase()] = String(header?.value || \"\");\n  return out;\n}\nfunction walkParts(part: any, rows: any[] = []) {\n  if (!part) return rows;\n  rows.push(part);\n  for (const child of part.parts || []) walkParts(child, rows);\n  return rows;\n}\nfunction contentOf(message: any) {\n  const parts = walkParts(message?.payload, []);\n  const html = parts.find((part: any) => String(part?.mimeType || \"\").toLowerCase() === \"text/html\" && part?.body?.data);\n  if (html) return decodeText(html.body.data);\n  const plain = parts.find((part: any) => String(part?.mimeType || \"\").toLowerCase() === \"text/plain\" && part?.body?.data);\n  if (plain) return decodeText(plain.body.data).replace(/&/g, \"&amp;\").replace(/</g, \"&lt;\").replace(/\\n/g, \"<br>\");\n  return decodeText(message?.payload?.body?.data || \"\");\n}\nfunction summary(message: any, folderId = \"\") {\n  const headers = headersOf(message?.payload);\n  const labels = Array.isArray(message?.labelIds) ? message.labelIds.map(String) : [];\n  return {\n    messageId: String(message?.id || \"\"), threadId: String(message?.threadId || \"\"), folderId: folderId || labels[0] || \"INBOX\",\n    subject: headers.subject || \"(no subject)\", fromAddress: headers.from || \"\", sender: headers.from || \"\", senderName: headers.from || \"\",\n    toAddress: headers.to || \"\", ccAddress: headers.cc || \"\", bccAddress: headers.bcc || \"\", replyTo: headers[\"reply-to\"] || \"\",\n    summary: String(message?.snippet || \"\"), receivedTime: String(message?.internalDate || \"\"), status: labels.includes(\"UNREAD\") ? \"unread\" : \"read\",\n    isRead: !labels.includes(\"UNREAD\"), hasAttachment: walkParts(message?.payload, []).some((part: any) => Boolean(part?.filename && part?.body?.attachmentId)),\n    flagid: labels.includes(\"STARRED\") ? \"important\" : \"flag_not_set\"\n  };\n}\nasync function profile(accessToken: string) { return await gmail(accessToken, \"/profile\"); }\nasync function fullMessage(accessToken: string, id: string) { return await gmail(accessToken, \"/messages/\" + encodeURIComponent(id) + \"?format=full\"); }\nasync function messageRows(accessToken: string, params: URLSearchParams, folderId = \"\") {\n  const list = await gmail(accessToken, \"/messages?\" + params.toString());\n  const ids = (list?.messages || []).map((message: any) => String(message.id || \"\")).filter(Boolean).slice(0, 25);\n  const messages = await mapWithConcurrency(ids, 4, (id: string) => metadataMessage(accessToken, id));\n  return messages.map((message: any) => summary(message, folderId));\n}\n\nfunction addressRows(value: unknown) {\n  const chunks = String(value || \"\").split(/,(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/);\n  const rows: Array<{ email: string; name: string }> = [];\n  for (const chunk of chunks) {\n    const match = chunk.match(/[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,}/i);\n    const email = String(match?.[0] || \"\").trim().toLowerCase();\n    if (!email) continue;\n    const name = chunk.replace(match?.[0] || \"\", \"\").replace(/[<>\"']/g, \"\").trim().replace(/^[,;]+|[,;]+$/g, \"\").trim();\n    rows.push({ email, name });\n  }\n  return rows;\n}\nfunction systemMailbox(email: string) {\n  const local = String(email || \"\").split(\"@\")[0]?.toLowerCase() || \"\";\n  return /^(?:no-?reply|do-?not-?reply|mailer-daemon|postmaster)$/.test(local);\n}\nasync function metadataMessage(accessToken: string, id: string) {\n  return await gmail(accessToken, \"/messages/\" + encodeURIComponent(id) + \"?format=metadata&metadataHeaders=Subject&metadataHeaders=From&metadataHeaders=To&metadataHeaders=Cc&metadataHeaders=Bcc&metadataHeaders=Reply-To&metadataHeaders=Date\");\n}\nasync function customerCandidatePage(accessToken: string, mailboxEmail: string, input: any) {\n  const limit = boundedGooglePageSize(input?.limit, 25, 50);\n  const params = new URLSearchParams({ maxResults: String(limit), q: \"-in:spam -in:trash\" });\n  const pageToken = String(input?.pageToken || \"\").trim();\n  if (pageToken) params.set(\"pageToken\", pageToken);\n  const list = await gmail(accessToken, \"/messages?\" + params.toString());\n  const ids = (list?.messages || []).map((message: any) => String(message?.id || \"\")).filter(Boolean).slice(0, limit);\n  const messages = await mapWithConcurrency(ids, 4, (id: string) => metadataMessage(accessToken, id));\n  const mailbox = mailboxEmail.trim().toLowerCase();\n  const candidates = new Map<string, any>();\n  const add = (row: { email: string; name: string }, direction: \"incoming\" | \"outgoing\", when: string) => {\n    if (!row.email || row.email === mailbox || systemMailbox(row.email)) return;\n    const current = candidates.get(row.email) || { email: row.email, name: row.name || \"\", interactionCount: 0, incomingCount: 0, outgoingCount: 0, firstSeen: null, lastSeen: null };\n    if (!current.name && row.name) current.name = row.name;\n    current.interactionCount += 1;\n    if (direction === \"incoming\") current.incomingCount += 1; else current.outgoingCount += 1;\n    const millis = Number(when || 0);\n    if (Number.isFinite(millis) && millis > 0) {\n      const iso = new Date(millis).toISOString();\n      if (!current.firstSeen || iso < current.firstSeen) current.firstSeen = iso;\n      if (!current.lastSeen || iso > current.lastSeen) current.lastSeen = iso;\n    }\n    candidates.set(row.email, current);\n  };\n  for (const message of messages) {\n    const headers = headersOf(message?.payload);\n    const from = addressRows(headers.from);\n    const to = addressRows(headers.to);\n    const cc = addressRows(headers.cc);\n    const outgoing = from.some((row) => row.email === mailbox);\n    if (outgoing) for (const row of [...to, ...cc]) add(row, \"outgoing\", String(message?.internalDate || \"\"));\n    else for (const row of from) add(row, \"incoming\", String(message?.internalDate || \"\"));\n  }\n  return {\n    candidates: Array.from(candidates.values()).sort((a, b) => String(b.lastSeen || \"\").localeCompare(String(a.lastSeen || \"\"))),\n    scannedMessages: ids.length,\n    nextPageToken: String(list?.nextPageToken || \"\") || null,\n  };\n}\n\nasync function draftRows(accessToken: string, limit = 50) {\n  const list = await gmail(accessToken, \"/drafts?maxResults=\" + Math.min(100, Math.max(1, limit)));\n  const drafts = (list?.drafts || []).slice(0, boundedGooglePageSize(limit, 25, 50));\n  const rows = await mapWithConcurrency(drafts, 4, (draft: any) => gmail(accessToken, \"/drafts/\" + encodeURIComponent(String(draft.id)) + \"?format=full\"));\n  return rows.map((draft: any) => summary(draft?.message || {}, \"DRAFT\"));\n}\nfunction attachmentsOf(message: any) {\n  const attachments: any[] = [], inline: any[] = [];\n  for (const part of walkParts(message?.payload, [])) {\n    const id = String(part?.body?.attachmentId || \"\");\n    if (!id) continue;\n    const headers = headersOf(part);\n    const row = {\n      attachmentId: id, attachmentID: id, fileName: String(part?.filename || \"attachment\"), attachmentName: String(part?.filename || \"attachment\"),\n      contentType: String(part?.mimeType || \"application/octet-stream\"), attachmentSize: Number(part?.body?.size || 0), size: Number(part?.body?.size || 0),\n      cid: String(headers[\"content-id\"] || \"\").replace(/^<|>$/g, \"\"), inline: /inline/i.test(headers[\"content-disposition\"] || \"\") || Boolean(headers[\"content-id\"])\n    };\n    (row.inline ? inline : attachments).push(row);\n  }\n  return { attachments, inline };\n}\nasync function modify(accessToken: string, ids: string[], addLabelIds: string[] = [], removeLabelIds: string[] = []) {\n  if (!ids.length) return {};\n  return await gmail(accessToken, \"/messages/batchModify\", { method: \"POST\", body: JSON.stringify({ ids, addLabelIds, removeLabelIds }) });\n}\nfunction mimeMessage(input: any, attachments: UploadedAttachment[] = [], replyHeaders?: { messageId?: string; references?: string }) {\n  const headers = [\n    \"To: \" + safeHeader(input?.to),\n    ...(input?.cc ? [\"Cc: \" + safeHeader(input.cc)] : []),\n    ...(input?.bcc ? [\"Bcc: \" + safeHeader(input.bcc)] : []),\n    \"Subject: =?UTF-8?B?\" + utf8Base64(String(input?.subject || \"\")) + \"?=\",\n    ...(replyHeaders?.messageId ? [\"In-Reply-To: \" + safeHeader(replyHeaders.messageId)] : []),\n    ...(replyHeaders?.references ? [\"References: \" + safeHeader(replyHeaders.references)] : []),\n    \"MIME-Version: 1.0\"\n  ];\n  if (!attachments.length) {\n    headers.push(\"Content-Type: text/html; charset=UTF-8\", \"Content-Transfer-Encoding: 8bit\");\n    return base64UrlText(headers.join(\"\\r\\n\") + \"\\r\\n\\r\\n\" + String(input?.content || \"\"));\n  }\n  const boundary = \"kl-\" + crypto.randomUUID();\n  headers.push(\"Content-Type: multipart/mixed; boundary=\\\"\" + boundary + \"\\\"\");\n  let body = \"--\" + boundary + \"\\r\\nContent-Type: text/html; charset=UTF-8\\r\\nContent-Transfer-Encoding: 8bit\\r\\n\\r\\n\" + String(input?.content || \"\") + \"\\r\\n\";\n  for (const attachment of attachments) body += \"--\" + boundary + \"\\r\\nContent-Type: \" + safeHeader(attachment.mimeType || \"application/octet-stream\") + \"\\r\\nContent-Disposition: attachment; filename=\\\"\" + safeHeader(attachment.fileName) + \"\\\"\\r\\nContent-Transfer-Encoding: base64\\r\\n\\r\\n\" + attachment.dataBase64 + \"\\r\\n\";\n  body += \"--\" + boundary + \"--\";\n  return base64UrlText(headers.join(\"\\r\\n\") + \"\\r\\n\\r\\n\" + body);\n}\nasync function sendRaw(accessToken: string, input: any, attachments: UploadedAttachment[] = [], threadId?: string, replyHeaders?: { messageId?: string; references?: string }) {\n  return await gmail(accessToken, \"/messages/send\", { method: \"POST\", body: JSON.stringify({ raw: mimeMessage(input, attachments, replyHeaders), ...(threadId ? { threadId } : {}) }) });\n}\nDeno.serve(async (req) => {\n  if (req.method === \"OPTIONS\") return new Response(\"ok\", { headers: cors });\n  if (req.method === \"GET\" && new URL(req.url).pathname.endsWith(\"/health\")) return j(200, { ok: true, service: \"google-workspace-mail\", version: FUNCTION_VERSION });\n  const admin = createClient(SUPABASE_URL, Deno.env.get(\"SUPABASE_SERVICE_ROLE_KEY\") || \"\");\n  try {\n    if (req.method !== \"POST\") return j(405, { ok: false, error: \"Method not allowed\" });\n    const binaryUpload = String(req.headers.get(\"x-kl-mail-action\") || \"\").toLowerCase() === \"upload_attachment\";\n    const input = binaryUpload ? { action: \"upload_attachment\", tenantId: req.headers.get(\"x-kl-tenant-id\") || \"\", mailboxId: req.headers.get(\"x-kl-mailbox-id\") || \"\", fileName: decodeURIComponent(req.headers.get(\"x-kl-file-name\") || \"attachment\") } : await req.json().catch(() => ({}));\n    const tenantId = String(input?.tenantId || \"\").trim();\n    const action = String(input?.action || \"status\").trim().toLowerCase();\n    if (!tenantId) return j(400, { ok: false, error: \"Workspace is required\" });\n    const userId = await bearerUser(req);\n    await authorize(admin, userId, tenantId);\n    const requestedConnectionId = String(input?.mailboxId || \"\").trim();\n    const allConnections = await googleConnectionRows(admin, tenantId);\n    const connections = actorConnections(allConnections, userId);\n    const selectedConnection = requestedConnectionId\n      ? connections.find((row:any)=>String(row.id)===requestedConnectionId)\n      : connections.length===1 ? connections[0] : null;\n    if (requestedConnectionId && !selectedConnection) return j(404, { ok:false, code:\"provider_account_not_found\", error:\"The selected Google Workspace mailbox is not available for this tenant user.\" });\n    const uiDefaultConnection = connections.find((row:any)=>row.is_primary) || (connections.length===1 ? connections[0] : null);\n    const mailboxes = connections.map((row:any)=>({id:String(row.id),providerAccountId:String(row.provider_account_id||row?.metadata?.provider_account_id||\"\"),emailAddress:String(row.account_email||\"\"),displayName:String(row.account_name||row.account_email||\"Google Workspace\"),status:\"active\",isDefault:row.is_primary===true,mailboxKind:String(row.connection_role||\"secondary\"),lastSyncAt:row.verified_at||null}));\n    const defaultMailboxId = String(uiDefaultConnection?.id || \"\");\n\n    if (action === \"status\") return j(200, { ok: true, configured: connections.length>0, setupRequired: connections.length===0, mailboxes, defaultMailboxId, providerLabel: \"Google Workspace\" });\n    if (action === \"bootstrap\") return j(200, { ok: true, provider: { configured: connections.length>0, setupRequired: connections.length===0, mailboxes, defaultMailboxId, providerLabel: \"Google Workspace\" }, mailboxId: String(selectedConnection?.id||\"\"), folders: null, folderId: null, messages: null, foldersDeferred: true, messagesDeferred: true });\n    if (allConnections.length>0 && connections.length===0) return j(403,{ok:false,code:\"provider_account_actor_mismatch\",error:\"No Google Workspace account is bound to this tenant user.\"});\n    if (connections.length>1 && !selectedConnection) return j(409,{ok:false,code:\"provider_account_selection_required\",error:\"Choose the Google Workspace account for this mail action.\"});\n    const accessToken = await tokenFor(admin, tenantId, userId, selectedConnection?.id || null);\n    const me = selectedConnection?.account_email ? null : await profile(accessToken);\n    const email = String(selectedConnection?.account_email || me?.emailAddress || \"\").trim();\n    const mailbox = { id: String(selectedConnection?.id || \"google-workspace\"), emailAddress: email, displayName: String(selectedConnection?.account_name || email || \"Google Workspace\"), status: \"active\", isDefault: selectedConnection ? selectedConnection.is_primary === true : true, mailboxKind: selectedConnection?.connection_role || \"native\", lastSyncAt: new Date().toISOString() };\n\n    let data: any = null;\n    if (action === \"folders\") {\n      const labels = await gmail(accessToken, \"/labels\");\n      const priority = [\"INBOX\", \"STARRED\", \"SENT\", \"DRAFT\", \"SPAM\", \"TRASH\"];\n      data = (labels?.labels || []).filter((label: any) => label?.id && label?.name).sort((a: any, b: any) => {\n        const ai = priority.indexOf(a.id), bi = priority.indexOf(b.id);\n        if (ai >= 0 || bi >= 0) return (ai < 0 ? 99 : ai) - (bi < 0 ? 99 : bi);\n        return String(a.name).localeCompare(String(b.name));\n      }).map((label: any) => ({\n        folderId: String(label.id), folderName: String(label.name).replace(/^CATEGORY_/, \"\").replace(/_/g, \" \"),\n        folderType: String(label.type || \"\"), path: String(label.name), unreadCount: Number(label.messagesUnread || 0)\n      }));\n    } else if (action === \"customer_candidates\") {\n      data = await customerCandidatePage(accessToken, email, input);\n    } else if (action === \"messages\") {\n      const folderId = String(input?.folderId || \"\").trim();\n      if (!folderId) return j(400, { ok: false, error: \"folderId is required\" });\n      data = await messageRows(accessToken, new URLSearchParams({ labelIds: folderId, maxResults: String(Math.min(100, Math.max(1, Number(input?.limit || 50)))) }), folderId);\n    } else if (action === \"drafts\") {\n      data = await draftRows(accessToken, Number(input?.limit || 50));\n    } else if (action === \"search\") {\n      const query = String(input?.query || \"\").trim();\n      data = query ? await messageRows(accessToken, new URLSearchParams({ q: query, maxResults: String(Math.min(100, Math.max(1, Number(input?.limit || 50)))) })) : [];\n    } else if (action === \"message\") {\n      const messageId = String(input?.messageId || \"\").trim();\n      if (!messageId) return j(400, { ok: false, error: \"messageId is required\" });\n      const message = await fullMessage(accessToken, messageId);\n      data = { meta: summary(message, String(input?.folderId || \"\")), content: { content: contentOf(message) } };\n    } else if (action === \"thread\") {\n      const threadId = String(input?.threadId || \"\").trim();\n      if (!threadId) return j(400, { ok: false, error: \"threadId is required\" });\n      const thread = await gmail(accessToken, \"/threads/\" + encodeURIComponent(threadId) + \"?format=full\");\n      data = (thread?.messages || []).map((message: any) => summary(message, String(input?.folderId || \"\")));\n    } else if (action === \"attachments\") {\n      const messageId = String(input?.messageId || \"\").trim();\n      if (!messageId) return j(400, { ok: false, error: \"messageId is required\" });\n      data = attachmentsOf(await fullMessage(accessToken, messageId));\n    } else if (action === \"download_attachment\" || action === \"download_inline_image\") {\n      const messageId = String(input?.messageId || \"\").trim();\n      if (!messageId) return j(400, { ok: false, error: \"messageId is required\" });\n      let attachmentId = String(input?.attachmentId || \"\").trim();\n      if (!attachmentId && action === \"download_inline_image\") {\n        const contentId = String(input?.contentId || \"\").replace(/^<|>$/g, \"\");\n        const message = await fullMessage(accessToken, messageId);\n        const part = walkParts(message?.payload, []).find((candidate: any) => String(headersOf(candidate)[\"content-id\"] || \"\").replace(/^<|>$/g, \"\") === contentId);\n        attachmentId = String(part?.body?.attachmentId || \"\");\n      }\n      if (!attachmentId) return j(400, { ok: false, error: \"attachmentId is required\" });\n      const payload = await gmail(accessToken, \"/messages/\" + encodeURIComponent(messageId) + \"/attachments/\" + encodeURIComponent(attachmentId));\n      return new Response(decodeBase64Url(String(payload?.data || \"\")), { status: 200, headers: { ...cors, \"Content-Type\": \"application/octet-stream\", \"Content-Disposition\": \"inline; filename=\\\"\" + safeHeader(input?.fileName || \"attachment\") + \"\\\"\", \"Cache-Control\": \"private, no-store\" } });\n    } else if (action === \"mark_read\" || action === \"mark_unread\" || action === \"flag\" || action === \"archive\" || action === \"move\") {\n      const ids = Array.from(new Set((Array.isArray(input?.messageIds) ? input.messageIds : [input?.messageId]).map((value: any) => String(value || \"\").trim()).filter(Boolean)));\n      if (!ids.length) return j(400, { ok: false, error: \"A message is required\" });\n      if (action === \"mark_read\") data = await modify(accessToken, ids, [], [\"UNREAD\"]);\n      else if (action === \"mark_unread\") data = await modify(accessToken, ids, [\"UNREAD\"], []);\n      else if (action === \"flag\") data = await modify(accessToken, ids, input?.flagged === false ? [] : [\"STARRED\"], input?.flagged === false ? [\"STARRED\"] : []);\n      else if (action === \"archive\") data = await modify(accessToken, ids, [], [\"INBOX\"]);\n      else {\n        const destination = String(input?.destinationFolderId || \"\").trim();\n        if (!destination) return j(400, { ok: false, error: \"Choose a destination folder\" });\n        data = await modify(accessToken, ids, [destination], input?.folderId ? [String(input.folderId)] : []);\n      }\n    } else if (action === \"delete_message\") {\n      const ids = Array.from(new Set((Array.isArray(input?.messageIds) ? input.messageIds : [input?.messageId]).map((value: any) => String(value || \"\").trim()).filter(Boolean)));\n      for (const id of ids) await gmail(accessToken, \"/messages/\" + encodeURIComponent(id) + \"/trash\", { method: \"POST\" });\n      data = { trashed: ids.length };\n    } else if (action === \"create_folder\") {\n      const folderName = String(input?.folderName || \"\").trim();\n      if (!folderName) return j(400, { ok: false, error: \"Folder name is required\" });\n      data = await gmail(accessToken, \"/labels\", { method: \"POST\", body: JSON.stringify({ name: folderName, labelListVisibility: \"labelShow\", messageListVisibility: \"show\" }) });\n    } else if (action === \"rename_folder\") {\n      const folderId = String(input?.folderId || \"\").trim(), folderName = String(input?.folderName || \"\").trim();\n      if (!folderId || !folderName) return j(400, { ok: false, error: \"Folder and new name are required\" });\n      data = await gmail(accessToken, \"/labels/\" + encodeURIComponent(folderId), { method: \"PATCH\", body: JSON.stringify({ name: folderName }) });\n    } else if (action === \"delete_folder\") {\n      const folderId = String(input?.folderId || \"\").trim();\n      if (!folderId) return j(400, { ok: false, error: \"Folder is required\" });\n      await gmail(accessToken, \"/labels/\" + encodeURIComponent(folderId), { method: \"DELETE\" });\n      data = { deleted: true };\n    } else if (action === \"upload_attachment\") {\n      const bytes = new Uint8Array(await req.arrayBuffer());\n      if (bytes.byteLength > 8 * 1024 * 1024) return j(413, { ok: false, error: \"Attachment is limited to 8 MB.\" });\n      let raw = \"\";\n      for (const byte of bytes) raw += String.fromCharCode(byte);\n      data = { fileId: encodeAttachment({ fileName: String(input?.fileName || \"attachment\"), mimeType: req.headers.get(\"content-type\") || \"application/octet-stream\", dataBase64: btoa(raw) }) };\n    } else if (action === \"send_message\" || action === \"reply\" || action === \"save_draft\") {\n      const attachments = (Array.isArray(input?.attachmentFileIds) ? input.attachmentFileIds : []).map(decodeAttachment).filter(Boolean) as UploadedAttachment[];\n      if (action === \"save_draft\") {\n        data = await gmail(accessToken, \"/drafts\", { method: \"POST\", body: JSON.stringify({ message: { raw: mimeMessage(input, attachments) } }) });\n      } else {\n        let threadId: string | undefined;\n        let replyHeaders: { messageId?: string; references?: string } | undefined;\n        if (action === \"reply\" && input?.messageId) {\n          const original = await fullMessage(accessToken, String(input.messageId));\n          const originalHeaders = headersOf(original?.payload);\n          threadId = String(original?.threadId || \"\") || undefined;\n          const originalMessageId = String(originalHeaders[\"message-id\"] || \"\");\n          replyHeaders = { messageId: originalMessageId || undefined, references: [originalHeaders.references, originalMessageId].filter(Boolean).join(\" \") || undefined };\n        }\n        data = await sendRaw(accessToken, input, attachments, threadId, replyHeaders);\n      }\n    } else if (action === \"set_event_scanning\") {\n      return j(400, { ok: false, error: \"Event lead scanning is not used by this workspace.\" });\n    } else {\n      return j(400, { ok: false, error: \"Unsupported mail action\" });\n    }\n    return j(200, { ok: true, mailbox, data });\n  } catch (error: any) {\n    const message = error instanceof Error ? error.message : String(error);\n    console.error(\"[google-workspace-mail]\", message);\n    const status = message === \"Unauthorized\" ? 401 : /access required/i.test(message) ? 403 : /Reconnect Google Workspace|Connect Google Workspace/i.test(message) ? 409 : 502;\n    return j(status, { ok: false, error: message });\n  }\n});\n"},{"path":"supabase/functions/pcg-google-drive-media/index.ts","content":"import {serve} from \"https://deno.land/std@0.190.0/http/server.ts\";\nimport {createClient} from \"https://esm.sh/@supabase/supabase-js@2.45.0\";\nimport {decryptSecret,encryptSecret} from \"../_shared/tenantCrypto.ts\";\n\nexport const FUNCTION_VERSION=\"1.5.0-onepath-account-binding\";\nconst SUPABASE_URL=Deno.env.get(\"SUPABASE_URL\")||\"\";\nconst SERVICE_ROLE=Deno.env.get(\"SUPABASE_SERVICE_ROLE_KEY\")||\"\";\nconst VISION_ENDPOINT=Deno.env.get(\"KNOCKLAUNCH_VISION_ENDPOINT\")||\"\";\nconst VISION_TOKEN=Deno.env.get(\"KNOCKLAUNCH_VISION_BEARER_TOKEN\")||\"\";\nconst DRIVE_SCOPE=\"https://www.googleapis.com/auth/drive.file\";\nconst GOOGLE_FILES=\"https://www.googleapis.com/drive/v3/files\";\nconst GOOGLE_UPLOAD=\"https://www.googleapis.com/upload/drive/v3/files\";\nconst LEGACY_IMAGE_HOSTS=new Set([\"pcgslab.com\",\"www.pcgslab.com\",\"images.squarespace-cdn.com\",\"static1.squarespace.com\"]);\nconst MAX_LEGACY_IMAGE_BYTES=25*1024*1024;\ntype StoredToken={access_token?:string;refresh_token?:string|null;expires_at?:string|null;token_type?:string|null;scope?:string|null;metadata?:Record<string,unknown>};\n\nconst cors={\"Access-Control-Allow-Origin\":\"*\",\"Access-Control-Allow-Headers\":\"authorization, content-type, range, x-client-info, apikey\",\"Access-Control-Allow-Methods\":\"GET, HEAD, POST, OPTIONS\"};\nconst json=(body:unknown,status=200)=>new Response(JSON.stringify(body),{status,headers:{...cors,\"Content-Type\":\"application/json\",\"Cache-Control\":\"no-store\"}});\nconst clean=(value:unknown)=>String(value??\"\").trim();\nconst safeName=(value:string)=>value.replace(/[\\\\/]+/g,\"-\").replace(/[\\u0000-\\u001f]+/g,\" \").trim().slice(0,180)||\"pcg-card-image\";\nconst bytesToHex=(bytes:Uint8Array)=>Array.from(bytes).map(value=>value.toString(16).padStart(2,\"0\")).join(\"\");\nasync function sha256(value:string){return bytesToHex(new Uint8Array(await crypto.subtle.digest(\"SHA-256\",new TextEncoder().encode(value))))}\nfunction base64Url(bytes:Uint8Array){let binary=\"\";for(const value of bytes)binary+=String.fromCharCode(value);return btoa(binary).replace(/\\+/g,\"-\").replace(/\\//g,\"_\").replace(/=+$/,\"\")}\nasync function signingKey(){const digest=await crypto.subtle.digest(\"SHA-256\",new TextEncoder().encode(SERVICE_ROLE+\":pcg-google-drive-media:v1\"));return crypto.subtle.importKey(\"raw\",digest,{name:\"HMAC\",hash:\"SHA-256\"},false,[\"sign\"])}\nasync function signature(tenantId:string,fileId:string){const key=await signingKey();return base64Url(new Uint8Array(await crypto.subtle.sign(\"HMAC\",key,new TextEncoder().encode(tenantId+\":\"+fileId))))}\nfunction sameSignature(a:string,b:string){if(a.length!==b.length)return false;let mismatch=0;for(let i=0;i<a.length;i++)mismatch|=a.charCodeAt(i)^b.charCodeAt(i);return mismatch===0}\nasync function publicUrl(tenantId:string,fileId:string){return SUPABASE_URL+\"/functions/v1/pcg-google-drive-media/media?tenant=\"+encodeURIComponent(tenantId)+\"&file=\"+encodeURIComponent(fileId)+\"&sig=\"+encodeURIComponent(await signature(tenantId,fileId))}\n\nasync function legacyRefreshGoogleToken(admin:any,tenantId:string,credential:any){\n  const granted=Array.isArray(credential?.metadata?.granted_scopes)?credential.metadata.granted_scopes.map((value:unknown)=>String(value)):[];\n  if(credential?.credential_status!==\"active\")return{ok:false as const,code:\"provider_prerequisite_required\",error:\"Connect Google Workspace in Settings → Connections before adding PCG card images.\"};\n  if(!granted.includes(DRIVE_SCOPE))return{ok:false as const,code:\"provider_reconnect_required\",error:\"Reconnect Google Workspace in Settings → Connections to add Google Drive permission.\"};\n  const{data:secret,error:secretError}=await admin.from(\"tenant_provider_secrets\").select(\"ciphertext,iv\").eq(\"tenant_id\",tenantId).eq(\"provider\",\"google_workspace\").maybeSingle();\n  if(secretError)throw secretError;\n  if(!secret?.ciphertext||!secret?.iv)return{ok:false as const,code:\"provider_reconnect_required\",error:\"Reconnect Google Workspace in Settings → Connections before adding PCG card images.\"};\n  let token=JSON.parse(await decryptSecret(secret.ciphertext,secret.iv)) as StoredToken;\n  const expiresAt=token.expires_at?new Date(token.expires_at).getTime():0;\n  if(expiresAt&&expiresAt<=Date.now()+5*60*1000){\n    if(!token.refresh_token)return{ok:false as const,code:\"provider_reconnect_required\",error:\"Reconnect Google Workspace in Settings → Connections before adding PCG card images.\"};\n    const clientId=Deno.env.get(\"GOOGLE_WORKSPACE_CLIENT_ID\")||\"\",clientSecret=Deno.env.get(\"GOOGLE_WORKSPACE_CLIENT_SECRET\")||\"\";\n    if(!clientId||!clientSecret)return{ok:false as const,code:\"provider_platform_not_configured\",error:\"Google Workspace is not enabled on KnockLaunch yet.\"};\n    const response=await fetch(\"https://oauth2.googleapis.com/token\",{method:\"POST\",headers:{\"Content-Type\":\"application/x-www-form-urlencoded\"},body:new URLSearchParams({grant_type:\"refresh_token\",refresh_token:token.refresh_token,client_id:clientId,client_secret:clientSecret})});\n    const payload=await response.json().catch(()=>({}));\n    if(!response.ok||!payload?.access_token)return{ok:false as const,code:\"provider_reconnect_required\",error:\"Reconnect Google Workspace in Settings → Connections before adding PCG card images.\"};\n    token={...token,access_token:String(payload.access_token),expires_at:payload.expires_in?new Date(Date.now()+Number(payload.expires_in)*1000).toISOString():token.expires_at,scope:payload.scope?String(payload.scope):token.scope,token_type:payload.token_type?String(payload.token_type):token.token_type};\n    const encrypted=await encryptSecret(JSON.stringify(token));\n    await admin.from(\"tenant_provider_secrets\").update({ciphertext:encrypted.ciphertext,iv:encrypted.iv,verified_at:new Date().toISOString(),verification_error:null}).eq(\"tenant_id\",tenantId).eq(\"provider\",\"google_workspace\");\n    await admin.from(\"tenant_provider_credentials\").update({last_verified_at:new Date().toISOString(),verification_notes:\"Google Workspace token refreshed for PCG Drive media.\"}).eq(\"tenant_id\",tenantId).eq(\"provider\",\"google_workspace\");\n  }\n  if(!token.access_token)return{ok:false as const,code:\"provider_reconnect_required\",error:\"Reconnect Google Workspace in Settings → Connections before adding PCG card images.\"};\n  return{ok:true as const,accessToken:token.access_token,metadata:(credential?.metadata||{}) as Record<string,unknown>};\n}\nasync function legacyGoogleWorkspace(admin:any,tenantId:string){\n  const{data:credential,error}=await admin.from(\"tenant_provider_credentials\").select(\"credential_status,metadata\").eq(\"tenant_id\",tenantId).eq(\"provider\",\"google_workspace\").maybeSingle();\n  if(error)throw error;\n  return legacyRefreshGoogleToken(admin,tenantId,credential);\n}\nfunction googleConnectionRefId(value:unknown){const raw=clean(value),prefix=\"tenant_google_workspace_connection:\";return raw.startsWith(prefix)?raw.slice(prefix.length):\"\"}\nfunction googleDriveScopes(row:any){return Array.isArray(row?.granted_scopes)?row.granted_scopes.map((value:unknown)=>String(value)):Array.isArray(row?.metadata?.granted_scopes)?row.metadata.granted_scopes.map((value:unknown)=>String(value)):[ ]}\nasync function googleDriveBinding(admin:any,tenantId:string){const{data,error}=await admin.from(\"tenant_capability_providers\").select(\"connection_ref,priority\").eq(\"tenant_id\",tenantId).eq(\"capability\",\"storage.files\").eq(\"provider_key\",\"google_workspace\").eq(\"enabled\",true).order(\"priority\",{ascending:true}).limit(2);if(error)throw error;if(!data?.length)return\"\";if(data.length>1)throw new Error(\"Google Drive provider binding is ambiguous.\");return googleConnectionRefId(data[0].connection_ref)}\nasync function googleDriveConnections(admin:any,tenantId:string){const{data,error}=await admin.from(\"tenant_google_workspace_connections\").select(\"id,provider_account_id,actor_user_id,granted_scopes,account_email,account_name,ciphertext,iv,metadata,credential_status,verified_at\").eq(\"tenant_id\",tenantId).eq(\"credential_status\",\"active\");if(error)throw error;return(data||[]).filter((row:any)=>row?.metadata?.service_access?.drive!==false&&googleDriveScopes(row).includes(DRIVE_SCOPE))}\nasync function refreshGoogleConnection(admin:any,tenantId:string,connection:any){let token=JSON.parse(await decryptSecret(connection.ciphertext,connection.iv)) as StoredToken;const expiresAt=token.expires_at?new Date(token.expires_at).getTime():0;if(expiresAt&&expiresAt<=Date.now()+5*60*1000){if(!token.refresh_token)return{ok:false as const,code:\"provider_reconnect_required\",error:\"Reconnect this Google Workspace account in Settings → Connections before adding PCG card images.\"};const clientId=Deno.env.get(\"GOOGLE_WORKSPACE_CLIENT_ID\")||\"\",clientSecret=Deno.env.get(\"GOOGLE_WORKSPACE_CLIENT_SECRET\")||\"\";if(!clientId||!clientSecret)return{ok:false as const,code:\"provider_platform_not_configured\",error:\"Google Workspace is not enabled on KnockLaunch yet.\"};const response=await fetch(\"https://oauth2.googleapis.com/token\",{method:\"POST\",headers:{\"Content-Type\":\"application/x-www-form-urlencoded\"},body:new URLSearchParams({grant_type:\"refresh_token\",refresh_token:token.refresh_token,client_id:clientId,client_secret:clientSecret})});const payload=await response.json().catch(()=>({}));if(!response.ok||!payload?.access_token)return{ok:false as const,code:\"provider_reconnect_required\",error:\"Reconnect this Google Workspace account in Settings → Connections before adding PCG card images.\"};token={...token,access_token:String(payload.access_token),expires_at:payload.expires_in?new Date(Date.now()+Number(payload.expires_in)*1000).toISOString():token.expires_at,scope:payload.scope?String(payload.scope):token.scope,token_type:payload.token_type?String(payload.token_type):token.token_type};const encrypted=await encryptSecret(JSON.stringify(token));const grantedScopes=payload.scope?String(payload.scope).split(/[ ,]+/).filter(Boolean):googleDriveScopes(connection);await admin.from(\"tenant_google_workspace_connections\").update({ciphertext:encrypted.ciphertext,iv:encrypted.iv,granted_scopes:grantedScopes,verified_at:new Date().toISOString(),verification_error:null,updated_at:new Date().toISOString()}).eq(\"id\",connection.id).eq(\"tenant_id\",tenantId)}if(!token.access_token)return{ok:false as const,code:\"provider_reconnect_required\",error:\"Reconnect this Google Workspace account in Settings → Connections before adding PCG card images.\"};return{ok:true as const,accessToken:token.access_token,metadata:{...(connection.metadata||{}),provider_account_id:connection.provider_account_id,account_email:connection.account_email,connection_id:connection.id}}}\nasync function googleWorkspace(admin:any,tenantId:string){const connections=await googleDriveConnections(admin,tenantId);if(!connections.length)return legacyGoogleWorkspace(admin,tenantId);const boundId=await googleDriveBinding(admin,tenantId);const connection=boundId?connections.find((row:any)=>String(row.id)===boundId):connections.length===1?connections[0]:null;if(!connection)return{ok:false as const,code:\"provider_account_selection_required\",error:\"Choose the Google Workspace account bound to PCG Drive storage in Settings → Connections.\"};return refreshGoogleConnection(admin,tenantId,connection)}\nasync function requirePcgMember(req:Request,admin:any,tenantId:string){\n  const auth=clean(req.headers.get(\"Authorization\"));\n  if(!auth.startsWith(\"Bearer \"))return{ok:false as const,status:401,error:\"Please sign in again.\"};\n  const{data,error}=await admin.auth.getUser(auth.slice(7));\n  if(error||!data.user?.id)return{ok:false as const,status:401,error:\"Please sign in again.\"};\n  const{data:isMember,error:memberError}=await admin.rpc(\"is_tenant_member\",{_user_id:data.user.id,_tenant_id:tenantId});\n  if(memberError)throw memberError;\n  if(!isMember)return{ok:false as const,status:403,error:\"This PCG workspace is not available to your account.\"};\n  const{data:tenant,error:tenantError}=await admin.from(\"tenants\").select(\"company_slug,name,settings\").eq(\"id\",tenantId).maybeSingle();\n  if(tenantError)throw tenantError;\n  const slug=clean(tenant?.company_slug).toLowerCase(),settings=(tenant?.settings||{}) as Record<string,unknown>;\n  const isPcg=slug===\"pcg\"||slug===\"prestigious-card-grading\"||clean(settings.routing_family).toUpperCase()===\"CARD_GRADING_OPS\"||clean(settings.workspace_type).toLowerCase()===\"card_grading\"||clean(tenant?.name).toLowerCase().includes(\"prestigious card grading\");\n  if(!isPcg)return{ok:false as const,status:403,error:\"This storage adapter is reserved for the PCG workspace.\"};\n  return{ok:true as const,userId:data.user.id};\n}\nasync function requirePcgOwner(req:Request,admin:any,tenantId:string){\n  const member=await requirePcgMember(req,admin,tenantId);if(!member.ok)return member;\n  const[{data:systemAdmin},{data:membership,error:membershipError}]=await Promise.all([\n    admin.rpc(\"is_system_admin\",{_user_id:member.userId}),\n    admin.from(\"security_active_user_tenant_memberships\").select(\"status,is_owner\").eq(\"user_id\",member.userId).eq(\"tenant_id\",tenantId).maybeSingle()\n  ]);\n  if(membershipError)throw membershipError;\n  if(systemAdmin===true||membership?.status===\"active\"&&membership?.is_owner===true)return member;\n  return{ok:false as const,status:403,error:\"This PCG owner operation requires the tenant owner or a platform administrator.\"};\n}\nfunction allowedLegacyUrl(raw:string,base?:string){\n  let parsed:URL;try{parsed=base?new URL(raw,base):new URL(raw)}catch{throw new Error(\"Legacy image URL is invalid.\")}\n  const host=parsed.hostname.toLowerCase();\n  if(parsed.protocol!==\"https:\"||!LEGACY_IMAGE_HOSTS.has(host))throw new Error(\"Legacy image host is not approved for PCG migration.\");\n  if(parsed.username||parsed.password)throw new Error(\"Legacy image URLs may not include credentials.\");\n  return parsed;\n}\nasync function fetchLegacyImage(sourceUrl:string){\n  let current=allowedLegacyUrl(sourceUrl);\n  for(let hop=0;hop<6;hop++){\n    const controller=new AbortController();const timeout=setTimeout(()=>controller.abort(),20000);\n    let response:Response;\n    try{response=await fetch(current,{redirect:\"manual\",signal:controller.signal,headers:{\"User-Agent\":\"KNOCKLAUNCH-PCG-Migration/1.0\",\"Accept\":\"image/*\"}})}\n    finally{clearTimeout(timeout)}\n    if(response.status>=300&&response.status<400){\n      const location=response.headers.get(\"location\");if(!location)throw new Error(\"Legacy image redirect was missing a destination.\");\n      current=allowedLegacyUrl(location,current.toString());continue\n    }\n    if(!response.ok)throw new Error(\"Legacy image fetch failed (\"+response.status+\").\");\n    const contentType=clean(response.headers.get(\"content-type\")).split(\";\")[0].toLowerCase();\n    if(!contentType.startsWith(\"image/\"))throw new Error(\"Legacy source did not return an image.\");\n    const length=Number(response.headers.get(\"content-length\")||0);if(length>MAX_LEGACY_IMAGE_BYTES)throw new Error(\"Legacy image exceeds the 25 MB migration limit.\");\n    const bytes=new Uint8Array(await response.arrayBuffer());if(bytes.byteLength>MAX_LEGACY_IMAGE_BYTES)throw new Error(\"Legacy image exceeds the 25 MB migration limit.\");\n    return{bytes,contentType,finalUrl:current.toString()};\n  }\n  throw new Error(\"Legacy image exceeded the approved redirect limit.\");\n}\nasync function uploadLegacyBytes(admin:any,tenantId:string,google:any,importKey:string,key:string,side:string,sourceUrl:string,name:string){\n  const folderId=await ensureFolder(admin,tenantId,google.accessToken,google.metadata);\n  const importHash=await sha256(importKey),sessionHash=await sha256(\"legacy:\"+importKey);\n  const existing=await findExisting(google.accessToken,folderId,importHash,side);\n  if(existing?.id)return{ok:true,deduped:true,file_id:String(existing.id),url:await publicUrl(tenantId,String(existing.id)),source_url:sourceUrl};\n  const remote=await fetchLegacyImage(sourceUrl);\n  const parsed=new URL(remote.finalUrl),remoteName=safeName(name||parsed.pathname.split(\"/\").filter(Boolean).pop()||\"legacy-card-image\");\n  const fileName=safeName(key+\"-\"+side+\"-\"+remoteName);\n  const created=await driveJson(google.accessToken,GOOGLE_FILES+\"?fields=id,name,mimeType\",{method:\"POST\",body:JSON.stringify({name:fileName,mimeType:remote.contentType,parents:[folderId],appProperties:{knocklaunch_app:\"pcg_card_media\",knocklaunch_tenant_id:tenantId,knocklaunch_import_hash:importHash,knocklaunch_session_hash:sessionHash,knocklaunch_side:side,knocklaunch_legacy_source_hash:await sha256(sourceUrl)}})});\n  const fileId=clean(created.id);if(!fileId)throw new Error(\"Google Drive did not create the migrated PCG image record.\");\n  try{\n    const uploaded=await fetch(GOOGLE_UPLOAD+\"/\"+encodeURIComponent(fileId)+\"?uploadType=media&fields=id,name,mimeType,size\",{method:\"PATCH\",headers:{Authorization:\"Bearer \"+google.accessToken,\"Content-Type\":remote.contentType,\"Content-Length\":String(remote.bytes.byteLength)},body:remote.bytes});\n    const payload=await uploaded.json().catch(()=>({}));if(!uploaded.ok)throw new Error(clean(payload?.error?.message)||\"Google Drive legacy-image upload failed (\"+uploaded.status+\").\");\n    return{ok:true,deduped:false,file_id:fileId,url:await publicUrl(tenantId,fileId),source_url:sourceUrl,final_source_url:remote.finalUrl,storage_owner:\"google_workspace\",master_copy:true};\n  }catch(error){\n    await fetch(GOOGLE_FILES+\"/\"+encodeURIComponent(fileId),{method:\"DELETE\",headers:{Authorization:\"Bearer \"+google.accessToken}}).catch(()=>null);throw error\n  }\n}\nasync function importLegacyUrl(req:Request,admin:any){\n  const body=await req.json().catch(()=>({})),tenantId=clean(body.tenant_id),importKey=clean(body.import_key),key=clean(body.key),side=clean(body.side).toLowerCase(),sourceUrl=clean(body.source_url),name=safeName(clean(body.name));\n  if(!tenantId||!importKey||!key||!sourceUrl||![\"front\",\"back\",\"slab\"].includes(side))return json({ok:false,error:\"Legacy image migration metadata is incomplete.\"},400);\n  const auth=await requirePcgOwner(req,admin,tenantId);if(!auth.ok)return json({ok:false,error:auth.error},auth.status);\n  allowedLegacyUrl(sourceUrl);\n  const google=await googleWorkspace(admin,tenantId);if(!google.ok)return json({ok:false,code:google.code,error:google.error},409);\n  const result=await uploadLegacyBytes(admin,tenantId,google,importKey,key,side,sourceUrl,name);\n  return json(result);\n}\n\nconst CANARY_PNG_BASE64=\"iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNk+A8AAQUBAScY42YAAAAASUVORK5CYII=\";\nfunction canaryPngBytes(){const binary=atob(CANARY_PNG_BASE64),bytes=new Uint8Array(binary.length);for(let index=0;index<binary.length;index+=1)bytes[index]=binary.charCodeAt(index);return bytes}\nasync function uploadCanaryBytes(admin:any,tenantId:string,google:any,sessionKey:string,importKey:string,key:string,side:string){\n  const folderId=await ensureFolder(admin,tenantId,google.accessToken,google.metadata);\n  const importHash=await sha256(importKey),sessionHash=await sha256(sessionKey);\n  const existing=await findExisting(google.accessToken,folderId,importHash,side);\n  if(existing?.id)return{ok:true,deduped:true,file_id:String(existing.id),url:await publicUrl(tenantId,String(existing.id))};\n  const bytes=canaryPngBytes(),contentType=\"image/png\",fileName=safeName(key+\"-\"+side+\"-pipeline-canary.png\");\n  const created=await driveJson(google.accessToken,GOOGLE_FILES+\"?fields=id,name,mimeType\",{method:\"POST\",body:JSON.stringify({name:fileName,mimeType:contentType,parents:[folderId],appProperties:{knocklaunch_app:\"pcg_card_media\",knocklaunch_tenant_id:tenantId,knocklaunch_import_hash:importHash,knocklaunch_session_hash:sessionHash,knocklaunch_side:side,knocklaunch_canary:\"true\"}})});\n  const fileId=clean(created.id);if(!fileId)throw new Error(\"Google Drive did not create the PCG canary image record.\");\n  try{\n    const uploaded=await fetch(GOOGLE_UPLOAD+\"/\"+encodeURIComponent(fileId)+\"?uploadType=media&fields=id,name,mimeType,size\",{method:\"PATCH\",headers:{Authorization:\"Bearer \"+google.accessToken,\"Content-Type\":contentType,\"Content-Length\":String(bytes.byteLength)},body:bytes});\n    const payload=await uploaded.json().catch(()=>({}));if(!uploaded.ok)throw new Error(clean(payload?.error?.message)||\"Google Drive canary image upload failed (\"+uploaded.status+\").\");\n    return{ok:true,deduped:false,file_id:fileId,url:await publicUrl(tenantId,fileId)};\n  }catch(error){await fetch(GOOGLE_FILES+\"/\"+encodeURIComponent(fileId),{method:\"DELETE\",headers:{Authorization:\"Bearer \"+google.accessToken}}).catch(()=>null);throw error}\n}\nasync function deleteDriveFile(accessToken:string,fileId:string){\n  const response=await fetch(GOOGLE_FILES+\"/\"+encodeURIComponent(fileId),{method:\"DELETE\",headers:{Authorization:\"Bearer \"+accessToken}});\n  if(response.ok||response.status===404)return true;\n  return false\n}\nasync function advanceCanary(admin:any,tenantId:string,submissionId:string,status:string){\n  const{error}=await admin.rpc(\"advance_pcg_grading_submission\",{p_tenant_id:tenantId,p_submission_id:submissionId,p_status:status});\n  if(error)throw new Error(\"PCG \"+status+\" transition failed: \"+clean(error.message));\n}\nasync function expectAdvanceBlocked(admin:any,tenantId:string,submissionId:string,status:string){\n  const{error}=await admin.rpc(\"advance_pcg_grading_submission\",{p_tenant_id:tenantId,p_submission_id:submissionId,p_status:status});\n  if(!error)throw new Error(\"PCG \"+status+\" guard did not block the intentionally incomplete canary.\");\n  return true\n}\nasync function verifySignedMedia(url:string){\n  const response=await fetch(url,{method:\"HEAD\"});\n  if(!response.ok)throw new Error(\"Signed PCG media delivery failed (\"+response.status+\").\");\n  return true\n}\nasync function lookupCanaryProgress(submissionNumber:string,email:string){\n  const response=await fetch(SUPABASE_URL+\"/functions/v1/pcg-customer-progress\",{method:\"POST\",headers:{\"Content-Type\":\"application/json\",Authorization:\"Bearer \"+SERVICE_ROLE,apikey:SERVICE_ROLE},body:JSON.stringify({tenant_slug:\"pcg\",submission_number:submissionNumber,email})});\n  const payload=await response.json().catch(()=>null);\n  if(!response.ok||payload?.ok!==true)throw new Error(\"PCG customer-progress canary lookup failed.\");\n  return payload\n}\nasync function persistCanaryReceipt(admin:any,tenantId:string,status:\"ready\"|\"blocked\",detail:Record<string,unknown>){\n  const{error}=await admin.from(\"tenant_readiness_checks\").upsert({tenant_id:tenantId,check_key:\"pcg_pipeline_canary\",status,detail,updated_at:new Date().toISOString()},{onConflict:\"tenant_id,check_key\"});\n  if(error)console.error(\"[pcg-pipeline-canary] readiness receipt\",error)\n}\nasync function runPipelineCanary(req:Request,admin:any){\n  const body=await req.json().catch(()=>({})),tenantId=clean(body.tenant_id);\n  if(!tenantId)return json({ok:false,error:\"PCG tenant is required.\"},400);\n  const auth=await requirePcgOwner(req,admin,tenantId);if(!auth.ok)return json({ok:false,error:auth.error},auth.status);\n  const startedAt=new Date().toISOString(),runId=Date.now().toString(36)+\"-\"+crypto.randomUUID().slice(0,8);\n  const email=(\"pcg-canary-\"+runId+\"@knocklaunch.invalid\").toLowerCase();\n  const submissionIds:string[]=[],contactIds:string[]=[],driveFileIds:string[]=[];\n  let google:any=null,single:any=null,batch:any=null,failure=\"\";\n  const cleanup={database:false,drive:false,submission_rows_removed:0,contact_rows_removed:0,drive_files_deleted:0,drive_files_expected:0};\n  try{\n    google=await googleWorkspace(admin,tenantId);\n    if(!google.ok){\n      const detail={ok:false,ran_at:startedAt,version:FUNCTION_VERSION,error:google.error,code:google.code,single:null,batch:null,cleanup};\n      await persistCanaryReceipt(admin,tenantId,\"blocked\",detail);\n      return json(detail,409)\n    }\n    const{data:contact,error:contactError}=await admin.from(\"unified_contacts\").insert({tenant_org_id:tenantId,name:\"PCG PIPELINE CANARY\",email,phone:\"+10000000000\",normalized_email:email,normalized_phone:\"10000000000\",source:\"pcg_pipeline_canary\",contact_role:\"collector\",address:\"1 Canary Way\",city:\"Testville\",state:\"FL\",zip:\"00000\",normalized_address:\"1 canary way|testville|fl|00000\"}).select(\"id\").single();\n    if(contactError||!contact?.id)throw new Error(\"Canary customer record could not be created: \"+clean(contactError?.message));\n    contactIds.push(String(contact.id));\n    const runScenario=async(kind:\"single\"|\"batch\",expected:number)=>{\n      const submissionNumber=(\"CANARY-\"+runId+\"-\"+kind).toUpperCase(),now=new Date(),due=new Date(Date.now()+14*86400000);\n      const{data:submission,error:submissionError}=await admin.from(\"card_grading_submissions\").insert({tenant_id:tenantId,submission_number:submissionNumber,customer_contact_id:contact.id,customer_name:\"PCG PIPELINE CANARY\",customer_email:email,customer_phone:\"+10000000000\",service_tier:\"two_weeks\",service_price:20,expected_card_count:expected,status:\"received\",payment_status:\"waived\",delivery_method:\"mail_in\",tracking_in:\"CANARY-IN-\"+runId,return_shipping_method:\"fedex_saver\",return_shipping_cost:12.34,return_insurance_amount:100,notes:\"[PCG PIPELINE CANARY] synthetic auto-clean record\",received_at:now.toISOString(),due_at:due.toISOString()}).select(\"id,submission_number\").single();\n      if(submissionError||!submission?.id)throw new Error(kind+\" canary submission could not be created: \"+clean(submissionError?.message));\n      const submissionId=String(submission.id);submissionIds.push(submissionId);\n      let dedupeVerified=false,signedDeliveryVerified=true;\n      const certs:string[]=[];\n      for(let index=1;index<=expected;index+=1){\n        const importKey=\"pcg-canary:\"+runId+\":\"+kind+\":\"+index,sessionKey=\"pcg-canary-session:\"+runId+\":\"+kind,key=kind+\"-\"+index;\n        const front=await uploadCanaryBytes(admin,tenantId,google,sessionKey,importKey,key,\"front\");\n        const back=await uploadCanaryBytes(admin,tenantId,google,sessionKey,importKey,key,\"back\");\n        for(const media of [front,back])if(!driveFileIds.includes(String(media.file_id)))driveFileIds.push(String(media.file_id));\n        if(index===1){\n          const retry=await uploadCanaryBytes(admin,tenantId,google,sessionKey,importKey,key,\"front\");\n          dedupeVerified=retry.deduped===true&&String(retry.file_id)===String(front.file_id);\n          if(!dedupeVerified)throw new Error(kind+\" canary Drive retry identity did not dedupe.\");\n        }\n        signedDeliveryVerified=await verifySignedMedia(String(front.url))&&await verifySignedMedia(String(back.url))&&signedDeliveryVerified;\n        const{error:cardError}=await admin.from(\"card_grading_cards\").insert({tenant_id:tenantId,submission_id:submissionId,sequence_number:index,category:\"Basketball\",year:\"2026\",brand_set:\"PCG Pipeline Canary\",player_character:kind===\"single\"?\"Synthetic Single Card\":\"Synthetic Batch Card \"+index,card_number:\"CAN-\"+index,card_description:\"Synthetic PCG pipeline verification card\",variation:\"Canary\",autograph_present:false,declared_value:1,front_image_url:front.url,back_image_url:back.url,status:\"received\",import_key:importKey,metadata:{pipeline_canary:true,run_id:runId,scenario:kind}});\n        if(cardError)throw new Error(kind+\" canary canonical card write failed: \"+clean(cardError.message))\n      }\n      const{count,error:countError}=await admin.from(\"card_grading_cards\").select(\"id\",{count:\"exact\",head:true}).eq(\"tenant_id\",tenantId).eq(\"submission_id\",submissionId);\n      if(countError)throw countError;const captured=Number(count||0);if(captured!==expected)throw new Error(kind+\" canary captured \"+captured+\" of \"+expected+\" expected cards.\");\n      await advanceCanary(admin,tenantId,submissionId,\"intake_imaging\");\n      await advanceCanary(admin,tenantId,submissionId,\"authentication\");\n      await advanceCanary(admin,tenantId,submissionId,\"grading\");\n      const gradeGateVerified=await expectAdvanceBlocked(admin,tenantId,submissionId,\"encapsulation\");\n      const{data:cards,error:cardsError}=await admin.from(\"card_grading_cards\").select(\"id,sequence_number\").eq(\"tenant_id\",tenantId).eq(\"submission_id\",submissionId).order(\"sequence_number\");\n      if(cardsError)throw cardsError;\n      for(const card of cards||[]){\n        const cert=(\"CAN-\"+runId+\"-\"+kind+\"-\"+card.sequence_number).toUpperCase();certs.push(cert);\n        const{error:updateError}=await admin.from(\"card_grading_cards\").update({grade:9,grade_label:\"9 MT\",cert_number:cert,grader_notes:\"Synthetic canary grade\",updated_at:new Date().toISOString()}).eq(\"tenant_id\",tenantId).eq(\"id\",card.id);\n        if(updateError)throw updateError\n      }\n      await advanceCanary(admin,tenantId,submissionId,\"encapsulation\");\n      await advanceCanary(admin,tenantId,submissionId,\"qa\");\n      await advanceCanary(admin,tenantId,submissionId,\"ready\");\n      const shippingGateVerified=await expectAdvanceBlocked(admin,tenantId,submissionId,\"shipped\");\n      const tracking=\"CANARY-OUT-\"+runId+\"-\"+kind.toUpperCase();\n      const{error:trackingError}=await admin.from(\"card_grading_submissions\").update({tracking_out:tracking,updated_at:new Date().toISOString()}).eq(\"tenant_id\",tenantId).eq(\"id\",submissionId);\n      if(trackingError)throw trackingError;\n      await advanceCanary(admin,tenantId,submissionId,\"shipped\");\n      const progress=await lookupCanaryProgress(submissionNumber,email),progressCards=Array.isArray(progress?.data?.cards)?progress.data.cards:[];\n      const wmpVerified=progress?.data?.order?.status===\"shipped\"&&progress?.data?.order?.return_shipping_method===\"fedex_saver\"&&progress?.data?.order?.tracking_out===tracking&&progressCards.length===expected&&progressCards.every((card:any)=>card.grade===9&&card.grade_label===\"9 MT\"&&certs.includes(String(card.cert_number||\"\")));\n      if(!wmpVerified)throw new Error(kind+\" canary WMP data did not match the canonical order.\");\n      return{status:\"passed\",expected_card_count:expected,captured_card_count:captured,drive_file_count:expected*2,dedupe_verified:dedupeVerified,signed_delivery_verified:signedDeliveryVerified,grade_gate_verified:gradeGateVerified,shipping_gate_verified:shippingGateVerified,wmp_verified:wmpVerified,terminal_status:\"shipped\"}\n    };\n    single=await runScenario(\"single\",1);\n    batch=await runScenario(\"batch\",2);\n  }catch(error){failure=error instanceof Error?error.message:String(error)}\n  finally{\n    cleanup.drive_files_expected=driveFileIds.length;\n    if(submissionIds.length){\n      const{error}=await admin.from(\"card_grading_submissions\").delete().eq(\"tenant_id\",tenantId).in(\"id\",submissionIds);if(!error)cleanup.submission_rows_removed=submissionIds.length\n    }\n    if(contactIds.length){\n      const{error}=await admin.from(\"unified_contacts\").delete().eq(\"tenant_org_id\",tenantId).in(\"id\",contactIds);if(!error)cleanup.contact_rows_removed=contactIds.length\n    }\n    cleanup.database=cleanup.submission_rows_removed===submissionIds.length&&cleanup.contact_rows_removed===contactIds.length;\n    if(google?.ok){\n      for(const fileId of driveFileIds)if(await deleteDriveFile(google.accessToken,fileId))cleanup.drive_files_deleted+=1;\n      cleanup.drive=cleanup.drive_files_deleted===cleanup.drive_files_expected\n    }else cleanup.drive=driveFileIds.length===0\n  }\n  const ok=!failure&&single?.status===\"passed\"&&batch?.status===\"passed\"&&cleanup.database&&cleanup.drive;\n  const detail={ok,ran_at:startedAt,completed_at:new Date().toISOString(),version:FUNCTION_VERSION,single,batch,cleanup,error:failure||null};\n  await persistCanaryReceipt(admin,tenantId,ok?\"ready\":\"blocked\",detail);\n  return json(detail,ok?200:500)\n}\n\nasync function driveJson(accessToken:string,url:string,init:RequestInit={}){\n  const response=await fetch(url,{...init,headers:{Authorization:\"Bearer \"+accessToken,\"Content-Type\":\"application/json\",...(init.headers||{})}});\n  const payload=await response.json().catch(()=>({}));\n  if(!response.ok)throw new Error(clean(payload?.error?.message)||\"Google Drive request failed (\"+response.status+\").\");\n  return payload;\n}\nasync function ensureFolder(admin:any,tenantId:string,accessToken:string,metadata:Record<string,unknown>){\n  let folderId=clean(metadata.pcg_drive_folder_id);\n  if(folderId){\n    const check=await fetch(GOOGLE_FILES+\"/\"+encodeURIComponent(folderId)+\"?fields=id,trashed,mimeType\",{headers:{Authorization:\"Bearer \"+accessToken}});\n    if(check.ok){const info=await check.json().catch(()=>({}));if(info?.id&&!info?.trashed&&info?.mimeType===\"application/vnd.google-apps.folder\")return folderId}\n  }\n  const created=await driveJson(accessToken,GOOGLE_FILES+\"?fields=id,name\",{method:\"POST\",body:JSON.stringify({name:\"KNOCKLAUNCH PCG Card Images\",mimeType:\"application/vnd.google-apps.folder\",appProperties:{knocklaunch_app:\"pcg_card_media\",knocklaunch_tenant_id:tenantId}})});\n  folderId=clean(created.id);\n  if(!folderId)throw new Error(\"Google Drive did not return the PCG folder identifier.\");\n  await admin.from(\"tenant_provider_credentials\").update({metadata:{...metadata,pcg_drive_folder_id:folderId,pcg_drive_storage_owner:\"tenant_google_workspace\"}}).eq(\"tenant_id\",tenantId).eq(\"provider\",\"google_workspace\");\n  return folderId;\n}\nfunction qValue(value:string){return value.replace(/\\\\/g,\"\\\\\\\\\").replace(/'/g,\"\\\\'\")}\nasync function ensureCustomerFolder(admin:any,tenantId:string,accessToken:string,metadata:Record<string,unknown>,submissionId:string){\n  if(!submissionId)throw new Error(\"Choose or create the PCG customer order before card intake.\");\n  const{data:submission,error}=await admin.from(\"card_grading_submissions\").select(\"id,customer_contact_id,customer_name,submission_number\").eq(\"tenant_id\",tenantId).eq(\"id\",submissionId).maybeSingle();\n  if(error)throw error;\n  const customerId=clean(submission?.customer_contact_id);\n  if(!submission?.id||!customerId)throw new Error(\"This PCG order is missing a customer. Assign the customer before adding card images.\");\n  const rootId=await ensureFolder(admin,tenantId,accessToken,metadata);\n  const q=\"'\"+qValue(rootId)+\"' in parents and trashed=false and mimeType='application/vnd.google-apps.folder' and appProperties has { key='knocklaunch_pcg_customer_id' and value='\"+qValue(customerId)+\"' }\";\n  const response=await fetch(GOOGLE_FILES+\"?spaces=drive&pageSize=1&fields=files(id,name)&q=\"+encodeURIComponent(q),{headers:{Authorization:\"Bearer \"+accessToken}});\n  const payload=await response.json().catch(()=>({}));\n  if(!response.ok)throw new Error(clean(payload?.error?.message)||\"Google Drive could not resolve the PCG customer folder.\");\n  if(Array.isArray(payload.files)&&payload.files[0]?.id)return String(payload.files[0].id);\n  const name=safeName((clean(submission.customer_name)||\"PCG Customer\")+\" - PCG Cards\");\n  const created=await driveJson(accessToken,GOOGLE_FILES+\"?fields=id,name\",{method:\"POST\",body:JSON.stringify({name,mimeType:\"application/vnd.google-apps.folder\",parents:[rootId],appProperties:{knocklaunch_app:\"pcg_card_media\",knocklaunch_tenant_id:tenantId,knocklaunch_pcg_customer_id:customerId}})});\n  const folderId=clean(created.id);if(!folderId)throw new Error(\"Google Drive did not create the PCG customer folder.\");\n  return folderId;\n}\n\nasync function findExisting(accessToken:string,folderId:string,importHash:string,side:string){\n  const q=\"'\"+qValue(folderId)+\"' in parents and trashed=false and appProperties has { key='knocklaunch_import_hash' and value='\"+qValue(importHash)+\"' } and appProperties has { key='knocklaunch_side' and value='\"+qValue(side)+\"' }\";\n  const response=await fetch(GOOGLE_FILES+\"?spaces=drive&pageSize=1&fields=files(id,name,mimeType)&q=\"+encodeURIComponent(q),{headers:{Authorization:\"Bearer \"+accessToken}});\n  const payload=await response.json().catch(()=>({}));\n  if(!response.ok)throw new Error(clean(payload?.error?.message)||\"Google Drive could not check the PCG retry identity.\");\n  return Array.isArray(payload.files)&&payload.files[0]?.id?payload.files[0]:null;\n}\nasync function uploadMedia(req:Request,admin:any,url:URL){\n  const tenantId=clean(url.searchParams.get(\"tenant_id\")),submissionId=clean(url.searchParams.get(\"submission_id\")),sessionKey=clean(url.searchParams.get(\"session_key\")),importKey=clean(url.searchParams.get(\"import_key\")),key=clean(url.searchParams.get(\"key\")),side=clean(url.searchParams.get(\"side\")).toLowerCase();\n  const originalName=safeName(clean(url.searchParams.get(\"name\"))),contentType=clean(url.searchParams.get(\"content_type\")||req.headers.get(\"Content-Type\")||\"application/octet-stream\");\n  if(!tenantId||!submissionId||!sessionKey||!importKey||!key||![\"front\",\"back\",\"slab\"].includes(side))return json({ok:false,error:\"PCG customer/order and image upload metadata are required.\"},400);\n  if(!contentType.startsWith(\"image/\"))return json({ok:false,error:\"PCG Drive intake accepts image files only.\"},415);\n  if(!req.body)return json({ok:false,error:\"Choose an image to upload.\"},400);\n  const auth=await requirePcgMember(req,admin,tenantId);if(!auth.ok)return json({ok:false,error:auth.error},auth.status);\n  const google=await googleWorkspace(admin,tenantId);if(!google.ok)return json({ok:false,code:google.code,error:google.error},409);\n  const folderId=await ensureCustomerFolder(admin,tenantId,google.accessToken,google.metadata,submissionId);\n  const importHash=await sha256(importKey),sessionHash=await sha256(sessionKey);\n  const existing=await findExisting(google.accessToken,folderId,importHash,side);\n  if(existing?.id)return json({ok:true,deduped:true,file_id:String(existing.id),url:await publicUrl(tenantId,String(existing.id))});\n  const fileName=safeName(key+\"-\"+side+\"-\"+originalName);\n  const created=await driveJson(google.accessToken,GOOGLE_FILES+\"?fields=id,name,mimeType\",{method:\"POST\",body:JSON.stringify({name:fileName,mimeType:contentType,parents:[folderId],appProperties:{knocklaunch_app:\"pcg_card_media\",knocklaunch_tenant_id:tenantId,knocklaunch_import_hash:importHash,knocklaunch_session_hash:sessionHash,knocklaunch_side:side}})});\n  const fileId=clean(created.id);if(!fileId)throw new Error(\"Google Drive did not create the PCG image record.\");\n  try{\n    const headers:Record<string,string>={Authorization:\"Bearer \"+google.accessToken,\"Content-Type\":contentType};\n    const length=clean(req.headers.get(\"Content-Length\"));if(length)headers[\"Content-Length\"]=length;\n    const uploaded=await fetch(GOOGLE_UPLOAD+\"/\"+encodeURIComponent(fileId)+\"?uploadType=media&fields=id,name,mimeType,size\",{method:\"PATCH\",headers,body:req.body});\n    const payload=await uploaded.json().catch(()=>({}));\n    if(!uploaded.ok)throw new Error(clean(payload?.error?.message)||\"Google Drive image upload failed (\"+uploaded.status+\").\");\n    return json({ok:true,file_id:fileId,url:await publicUrl(tenantId,fileId),storage_owner:\"google_workspace\",master_copy:true});\n  }catch(error){\n    await fetch(GOOGLE_FILES+\"/\"+encodeURIComponent(fileId),{method:\"DELETE\",headers:{Authorization:\"Bearer \"+google.accessToken}}).catch(()=>null);\n    throw error;\n  }\n}\nasync function serveMedia(req:Request,admin:any,url:URL){\n  const tenantId=clean(url.searchParams.get(\"tenant\")),fileId=clean(url.searchParams.get(\"file\")),sig=clean(url.searchParams.get(\"sig\")),variant=clean(url.searchParams.get(\"variant\")).toLowerCase();\n  if(!tenantId||!fileId||!sig)return new Response(\"Not found\",{status:404,headers:cors});\n  const expected=await signature(tenantId,fileId);if(!sameSignature(sig,expected))return new Response(\"Not found\",{status:404,headers:cors});\n  const google=await googleWorkspace(admin,tenantId);if(!google.ok)return new Response(\"PCG image temporarily unavailable\",{status:503,headers:{...cors,\"Cache-Control\":\"no-store\"}});\n  const metaResponse=await fetch(GOOGLE_FILES+\"/\"+encodeURIComponent(fileId)+\"?fields=id,name,mimeType,size,trashed,appProperties,thumbnailLink\",{headers:{Authorization:\"Bearer \"+google.accessToken}});\n  const meta=await metaResponse.json().catch(()=>({}));\n  if(!metaResponse.ok||meta?.trashed||clean(meta?.appProperties?.knocklaunch_app)!==\"pcg_card_media\"||clean(meta?.appProperties?.knocklaunch_tenant_id)!==tenantId)return new Response(\"Not found\",{status:404,headers:cors});\n  if(variant===\"preview\"&&clean(meta.thumbnailLink)){\n    const preview=await fetch(clean(meta.thumbnailLink),{headers:{Authorization:\"Bearer \"+google.accessToken}});\n    if(preview.ok){\n      const previewHeaders=new Headers(cors);\n      previewHeaders.set(\"Content-Type\",preview.headers.get(\"content-type\")||\"image/jpeg\");\n      previewHeaders.set(\"Cache-Control\",\"public, max-age=86400, s-maxage=604800, stale-while-revalidate=86400\");\n      previewHeaders.set(\"Cross-Origin-Resource-Policy\",\"cross-origin\");\n      previewHeaders.set(\"Vary\",\"Accept-Encoding\");\n      const etag=preview.headers.get(\"etag\");if(etag)previewHeaders.set(\"ETag\",etag);\n      if(req.method===\"HEAD\")return new Response(null,{status:200,headers:previewHeaders});\n      return new Response(preview.body,{status:200,headers:previewHeaders});\n    }\n  }\n  const baseHeaders:Record<string,string>={...cors,\"Content-Type\":clean(meta.mimeType)||\"application/octet-stream\",\"Cache-Control\":\"public, max-age=86400, s-maxage=2592000, stale-while-revalidate=604800\",\"Cross-Origin-Resource-Policy\":\"cross-origin\",\"Accept-Ranges\":\"bytes\",\"Vary\":\"Accept-Encoding\"};\n  if(meta.size)baseHeaders[\"Content-Length\"]=String(meta.size);\n  if(req.method===\"HEAD\")return new Response(null,{status:200,headers:baseHeaders});\n  const providerHeaders:Record<string,string>={Authorization:\"Bearer \"+google.accessToken};const range=clean(req.headers.get(\"Range\"));if(range)providerHeaders.Range=range;\n  const media=await fetch(GOOGLE_FILES+\"/\"+encodeURIComponent(fileId)+\"?alt=media\",{headers:providerHeaders});\n  if(!media.ok&&media.status!==206)return new Response(\"PCG image temporarily unavailable\",{status:502,headers:{...cors,\"Cache-Control\":\"no-store\"}});\n  const responseHeaders=new Headers(baseHeaders);for(const name of [\"content-length\",\"content-range\",\"etag\",\"last-modified\"])if(media.headers.get(name))responseHeaders.set(name,media.headers.get(name)!);\n  return new Response(media.body,{status:media.status,headers:responseHeaders});\n}\n\nfunction confidence(value:unknown){const n=Number(value);return Number.isFinite(n)?Math.max(0,Math.min(1,n)):0}\nconst PCG_AI_DESIGNATIONS=[\"10 (PRES) Prestigious\",\"10 GEM MT\",\"9.5 MT +\",\"9 MT\",\"8.5 NM/MT+\",\"8 NM\",\"7.5\",\"7\",\"6.5\",\"6\",\"5.5\",\"5\",\"4.5\",\"4\",\"3.5\",\"3\",\"2.5\",\"2\",\"1.5\",\"1\",\"A (AUTHENTIC)\",\"Altered\"];\nasync function imageDataUrl(value:unknown){\n  const url=clean(value);if(!url)return null;\n  if(!url.startsWith(SUPABASE_URL+\"/functions/v1/pcg-google-drive-media/media?\"))throw new Error(\"AI grading only reads canonical PCG managed imagery.\");\n  const response=await fetch(url);if(!response.ok)throw new Error(\"PCG managed image could not be read for AI grading.\");\n  const bytes=new Uint8Array(await response.arrayBuffer());if(bytes.byteLength>25*1024*1024)throw new Error(\"PCG image exceeds the AI grading size limit.\");\n  let binary=\"\";for(let i=0;i<bytes.length;i+=0x8000)binary+=String.fromCharCode(...bytes.subarray(i,Math.min(bytes.length,i+0x8000)));\n  return \"data:\"+(response.headers.get(\"content-type\")||\"image/jpeg\")+\";base64,\"+btoa(binary);\n}\nasync function hostedPcgAnalysis(card:any,purpose:\"metadata\"|\"grade\"){\n  const lovable=Deno.env.get(\"LOVABLE_API_KEY\")||\"\",openai=Deno.env.get(\"OPENAI_API_KEY\")||\"\";if(!lovable&&!openai)throw new Error(\"vision_provider_unconfigured\");\n  const useLovable=Boolean(lovable),providerKey=useLovable?lovable:openai,providerUrl=useLovable?\"https://ai.gateway.lovable.dev/v1/chat/completions\":\"https://api.openai.com/v1/chat/completions\",providerModel=useLovable?\"google/gemini-2.5-pro\":(Deno.env.get(\"OPENAI_VISION_MODEL\")||\"gpt-4o-mini\");\n  const images:(Record<string,unknown>)[]=[];for(const [label,url] of [[\"front\",card.front_image_url],[\"back\",card.back_image_url]] as const){if(!url)continue;try{const data=await imageDataUrl(url);if(data)images.push({type:\"text\",text:label.toUpperCase()+\" image\"},{type:\"image_url\",image_url:{url:data}})}catch(error){if(label===\"front\")throw error}}\n  if(!images.length)throw new Error(\"card_image_required\");\n  const system=[\n    \"You are the PRELIMINARY AI grading assistant for Prestigious Card Grading (PCG).\",\n    \"You are advisory only. Never claim to have issued the official grade, authenticated the card, or conclusively proven an alteration.\",\n    \"Evaluate only visible evidence in the supplied front/back images. Be conservative when glare, blur, sleeves, cropping, missing back images, or resolution limits what can be seen.\",\n    \"For grading, inspect centering, corners, edges, surface/gloss, scratches/print lines, focus/color, creases/wear and visually suspicious alteration indicators.\",\n    \"Use an exact PCG designation from this list when you can make a preliminary suggestion: \"+PCG_AI_DESIGNATIONS.join(\" | \")+\".\",\n    \"If evidence is insufficient, lower confidence and set review_required true. Human PCG approval is always required.\"\n  ].join(\"\\n\");\n  const tool={type:\"function\",function:{name:\"record_pcg_card_analysis\",description:\"Record preliminary PCG card metadata and grading observations.\",parameters:{type:\"object\",properties:{\n    fields:{type:\"object\",properties:{player_name:{type:\"string\"},year:{type:\"string\"},manufacturer:{type:\"string\"},brand_set:{type:\"string\"},card_number:{type:\"string\"},sport:{type:\"string\"},variation:{type:\"string\"},parallel:{type:\"string\"},rookie:{type:\"boolean\"},autograph_present:{type:\"boolean\"},relic:{type:\"boolean\"},serial_numbering:{type:\"string\"},title:{type:\"string\"},description:{type:\"string\"},tags:{type:\"array\",items:{type:\"string\"}}},additionalProperties:false},\n    field_confidence:{type:\"object\",properties:{player_name:{type:\"number\"},year:{type:\"number\"},manufacturer:{type:\"number\"},brand_set:{type:\"number\"},card_number:{type:\"number\"},sport:{type:\"number\"},variation:{type:\"number\"},parallel:{type:\"number\"},rookie:{type:\"number\"},autograph_present:{type:\"number\"},relic:{type:\"number\"},serial_numbering:{type:\"number\"},title:{type:\"number\"},description:{type:\"number\"},tags:{type:\"number\"}},additionalProperties:false},\n    review_required:{type:\"boolean\"},\n    grade:{type:\"object\",properties:{suggested_grade:{anyOf:[{type:\"number\"},{type:\"null\"}]},suggested_designation:{type:\"string\",enum:PCG_AI_DESIGNATIONS},confidence:{type:\"number\"},centering:{type:\"string\"},corners:{type:\"string\"},edges:{type:\"string\"},surface:{type:\"string\"},focus_color:{type:\"string\"},creases_wear:{type:\"string\"},alterations:{type:\"string\"},visible_defects:{type:\"array\",items:{type:\"string\"}},reasons:{type:\"array\",items:{type:\"string\"}},review_flags:{type:\"array\",items:{type:\"string\"}}},required:[\"suggested_grade\",\"suggested_designation\",\"confidence\",\"centering\",\"corners\",\"edges\",\"surface\",\"focus_color\",\"creases_wear\",\"alterations\",\"visible_defects\",\"reasons\",\"review_flags\"],additionalProperties:false}\n  },required:[\"fields\",\"field_confidence\",\"review_required\",\"grade\"],additionalProperties:false}}};\n  const current={category:card.category,year:card.year,brand_set:card.brand_set,player_character:card.player_character,card_number:card.card_number,card_description:card.card_description,variation:card.variation,autograph_present:card.autograph_present};\n  const response=await fetch(providerUrl,{method:\"POST\",headers:{Authorization:\"Bearer \"+providerKey,\"Content-Type\":\"application/json\"},body:JSON.stringify({model:providerModel,messages:[{role:\"system\",content:system},{role:\"user\",content:[{type:\"text\",text:\"Purpose: \"+purpose+\". Current PCG record: \"+JSON.stringify(current)+\". Analyze the supplied card images.\"},...images]}],tools:[tool],tool_choice:{type:\"function\",function:{name:\"record_pcg_card_analysis\"}},temperature:0.1})});\n  const payload=await response.json().catch(()=>null);if(!response.ok)throw new Error(clean(payload?.error?.message)||clean(payload?.error)||\"PCG AI provider failed (\"+response.status+\").\");\n  const args=payload?.choices?.[0]?.message?.tool_calls?.[0]?.function?.arguments;if(!args)throw new Error(\"PCG AI provider returned no structured grading result.\");\n  const parsed=JSON.parse(args);return{card_id:String(card.id),fields:parsed.fields||{},field_confidence:parsed.field_confidence||{},review_required:parsed.review_required===true,grade:parsed.grade||{}};\n}\nasync function analyzeCards(req:Request,admin:any){\n  const body=await req.json().catch(()=>({})),tenantId=clean(body.tenant_id),purpose=clean(body.purpose)===\"grade\"?\"grade\":\"metadata\";\n  const cardIds=[...new Set((Array.isArray(body.card_ids)?body.card_ids:[]).map((value:unknown)=>clean(value)).filter(Boolean))].slice(0,50);\n  if(!tenantId||!cardIds.length)return json({ok:false,error:\"Choose at least one PCG card to analyze.\"},400);\n  const auth=await requirePcgMember(req,admin,tenantId);if(!auth.ok)return json({ok:false,error:auth.error},auth.status);\n  const{data:cards,error}=await admin.from(\"card_grading_cards\").select(\"id,submission_id,category,year,brand_set,player_character,card_number,card_description,variation,autograph_present,front_image_url,back_image_url,metadata\").eq(\"tenant_id\",tenantId).in(\"id\",cardIds);\n  if(error)throw error;const rows=Array.isArray(cards)?cards:[],stamp=new Date().toISOString();let results:any[]=[];let provider=\"external_vision_endpoint\";\n  if(VISION_ENDPOINT){\n    const response=await fetch(VISION_ENDPOINT,{method:\"POST\",headers:{\"Content-Type\":\"application/json\",...(VISION_TOKEN?{Authorization:\"Bearer \"+VISION_TOKEN}:{})},body:JSON.stringify({capability:\"pcg_card_analysis_v1\",purpose,cards:rows.map((card:any)=>({card_id:card.id,front_image_url:card.front_image_url,back_image_url:card.back_image_url,current:{category:card.category,year:card.year,brand_set:card.brand_set,player_character:card.player_character,card_number:card.card_number,card_description:card.card_description,variation:card.variation,autograph_present:card.autograph_present}})),output_contract:{official_designations:PCG_AI_DESIGNATIONS,metadata_fields:[\"player_name\",\"year\",\"manufacturer\",\"brand_set\",\"card_number\",\"sport\",\"variation\",\"parallel\",\"rookie\",\"autograph_present\",\"relic\",\"serial_numbering\",\"title\",\"description\",\"tags\"],grading_fields:[\"suggested_grade\",\"suggested_designation\",\"confidence\",\"centering\",\"corners\",\"edges\",\"surface\",\"focus_color\",\"creases_wear\",\"alterations\",\"visible_defects\",\"reasons\",\"review_flags\"],grading_is_preliminary:true,human_approval_required:true}})});\n    const payload=await response.json().catch(()=>null);if(!response.ok||!payload)throw new Error(clean(payload?.error)||\"PCG image analysis provider failed (\"+response.status+\").\");results=Array.isArray(payload.results)?payload.results:[];\n  }else if(Deno.env.get(\"LOVABLE_API_KEY\")||Deno.env.get(\"OPENAI_API_KEY\")){\n    provider=Deno.env.get(\"LOVABLE_API_KEY\")?\"knocklaunch_hosted_vision\":\"openai_vision\";\n    let cursor=0;const workers=Array.from({length:Math.min(3,rows.length)},async()=>{while(cursor<rows.length){const card=rows[cursor++];try{results.push(await hostedPcgAnalysis(card,purpose))}catch(error){console.error(\"[pcg-ai-grading]\",card.id,error)}}});await Promise.all(workers);\n  }else{\n    for(const card of rows){const meta=(card.metadata&&typeof card.metadata===\"object\"?card.metadata:{}) as Record<string,unknown>;await admin.from(\"card_grading_cards\").update({metadata:{...meta,pcg_ai:{status:\"review_needed\",requested_purpose:purpose,reason:\"vision_provider_unconfigured\",field_confidence:{},human_review_required:true,updated_at:stamp}},updated_at:stamp}).eq(\"tenant_id\",tenantId).eq(\"id\",card.id)}\n    return json({ok:false,code:\"vision_provider_unconfigured\",review_needed:true,error:\"The AI grading provider is not configured. No card details or grades were invented.\"},409)\n  }\n  let ready=0,reviewNeeded=0;\n  for(const card of rows){\n    const result=results.find((entry:any)=>clean(entry?.card_id)===String(card.id)),meta=(card.metadata&&typeof card.metadata===\"object\"?card.metadata:{}) as Record<string,any>;\n    if(!result){reviewNeeded+=1;await admin.from(\"card_grading_cards\").update({metadata:{...meta,pcg_ai:{status:\"review_needed\",requested_purpose:purpose,reason:\"provider_result_missing\",field_confidence:{},human_review_required:true,updated_at:stamp}},updated_at:stamp}).eq(\"tenant_id\",tenantId).eq(\"id\",card.id);continue}\n    if(purpose===\"metadata\"){\n      const fields=(result.fields&&typeof result.fields===\"object\"?result.fields:{}) as Record<string,any>,scores=(result.field_confidence&&typeof result.field_confidence===\"object\"?result.field_confidence:{}) as Record<string,any>,updates:Record<string,unknown>={};\n      const use=(field:string,column:string,current:unknown)=>{const value=fields[field],score=confidence(scores[field]);if(score>=0.9&&(current==null||clean(current)===\"\")&&value!=null&&clean(value)!==\"\")updates[column]=value};\n      use(\"player_name\",\"player_character\",card.player_character);use(\"year\",\"year\",card.year);use(\"brand_set\",\"brand_set\",card.brand_set);if(!updates.brand_set)use(\"manufacturer\",\"brand_set\",card.brand_set);use(\"card_number\",\"card_number\",card.card_number);use(\"sport\",\"category\",card.category);use(\"variation\",\"variation\",card.variation);if(!updates.variation)use(\"parallel\",\"variation\",card.variation);use(\"description\",\"card_description\",card.card_description);\n      if(card.autograph_present==null&&typeof fields.autograph_present===\"boolean\"&&confidence(scores.autograph_present)>=0.9)updates.autograph_present=fields.autograph_present;\n      const needsReview=Object.keys(scores).some(key=>confidence(scores[key])<0.9)||result.review_required===true;needsReview?reviewNeeded+=1:ready+=1;\n      updates.metadata={...meta,pcg_ai:{status:needsReview?\"review_needed\":\"ready\",requested_purpose:\"metadata\",field_confidence:scores,suggestions:fields,human_review_required:needsReview,provider,updated_at:stamp}};updates.updated_at=stamp;\n      const{error:updateError}=await admin.from(\"card_grading_cards\").update(updates).eq(\"tenant_id\",tenantId).eq(\"id\",card.id);if(updateError)throw updateError;\n    }else{\n      const grade=result.grade&&typeof result.grade===\"object\"?result.grade:result,score=confidence(grade.confidence),reasons=Array.isArray(grade.reasons)?grade.reasons.map((value:unknown)=>clean(value)).filter(Boolean):[],designation=PCG_AI_DESIGNATIONS.includes(clean(grade.suggested_designation))?clean(grade.suggested_designation):null;\n      const auto_grader={status:\"preliminary\",provider,suggested_grade:grade.suggested_grade??null,suggested_designation:designation,confidence:score,centering:grade.centering??null,corners:grade.corners??null,edges:grade.edges??null,surface:grade.surface??null,focus_color:grade.focus_color??null,creases_wear:grade.creases_wear??null,alterations:grade.alterations??null,visible_defects:Array.isArray(grade.visible_defects)?grade.visible_defects:[],reasons,review_flags:Array.isArray(grade.review_flags)?grade.review_flags:[],human_approval_required:true,approved:false,updated_at:stamp};\n      score<0.9||(!designation&&grade.suggested_grade==null)||result.review_required===true?reviewNeeded+=1:ready+=1;\n      const{error:updateError}=await admin.from(\"card_grading_cards\").update({metadata:{...meta,auto_grader,pcg_ai:{...(meta.pcg_ai||{}),status:score<0.9||result.review_required===true?\"review_needed\":\"ready\",requested_purpose:\"grade\",human_review_required:true,provider,updated_at:stamp}},updated_at:stamp}).eq(\"tenant_id\",tenantId).eq(\"id\",card.id);if(updateError)throw updateError;\n    }\n  }\n  return json({ok:true,purpose,provider,analyzed:rows.length,ready,review_needed:reviewNeeded,official_grade_changed:false,human_approval_required:purpose===\"grade\"})\n}\nasync function rehomeCards(req:Request,admin:any){\n  const body=await req.json().catch(()=>({})),tenantId=clean(body.tenant_id),targetSubmissionId=clean(body.target_submission_id),cardIds=[...new Set((Array.isArray(body.card_ids)?body.card_ids:[]).map((value:unknown)=>clean(value)).filter(Boolean))].slice(0,100);\n  if(!tenantId||!targetSubmissionId||!cardIds.length)return json({ok:false,error:\"Destination customer/order and cards are required.\"},400);\n  const auth=await requirePcgOwner(req,admin,tenantId);if(!auth.ok)return json({ok:false,error:auth.error},auth.status);\n  const google=await googleWorkspace(admin,tenantId);if(!google.ok)return json({ok:false,code:google.code,error:google.error},409);\n  const targetFolder=await ensureCustomerFolder(admin,tenantId,google.accessToken,google.metadata,targetSubmissionId);\n  const{data:cards,error}=await admin.from(\"card_grading_cards\").select(\"id,metadata\").eq(\"tenant_id\",tenantId).in(\"id\",cardIds);if(error)throw error;\n  for(const card of cards||[]){\n    const meta=(card.metadata&&typeof card.metadata===\"object\"?card.metadata:{}) as Record<string,any>,drive=meta.drive_media||{},fileIds=[drive.front_file_id,drive.back_file_id,drive.slab_file_id].map((value:unknown)=>clean(value)).filter(Boolean);\n    for(const fileId of fileIds){const probe=await fetch(GOOGLE_FILES+\"/\"+encodeURIComponent(fileId)+\"?fields=id,parents\",{headers:{Authorization:\"Bearer \"+google.accessToken}});const info=await probe.json().catch(()=>({}));if(!probe.ok)throw new Error(clean(info?.error?.message)||\"Could not inspect a PCG Drive image before reassignment.\");const parents=Array.isArray(info.parents)?info.parents.map((value:unknown)=>clean(value)).filter(Boolean):[];const remove=parents.filter((value:string)=>value!==targetFolder).join(\",\");const moved=await fetch(GOOGLE_FILES+\"/\"+encodeURIComponent(fileId)+\"?addParents=\"+encodeURIComponent(targetFolder)+(remove?\"&removeParents=\"+encodeURIComponent(remove):\"\")+\"&fields=id,parents\",{method:\"PATCH\",headers:{Authorization:\"Bearer \"+google.accessToken}});if(!moved.ok)throw new Error(\"Could not move a PCG Drive image to the destination customer folder.\")}\n    const{error:updateError}=await admin.from(\"card_grading_cards\").update({submission_id:targetSubmissionId,metadata:{...meta,customer_reassigned_at:new Date().toISOString()},updated_at:new Date().toISOString()}).eq(\"tenant_id\",tenantId).eq(\"id\",card.id);if(updateError)throw updateError;\n  }\n  return json({ok:true,moved:(cards||[]).length,target_submission_id:targetSubmissionId})\n}\nasync function deleteCards(req:Request,admin:any){\n  const body=await req.json().catch(()=>({})),tenantId=clean(body.tenant_id),cardIds=[...new Set((Array.isArray(body.card_ids)?body.card_ids:[]).map((value:unknown)=>clean(value)).filter(Boolean))].slice(0,100);\n  if(!tenantId||!cardIds.length)return json({ok:false,error:\"Choose cards to remove.\"},400);\n  const auth=await requirePcgOwner(req,admin,tenantId);if(!auth.ok)return json({ok:false,error:auth.error},auth.status);\n  const{data:cards,error}=await admin.from(\"card_grading_cards\").select(\"id,metadata\").eq(\"tenant_id\",tenantId).in(\"id\",cardIds);if(error)throw error;\n  const fileIds=[...new Set((cards||[]).flatMap((card:any)=>{const drive=card?.metadata?.drive_media||{};return[drive.front_file_id,drive.back_file_id,drive.slab_file_id]}).map((value:unknown)=>clean(value)).filter(Boolean))];\n  if(fileIds.length){const google=await googleWorkspace(admin,tenantId);if(!google.ok)return json({ok:false,code:google.code,error:\"PCG Drive must be available before removing managed card images.\"},409);for(const fileId of fileIds){if(!await deleteDriveFile(google.accessToken,fileId))throw new Error(\"A managed PCG Drive image could not be removed. No database card records were deleted.\")}}\n  const{error:deleteError}=await admin.from(\"card_grading_cards\").delete().eq(\"tenant_id\",tenantId).in(\"id\",cardIds);if(deleteError)throw deleteError;\n  return json({ok:true,deleted:(cards||[]).length,drive_files_deleted:fileIds.length})\n}\n\nserve(async(req)=>{\n  if(req.method===\"OPTIONS\")return new Response(null,{headers:cors});\n  const admin=createClient(SUPABASE_URL,SERVICE_ROLE),url=new URL(req.url);\n  if(req.method===\"GET\"&&url.pathname.endsWith(\"/health\"))return json({ok:true,service:\"pcg-google-drive-media\",version:FUNCTION_VERSION,master_storage:\"tenant_google_workspace_drive\",customer_folders:true,analysis_boundary:{provider_configured:Boolean(VISION_ENDPOINT||Deno.env.get(\"LOVABLE_API_KEY\")||Deno.env.get(\"OPENAI_API_KEY\")),provider_mode:VISION_ENDPOINT?\"external_vision_endpoint\":Deno.env.get(\"LOVABLE_API_KEY\")?\"knocklaunch_hosted_vision\":Deno.env.get(\"OPENAI_API_KEY\")?\"openai_vision\":\"unconfigured\",provider_neutral:true,auto_grade_is_preliminary:true,human_approval_required:true},public_delivery:\"signed_stream_with_preview_cache\",legacy_import:{owner_only:true,https_only:true,max_bytes:MAX_LEGACY_IMAGE_BYTES,hosts:Array.from(LEGACY_IMAGE_HOSTS)},pipeline_canary:{owner_only:true,scenarios:[\"single\",\"batch\"],cleanup:true}});\n  try{\n    if((req.method===\"GET\"||req.method===\"HEAD\")&&url.pathname.endsWith(\"/media\"))return await serveMedia(req,admin,url);\n    if(req.method===\"POST\"&&url.pathname.endsWith(\"/upload\"))return await uploadMedia(req,admin,url);\n    if(req.method===\"POST\"&&url.pathname.endsWith(\"/analyze-card\"))return await analyzeCards(req,admin);\n    if(req.method===\"POST\"&&url.pathname.endsWith(\"/rehome-cards\"))return await rehomeCards(req,admin);\n    if(req.method===\"POST\"&&url.pathname.endsWith(\"/delete-cards\"))return await deleteCards(req,admin);\n    if(req.method===\"POST\"&&url.pathname.endsWith(\"/import-url\"))return await importLegacyUrl(req,admin);\n    if(req.method===\"POST\"&&url.pathname.endsWith(\"/canary\"))return await runPipelineCanary(req,admin);\n    return json({ok:false,error:\"Method not allowed\"},405);\n  }catch(error){\n    console.error(\"[pcg-google-drive-media]\",error);\n    return json({ok:false,error:error instanceof Error?error.message:\"PCG Google Drive media failed.\"},500);\n  }\n});\n"},{"path":"supabase/migrations/20261002162925_onepath_google_workspace_account_binding.sql","content":"begin;\n\nalter table public.tenant_google_workspace_connections\n  add column if not exists provider_account_id text,\n  add column if not exists actor_user_id uuid,\n  add column if not exists granted_scopes text[] not null default '{}'::text[];\n\nupdate public.tenant_google_workspace_connections\nset\n  provider_account_id = coalesce(\n    nullif(provider_account_id, ''),\n    nullif(metadata->>'provider_account_id', ''),\n    nullif(lower(account_email), ''),\n    id::text\n  ),\n  actor_user_id = coalesce(\n    actor_user_id,\n    case\n      when coalesce(metadata->>'bound_user_id','') ~* '^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$'\n        then (metadata->>'bound_user_id')::uuid\n      when coalesce(metadata->>'connected_by_user_id','') ~* '^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$'\n        then (metadata->>'connected_by_user_id')::uuid\n      else null\n    end,\n    created_by\n  ),\n  granted_scopes = case\n    when cardinality(granted_scopes) > 0 then granted_scopes\n    when jsonb_typeof(metadata->'granted_scopes') = 'array'\n      then array(select jsonb_array_elements_text(metadata->'granted_scopes'))\n    else '{}'::text[]\n  end;\n\nalter table public.tenant_google_workspace_connections\n  alter column provider_account_id set not null,\n  alter column actor_user_id set not null;\n\ncreate unique index if not exists tenant_google_workspace_connections_tenant_provider_account_uidx\n  on public.tenant_google_workspace_connections (tenant_id, provider_account_id);\n\ncreate index if not exists tenant_google_workspace_connections_tenant_actor_idx\n  on public.tenant_google_workspace_connections (tenant_id, actor_user_id);\n\ncreate index if not exists tenant_google_workspace_connections_scopes_gin\n  on public.tenant_google_workspace_connections using gin (granted_scopes);\n\nwith primary_google as (\n  select *\n  from public.tenant_google_workspace_connections\n  where credential_status = 'active'\n    and is_primary = true\n    and coalesce(metadata->'service_access'->>'drive','true') <> 'false'\n    and 'https://www.googleapis.com/auth/drive.file' = any(granted_scopes)\n)\ninsert into public.tenant_capability_providers\n  (tenant_id, capability, provider_key, adapter_key, connection_ref, enabled, priority, metadata)\nselect\n  g.tenant_id,\n  'storage.files',\n  'google_workspace',\n  'google_drive_file',\n  'tenant_google_workspace_connection:' || g.id::text,\n  true,\n  50,\n  jsonb_build_object(\n    'binding','onepath',\n    'connection_id',g.id,\n    'provider_account_id',g.provider_account_id,\n    'account_email',g.account_email,\n    'seeded_from','primary_google_workspace_connection'\n  )\nfrom primary_google g\non conflict (tenant_id, capability, provider_key)\ndo update set\n  adapter_key = excluded.adapter_key,\n  connection_ref = excluded.connection_ref,\n  enabled = true,\n  priority = excluded.priority,\n  metadata = public.tenant_capability_providers.metadata || excluded.metadata,\n  updated_at = now();\n\ncommit;\n"},{"path":"src/__tests__/contracts/onepath-provider-account-binding.contract.test.ts","content":"import { describe, expect, it } from \"vitest\";\nimport fs from \"node:fs\";\n\nconst writer = fs.readFileSync(\"supabase/functions/tenant-provider-connections/index.ts\", \"utf8\");\nconst mail = fs.readFileSync(\"supabase/functions/google-workspace-mail/index.ts\", \"utf8\");\nconst drive = fs.readFileSync(\"supabase/functions/pcg-google-drive-media/index.ts\", \"utf8\");\nconst migration = fs.readFileSync(\"supabase/migrations/20261002162925_onepath_google_workspace_account_binding.sql\", \"utf8\");\n\ndescribe(\"ONEPATH provider account binding contract\", () => {\n  it(\"persists stable provider account identity, actor and scopes\", () => {\n    expect(migration).toContain(\"provider_account_id text\");\n    expect(migration).toContain(\"actor_user_id uuid\");\n    expect(migration).toContain(\"granted_scopes text[]\");\n    expect(migration).toContain(\"tenant_google_workspace_connections_tenant_provider_account_uidx\");\n    expect(writer).toContain(\"providerAccountId:String(data?.sub||'').trim()\");\n    expect(writer).toContain(\"provider_account_id:identity.providerAccountId\");\n    expect(writer).toContain(\"actor_user_id:uid\");\n    expect(writer).toContain(\"granted_scopes:grantedScopes\");\n  });\n\n  it(\"converts PCG Drive primary choice into an explicit capability binding\", () => {\n    expect(migration).toContain(\"'storage.files'\");\n    expect(migration).toContain(\"tenant_google_workspace_connection:\");\n    expect(writer).toContain(\"syncGoogleStorageBinding\");\n  });\n\n  it(\"keeps mail actor-scoped and refuses ambiguous operational account selection\", () => {\n    expect(mail).toContain(\"actorConnections\");\n    expect(mail).toContain(\"provider_account_actor_mismatch\");\n    expect(mail).toContain(\"provider_account_selection_required\");\n    expect(mail).not.toContain(\"connections.find((row:any)=>row.is_primary)||connections[0]\");\n    expect(mail).not.toContain(\"connections.find((row:any)=>row.is_primary) || connections[0]\");\n  });\n\n  it(\"uses explicit Drive binding and reserves legacy Google credentials for zero first-class rows\", () => {\n    expect(drive).toContain(\"googleDriveBinding\");\n    expect(drive).toContain(\"provider_account_selection_required\");\n    expect(drive).toContain(\"if(!connections.length)return legacyGoogleWorkspace\");\n    expect(drive).toContain('eq(\"capability\",\"storage.files\")');\n  });\n});\n"}],"branch":"ai/objective-first-repair-9e1288bd4d92","writes":[],"patches":[],"version":1,"approved":true,"missionId":"9e1288bd-4d92-432e-b0d4-49f267b599fb","objective":"Apply ONEPATH Workstream 2A on the existing mission using the exact supplied canonical OAuth writer, Google Mail consumer, PCG Drive consumer, additive migration and direct contract test. Preserve the writer's newer per-user visibility and support-audit behavior. The migration makes provider_account_id, actor_user_id and granted_scopes first-class and backfills current rows safely; Google OAuth persists OpenID sub as stable account identity. Mail operations are actor-scoped and fail closed when the actor has multiple accounts without an explicit mailbox selection; legacy tenant-wide Google credentials are usable only for tenants with zero first-class Google connection rows. PCG Drive resolves tenant storage through explicit tenant_capability_providers storage.files connection_ref; the migration seeds that binding from today's configured primary Drive-capable account so current production behavior is preserved, and set_primary keeps that binding synchronized. Do not touch PrivateAppShell, Visual Witness or unrelated providers. Canonical Gate, squash merge, migrations plus affected Edge releases, then live schema/function proof.","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["supabase/functions/tenant-provider-connections/index.ts","supabase/functions/google-workspace-mail/index.ts","supabase/functions/pcg-google-drive-media/index.ts","supabase/migrations/20261002162925_onepath_google_workspace_account_binding.sql","src/__tests__/contracts/onepath-provider-account-binding.contract.test.ts"],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"9e1288bd-4d92-432e-b0d4-49f267b599fb","ownerApproved":true,"releaseIntent":null,"sourceTargets":["supabase/functions/tenant-provider-connections/index.ts","supabase/functions/google-workspace-mail/index.ts","supabase/functions/pcg-google-drive-media/index.ts","supabase/migrations/20261002162925_onepath_google_workspace_account_binding.sql","src/__tests__/contracts/onepath-provider-account-binding.contract.test.ts"],"requestContract":null,"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":false,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"proofRequirements":null,"controlPlaneUnfreeze":false,"durableMutationResume":true,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"recovery":false,"fingerprint":"dc024280ba000a50cb1f0d42a83783d4d3c8d201c89fae330a7e894eab911f29","replayCount":0,"serializedBytes":142789},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T16:30:57.225558+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:9e1288bd-4d92-432e-b0d4-49f267b599fb:repository-mutation-intent:dc024280ba000a50cb1f0d42a83783d4d3c8d201c89fae330a7e894eab911f29:0","mission_step_id":"131c0a06-427d-4a2d-a449-6ffbbdd75b64","command_center_event_id":"9e1288bd-4d92-432e-b0d4-49f267b599fb"},{"id":"5c37a027-f34e-4345-8a23-124da7438151","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","supabase-edge-production/live":"success"},"mainSha":"0d79374ea71cdb4e3441d035c6305f9af477d8ea","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live"],"sourceSha":"0d79374ea71cdb4e3441d035c6305f9af477d8ea","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["analytics-engine"]},"releaseTargetStates":{"supabaseEdge":"success"},"requestContractHash":"1d8acccc7af706704351ff3da543d1d4cfcb7191d08cd871359e237994f1f2fc","forgejoWorkflowProof":{"runId":14550,"source":"signed_push_receipt","status":"success","results":{},"conclusion":"success","targetStates":{"supabaseEdge":"success"},"targetJobCount":7,"observedTargetStates":{"supabaseEdge":"success"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T22:33:00.281308+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"0d79374ea71cdb4e3441d035c6305f9af477d8ea","external_id":"forgejo-main-0d79374ea71c","receipt_type":"canonical_release_status","idempotency_key":"mission:77174d0d-53b4-416b-a3bf-936689f55c8c:forgejo-release-status:0d79374ea71cdb4e3441d035c6305f9af477d8ea:verified:forgejo-main/source=success|forgejo-release/workflow=success|supabase-edge-production/live=success","mission_step_id":"033b49f4-677e-491c-863e-32d3a0552cc2","command_center_event_id":"77174d0d-53b4-416b-a3bf-936689f55c8c"},{"id":"5c38125f-1bfb-45e7-8a2c-f960e7f9cd7f","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in runtime proof.","nextAction":{"lane":"cc-execution","action":"reconcile_request_contract","reason":"release_verified_contract_pending","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"runtime_proof\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"owner_wait_live_milestone\",\"status\":\"verified\",\"proofGate\":\"owner_wait_live_milestone_recorded\"},\"activeStep\":{\"key\":\"pull_request\",\"status\":\"waiting\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"release\",\"status\":\"waiting\",\"lane\":\"production-release-conductor\"},\"nextSafeAction\":{\"action\":\"reconcile_request_contract\",\"lane\":\"cc-execution\",\"reason\":\"release_verified_contract_pending\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"visual_proof\",\"deadlineAt\":\"2026-09-23T02:55:17.271458+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-1460c8da38e7\",\"prNumber\":3456,\"sourceSha\":\"48c19023f7ab5656dcf839d9e0719ecbb2092466\",\"deploymentId\":\"forgejo-main-48c19023f7ab\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-22T23:14:01.747512+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:1460c8da-38e7-4c16-ba5c-fd9806e060a8:owner-progress-heartbeat:119341256","mission_step_id":"1da30607-5ffa-40f0-8a08-ad50c1d73238","command_center_event_id":"1460c8da-38e7-4c16-ba5c-fd9806e060a8"},{"id":"5c386449-135b-4472-952c-523ef44ef02c","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-5f0aa31f1145","reason":"anchored_edit_anchor_missing:supabase/functions/operator-respond/index.ts","status":"blocked","metrics":{"receiptBytes":14710,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-09-28T01:41:30.699Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.299-visible-intent","prNumber":null,"terminal":false,"missionId":"5f0aa31f-1145-49c8-b50e-dab2498f96c7","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":537,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":537,"missionSetupMs":278,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":278,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":278,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":278,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"5f0aa31f-1145-49c8-b50e-dab2498f96c7"},"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":1525,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T01:41:32.279931+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:5f0aa31f-1145-49c8-b50e-dab2498f96c7:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"45b262c0-7a8b-46c1-8263-eac96ecbde08","command_center_event_id":"5f0aa31f-1145-49c8-b50e-dab2498f96c7"},{"id":"5c3a4c00-1f27-4316-b491-37948348be8a","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-5a63c6b8952d","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":3544,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"executorlessWaitMs":69708,"firstUsefulResultAt":"2026-09-25T01:45:00.559Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.273-stale-pr-gate-identity","prNumber":null,"terminal":false,"missionId":"5a63c6b8-952d-4b12-b740-c1e298c32365","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1353,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":276,"providerAuthMs":0,"ledgerPrepareMs":276,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":276,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":276,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Inspect the bounded repository paths, synthesize exact files or anchored_edits, and call /mission/execute again automatically with this same missionId without another owner prompt or workflow switch.","receiptRef":{"mode":"full","missionId":"5a63c6b8-952d-4b12-b740-c1e298c32365"},"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":3325,"likelyAffectedFiles":["src/PrivateAppShell.tsx"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T01:46:10.310543+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:5a63c6b8-952d-4b12-b740-c1e298c32365:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"35d0c20a-cedb-4bc4-a7d8-a166046977fe","command_center_event_id":"5a63c6b8-952d-4b12-b740-c1e298c32365"},{"id":"5c3a6666-c1f4-4464-8a81-804727861d19","source":"cc-execution","status":"release_verification_pending","payload":{"ok":true,"jobId":null,"phase":"release","branch":null,"reason":null,"status":"release_verification_pending","metrics":{"receiptBytes":1006,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.36.9-github-read-resilience","prNumber":4768,"terminal":false,"missionId":"64322785-9e41-4d60-acea-4cbd53a74ca8","operation":"ship_and_prove","proofGate":"ship_and_prove_release_pending","sourceSha":"25556ff2b44caf1b5d99e233d884c0457bfe20a6","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"64322785-9e41-4d60-acea-4cbd53a74ca8"},"performance":null,"deploymentId":"canonical-release-25556ff2b44c","workflowRunId":31693450625,"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":1390,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"fe5cc9d9-c2fe-4062-84c7-a334663cd63c","created_at":"2026-08-13T10:58:30.079882+00:00","proof_gate":"ship_and_prove_release_pending","source_sha":"25556ff2b44caf1b5d99e233d884c0457bfe20a6","external_id":"canonical-release-25556ff2b44c","receipt_type":"ship_and_prove","idempotency_key":"mission:64322785-9e41-4d60-acea-4cbd53a74ca8:ship_and_prove:ship_and_prove_release_pending:25556ff2b44caf1b5d99e233d884c0457bfe20a6:31693450625","mission_step_id":"2c3e88a8-7b1a-4e44-8559-641f66506185","command_center_event_id":"64322785-9e41-4d60-acea-4cbd53a74ca8"},{"id":"5c3bd434-b881-4fdd-a2cd-f348f91a363d","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-1acf428116ad","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":1683,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-09-29T20:57:44.137Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.10-paul-eval-precision","prNumber":null,"terminal":false,"missionId":"1acf4281-16ad-426f-8e49-3302c4817d38","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1098,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":254,"providerAuthMs":0,"ledgerPrepareMs":254,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":254,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":254,"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":"1acf4281-16ad-426f-8e49-3302c4817d38"},"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":3839,"likelyAffectedFiles":["src/pages/whats-my-progress/WmpLoadingScreen.tsx","src/pages/whats-my-progress/PCGWhatsMyProgressHome.tsx"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T20:57:52.972976+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:1acf4281-16ad-426f-8e49-3302c4817d38:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"e217e062-0dc2-4bec-88aa-1e79ba03ec21","command_center_event_id":"1acf4281-16ad-426f-8e49-3302c4817d38"},{"id":"5c3c9f4b-47c3-4599-b20b-1ceec2ba2809","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-5ecee16350b3","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":27504,"releaseCount":0,"toolCallCount":8,"repeatedCallCount":5,"executorlessWaitMs":83936,"firstUsefulResultAt":"2026-09-26T15:00:20.133Z","recoveryAttemptCount":6,"ownerInterruptionCount":0},"version":null,"prNumber":3803,"terminal":false,"missionId":"5ecee163-50b3-4647-960a-a8804f4fa43d","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"0168fa36d76be2209d6f20891955230dd23d6815","timingsMs":{"prReadinessMs":484,"approvedPlanMs":0,"shipAndProveMs":2729,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"5ecee163-50b3-4647-960a-a8804f4fa43d"},"performance":null,"deploymentId":"forgejo-main-0168fa36d76b","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1928,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-26T15:03:13.774563+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"3803","receipt_type":"automatic_mission_resume","idempotency_key":"mission:5ecee163-50b3-4647-960a-a8804f4fa43d:automatic-mission-resume:3803:canonical_release_reconciliation_pending","mission_step_id":"05adb47b-10bb-4247-b127-4b3d23ef902a","command_center_event_id":"5ecee163-50b3-4647-960a-a8804f4fa43d"},{"id":"5c3e889c-8a3b-4fc8-adea-3192a6698e72","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"666c1c2701bec26784ecbdd7d35f244d5cbf8fa5","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"clean-terminal-status","satisfied":true,"statement":"Owner-facing terminal mission status reflects verified effective outcome while preserving superseded raw statuses as history.","proofConditionIds":["repo-proof"]}],"satisfied":true,"constraints":[{"id":"projection-only","satisfied":true,"statement":"Do not mutate durable ledger history; change only owner-facing projection and focused tests.","proofConditionIds":["repo-proof"]},{"id":"capability-completeness","satisfied":true,"statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["repo-proof"]},{"id":"atomic-capability-lifecycle","satisfied":true,"statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["repo-proof"]}],"contractHash":"5378bda54eeed31f1a1fd825143049dae646cde29902bd62cd6a91fc9ba87833","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"repo-proof","kind":"repository","evidence":{"reason":null,"gateRunId":11040,"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":"5378bda54eeed31f1a1fd825143049dae646cde29902bd62cd6a91fc9ba87833","unsuccessfulTargets":[],"activeReleaseTargets":["ccExecution"],"allowedReleaseTargets":["ccExecution"],"repositoryProofStatus":"verified","expectedRepositoryPath":null,"namedGateTestSatisfied":true,"requiredReleaseTargets":["ccExecution"],"migrationReleaseVerified":null,"repositoryConditionBound":true,"repositoryProofSourceSha":"666c1c2701bec26784ecbdd7d35f244d5cbf8fa5"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["ccExecution"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T02:39:03.017813+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"666c1c2701bec26784ecbdd7d35f244d5cbf8fa5","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:2a4864e8-5503-4795-bc35-3fc0a2428e4a:request-contract:5378bda54eeed31f1a1fd825143049dae646cde29902bd62cd6a91fc9ba87833:666c1c2701bec26784ecbdd7d35f244d5cbf8fa5:verified:","mission_step_id":"23ec3da6-6e72-4347-bb45-5cbac72f4fe8","command_center_event_id":"2a4864e8-5503-4795-bc35-3fc0a2428e4a"},{"id":"5c3f4518-9f5d-473c-8bd3-feb2912c78de","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-3caa53340df1","reason":"pull_request_stale_refresh_required","status":"retryable","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.121-bounded-transient-gate-recovery","prNumber":2556,"terminal":false,"missionId":"7efd5320-2e9d-4213-8492-56af2febc6a6","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":12573,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":11661,"approvedPlanMs":0,"missionSetupMs":1957,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":1126,"ledgerReconcileMs":0,"lineageReconcileMs":831,"resolvePreflightMs":1957,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":1126,"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":"7efd5320-2e9d-4213-8492-56af2febc6a6"},"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":2315,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-13T01:27:01.75758+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"2556","receipt_type":"execute_mission","idempotency_key":"mission:7efd5320-2e9d-4213-8492-56af2febc6a6:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"b2fd9003-9e4f-467b-a71d-ac2422decf75","command_center_event_id":"7efd5320-2e9d-4213-8492-56af2febc6a6"},{"id":"5c431307-161a-4ea5-9734-07bf04961fad","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"reasoning_required","branch":"ai/objective-first-repair-7efb9abd55a9","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":3779,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":1,"executorlessWaitMs":19538,"firstUsefulResultAt":"2026-10-03T14:45:48.563Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.77-paul-heldout-repair","prNumber":null,"terminal":false,"missionId":"7efb9abd-55a9-43a3-a9a8-f8c17dd16853","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1159,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":242,"providerAuthMs":0,"ledgerPrepareMs":242,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":242,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":242,"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":"7efb9abd-55a9-43a3-a9a8-f8c17dd16853"},"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":3586,"likelyAffectedFiles":["src/shells/modesTenantShell.ts","src/components/settings/ModesRouteMediaSettings.tsx"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T14:45:48.604495+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:7efb9abd-55a9-43a3-a9a8-f8c17dd16853:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"9c2cc965-f535-4785-9860-104bd110a253","command_center_event_id":"7efb9abd-55a9-43a3-a9a8-f8c17dd16853"},{"id":"5c435d18-1b01-4533-a654-3ad9dd4a12fc","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/private-shell-startup-budget-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.91-forgejo-repository-reliability","prNumber":2289,"terminal":false,"missionId":"998b1d67-dc82-4c25-a232-09e6268e4584","operation":"execute_mission","proofGate":"repair_mission_fresh_pr_handed_off_to_gate","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":8510,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":457,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":316,"ledgerReconcileMs":0,"lineageReconcileMs":141,"resolvePreflightMs":457,"repositoryMutationMs":8510,"repositoryProviderMs":6896,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":5284,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":316,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1612},"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":"998b1d67-dc82-4c25-a232-09e6268e4584"},"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":3332,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-10T07:38:48.750619+00:00","proof_gate":"repair_mission_fresh_pr_handed_off_to_gate","source_sha":null,"external_id":"2289","receipt_type":"execute_mission","idempotency_key":"mission:998b1d67-dc82-4c25-a232-09e6268e4584:execute_mission:repair_mission_fresh_pr_handed_off_to_gate:current-generation","mission_step_id":"2abc5cdd-c901-4cb3-80d7-cd58147c34cb","command_center_event_id":"998b1d67-dc82-4c25-a232-09e6268e4584"},{"id":"5c477f5c-47ac-49ef-bfd0-9931cb4c9b49","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/test/release-orchestration-invariants.test.js"],"reason":"Correct only the second deterministic stale bounded-read assertion proven by exact Gate run 7170 on existing PR #2417.","baseSha":"ac663fcf7052e314fac920ee8da3394da760012a","issuedAt":1789158096584,"expiresAt":1789158276584,"missionId":"adc9f8a7-dc29-4724-9df0-afc076604415","authorizationId":"2b66e59d-ee1f-4389-862b-99fb44904b42","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-11T20:21:37.571454+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"ac663fcf7052e314fac920ee8da3394da760012a","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:2b66e59d-ee1f-4389-862b-99fb44904b42","mission_step_id":"bfc99602-22a4-4f94-b129-c981a9136413","command_center_event_id":"adc9f8a7-dc29-4724-9df0-afc076604415"},{"id":"5c487e24-507f-4b65-8652-3e3bc87f7a91","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/call-center-advanced-operations-20260907","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.70-forgejo-source-discovery-retry-window","prNumber":2063,"terminal":false,"missionId":"4f049657-df3c-46c7-a932-35a3e5e9fed9","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"c1ff6c5dad4b6d0fda2ca54e9590bc2b18d57d26","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":9412,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":1166,"approvedPlanMs":0,"missionSetupMs":367,"providerAuthMs":0,"shipAndProveMs":7000,"ledgerPrepareMs":367,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":367,"repositoryMutationMs":1135,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":367,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"4f049657-df3c-46c7-a932-35a3e5e9fed9"},"performance":null,"deploymentId":"forgejo-main-c1ff6c5dad4b","workflowRunId":null,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":true,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3450,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-07T14:07:05.038823+00:00","proof_gate":"canonical_release_dispatched","source_sha":"c1ff6c5dad4b6d0fda2ca54e9590bc2b18d57d26","external_id":"forgejo-main-c1ff6c5dad4b","receipt_type":"execute_mission","idempotency_key":"mission:4f049657-df3c-46c7-a932-35a3e5e9fed9:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"8842f42e-e1a3-4403-b40d-c94933d95a74","command_center_event_id":"4f049657-df3c-46c7-a932-35a3e5e9fed9"},{"id":"5c492cd0-5b1e-4004-8f31-4497b0c85268","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":null,"reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.46.8-intent-aware-objectives","prNumber":169,"terminal":false,"missionId":"280d77dd-d2e3-4367-81f4-46f9269d6fb0","operation":"ship_and_prove","proofGate":"canonical_release_dispatched","sourceSha":"339c4a8a4f52dff0d77441e3bf75eeffa9156605","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"280d77dd-d2e3-4367-81f4-46f9269d6fb0"},"performance":null,"deploymentId":"forgejo-main-339c4a8a4f52","workflowRunId":461,"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":2168,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-15T19:31:06.360753+00:00","proof_gate":"canonical_release_dispatched","source_sha":"339c4a8a4f52dff0d77441e3bf75eeffa9156605","external_id":"forgejo-main-339c4a8a4f52","receipt_type":"ship_and_prove","idempotency_key":"mission:280d77dd-d2e3-4367-81f4-46f9269d6fb0:ship_and_prove:canonical_release_dispatched:339c4a8a4f52dff0d77441e3bf75eeffa9156605:461","mission_step_id":"26ccfdd8-6bdf-4b8a-a690-3a764306b090","command_center_event_id":"280d77dd-d2e3-4367-81f4-46f9269d6fb0"},{"id":"5c4945af-c93e-46bc-9ee9-fa25354063c2","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/forgejo-reliability-architecture-0908","reason":"retryable_provider_transport:The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":2158,"terminal":false,"missionId":"0b163683-9113-499c-908f-61bd930fd874","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":2500,"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":"0b163683-9113-499c-908f-61bd930fd874"},"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":841,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-08T19:41:48.444153+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"2158","receipt_type":"automatic_mission_resume","idempotency_key":"mission:0b163683-9113-499c-908f-61bd930fd874:automatic-mission-resume:2158:repair_mission_pr_ready_retryable","mission_step_id":"49b3a3ee-b8bb-4cc2-bfe1-549f9a7c7404","command_center_event_id":"0b163683-9113-499c-908f-61bd930fd874"},{"id":"5c49a94e-471e-4d7c-9d4d-0b801013e647","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-e66716a0df8a","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":48734,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-10-03T03:21:14.719Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.70-paul-conversation-examples","prNumber":4609,"terminal":false,"missionId":"e66716a0-df8a-41c9-87a4-9bddd6b13291","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4178,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":704,"missionSetupMs":338,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":338,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":338,"repositoryMutationMs":3474,"repositoryProviderMs":3474,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2090,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":338,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1384},"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":"e66716a0-df8a-41c9-87a4-9bddd6b13291"},"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":3235,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T03:21:20.222151+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"4609","receipt_type":"execute_mission","idempotency_key":"mission:e66716a0-df8a-41c9-87a4-9bddd6b13291:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"717ef5b6-e10d-44d7-8fb0-4f0567cadb8e","command_center_event_id":"e66716a0-df8a-41c9-87a4-9bddd6b13291"},{"id":"5c4e8f48-4a4e-4a50-82b8-12811f6c9ff4","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Refresh the existing PR #1498 branch onto current Forgejo main after Gate run 4668 correctly rejected the stale event base. Do not change roof source semantics, do not create another branch or PR. Preserve the exact two-file camera-authority + v15 roof-edge-fidelity repair, then re-run KnockLaunch Gate. Stop after PR refresh/gate dispatch; do not release until the refreshed exact head is green.","wordingChanged":false,"canonicalIntent":"Refresh the existing PR #1498 branch onto current Forgejo main after Gate run 4668 correctly rejected the stale event base. Do not change roof source semantics, do not create another branch or PR. Preserve the exact two-file camera-authority + v15 roof-edge-fidelity repair, then re-run KnockLaunch Gate. Stop after PR refresh/gate dispatch; do not release until the refreshed exact head is green.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"camera-lock","statement":"Verified property point stays visual center; geometry may affect zoom only.","proofConditionIds":["proof-live"]},{"id":"edge-fidelity","statement":"Crude boxified/oversimplified geometry cannot publish as Auto Measured.","proofConditionIds":["proof-live"]}],"objective":"Refresh the existing PR #1498 branch onto current Forgejo main after Gate run 4668 correctly rejected the stale event base. Do not change roof source semantics, do not create another branch or PR. Preserve the exact two-file camera-authority + v15 roof-edge-fidelity repair, then re-run KnockLaunch Gate. Stop after PR refresh/gate dispatch; do not release until the refreshed exact head is green.","constraints":[{"id":"constraint-1","statement":"Keep 0.85x-1.25x area envelope.","proofConditionIds":["proof-live"]},{"id":"constraint-2","statement":"Preserve parcel lock, replace-on-success retry, single toast.","proofConditionIds":["proof-live"]},{"id":"constraint-3","statement":"No unrelated changes.","proofConditionIds":["proof-live"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-live","kind":"runtime","claim":"After merge/release, camera center remains on verified subject and v15 roof-edge fidelity blocks bad box geometry.","route":"/redfish-roofing/homeowners/95fc090e-5761-4d32-b387-0308d074e524?section=roof-estimate","roleRef":"GodMode","userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestContractHash":"efeccab72a00a7c21959f37c03fe26151536dead6f384437a195e1948230e4e9","requestContractRevision":4,"previousRequestContractHash":"8f7e206eabfeca2f3711a7243755e3946c32ba986f5807db791e036ceabb45b1"},"tenant_id":"de8369b6-a78f-40bb-ae1f-28ffca62bc7e","created_at":"2026-09-02T23:49:47.984911+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:80bee9af-50d8-4d45-bdce-074086c93209:request-contract-revision:4:efeccab72a00a7c21959f37c03fe26151536dead6f384437a195e1948230e4e9","mission_step_id":"791598d0-f9bf-4d14-a1b8-46205d20064c","command_center_event_id":"80bee9af-50d8-4d45-bdce-074086c93209"},{"id":"5c512483-2642-48aa-b8d3-753e519bb0a9","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/fix-recovery-customer-handoff-20260820","reason":null,"status":"source_resolution_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.48.11-schema-authority","prNumber":null,"terminal":false,"missionId":"23990fe8-c8a3-4d78-bac1-60e665cb5aca","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":null,"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":"23990fe8-c8a3-4d78-bac1-60e665cb5aca"},"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":8736,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-20T23:25:54.739321+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:23990fe8-c8a3-4d78-bac1-60e665cb5aca:execute_mission:repair_mission_source_resolution_required","mission_step_id":"593021ee-c13d-4ded-99fe-6abd22b22908","command_center_event_id":"23990fe8-c8a3-4d78-bac1-60e665cb5aca"},{"id":"5c5164d4-3e1d-469c-a808-d6f0815d638f","source":"cc-execution","status":"waiting","payload":{"sourceTargets":["src/PrivateAppShell.tsx","src/PcgAppShell.tsx","src/KnockLaunchOwnerShell.tsx","src/PublicAppShell.tsx"],"continuationObjective":"Fix the production PCG Card Vault search failure. Current user-facing symptom: searching Card Vault returns 'Card Vault search failed [object Object]'. Inspect the exact current Card Vault search implementation owned by the PCG shell and its data query. Identify the first causal failure, apply the smallest safe fix so Card Vault search works against the canonical PCG card data, and normalize structured errors into a human-readable message so no [object Object] can reach the UI. Preserve PCG tenant isolation and existing vault behavior. Use current main, Gate, squash merge, deploy the affected frontend, and return live proof. Do not use Visual Witness unless needed to prove the interaction."},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T21:54:11.721173+00:00","proof_gate":"mission_continuation_scope_persisted","source_sha":null,"external_id":null,"receipt_type":"mission_continuation_scope_updated","idempotency_key":"mission:7acbd693-af99-4931-bd51-8f090dc673bb:mission_continuation_scope_updated:mission_continuation_scope_persisted:waiting","mission_step_id":"a1bc1687-2412-4aff-a43d-bad000a94d77","command_center_event_id":"7acbd693-af99-4931-bd51-8f090dc673bb"},{"id":"5c52cd74-3b73-401e-991a-7a1a9dd608d5","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-129786168236","prNumber":4134,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"7301a14c6514c0afe36b1da3c9c6cd88437ee69b","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T14:47:39.122145+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"7301a14c6514c0afe36b1da3c9c6cd88437ee69b","external_id":"4134","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:12978616-8236-42a0-bff7-69f525cf900b:merged-pr:4134:7301a14c6514c0afe36b1da3c9c6cd88437ee69b","mission_step_id":"ba25a0fd-471c-4413-ab6e-587eb21c6430","command_center_event_id":"12978616-8236-42a0-bff7-69f525cf900b"},{"id":"5c54b317-d5b8-4b12-b5d7-35bea8770d25","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"objective_received","branch":"ai/remove-lawn-care-editor-snowflake-20260803-r202608031744","reason":"pull_request_merge_failed:405:Pull Request is still a draft","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.30.2-deferred-visual-proof","prNumber":3895,"terminal":true,"missionId":"a9c33a7a-e82f-4c3b-9e1e-ff6f3d1a9f70","operation":"execute_mission","proofGate":"canonical_release_blocked","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"a9c33a7a-e82f-4c3b-9e1e-ff6f3d1a9f70"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"sourceReceiptBytes":893,"ownerActionRequired":false},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-03T17:44:42.145303+00:00","proof_gate":"canonical_release_blocked","source_sha":null,"external_id":"3895","receipt_type":"execute_mission","idempotency_key":"mission:a9c33a7a-e82f-4c3b-9e1e-ff6f3d1a9f70:execute_mission:canonical_release_blocked","mission_step_id":"ff692cd5-a403-4978-82ea-ca35f48e88ec","command_center_event_id":"a9c33a7a-e82f-4c3b-9e1e-ff6f3d1a9f70"},{"id":"5c569e86-83fd-43fc-9ea3-77310a2b57b0","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-90e18e9a0e48","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.118-architecture-exclusivity","prNumber":2510,"terminal":false,"missionId":"90e18e9a-0e48-482f-aa0c-1f222cdda17a","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"ee3d2e4340dade4ba88d42b131e3ec4ad0a230fe","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":13738,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":1941,"approvedPlanMs":0,"missionSetupMs":976,"providerAuthMs":0,"shipAndProveMs":10974,"ledgerPrepareMs":282,"ledgerReconcileMs":0,"lineageReconcileMs":694,"resolvePreflightMs":976,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":282,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"90e18e9a-0e48-482f-aa0c-1f222cdda17a"},"performance":null,"deploymentId":"forgejo-main-ee3d2e4340da","workflowRunId":null,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":true,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2742,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T16:57:29.578475+00:00","proof_gate":"canonical_release_dispatched","source_sha":"ee3d2e4340dade4ba88d42b131e3ec4ad0a230fe","external_id":"forgejo-main-ee3d2e4340da","receipt_type":"execute_mission","idempotency_key":"mission:90e18e9a-0e48-482f-aa0c-1f222cdda17a:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"90102451-83ee-493c-bbf9-19fd84d40233","command_center_event_id":"90e18e9a-0e48-482f-aa0c-1f222cdda17a"},{"id":"5c589a9f-bade-479d-8946-9881fd5d00c9","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-d0449d396c26","prNumber":3149,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"10b98ca41c8ada53c9bb16936ee6e509b42fc1d7","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-18T19:53:21.00382+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"10b98ca41c8ada53c9bb16936ee6e509b42fc1d7","external_id":"3149","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:d0449d39-6c26-4331-93b8-69a8a2efac75:merged-pr:3149:10b98ca41c8ada53c9bb16936ee6e509b42fc1d7","mission_step_id":"c4529227-861b-48ba-8135-7b86617d0d8c","command_center_event_id":"d0449d39-6c26-4331-93b8-69a8a2efac75"},{"id":"5c58c2f2-5c3a-41bb-b951-9bd9a5662360","source":"cc-execution","status":"in_progress","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":null,"reason":null,"status":"in_progress","metrics":{"receiptBytes":0,"releaseCount":1,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.143-current-runtime-reliability-truth","prNumber":2684,"terminal":false,"missionId":"daf4289f-7a42-4d39-835a-e76cc1dfdc05","operation":"execute_mission","proofGate":"canonical_release_reconciliation_pending","sourceSha":"8b4357c901555638e224c7809db1c408ef7d5bd0","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":9592,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":1635,"approvedPlanMs":0,"missionSetupMs":1938,"providerAuthMs":0,"shipAndProveMs":6275,"ledgerPrepareMs":1938,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":1938,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":1938,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create replacement work.","receiptRef":{"mode":"full","missionId":"daf4289f-7a42-4d39-835a-e76cc1dfdc05"},"performance":null,"deploymentId":"forgejo-main-8b4357c90155","workflowRunId":7922,"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":1481,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-13T22:38:32.325761+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":"8b4357c901555638e224c7809db1c408ef7d5bd0","external_id":"forgejo-main-8b4357c90155","receipt_type":"execute_mission","idempotency_key":"mission:daf4289f-7a42-4d39-835a-e76cc1dfdc05:execute_mission:canonical_release_reconciliation_pending:current-generation","mission_step_id":"92c83091-f1f3-4019-a554-35fca0f3c1c5","command_center_event_id":"daf4289f-7a42-4d39-835a-e76cc1dfdc05"},{"id":"5c58f8cc-c6b2-4803-960b-1cc2d0cad6c6","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"release","branch":"ai/objective-first-repair-97bf489dc3bd","reason":"canonical_release_queue_busy:11579","status":"blocked","metrics":{"receiptBytes":20807,"releaseCount":0,"toolCallCount":9,"repeatedCallCount":1,"executorlessWaitMs":521656,"firstUsefulResultAt":"2026-09-24T18:38:00.364Z","recoveryAttemptCount":1,"ownerInterruptionCount":0},"version":"1.58.261-nonvisual-proof-precedence","prNumber":3656,"terminal":false,"missionId":"97bf489d-c3bd-4454-9450-220f5c5e84d1","operation":"execute_mission","proofGate":"canonical_release_blocked","sourceSha":"4b2825761a38ca55600f240f5d277fd1963c149a","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1278,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":133,"approvedPlanMs":0,"missionSetupMs":278,"providerAuthMs":0,"shipAndProveMs":695,"ledgerPrepareMs":278,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":278,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":278,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"97bf489d-c3bd-4454-9450-220f5c5e84d1"},"performance":null,"deploymentId":"forgejo-main-4b2825761a38","releaseState":"pending","workflowRunId":11579,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime","visual"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1405,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"d60e3c27-73ed-4a5f-a49b-c37636455daf","created_at":"2026-09-24T18:47:20.552709+00:00","proof_gate":"canonical_release_blocked","source_sha":"4b2825761a38ca55600f240f5d277fd1963c149a","external_id":"forgejo-main-4b2825761a38","receipt_type":"execute_mission","idempotency_key":"mission:97bf489d-c3bd-4454-9450-220f5c5e84d1:execute_mission:canonical_release_blocked:current-generation","mission_step_id":"397019b1-e85c-49ba-a327-288e44a41177","command_center_event_id":"97bf489d-c3bd-4454-9450-220f5c5e84d1"},{"id":"5c5ecd69-2474-478b-986b-148165b08bbf","source":"forgejo-runtime","status":"pending","payload":{"mainSha":"dbe64645ba7c4482153525a69f7958fe50dbb12d","sourceSha":"9de14870aabede94a587d6df81a657da803bb61d","sourceInMain":false,"compareStatus":"main_history_page_inconclusive","ancestryProofResolved":false},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-10-03T20:28:15.98457+00:00","proof_gate":"canonical_release_ancestry_pending","source_sha":"9de14870aabede94a587d6df81a657da803bb61d","external_id":"canonical-release-9de14870aabe","receipt_type":"canonical_release_status","idempotency_key":"mission:d7077b8c-9e81-4643-a869-bc7be471f807:forgejo-release-ancestry:9de14870aabede94a587d6df81a657da803bb61d:dbe64645ba7c4482153525a69f7958fe50dbb12d:main_history_page_inconclusive","mission_step_id":"3c9877a8-4e5e-4c40-a2ad-3ddd7eb72981","command_center_event_id":"d7077b8c-9e81-4643-a869-bc7be471f807"},{"id":"5c603ec3-c3cd-4ffb-ad00-b4fa5bf85b5c","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-a2c3e8e59098","reason":"orphaned_branch_recovery_requires_exact_applied_state:ai/objective-first-repair-a2c3e8e59098","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.118-architecture-exclusivity","prNumber":null,"terminal":false,"missionId":"a2c3e8e5-9098-4afb-9859-d79df40d66b8","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":14001,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":2798,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":298,"ledgerReconcileMs":0,"lineageReconcileMs":2500,"resolvePreflightMs":2798,"repositoryMutationMs":14001,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":298,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"a2c3e8e5-9098-4afb-9859-d79df40d66b8"},"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":1576,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T19:29:37.510811+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:a2c3e8e5-9098-4afb-9859-d79df40d66b8:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"4c24c4d6-0d01-4270-a00e-25c9e9986f83","command_center_event_id":"a2c3e8e5-9098-4afb-9859-d79df40d66b8"},{"id":"5c60a4bf-be4a-4b9b-bef0-23bc809256fc","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/bychefap-touch-target-polish","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.175-repository-source-fastpath","prNumber":2994,"terminal":false,"missionId":"cad64d65-94b0-4064-a8db-2fa92ec78139","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"96d5ac18112a8861f77e289776933cfd816ed1b0","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":5818,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":819,"approvedPlanMs":0,"missionSetupMs":1428,"providerAuthMs":0,"shipAndProveMs":4493,"ledgerPrepareMs":1069,"ledgerReconcileMs":0,"lineageReconcileMs":359,"resolvePreflightMs":1428,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":1069,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"cad64d65-94b0-4064-a8db-2fa92ec78139"},"performance":null,"deploymentId":"forgejo-main-96d5ac18112a","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":2524,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-17T04:17:41.67868+00:00","proof_gate":"canonical_release_dispatched","source_sha":"96d5ac18112a8861f77e289776933cfd816ed1b0","external_id":"forgejo-main-96d5ac18112a","receipt_type":"execute_mission","idempotency_key":"mission:cad64d65-94b0-4064-a8db-2fa92ec78139:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"0a24127a-380e-48d5-acc6-1220870151ab","command_center_event_id":"cad64d65-94b0-4064-a8db-2fa92ec78139"},{"id":"5c623b3c-2b21-45a5-8c30-fccf4db3c488","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"release","branch":null,"reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":1004,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.46.17-release-orchestration-guardrails","prNumber":331,"terminal":false,"missionId":"8f2f8cc5-5349-47c8-afea-160f15201e8f","operation":"ship_and_prove","proofGate":"canonical_release_dispatched","sourceSha":"3c304b076266a5335c687f72f71fa8c07f36f266","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"8f2f8cc5-5349-47c8-afea-160f15201e8f"},"performance":null,"deploymentId":"forgejo-main-3c304b076266","workflowRunId":1101,"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":4757,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"69c86c8d-c737-439a-8f30-3246af0b3ad1","created_at":"2026-08-17T16:04:40.438288+00:00","proof_gate":"canonical_release_dispatched","source_sha":"3c304b076266a5335c687f72f71fa8c07f36f266","external_id":"forgejo-main-3c304b076266","receipt_type":"ship_and_prove","idempotency_key":"mission:8f2f8cc5-5349-47c8-afea-160f15201e8f:ship_and_prove:canonical_release_dispatched:3c304b076266a5335c687f72f71fa8c07f36f266:1101","mission_step_id":"90ebdfb3-1fa3-4b2f-9d24-1bdfb293e842","command_center_event_id":"8f2f8cc5-5349-47c8-afea-160f15201e8f"},{"id":"5c62990b-c723-4efe-b992-ca4994c4e289","source":"cc-execution","status":"repair_prepared","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/fix-release-readback-and-draft-20260803-r202608032059","reason":null,"status":"repair_prepared","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.30.4-readback-release-dispatch","prNumber":3906,"terminal":false,"missionId":"c7ff4ee7-f19e-42d9-af1c-7f5bdca8e1fd","operation":"execute_mission","proofGate":"repair_mission_prepared","sourceSha":null,"timingsMs":null,"nextAction":"ship_and_prove","receiptRef":{"mode":"full","missionId":"c7ff4ee7-f19e-42d9-af1c-7f5bdca8e1fd"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"sourceReceiptBytes":941,"ownerActionRequired":false},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-03T20:59:05.833872+00:00","proof_gate":"repair_mission_prepared","source_sha":null,"external_id":"3906","receipt_type":"execute_mission","idempotency_key":"mission:c7ff4ee7-f19e-42d9-af1c-7f5bdca8e1fd:execute_mission:repair_mission_prepared","mission_step_id":"02b5d56e-0385-44cb-bb98-f8ad21e36d07","command_center_event_id":"c7ff4ee7-f19e-42d9-af1c-7f5bdca8e1fd"},{"id":"5c631de2-4339-4f94-bea7-fb4c5646115a","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/build-my-demo-cinematic-storm-20260829","reason":"The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":4838,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":1,"ownerInterruptionCount":0},"version":"1.56.2-queue-readiness-budget","prNumber":1031,"terminal":false,"missionId":"c148a6c5-5a85-4e06-a1b8-7e30a7808cea","operation":"execute_mission","proofGate":"canonical_release_transport_retryable","sourceSha":null,"timingsMs":{"handlerMs":17233,"prReadinessMs":460,"approvedPlanMs":0,"missionSetupMs":475,"shipAndProveMs":16766},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"c148a6c5-5a85-4e06-a1b8-7e30a7808cea"},"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":5218,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-29T16:07:39.281517+00:00","proof_gate":"canonical_release_transport_retryable","source_sha":null,"external_id":"1031","receipt_type":"execute_mission","idempotency_key":"mission:c148a6c5-5a85-4e06-a1b8-7e30a7808cea:execute_mission:canonical_release_transport_retryable:current-generation","mission_step_id":"b70a7c02-117f-491f-97c5-4cf335095cc3","command_center_event_id":"c148a6c5-5a85-4e06-a1b8-7e30a7808cea"},{"id":"5c64b90c-1c14-47a9-944c-a7a1a90f9524","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/big-papis-owner-copy-pass","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":1239,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.46.8-intent-aware-objectives","prNumber":null,"terminal":false,"missionId":"5a17312f-4d76-420c-9aa5-257059ae56ee","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":"5a17312f-4d76-420c-9aa5-257059ae56ee"},"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":8938,"likelyAffectedFiles":["src/components/admin/TenantUserCommandCenters.tsx","src/__tests__/contracts/command-palette-platform-authority.contract.test.ts","src/__tests__/contracts/frontend-build-guard-ai-branch.contract.test.ts","src/components/TenantRouter.tsx","src/components/WorkflowRouter.tsx","src/components/CallFlow/hooks/usePerformanceMonitoring.ts",".forgejo/workflows/knocklaunch.yml","src/components/CallFlow/WorkflowLiveCoachingFocus.tsx","src/components/GlobalCommandPalette.tsx","src/__tests__/commandCenter/deployDetection.test.ts","src/__tests__/contracts/command-center-mission-control.test.ts","src/__tests__/contracts/command-center-mission-preflight.test.ts"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-16T14:20:24.067253+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:5a17312f-4d76-420c-9aa5-257059ae56ee:execute_mission:repair_mission_synthesis_ready","mission_step_id":"3b88ee9f-59e3-46ec-9dbe-f37d5dc13c63","command_center_event_id":"5a17312f-4d76-420c-9aa5-257059ae56ee"},{"id":"5c65293d-99fb-46b6-8fa6-e17afb75ed33","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","supabase-migrations/live":"success","supabase-edge-production/live":"pending"},"mainSha":"1fe1471798a90a3168738120c16be948f05dbfea","missing":[],"pending":["forgejo-release/workflow","supabase-edge-production/live"],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live","supabase-migrations/live"],"sourceSha":"1fe1471798a90a3168738120c16be948f05dbfea","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"migrations":true,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["command-center-autopilot"]},"releaseTargetStates":{"migrations":"success","supabaseEdge":"pending"},"requestContractHash":"0d410de7973d15c2f1e88f82526130c853a36f2508a31d0f63a5ab0f78dd1548","forgejoWorkflowProof":{"runId":15638,"source":"signed_push_receipt","status":"blocked","results":{},"conclusion":"blocked","targetStates":{"migrations":"success","supabaseEdge":"pending"},"targetJobCount":7,"observedTargetStates":{"migrations":"success","supabaseEdge":"pending"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T14:20:43.226325+00:00","proof_gate":"canonical_release_pending","source_sha":"1fe1471798a90a3168738120c16be948f05dbfea","external_id":"forgejo-main-1fe1471798a9","receipt_type":"canonical_release_status","idempotency_key":"mission:6209bd54-40c6-4105-be7c-e634a1d2a544:forgejo-release-status:1fe1471798a90a3168738120c16be948f05dbfea:pending:forgejo-main/source=success|forgejo-release/workflow=pending|supabase-edge-production/live=pending|supabase-migrations/live=success","mission_step_id":"6eedb71f-1c00-40b8-b781-3feab415e102","command_center_event_id":"6209bd54-40c6-4105-be7c-e634a1d2a544"},{"id":"5c653cc6-7ec1-4f6a-ab4a-0dbe27fc574c","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"release","branch":null,"reason":"forgejo_same_source_release_failed_no_redispatch:424","status":"blocked","metrics":{"receiptBytes":27599,"releaseCount":0,"toolCallCount":39,"repeatedCallCount":35,"ownerInterruptionCount":0},"version":null,"prNumber":149,"terminal":false,"missionId":"ae854f1c-b9bc-47dc-b32c-abdfe5dffdac","operation":"automatic_mission_resume","proofGate":"canonical_release_blocked","sourceSha":"8e3a47d7cde8a16cbf17ba106182c356d688f151","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"ae854f1c-b9bc-47dc-b32c-abdfe5dffdac"},"performance":null,"deploymentId":"forgejo-main-8e3a47d7cde8","workflowRunId":424,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":331,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-15T17:31:23.884225+00:00","proof_gate":"canonical_release_blocked","source_sha":null,"external_id":"149","receipt_type":"automatic_mission_resume","idempotency_key":"mission:ae854f1c-b9bc-47dc-b32c-abdfe5dffdac:automatic-mission-resume:149:canonical_release_blocked","mission_step_id":"a4576d48-7dc1-4d7f-a7e7-7aee096d3cd4","command_center_event_id":"ae854f1c-b9bc-47dc-b32c-abdfe5dffdac"},{"id":"5c675ea8-5fd8-47a6-b2db-525f13f8b88f","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"960f6502a72f811c95b56a1a7ed205bb56d6ea50","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":false,"statement":"Quick and observe evidence capture uses one shared wall-clock deadline of no more than 25 seconds across all screenshot fallbacks and cleanup, and a failed capture is accounted as witness infrastructure rather than becoming an unbounded supervisor retry.","proofConditionIds":["proof-runtime","proof-curri"]},{"id":"outcome-2","satisfied":false,"statement":"Witness progress exposes route_evidence_capture before screenshot work and records the result immediately afterward, while standard/full proof keeps a larger bounded allowance below the no-progress watchdog.","proofConditionIds":["proof-runtime","proof-curri"]}],"satisfied":false,"constraints":[{"id":"scope","satisfied":false,"statement":"Use Forgejo only, preserve fail-closed product-defect semantics and existing evidence fallbacks, change only Visual Witness runtime/test ownership, and do not modify tenant product UI or data.","proofConditionIds":["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-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-runtime"]}],"contractHash":"1f6303a93b2efcf1cdac77e957f8302b53293ae96b707601b04c7d633f8f8489","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"proof-runtime","kind":"runtime","evidence":{"reason":"missing_required_release_targets:ccExecution","satisfied":false,"releaseState":"verified","missingTargets":["ccExecution"],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"onrunner":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["onrunner"],"allowedReleaseTargets":["ccExecution","onrunner"],"requiredReleaseTargets":["ccExecution","onrunner"],"migrationReleaseVerified":null,"releaseRequestContractHash":"1f6303a93b2efcf1cdac77e957f8302b53293ae96b707601b04c7d633f8f8489"},"required":true,"satisfied":false},{"id":"proof-curri","kind":"visual","evidence":{"verificationState":null,"witnessRequestContractHash":null},"required":true,"satisfied":false}],"validationErrors":[],"pendingProofKinds":["runtime","visual"],"activeReleaseTargets":["onrunner"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":2},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-14T06:26:21.733153+00:00","proof_gate":"request_contract_pending","source_sha":"960f6502a72f811c95b56a1a7ed205bb56d6ea50","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:bc6b7ace-3335-40d9-b595-24e150309eab:request-contract:1f6303a93b2efcf1cdac77e957f8302b53293ae96b707601b04c7d633f8f8489:960f6502a72f811c95b56a1a7ed205bb56d6ea50:pending:runtime,visual","mission_step_id":"32fd0c97-5b5b-4c48-939d-a46c37ba8495","command_center_event_id":"bc6b7ace-3335-40d9-b595-24e150309eab"},{"id":"5c677063-479d-4788-b730-c9cbd288c3ce","source":"cc-execution","status":"cancelled","payload":{"cancelled":true,"missionId":"276cfdf9-8116-4ac5-93bc-ac1b2103b2ec"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T03:12:15.74776+00:00","proof_gate":"durable_mission_cancelled","source_sha":null,"external_id":null,"receipt_type":"owner_mission_cancelled","idempotency_key":"mission:276cfdf9-8116-4ac5-93bc-ac1b2103b2ec:mission-cancel:276cfdf9-8116-4ac5-93bc-ac1b2103b2ec","mission_step_id":"77766f0c-2f32-4365-93d9-3d82446568aa","command_center_event_id":"276cfdf9-8116-4ac5-93bc-ac1b2103b2ec"},{"id":"5c67cd95-fad5-4c7b-b1db-a155bb023a9c","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/dedicated-shell-library-20260910","reason":"retryable_provider_transport:PUT:The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.90-mission-terminalization","prNumber":2282,"terminal":false,"missionId":"dc06a09b-05f0-4349-b878-d53735136eb3","operation":"execute_mission","proofGate":"repair_mission_execution_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":14627,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":5385,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":384,"ledgerReconcileMs":0,"lineageReconcileMs":5001,"resolvePreflightMs":5385,"repositoryMutationMs":14627,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":384,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"dc06a09b-05f0-4349-b878-d53735136eb3"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1557,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-10T05:09:58.341734+00:00","proof_gate":"repair_mission_execution_retryable","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:dc06a09b-05f0-4349-b878-d53735136eb3:execute_mission:repair_mission_execution_retryable:current-generation","mission_step_id":"9a29dfac-54b6-440b-8d62-e2f0eb3a5081","command_center_event_id":"dc06a09b-05f0-4349-b878-d53735136eb3"},{"id":"5c68eb66-d552-4647-805e-0d081ab69171","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-31d136f2d087","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.175-repository-source-fastpath","prNumber":2995,"terminal":false,"missionId":"31d136f2-d087-4e2a-85c7-be115956680d","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":16136,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":1982,"missionSetupMs":777,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":777,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":777,"repositoryMutationMs":14154,"repositoryProviderMs":14154,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":4729,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":777,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":9425},"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":"31d136f2-d087-4e2a-85c7-be115956680d"},"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":3880,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-17T04:43:16.22731+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"2995","receipt_type":"execute_mission","idempotency_key":"mission:31d136f2-d087-4e2a-85c7-be115956680d:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"0000adc6-629a-48f6-932c-0ecadd0ee5d0","command_center_event_id":"31d136f2-d087-4e2a-85c7-be115956680d"},{"id":"5c690d29-5522-4ee9-8d12-804100f6798f","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/vista-owner-navigation-safe-20260828","reason":"pull_request_gate_missing","status":"waiting_for_gate","metrics":{"receiptBytes":12256,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.55.0-godmode-restore-points","prNumber":917,"terminal":false,"missionId":"2e946075-9e86-46ba-a707-31a2065f6241","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"handlerMs":16434,"prReadinessMs":1506,"approvedPlanMs":14662,"missionSetupMs":616,"shipAndProveMs":0},"nextAction":"Reconcile this same mission and pull request after the exact-head KnockLaunch Gate changes state.","receiptRef":{"mode":"full","missionId":"2e946075-9e86-46ba-a707-31a2065f6241"},"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":5297,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"71b397ba-b9ad-496b-914c-985d97dbb12e","created_at":"2026-08-28T04:08:31.570274+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"917","receipt_type":"execute_mission","idempotency_key":"mission:2e946075-9e86-46ba-a707-31a2065f6241:execute_mission:repair_mission_waiting_for_gate:current-generation","mission_step_id":"8b08fa1a-40b5-4f24-8f3a-7e7d6e4acaf6","command_center_event_id":"2e946075-9e86-46ba-a707-31a2065f6241"},{"id":"5c69bdc3-71a1-40df-a307-f4a3860ef01b","source":"cc-execution","status":"authorized","payload":{"paths":["config/control-plane-capabilities.json","workers/cc-execution/src/entrypoint-owner-status.js","workers/cc-execution/src/forgejo-provider.js","workers/cc-execution/src/index-mcp.js","workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/index-release-fast-lane.js","workers/cc-execution/src/version.js","workers/cc-execution/test/forgejo-read-pressure.test.js"],"reason":"Owner-authorized repair of recurring Forgejo provider timeout and repository-read pressure failures; re-freeze after canonical live proof.","baseSha":"b6af7ef22095b528b2f8a36606d29485fd39e738","issuedAt":1789021817236,"expiresAt":1789021997236,"missionId":"a04714d8-6261-46e9-8dd7-7ed0436221b2","authorizationId":"f21d4abb-f5e6-40d2-9eee-427fc22470e9","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-10T06:30:17.906155+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:f21d4abb-f5e6-40d2-9eee-427fc22470e9","mission_step_id":"fc4bc6f0-4cbd-448a-99d0-7e87572c2d7a","command_center_event_id":"a04714d8-6261-46e9-8dd7-7ed0436221b2"},{"id":"5c6c586c-a567-4993-80ad-206256909d17","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in release.","nextAction":{"lane":"production-release-conductor","action":"reconcile_release","reason":"merged_source_requires_release_proof","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"implementation\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"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\":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\":\"runtime_proof\",\"deadlineAt\":\"2026-08-06T02:44:05.99508+00:00\",\"recoveryAction\":\"reconcile_release\"},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/seaside-booking-component-scale\",\"prNumber\":4093,\"sourceSha\":\"d394283445560f3b535bd9242809e99096feecd0\",\"deploymentId\":\"canonical-release-d39428344556\"}"},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-10-04T08:57:03.361066+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:72b80f1f-4756-4e1f-8a78-ff294fb2cf5c:owner-progress-heartbeat:119406948","mission_step_id":"9073e9f0-03b9-4f37-a78c-b1a490817712","command_center_event_id":"72b80f1f-4756-4e1f-8a78-ff294fb2cf5c"},{"id":"5c6c58b6-884a-4775-a4fd-90034d97d4e6","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/test/event-driven-auto-merge-invariants.test.js"],"reason":"One assertion-message-only test mutation to benchmark the already-live 1.58.42 Gate acknowledgement path without changing runtime behavior.","baseSha":"553300bc16e81144945a2f091540f0e288846189","issuedAt":1788527006365,"expiresAt":1788527186365,"missionId":"270f5e1c-a38b-4e03-a15b-fb134dac6272","authorizationId":"c87fd650-40b3-47ae-ba4b-a35b9b36608b","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T13:03:26.896158+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"553300bc16e81144945a2f091540f0e288846189","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:c87fd650-40b3-47ae-ba4b-a35b9b36608b","mission_step_id":"5134f939-4c20-4e8c-8f3f-dcaa0b29c7c2","command_center_event_id":"270f5e1c-a38b-4e03-a15b-fb134dac6272"},{"id":"5c6cc25d-60cc-408f-a3a2-d1eb8898c500","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:40:56.511787+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-78e8a02b8a0b\",\"prNumber\":4631,\"sourceSha\":\"06ef4e83921c6bb092d03d88cf15f939c9a49b7b\",\"deploymentId\":\"forgejo-main-06ef4e83921c\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T12:47:55.442013+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:78e8a02b-8a0b-4fc2-ac66-e8258b0cc067:owner-progress-heartbeat:119402111","mission_step_id":"2875c01b-1885-4ba4-8b60-993350b4e133","command_center_event_id":"78e8a02b-8a0b-4fc2-ac66-e8258b0cc067"},{"id":"5c6d0019-3605-4317-93c0-624c03eb4399","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\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"implementation\",\"deadlineAt\":\"2026-09-23T17:48:52.564664+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-ac9037d1c3be\",\"prNumber\":null,\"sourceSha\":null,\"deploymentId\":null}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T15:49:10.912538+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:ac9037d1-c3be-4a82-9a03-06661c7b6094:owner-progress-heartbeat:119345236","mission_step_id":"fc82b5df-2c8b-4c49-94bf-d293857458f9","command_center_event_id":"ac9037d1-c3be-4a82-9a03-06661c7b6094"},{"id":"5c6dec25-b6a8-4ac7-a0cb-c4a2fe55219b","source":"cc-execution","status":"waiting","payload":{"body":{"branch":"ai/objective-first-repair-b9007ad7a40c","approved":true,"missionId":"b9007ad7-a40c-44a4-ac49-93810ae73992","objective":"Continue the existing durable mission using exact structured edits.","repository":"noel/KnockLaunchOS","trackMission":true,"anchoredEdits":[{"path":"workers/cc-execution/src/entrypoint-owner-status.js","newContent":"    // Canonical system-owned ai/* pull requests are intrinsically authorized for\n    // automatic progression. The legacy PR-body marker remains supported for\n    // non-ai compatibility refs, but it must never strand a green system PR.\n    const autoProgressAuthorized = branch.startsWith(\"ai/\")\n      || String(pull?.body || \"\").includes(KNOCKLAUNCH_AUTO_PROGRESS_MARKER);\n    if (!autoProgressAuthorized) {","oldContent":"    const autoProgressAuthorized = String(pull?.body || \"\").includes(KNOCKLAUNCH_AUTO_PROGRESS_MARKER);\n    if (!autoProgressAuthorized) {"},{"path":"workers/cc-execution/src/entrypoint-owner-status.js","newContent":"  const advanced = receipts.find((receipt) => receipt.status === \"advanced\") || null;\n  const blockedBacklogRecovery = receipts.find((receipt) => [\"assessment_started\", \"assessment_retryable\", \"assessment_already_requested\"].includes(String(receipt.status || \"\"))) || null;\n  const actionablePending = receipts.find((receipt) => receipt?.prNumber && [\"waiting\", \"releasing\", \"deferred\"].includes(String(receipt.status || \"\"))) || null;\n  const result = {\n    ok: true,\n    status: advanced ? \"advanced\" : blockedBacklogRecovery ? \"reconciling\" : actionablePending ? \"waiting\" : \"no_change\",\n    proofGate: advanced ? \"automatic_merge_progression_started\" : blockedBacklogRecovery ? \"automatic_merge_blocked_backlog_recovery_active\" : actionablePending ? \"automatic_merge_queue_actionable_work_pending\" : \"automatic_merge_queue_reconciled\",","oldContent":"  const advanced = receipts.find((receipt) => receipt.status === \"advanced\") || null;\n  const blockedBacklogRecovery = receipts.find((receipt) => [\"assessment_started\", \"assessment_retryable\", \"assessment_already_requested\"].includes(String(receipt.status || \"\"))) || null;\n  const result = {\n    ok: true,\n    status: advanced ? \"advanced\" : blockedBacklogRecovery ? \"reconciling\" : \"no_change\",\n    proofGate: advanced ? \"automatic_merge_progression_started\" : blockedBacklogRecovery ? \"automatic_merge_blocked_backlog_recovery_active\" : \"automatic_merge_queue_reconciled\","},{"path":"scripts/validate-command-center-contracts.mjs","newContent":"  assert.equal(ownerStatus.includes('branch.startsWith(\"ai/\")'), true);\n  assert.equal(ownerStatus.includes('const autoProgressAuthorized = branch.startsWith(\"ai/\")'), true);\n  assert.equal(ownerStatus.includes('automatic_merge_queue_actionable_work_pending'), true);\n  assert.equal(ownerStatus.includes('failed_pr_retirement_deferred_content_not_preserved'), true);","oldContent":"  assert.equal(ownerStatus.includes('branch.startsWith(\"ai/\")'), true);\n  assert.equal(ownerStatus.includes('failed_pr_retirement_deferred_content_not_preserved'), true);"}],"ownerApproved":true,"update_strategy":"auto","controlPlaneUnfreeze":true,"durableMutationResume":true,"controlPlaneMaintenance":true,"controlPlaneMaintenanceReason":"Prime structured exact mutation continuation"},"recovery":false,"fingerprint":"9c998507101e41b096a6edeb7ff697f0311b7a3de2a44c8ef0adfecb59c3db28","replayCount":0,"serializedBytes":3351},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T17:20:54.196447+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:b9007ad7-a40c-44a4-ac49-93810ae73992:repository-mutation-intent:9c998507101e41b096a6edeb7ff697f0311b7a3de2a44c8ef0adfecb59c3db28:0","mission_step_id":"b550deba-22cd-4c2f-9881-9127ddc130a2","command_center_event_id":"b9007ad7-a40c-44a4-ac49-93810ae73992"},{"id":"5c7233e6-0122-4d19-8bb2-ab3e0e74ec6b","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"reasoning_required","branch":"ai/objective-first-repair-c6da50d22650","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":7236,"releaseCount":0,"toolCallCount":5,"repeatedCallCount":2,"executorlessWaitMs":35632,"firstUsefulResultAt":"2026-10-06T02:52:41.890Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.65.10-boundary-fix-release-retry","prNumber":null,"terminal":false,"missionId":"c6da50d2-2650-4d91-ae63-5932134ebd03","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3287,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":292,"providerAuthMs":0,"ledgerPrepareMs":292,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":292,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":292,"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":"c6da50d2-2650-4d91-ae63-5932134ebd03"},"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":3558,"likelyAffectedFiles":[".forgejo/workflows/knocklaunch.yml","config/control-plane-capabilities.json"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T02:52:44.145737+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:c6da50d2-2650-4d91-ae63-5932134ebd03:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"7bd1a3e7-fc85-4a6f-a87d-753fedb9a69b","command_center_event_id":"c6da50d2-2650-4d91-ae63-5932134ebd03"},{"id":"5c75d57f-4ec9-4be4-990b-1ef2b0a970df","source":"github-status","status":"verified","payload":{"failed":[],"states":{"canonical-web/source-proof":"success","canonical-web-production/live":"success","canonical-production-release/verified":"success"},"missing":[],"pending":[],"required":["canonical-production-release/verified"],"sourceSha":"781a62311bcc1fb36cb334906ded5c3f9169f00c","releaseState":"verified","exactConductorRun":{"id":31140960321,"status":"completed","headSha":"781a62311bcc1fb36cb334906ded5c3f9169f00c","conclusion":"success","sourceMatches":true},"ccExecutionRuntimeProof":null},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-08-07T02:30:31.383559+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"781a62311bcc1fb36cb334906ded5c3f9169f00c","external_id":"canonical-release-781a62311bcc","receipt_type":"canonical_release_status","idempotency_key":"mission:1ad939a3-5e09-4454-ab4d-759ac2b0ccf4:release-status:781a62311bcc1fb36cb334906ded5c3f9169f00c:verified:canonical-production-release/verified=success","mission_step_id":"71d3055d-132c-4b33-8959-d17af6f37edd","command_center_event_id":"1ad939a3-5e09-4454-ab4d-759ac2b0ccf4"},{"id":"5c77906d-9770-4675-a8ff-3740e9da506d","source":"cc-execution","status":"authorized","payload":{"paths":[".forgejo/workflows/knocklaunch.yml"],"reason":"Gate run 11400 proves the canonical workflow invokes a validator excluded by its sparse checkout.","baseSha":"6d65a15a32bec593f3a9344f85719d8575ba4a33","issuedAt":1790226711707,"expiresAt":1790226891707,"missionId":"8b2f214f-c876-411a-a598-0374e5d6daa7","authorizationId":"de40b61a-2147-4c62-99a1-76ff7901d09b","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T05:11:51.914964+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"6d65a15a32bec593f3a9344f85719d8575ba4a33","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:de40b61a-2147-4c62-99a1-76ff7901d09b","mission_step_id":"852d64a6-23a6-4f6a-acb1-16d99a9d6e8f","command_center_event_id":"8b2f214f-c876-411a-a598-0374e5d6daa7"},{"id":"5c7bae7a-19b8-4480-9f1f-f0a03545b567","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/cancelled-release-historical-source-dispatch","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.169-cancelled-release-internal-dispatch","prNumber":2957,"terminal":false,"missionId":"521fce24-4f08-4bd7-9a4d-5c23503ee3a4","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"878068cd73d063e6a17f3ef927403742032cdd0c","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":8297,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":2204,"approvedPlanMs":0,"missionSetupMs":1505,"providerAuthMs":0,"shipAndProveMs":5512,"ledgerPrepareMs":370,"ledgerReconcileMs":0,"lineageReconcileMs":1135,"resolvePreflightMs":1505,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":370,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"521fce24-4f08-4bd7-9a4d-5c23503ee3a4"},"performance":null,"deploymentId":"forgejo-main-878068cd73d0","workflowRunId":null,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2667,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-16T21:41:30.70937+00:00","proof_gate":"canonical_release_dispatched","source_sha":"878068cd73d063e6a17f3ef927403742032cdd0c","external_id":"forgejo-main-878068cd73d0","receipt_type":"execute_mission","idempotency_key":"mission:521fce24-4f08-4bd7-9a4d-5c23503ee3a4:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"c85c61a9-bd5e-444a-8d2e-930a6e713443","command_center_event_id":"521fce24-4f08-4bd7-9a4d-5c23503ee3a4"},{"id":"5c7bb933-1f88-4207-b1ac-a33a31c49bbb","source":"forgejo","status":"waiting","payload":{"branch":"","prNumber":4579,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"0d98d4bacba8804e6c6f767eade04523da05ed84","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T01:10:34.240212+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"0d98d4bacba8804e6c6f767eade04523da05ed84","external_id":"4579","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:cad9b4aa-f27e-4f2d-abe6-ecdf0d32db3b:merged-pr:4579:0d98d4bacba8804e6c6f767eade04523da05ed84","mission_step_id":"32fe25f9-ee4d-487d-ae3e-34dc0340a8b4","command_center_event_id":"cad9b4aa-f27e-4f2d-abe6-ecdf0d32db3b"},{"id":"5c7c1d53-6cce-4d3d-82dd-0a4949af83d3","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:31c3e4fb-2a2d-49a8-8fea-121d552e5a00","mission_step_id":null,"command_center_event_id":"31c3e4fb-2a2d-49a8-8fea-121d552e5a00"},{"id":"5c7d294f-c4c6-47ef-89a2-3a24cfd64df0","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-mthfbqqw","reason":"anchored_edit_anchor_not_unique:supabase/functions/admin-tenant-preview/index.ts","status":"blocked","metrics":{"receiptBytes":2406,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.56.5-premium-motion-source-targets","prNumber":1198,"terminal":false,"missionId":"978a7b16-9173-4190-b63e-b274068dcbcc","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"handlerMs":938,"prReadinessMs":0,"approvedPlanMs":938,"missionSetupMs":1115,"shipAndProveMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"978a7b16-9173-4190-b63e-b274068dcbcc"},"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":1072,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-31T16:01:59.274509+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:978a7b16-9173-4190-b63e-b274068dcbcc:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"5e4482d4-0fab-4e0a-80f4-6c99b98c8c9c","command_center_event_id":"978a7b16-9173-4190-b63e-b274068dcbcc"},{"id":"5c7dd6cb-4667-439e-806a-8a8d8e6750f8","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"visual_proof","branch":"ai/visual-witness-reconcile-the-completed-big-papi-","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":2202,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.35.2-release-dedupe-proof","prNumber":4661,"terminal":false,"missionId":"edad7b37-5efa-416c-b972-d362770add31","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":"ce2873382618ff1c9768ba5ea435c6b23917b3ae","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":"edad7b37-5efa-416c-b972-d362770add31"},"performance":null,"deploymentId":"canonical-release-ce2873382618","workflowRunId":31552644412,"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":7367,"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","workers/cc-execution/wrangler.toml",".github/workflows/cc-execution-worker-deploy.yml","workers/cc-execution/src/","src/routes/","src/pages/","src/components/"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-12T01:14:50.312951+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":"ce2873382618ff1c9768ba5ea435c6b23917b3ae","external_id":"canonical-release-ce2873382618","receipt_type":"execute_mission","idempotency_key":"mission:edad7b37-5efa-416c-b972-d362770add31:execute_mission:repair_mission_synthesis_ready","mission_step_id":"62aa575c-0d2d-4f28-a78a-a430e8463e59","command_center_event_id":"edad7b37-5efa-416c-b972-d362770add31"},{"id":"5c7e08d6-37ba-438e-ad7c-2bb3f3e0944c","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"route":"/admin/account?section=settings","scope":"cross-system","branch":"ai/objective-first-repair-35ca0e4b9969","writes":[],"patches":[],"version":1,"approved":true,"pr_title":"Decouple GodMode branding from tenant storage","missionId":"35ca0e4b-9969-4ba1-b45c-212469afd471","new_files":[{"path":"supabase/migrations/20260928162000_godmode_platform_branding.sql","content":"-- GodMode branding becomes platform-owned and no longer depends on any tenant.\ninsert into public.site_config (config_key, config_value, category, tenant_org_id, updated_by, created_at, updated_at)\nselect\n  'godmode_branding',\n  jsonb_build_object(\n    'schemaVersion', 1,\n    'storageBucket', 'platform-godmode',\n    'logoUrl', 'https://ymntrajfubicyxwwdxxa.supabase.co/functions/v1/tenant-media-library?mode=asset&id=65c99c76-d8c5-4a44-a9d9-0cb4450bf73d&variant=thumb',\n    'backgroundUrl', 'https://ymntrajfubicyxwwdxxa.supabase.co/functions/v1/tenant-media-library?mode=asset&id=6b656b15-5994-4fda-89e5-a6829ef8d7cf&variant=display',\n    'heroUrl', null,\n    'backgroundFit', 'cover',\n    'backgroundPosition', 'center',\n    'backgroundZoom', 1,\n    'backgroundOverlay', 0.14,\n    'cutoverSource', 'knocklaunch-os-tenant-snapshot',\n    'cutoverAt', now()\n  ),\n  'platform_branding',\n  null,\n  null,\n  now(),\n  now()\nwhere not exists (\n  select 1 from public.site_config where config_key = 'godmode_branding' and tenant_org_id is null\n);"}],"objective":"Complete the GodMode platform-branding cutover on the existing mission. Replace tenant-backed branding with the platform-owned site_config record and platform-godmode storage; expose exact current assets and uploads in GodMode Profile/Settings; add bounded GodMode command actions for get/save/upload/remove; preserve the seeded current look; do not touch KNOCKLAUNCH OS tenant branding.","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/hooks/useGodModeBranding.ts","src/pages/admin/AdminProfile.tsx","supabase/functions/god-mode-command/index.ts","supabase/migrations/20260928162000_godmode_platform_branding.sql"],"anchored_edits":[{"path":"src/hooks/useGodModeBranding.ts","edits":[{"new_content":"import { useCallback, useEffect, useState } from 'react';\n\nimport { supabase } from '@/integrations/supabase/client';\n\nexport type GodModeBranding = {\n  logoUrl: string | null;\n  backgroundUrl: string | null;\n  heroUrl: string | null;\n  backgroundFit: 'cover' | 'contain' | 'auto';\n  backgroundPosition: string;\n  backgroundZoom: number;\n  backgroundOverlay: number;\n};\n\nconst DEFAULT_GODMODE_BRANDING: GodModeBranding = {\n  logoUrl: null,\n  backgroundUrl: null,\n  heroUrl: null,\n  backgroundFit: 'cover',\n  backgroundPosition: 'center',\n  backgroundZoom: 1,\n  backgroundOverlay: 0.14,\n};\n\nfunction normalizeBranding(value: unknown): GodModeBranding {\n  const source = value && typeof value === 'object' && !Array.isArray(value) ? value as Record<string, any> : {};\n  const fit = source.backgroundFit === 'contain' || source.backgroundFit === 'auto' ? source.backgroundFit : 'cover';\n  return {\n    logoUrl: typeof source.logoUrl === 'string' && source.logoUrl.trim() ? source.logoUrl.trim() : null,\n    backgroundUrl: typeof source.backgroundUrl === 'string' && source.backgroundUrl.trim() ? source.backgroundUrl.trim() : null,\n    heroUrl: typeof source.heroUrl === 'string' && source.heroUrl.trim() ? source.heroUrl.trim() : null,\n    backgroundFit: fit,\n    backgroundPosition: typeof source.backgroundPosition === 'string' && source.backgroundPosition.trim() ? source.backgroundPosition.trim() : 'center',\n    backgroundZoom: Number.isFinite(Number(source.backgroundZoom)) ? Math.max(0.5, Math.min(2, Number(source.backgroundZoom))) : 1,\n    backgroundOverlay: Number.isFinite(Number(source.backgroundOverlay)) ? Math.max(0, Math.min(0.9, Number(source.backgroundOverlay))) : 0.14,\n  };\n}\n\nasync function invokeBranding(body: Record<string, unknown>) {\n  const { data, error } = await supabase.functions.invoke('god-mode-command', { body });\n  if (error) throw error;\n  if (data?.error) throw new Error(String(data.error));\n  return normalizeBranding(data?.branding);\n}\n\nfunction fileToBase64(file: File) {\n  return file.arrayBuffer().then((buffer) => {\n    const bytes = new Uint8Array(buffer);\n    let binary = '';\n    for (let index = 0; index < bytes.length; index += 0x8000) {\n      binary += String.fromCharCode(...bytes.subarray(index, index + 0x8000));\n    }\n    return btoa(binary);\n  });\n}\n\nexport function useGodModeBranding() {\n  const [branding, setBranding] = useState<GodModeBranding>(DEFAULT_GODMODE_BRANDING);\n  const [loading, setLoading] = useState(true);\n\n  const refreshBranding = useCallback(async () => {\n    setLoading(true);\n    try {\n      const next = await invokeBranding({ action: 'branding_get' });\n      setBranding(next);\n      return next;\n    } finally {\n      setLoading(false);\n    }\n  }, []);\n\n  useEffect(() => {\n    void refreshBranding().catch(() => setLoading(false));\n  }, [refreshBranding]);\n\n  const saveBranding = useCallback(async (patch: Partial<GodModeBranding>) => {\n    const next = await invokeBranding({ action: 'branding_save', patch });\n    setBranding(next);\n    return next;\n  }, []);\n\n  const uploadBrandingAsset = useCallback(async (kind: 'logo' | 'background' | 'hero', file: File) => {\n    if (file.size > 12 * 1024 * 1024) throw new Error('GodMode branding uploads are limited to 12 MB.');\n    const dataBase64 = await fileToBase64(file);\n    const next = await invokeBranding({\n      action: 'branding_upload',\n      kind,\n      fileName: file.name,\n      contentType: file.type || 'application/octet-stream',\n      dataBase64,\n    });\n    setBranding(next);\n    return next;\n  }, []);\n\n  const removeBrandingAsset = useCallback(async (kind: 'logo' | 'background' | 'hero') => {\n    const next = await invokeBranding({ action: 'branding_remove', kind });\n    setBranding(next);\n    return next;\n  }, []);\n\n  return { branding, loading, refreshBranding, saveBranding, uploadBrandingAsset, removeBrandingAsset };\n}","old_content":"import { useMemo } from 'react';\n\nimport { useMultiTenant } from '@/contexts/MultiTenantContext';\nimport { resolveTenantMediaBranding } from '@/lib/tenants/tenantMediaBranding';\n\nexport function isGodModeOwnerWorkspaceTenant(tenant: any) {\n  const slug = String(tenant?.company_slug || '').trim().toLowerCase();\n  const name = String(tenant?.company_dba_name || tenant?.company_legal_name || tenant?.name || '').trim().toLowerCase();\n  return slug === 'knock-launch-os' || name === 'knocklaunch os' || name === 'knock launch os';\n}\n\nexport function useGodModeBranding() {\n  const { memberships, refreshMemberships } = useMultiTenant();\n  const tenant = useMemo(\n    () => memberships.map((membership) => membership.tenant).find(isGodModeOwnerWorkspaceTenant) || null,\n    [memberships],\n  );\n  const branding = useMemo(() => resolveTenantMediaBranding(tenant), [tenant]);\n  return { tenant, branding, refreshMemberships };\n}"}]},{"path":"supabase/functions/god-mode-command/index.ts","edits":[{"new_content":"export const FUNCTION_VERSION = '1.0.6-godmode-platform-branding';","old_content":"export const FUNCTION_VERSION = '1.0.5-visual-witness-render-env-apply';"},{"new_content":"\ntype GodModeBrandingKind = 'logo' | 'background' | 'hero';\nconst GODMODE_BRANDING_KEY = 'godmode_branding';\nconst GODMODE_BRANDING_BUCKET = 'platform-godmode';\nconst GODMODE_BRANDING_FIELDS = new Set(['logoUrl','backgroundUrl','heroUrl','backgroundFit','backgroundPosition','backgroundZoom','backgroundOverlay']);\n\nfunction godModeBrandingRecord(value: unknown): Record<string, any> {\n  return value && typeof value === 'object' && !Array.isArray(value) ? value as Record<string, any> : {};\n}\n\nfunction godModeBrandingPatch(value: unknown) {\n  const source = godModeBrandingRecord(value);\n  const patch: Record<string, unknown> = {};\n  for (const key of GODMODE_BRANDING_FIELDS) if (source[key] !== undefined) patch[key] = source[key];\n  return patch;\n}\n\nfunction godModeBrandingSafeName(value: unknown) {\n  return String(value || 'asset').trim().replace(/[^a-zA-Z0-9._-]+/g, '-').replace(/-+/g, '-').replace(/^-+|-+$/g, '').slice(0, 120) || 'asset';\n}\n\nasync function readGodModeBrandingRow() {\n  const result = await admin.from('site_config')\n    .select('id,config_value')\n    .eq('config_key', GODMODE_BRANDING_KEY)\n    .is('tenant_org_id', null)\n    .order('updated_at', { ascending: false })\n    .limit(1)\n    .maybeSingle();\n  if (result.error) throw result.error;\n  return result.data;\n}\n\nasync function saveGodModeBranding(patch: Record<string, unknown>, userId: string) {\n  const row = await readGodModeBrandingRow();\n  const next = {\n    schemaVersion: 1,\n    storageBucket: GODMODE_BRANDING_BUCKET,\n    ...godModeBrandingRecord(row?.config_value),\n    ...godModeBrandingPatch(patch),\n    updatedAt: new Date().toISOString(),\n  };\n  if (row?.id) {\n    const result = await admin.from('site_config')\n      .update({ config_value: next, category: 'platform_branding', updated_by: userId, updated_at: new Date().toISOString() })\n      .eq('id', row.id)\n      .select('config_value')\n      .single();\n    if (result.error) throw result.error;\n    return godModeBrandingRecord(result.data?.config_value);\n  }\n  const result = await admin.from('site_config').insert({\n    config_key: GODMODE_BRANDING_KEY,\n    config_value: next,\n    category: 'platform_branding',\n    tenant_org_id: null,\n    updated_by: userId,\n  }).select('config_value').single();\n  if (result.error) throw result.error;\n  return godModeBrandingRecord(result.data?.config_value);\n}\n\nfunction godModeBrandingStorageKey(value: unknown) {\n  try {\n    const parsed = new URL(String(value || ''));\n    const marker = '/storage/v1/object/public/platform-godmode/';\n    const at = parsed.pathname.indexOf(marker);\n    return at >= 0 ? decodeURIComponent(parsed.pathname.slice(at + marker.length)) : null;\n  } catch { return null; }\n}\n\nasync function actionBrandingGet() {\n  const row = await readGodModeBrandingRow();\n  return json({ ok: true, branding: godModeBrandingRecord(row?.config_value) });\n}\n\nasync function actionBrandingSave(req: Request, user: { userId: string }) {\n  const body = await req.json().catch(() => ({}));\n  const branding = await saveGodModeBranding(godModeBrandingPatch(body?.patch), user.userId);\n  return json({ ok: true, branding });\n}\n\nasync function actionBrandingUpload(req: Request, user: { userId: string }) {\n  const body = await req.json().catch(() => ({}));\n  const kind = String(body?.kind || '') as GodModeBrandingKind;\n  if (!['logo','background','hero'].includes(kind)) return json({ error: 'invalid branding kind' }, 400);\n  const contentType = String(body?.contentType || '').toLowerCase();\n  if (!/^(image\\/|video\\/)/.test(contentType)) return json({ error: 'unsupported branding media type' }, 400);\n  const base64 = String(body?.dataBase64 || '');\n  if (!base64) return json({ error: 'missing branding file' }, 400);\n  const binary = Uint8Array.from(atob(base64), (char) => char.charCodeAt(0));\n  if (binary.byteLength > 12 * 1024 * 1024) return json({ error: 'branding file too large' }, 413);\n  const key = `${kind}/${Date.now()}-${godModeBrandingSafeName(body?.fileName)}`;\n  const upload = await admin.storage.from(GODMODE_BRANDING_BUCKET).upload(key, binary, { contentType, upsert: true, cacheControl: '3600' });\n  if (upload.error) throw upload.error;\n  const publicUrl = admin.storage.from(GODMODE_BRANDING_BUCKET).getPublicUrl(key).data.publicUrl;\n  const field = kind === 'logo' ? 'logoUrl' : kind === 'background' ? 'backgroundUrl' : 'heroUrl';\n  const current = await readGodModeBrandingRow();\n  const oldKey = godModeBrandingStorageKey(godModeBrandingRecord(current?.config_value)[field]);\n  const branding = await saveGodModeBranding({ [field]: publicUrl }, user.userId);\n  if (oldKey && oldKey !== key) await admin.storage.from(GODMODE_BRANDING_BUCKET).remove([oldKey]);\n  return json({ ok: true, branding, url: publicUrl });\n}\n\nasync function actionBrandingRemove(req: Request, user: { userId: string }) {\n  const body = await req.json().catch(() => ({}));\n  const kind = String(body?.kind || '') as GodModeBrandingKind;\n  if (!['logo','background','hero'].includes(kind)) return json({ error: 'invalid branding kind' }, 400);\n  const field = kind === 'logo' ? 'logoUrl' : kind === 'background' ? 'backgroundUrl' : 'heroUrl';\n  const current = await readGodModeBrandingRow();\n  const oldKey = godModeBrandingStorageKey(godModeBrandingRecord(current?.config_value)[field]);\n  const branding = await saveGodModeBranding({ [field]: null }, user.userId);\n  if (oldKey) await admin.storage.from(GODMODE_BRANDING_BUCKET).remove([oldKey]);\n  return json({ ok: true, branding });\n}\n\n\n// --- router ---------------------------------------------------------------\n\nDeno.serve(async (req) => {","old_content":"// --- router ---------------------------------------------------------------\n\nDeno.serve(async (req) => {"},{"new_content":"        allowed_actions: ['command', 'plan', 'approve', 'cancel', 'get', 'list', 'healthcheck', 'visual_witness_auth_profile_upsert', 'branding_get', 'branding_save', 'branding_upload', 'branding_remove'],","old_content":"        allowed_actions: ['command', 'plan', 'approve', 'cancel', 'get', 'list', 'healthcheck', 'visual_witness_auth_profile_upsert'],"},{"new_content":"    switch (action) {\n      case 'branding_get': return platformAdmin ? await actionBrandingGet() : json({ error: 'forbidden — platform admin required' }, 403);\n      case 'branding_save': return platformAdmin ? await actionBrandingSave(req, user) : json({ error: 'forbidden — platform admin required' }, 403);\n      case 'branding_upload': return platformAdmin ? await actionBrandingUpload(req, user) : json({ error: 'forbidden — platform admin required' }, 403);\n      case 'branding_remove': return platformAdmin ? await actionBrandingRemove(req, user) : json({ error: 'forbidden — platform admin required' }, 403);\n      case 'command': return await actionCommand(req, user);","old_content":"    switch (action) {\n      case 'command': return await actionCommand(req, user);"},{"new_content":"      default: return json({ error: 'unknown action', allowed: ['command', 'plan', 'approve', 'cancel', 'get', 'list', 'healthcheck', 'visual_witness_auth_profile_upsert', 'branding_get', 'branding_save', 'branding_upload', 'branding_remove'] }, 400);","old_content":"      default: return json({ error: 'unknown action', allowed: ['command', 'plan', 'approve', 'cancel', 'get', 'list', 'healthcheck', 'visual_witness_auth_profile_upsert'] }, 400);"}]},{"path":"src/pages/admin/AdminProfile.tsx","edits":[{"new_content":"import { Bell, ChevronRight, ImageIcon, Inbox, Key, Loader2, PlugZap, Save, Settings2, ShieldCheck, Trash2, UserCircle, UsersRound } from 'lucide-react';","old_content":"import { Bell, ChevronRight, ImageIcon, Inbox, Key, Loader2, PlugZap, Save, Settings2, ShieldCheck, UserCircle, UsersRound } from 'lucide-react';"},{"new_content":"","old_content":"import { TenantBrandMediaSettings } from '@/components/platform/TenantBrandMediaSettings';\n"},{"new_content":"import { Label } from '@/components/ui/label';\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/components/ui/select';\nimport { Slider } from '@/components/ui/slider';","old_content":"import { Label } from '@/components/ui/label';"},{"new_content":"function resolveSection(value: string | null): AccountSection {\n  return value === 'settings' || value === 'notifications' ? value : 'profile';\n}\n\ntype GodModeBrandingAssetKind = 'logo' | 'background' | 'hero';\n\nfunction GodModeBrandingEditor() {\n  const { branding, loading, saveBranding, uploadBrandingAsset, removeBrandingAsset } = useGodModeBranding();\n  const [busy, setBusy] = useState<GodModeBrandingAssetKind | 'framing' | null>(null);\n  const [fit, setFit] = useState<'cover' | 'contain' | 'auto'>(branding.backgroundFit);\n  const [position, setPosition] = useState(branding.backgroundPosition);\n  const [zoom, setZoom] = useState(Math.round(branding.backgroundZoom * 100));\n  const [overlay, setOverlay] = useState(Math.round(branding.backgroundOverlay * 100));\n\n  useEffect(() => {\n    setFit(branding.backgroundFit);\n    setPosition(branding.backgroundPosition);\n    setZoom(Math.round(branding.backgroundZoom * 100));\n    setOverlay(Math.round(branding.backgroundOverlay * 100));\n  }, [branding.backgroundFit, branding.backgroundOverlay, branding.backgroundPosition, branding.backgroundZoom]);\n\n  const upload = async (kind: GodModeBrandingAssetKind, file?: File) => {\n    if (!file) return;\n    setBusy(kind);\n    try {\n      await uploadBrandingAsset(kind, file);\n      notify.success(`${kind === 'logo' ? 'Logo' : kind === 'background' ? 'Workspace background' : 'Hero image'} updated`);\n    } catch (error: any) {\n      notify.error('update GodMode branding', error);\n    } finally {\n      setBusy(null);\n    }\n  };\n\n  const remove = async (kind: GodModeBrandingAssetKind) => {\n    setBusy(kind);\n    try {\n      await removeBrandingAsset(kind);\n      notify.success('Brand asset removed');\n    } catch (error: any) {\n      notify.error('remove GodMode branding', error);\n    } finally {\n      setBusy(null);\n    }\n  };\n\n  const saveFraming = async () => {\n    setBusy('framing');\n    try {\n      await saveBranding({\n        backgroundFit: fit,\n        backgroundPosition: position,\n        backgroundZoom: zoom / 100,\n        backgroundOverlay: overlay / 100,\n      });\n      notify.success('GodMode background framing saved');\n    } catch (error: any) {\n      notify.error('save GodMode framing', error);\n    } finally {\n      setBusy(null);\n    }\n  };\n\n  const media = [\n    { kind: 'logo' as const, label: 'Logo', url: branding.logoUrl, accept: 'image/*' },\n    { kind: 'background' as const, label: 'Workspace background', url: branding.backgroundUrl, accept: 'image/*,video/mp4,video/webm' },\n    { kind: 'hero' as const, label: 'Hero image', url: branding.heroUrl, accept: 'image/*,video/mp4,video/webm' },\n  ];\n\n  if (loading) return <div className=\"flex min-h-48 items-center justify-center\"><Loader2 className=\"h-5 w-5 animate-spin text-cyan-300\" /></div>;\n\n  return (\n    <div className=\"space-y-5\" data-godmode-platform-branding-editor=\"true\">\n      <div className=\"grid gap-4 lg:grid-cols-3\">\n        {media.map(({ kind, label, url, accept }) => {\n          const video = Boolean(url && /\\.(mp4|webm)(?:$|\\?)/i.test(url));\n          return (\n            <div key={kind} className=\"overflow-hidden rounded-2xl border border-white/10 bg-[#0a1120]/70\">\n              <div className=\"aspect-[16/9] bg-black/50\">\n                {url ? (video ? <video src={url} className=\"h-full w-full object-cover\" muted playsInline /> : <img src={url} alt={label} className=\"h-full w-full object-contain\" referrerPolicy=\"no-referrer\" />) : <div className=\"grid h-full place-items-center text-sm text-slate-500\">No {label.toLowerCase()} selected</div>}\n              </div>\n              <div className=\"space-y-3 p-4\">\n                <div><div className=\"font-semibold text-white\">{label}</div><div className=\"mt-1 truncate text-xs text-slate-500\">{url || 'Not set'}</div></div>\n                <input\n                  aria-label={`Replace ${label}`}\n                  type=\"file\"\n                  accept={accept}\n                  disabled={busy !== null}\n                  className=\"block w-full text-xs text-slate-400 file:mr-3 file:rounded-lg file:border-0 file:bg-cyan-300/10 file:px-3 file:py-2 file:text-xs file:font-semibold file:text-cyan-100\"\n                  onChange={(event) => {\n                    const file = event.currentTarget.files?.[0];\n                    void upload(kind, file);\n                    event.currentTarget.value = '';\n                  }}\n                />\n                {url ? <Button type=\"button\" variant=\"outline\" size=\"sm\" disabled={busy !== null} onClick={() => void remove(kind)}><Trash2 className=\"mr-2 h-3.5 w-3.5\" />Remove</Button> : null}\n              </div>\n            </div>\n          );\n        })}\n      </div>\n      <Card className=\"border-white/10 bg-black/10\">\n        <CardHeader><CardTitle className=\"text-base\">Workspace background framing</CardTitle><CardDescription>These controls apply directly to the GodMode /admin background.</CardDescription></CardHeader>\n        <CardContent className=\"grid gap-5 md:grid-cols-2\">\n          <div className=\"space-y-2\">\n            <Label>Fit</Label>\n            <Select value={fit} onValueChange={(value) => setFit(value as typeof fit)}><SelectTrigger><SelectValue /></SelectTrigger><SelectContent><SelectItem value=\"cover\">Cover</SelectItem><SelectItem value=\"contain\">Contain</SelectItem><SelectItem value=\"auto\">Natural size</SelectItem></SelectContent></Select>\n          </div>\n          <div className=\"space-y-2\">\n            <Label>Position</Label>\n            <Select value={position} onValueChange={setPosition}><SelectTrigger><SelectValue /></SelectTrigger><SelectContent>{['center','top','bottom','left','right'].map((value) => <SelectItem key={value} value={value}>{value}</SelectItem>)}</SelectContent></Select>\n          </div>\n          <div className=\"space-y-2\"><div className=\"flex justify-between\"><Label>Zoom</Label><span className=\"text-xs text-slate-500\">{zoom}%</span></div><Slider value={[zoom]} min={50} max={200} step={1} onValueChange={([value]) => setZoom(value)} /></div>\n          <div className=\"space-y-2\"><div className=\"flex justify-between\"><Label>Dark overlay</Label><span className=\"text-xs text-slate-500\">{overlay}%</span></div><Slider value={[overlay]} min={0} max={90} step={1} onValueChange={([value]) => setOverlay(value)} /></div>\n          <div className=\"md:col-span-2\"><Button type=\"button\" onClick={() => void saveFraming()} disabled={busy !== null}>{busy === 'framing' ? <Loader2 className=\"mr-2 h-4 w-4 animate-spin\" /> : <Save className=\"mr-2 h-4 w-4\" />}Save framing</Button></div>\n        </CardContent>\n      </Card>\n    </div>\n  );\n}\n\nexport default function AdminProfile() {","old_content":"function resolveSection(value: string | null): AccountSection {\n  return value === 'settings' || value === 'notifications' ? value : 'profile';\n}\n\nexport default function AdminProfile() {"},{"new_content":"  const { branding: godModeBranding } = useGodModeBranding();","old_content":"  const { tenant: ownerWorkspaceTenant, branding: godModeBranding, refreshMemberships } = useGodModeBranding();"},{"new_content":"          <CardContent className=\"text-sm text-slate-400\">Personal profile data stays on the owner account. GodMode branding is stored in a platform-owned record and platform-godmode media bucket; customer tenants are never used as a backing store.</CardContent>","old_content":"          <CardContent className=\"text-sm text-slate-400\">Personal profile data stays on the owner account. Platform appearance media can use only the canonical KNOCKLAUNCH owner workspace backing record; arbitrary customer tenants are never substituted.</CardContent>"},{"new_content":"          <GodModeBrandingEditor />","old_content":"          {ownerWorkspaceTenant ? <TenantBrandMediaSettings tenantOverride={ownerWorkspaceTenant} onTenantRefresh={refreshMemberships} /> : <p className=\"text-sm text-slate-400\">Platform media workspace is not available yet. GodMode will not substitute an active customer tenant.</p>}"},{"new_content":"          <GodModeBrandingEditor />","old_content":"          {ownerWorkspaceTenant ? (\n            <TenantBrandMediaSettings tenantOverride={ownerWorkspaceTenant} onTenantRefresh={refreshMemberships} />\n          ) : (\n            <div className=\"rounded-2xl border border-amber-300/15 bg-amber-300/[0.04] p-4\">\n              <div className=\"font-semibold text-white\">Platform media workspace needs bootstrap</div>\n              <p className=\"mt-1 text-sm text-slate-400\">The canonical KNOCKLAUNCH workspace is not currently present in your membership context, so GodMode will not guess a customer tenant for platform media.</p>\n              <Button asChild variant=\"outline\" className=\"mt-3 gap-2\"><Link to=\"/admin/media-library\"><ImageIcon className=\"h-4 w-4\" />Open Media Library</Link></Button>\n            </div>\n          )}"}]}],"commit_message":"feat(godmode): own platform branding","implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"35ca0e4b-9969-4ba1-b45c-212469afd471","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/hooks/useGodModeBranding.ts","src/pages/admin/AdminProfile.tsx","supabase/functions/god-mode-command/index.ts","supabase/migrations/20260928162000_godmode_platform_branding.sql"],"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":"c268ba4e4847769be84f839151e015f4c4d3bfc67e73571f630566ecdc3ea535","replayCount":0,"serializedBytes":25729},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T16:34:59.269561+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:35ca0e4b-9969-4ba1-b45c-212469afd471:repository-mutation-intent:c268ba4e4847769be84f839151e015f4c4d3bfc67e73571f630566ecdc3ea535:0","mission_step_id":"c4b31d20-7293-4c5c-8bad-ec70535e95ef","command_center_event_id":"35ca0e4b-9969-4ba1-b45c-212469afd471"},{"id":"5c80b87c-acc2-494e-ab43-6dcee80c4498","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-393122fe4c1e","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":1680,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-09-28T02:04:32.630Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.300-queue-self-heal","prNumber":null,"terminal":false,"missionId":"393122fe-4c1e-4a6c-9a80-920d4755aa89","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1334,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":333,"providerAuthMs":0,"ledgerPrepareMs":333,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":333,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":333,"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":"393122fe-4c1e-4a6c-9a80-920d4755aa89"},"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":4002,"likelyAffectedFiles":["config/paul-owner-profile.json"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T02:05:45.170816+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:393122fe-4c1e-4a6c-9a80-920d4755aa89:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"96428b5f-cf18-4c6c-b017-675a23efeb72","command_center_event_id":"393122fe-4c1e-4a6c-9a80-920d4755aa89"},{"id":"5c825b41-52f8-4611-88c4-6b1c25651d4b","source":"cc-execution","status":"verified","payload":{"ownerWaitSloMs":{"merge_to_live_ms":241720,"owner_action_to_pr_ms":469227,"green_gate_to_merge_ms":null,"owner_action_to_useful_response_ms":462882},"ownerWaitLiveAt":"2026-09-24T18:44:37.720Z"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T18:44:38.051284+00:00","proof_gate":"owner_wait_live_milestone_recorded","source_sha":null,"external_id":null,"receipt_type":"owner_wait_live_milestone","idempotency_key":"mission:c7277832-d445-4a10-bf39-923f418aee05:owner-wait-live","mission_step_id":"edbc5d85-8ff4-4faf-9070-63be166de1c9","command_center_event_id":"c7277832-d445-4a10-bf39-923f418aee05"},{"id":"5c8336b7-5402-4f0c-89c5-d06a8fe25495","source":"forgejo","status":"retryable","payload":{"branch":"ai/objective-first-repair-6541496f0290","merged":false,"prNumber":3314,"remediationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-20T23:32:16.287189+00:00","proof_gate":"forgejo_closed_pr_is_authoritative_source_lineage","source_sha":null,"external_id":"3314","receipt_type":"source_lineage_pr_closed_without_merge","idempotency_key":"mission:6541496f-0290-4000-bead-24ed8ad80cc0:closed-pr:3314:unmerged","mission_step_id":"760919a3-5403-41c7-8b92-b136e412c4f0","command_center_event_id":"6541496f-0290-4000-bead-24ed8ad80cc0"},{"id":"5c835000-9485-467f-8b17-9745952209eb","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":"Preserve failed and incomplete PCG mobile intake draft pairs after batch upload; remove only successfully stored pairs so uploads do not appear to vanish and retries do not require reselecting photos.","proofKinds":["repository"],"adaptiveDomains":["intent","tenant_route_role_viewport","urgency_deadline","dependency_scope","risk_blast_radius","runner_capacity","queue_active_work","provider_failure_circuits","qa_scope","retry_recovery","release_ownership","proof_depth"],"expansionPolicy":"later_stages_may_only_narrow_or_expand_with_machine_readable_dependency_evidence","dynamicStatePolicy":"live_state_may_change_execution_tactics_but_never_owner_outcome_or_explicit_constraints","dynamicRefreshStages":["preflight","gate","release","runtime_proof"],"adaptiveCompilerVersion":"paul-adaptive-objective-v1","inheritedContextBlockingAuthority":false},"rawUtterance":"Preserve failed and incomplete PCG mobile intake draft pairs after batch upload; remove only successfully stored pairs so uploads do not appear to vanish and retries do not require reselecting photos.","wordingChanged":false,"canonicalIntent":"Preserve failed and incomplete PCG mobile intake draft pairs after batch upload; remove only successfully stored pairs so uploads do not appear to vanish and retries do not require reselecting photos.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"Preserve failed and incomplete PCG mobile intake draft pairs after batch upload; remove only successfully stored pairs so uploads do not appear to vanish and retries do not require reselecting photos.","provenance":{"reason":null,"source":"current_request_inference","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]}],"objective":"Preserve failed and incomplete PCG mobile intake draft pairs after batch upload; remove only successfully stored pairs so uploads do not appear to vanish and retries do not require reselecting photos.","constraints":[{"id":"capability-completeness","statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","provenance":{"reason":null,"source":"heuristic_current_objective","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]},{"id":"atomic-capability-lifecycle","statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","provenance":{"reason":null,"source":"heuristic_current_objective","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]}],"adaptivePolicy":{"risk":{"tier":"standard","blastRadius":"scoped"},"proof":{"requiredKinds":["repository"],"visualProofScope":"targeted","interactionRequired":true,"runtimeProofRequired":true},"scope":{"route":null,"roleRef":null,"tenantRef":null,"sourceTargets":[]},"dynamic":{"variables":["main_and_runtime_lineage","runner_capacity","queue_and_active_work","provider_health","failure_clusters_and_circuits","release_target_state","current_pr_and_gate_state"],"refreshStages":["preflight","gate","release","runtime_proof"],"refreshMayChange":["runner_selection","parallelism","retry_path","qa_depth","release_recovery","proof_timing"],"refreshMayNotChange":["owner_outcome","explicit_no_go_constraints","tenant_identity","credential_boundary","hard_safety_invariants"]},"urgency":{"priority":"normal","deadlineSignals":[],"deadlineExplicit":false},"version":"paul-adaptive-objective-v1","recovery":{"transient":"one_bounded_retry_then_alternate_eligible_pool_or_provider_path","deterministic":"repair_source_or_contract_do_not_blind_rerun","mutationDependencyFailure":"prerequisite_required_or_targeted_recovery_never_invent","readOnlyDependencyFailure":"degrade_to_available_grounded_context_and_keep_conversation_alive"},"unknowns":["tenant","route","source_targets_until_repository_resolution","release_targets_until_changed_paths","deadline"],"authority":{"outcome":"current_explicit_owner_request","tactics":"live_prime_truth","unknownPolicy":"preserve_unknown_never_invent","historicalContext":"advisory_unless_current_request_confirms"},"execution":{"mutation":true,"concurrency":"parallel_non_overlapping_work","scopePolicy":"start_bounded_expand_only_with_machine_readable_dependency_evidence","staleStatePolicy":"refresh_dynamic_state_before_irreversible_or_acceptance_stage","conversationIsolation":true,"ownerOutcomeMayBeChangedByAdaptation":false},"experience":{"visual":true,"viewports":["mobile"],"behavioral":true,"visualProofScope":"targeted"},"dependencies":{"requiredDomains":["frontend"],"capabilityDomains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"releaseTargetHints":[]},"inputSignals":{"rawUtterance":"Preserve failed and incomplete PCG mobile intake draft pairs after batch upload; remove only successfully stored pairs so uploads do not appear to vanish and retries do not require reselecting photos.","canonicalIntent":"Preserve failed and incomplete PCG mobile intake draft pairs after batch upload; remove only successfully stored pairs so uploads do not appear to vanish and retries do not require reselecting photos.","conversationContextPresent":false}},"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-production","kind":"repository","claim":"Preserve failed and incomplete PCG mobile intake draft pairs after batch upload; remove only successfully stored pairs so uploads do not appear to vanish and retries do not require reselecting photos.","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":"Preserve-failed-and-incomplete-PCG-mobile-intake-draft-pairs-after-batch-upload-remove-only-successf","driftPolicy":"exact_manifest_source_release_dependency_or_runtime_identity_mismatch_is_nonterminal","proofLedger":"command_center_mission_ledger_request_contract_hash_bound","schemaVersion":1,"releaseTargets":[],"lifecycleStates":["prepare","deploy","verify","activate"],"activationPolicy":"dependencies_and_claim_matched_live_proof_before_exposure","dependencyDomains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_required_not_runtime_failures","compatibilityWindow":["N","N-1"],"failureIsolationPolicy":"quarantine_or_rollback_affected_capability_only_preserve_unrelated_working_capabilities","canaryProofConditionIds":["proof-production"]},"capabilityCompleteness":{"domains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"required":true,"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_states_not_runtime_failures"}},"requestContractHash":"4b56dc3c0a5ad7d0a6725db2107a68f8c43e79d463807cf10ca66e173daf58e1","requestContractRevision":2,"previousRequestContractHash":"5e28303b3f3207cecf8c406ca67daea2f6490cd014b8d4132908c5653dfe9b3e"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T02:44:13.532823+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:6590fecd-51d8-4943-abce-8bbb92665bd1:request-contract:4b56dc3c0a5ad7d0a6725db2107a68f8c43e79d463807cf10ca66e173daf58e1","mission_step_id":"57eda1e6-eba0-4596-bb02-6c4e15b1f735","command_center_event_id":"6590fecd-51d8-4943-abce-8bbb92665bd1"},{"id":"5c839c2b-0eec-4413-af1c-f9293b04730c","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Resume the same La Vista photo incident mission after retryable Forgejo transport timeout. Reconcile whether the exact branch/PR was already written before the timeout; do not create a duplicate. The authorized repair is single-file only: supabase/functions/tenant-photo-studio/index.ts restores CLOUDFLARE_VISTADELMAR_API_TOKEN as an S3 credential source by verifying token id and deriving SHA-256(token value) as the S3 secret, while preferring explicit access-key credentials when present; La Vista R2 read failures must throw rather than return 200 SVG placeholders. No media objects/settings or unrelated source may change. Continue through gate, squash merge, tenant-photo-studio-only deploy, real gallery/lead/asset content-type proof, and dashboard visual proof.","wordingChanged":false,"canonicalIntent":"Resume the same La Vista photo incident mission after retryable Forgejo transport timeout. Reconcile whether the exact branch/PR was already written before the timeout; do not create a duplicate. The authorized repair is single-file only: supabase/functions/tenant-photo-studio/index.ts restores CLOUDFLARE_VISTADELMAR_API_TOKEN as an S3 credential source by verifying token id and deriving SHA-256(token value) as the S3 secret, while preferring explicit access-key credentials when present; La Vista R2 read failures must throw rather than return 200 SVG placeholders. No media objects/settings or unrelated source may change. Continue through gate, squash merge, tenant-photo-studio-only deploy, real gallery/lead/asset content-type proof, and dashboard visual proof.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"photos-restored-now","statement":"The View and The Nest existing R2 photos, leads, and individual gallery assets are served again in production.","proofConditionIds":["proof-edge-live","proof-galleries","proof-real-images","proof-dashboard"]},{"id":"false-green-eliminated","statement":"La Vista R2 failures can no longer be hidden behind successful SVG placeholder responses.","proofConditionIds":["proof-source","proof-real-images"]}],"objective":"Resume the same La Vista photo incident mission after retryable Forgejo transport timeout. Reconcile whether the exact branch/PR was already written before the timeout; do not create a duplicate. The authorized repair is single-file only: supabase/functions/tenant-photo-studio/index.ts restores CLOUDFLARE_VISTADELMAR_API_TOKEN as an S3 credential source by verifying token id and deriving SHA-256(token value) as the S3 secret, while preferring explicit access-key credentials when present; La Vista R2 read failures must throw rather than return 200 SVG placeholders. No media objects/settings or unrelated source may change. Continue through gate, squash merge, tenant-photo-studio-only deploy, real gallery/lead/asset content-type proof, and dashboard visual proof.","constraints":[{"id":"single-file","statement":"Only tenant-photo-studio source changes in this incident repair.","proofConditionIds":["proof-source"]},{"id":"no-media-mutation","statement":"No R2 objects, gallery keys, lead keys, tenant settings, or media rows are mutated.","proofConditionIds":["proof-source","proof-edge-live"]},{"id":"edge-only-release","statement":"Only tenant-photo-studio is deployed.","proofConditionIds":["proof-edge-live"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-source","kind":"runtime","claim":"Exact merged diff is limited to supabase/functions/tenant-photo-studio/index.ts and contains token-derived S3 plus fail-loud La Vista behavior.","route":"/la-vista-del-mar/dashboard","required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"proof-edge-live","kind":"runtime","claim":"Production tenant-photo-studio runs the exact merged repair version and no unrelated target is released.","route":"/la-vista-del-mar/dashboard","required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"proof-galleries","kind":"runtime","claim":"The View and The Nest gallery endpoints each return non-empty real R2 image listings.","route":"/la-vista-del-mar/dashboard","required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"proof-real-images","kind":"runtime","claim":"Both lead endpoints and representative individual assets return real image content types, never image/svg+xml placeholders.","route":"/la-vista-del-mar/dashboard","required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"proof-dashboard","kind":"visual","claim":"The live La Vista dashboard visibly renders real The View and The Nest property photos on desktop and mobile.","route":"/la-vista-del-mar/dashboard","required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestContractHash":"b06396d53198ff8b71a62e472a1f19b7543f7cd5254015db773ef55c59d187d5","requestContractRevision":3,"previousRequestContractHash":"c456a41ec2ba5dfc1c35e33dedc18a09348288ec48725c6b214d4162d5b3c008"},"tenant_id":"71b397ba-b9ad-496b-914c-985d97dbb12e","created_at":"2026-08-28T04:01:29.042769+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:6e5cf2a3-fcc1-4ee6-aecc-4c3bf43ddd2b:request-contract-revision:3:b06396d53198ff8b71a62e472a1f19b7543f7cd5254015db773ef55c59d187d5","mission_step_id":"19fc6c3a-a963-43e8-8f7b-c3ed953be59a","command_center_event_id":"6e5cf2a3-fcc1-4ee6-aecc-4c3bf43ddd2b"},{"id":"5c85f13f-64cb-4a15-bae0-2a1a5b6a9289","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-3ce83c2e852f","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.220-terminal-step-projection","prNumber":null,"terminal":false,"missionId":"3ce83c2e-852f-4874-ad19-228d090c3b69","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":13,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":308,"providerAuthMs":0,"ledgerPrepareMs":308,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":308,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":308,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Inspect the bounded repository paths, synthesize exact files or anchored_edits, and call /mission/execute again automatically with this same missionId without another owner prompt or workflow switch.","receiptRef":{"mode":"full","missionId":"3ce83c2e-852f-4874-ad19-228d090c3b69"},"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":4759,"likelyAffectedFiles":["src/__tests__/contracts/platform-messages-mobile-navigation.contract.test.ts","config/capabilities/platform-messages-v1.json","src/PrivateAppShell.tsx"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T03:16:24.771998+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:3ce83c2e-852f-4874-ad19-228d090c3b69:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"64df0ed4-9184-495a-b39e-acd28ec05c5b","command_center_event_id":"3ce83c2e-852f-4874-ad19-228d090c3b69"},{"id":"5c877210-3c82-4884-af2d-f9d9099cbd20","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Unfreeze the control plane and continue the same mission/PR #1693. Bootstrap the new Gate completion-intent architecture against the still-live 1.58.42 runtime by making only the final 'Notify Command Center Gate completion intent' step continue-on-error: true. Preserve the script's fail-closed non-2xx exit so transport failure is visible, but do not let a transport/bootstrap failure invalidate an otherwise green Gate because the minute recovery supervisor is the durable fallback. Do not restore the removed notifier job and do not change the new handler. Re-run canonical Gate; once green, continue merge/release 1.58.43, then perform the required post-deploy proof where the intent endpoint is live and must auto-progress successfully without the second job, then refreeze.","wordingChanged":false,"canonicalIntent":"Unfreeze the control plane and continue the same mission/PR #1693. Bootstrap the new Gate completion-intent architecture against the still-live 1.58.42 runtime by making only the final 'Notify Command Center Gate completion intent' step continue-on-error: true. Preserve the script's fail-closed non-2xx exit so transport failure is visible, but do not let a transport/bootstrap failure invalidate an otherwise green Gate because the minute recovery supervisor is the durable fallback. Do not restore the removed notifier job and do not change the new handler. Re-run canonical Gate; once green, continue merge/release 1.58.43, then perform the required post-deploy proof where the intent endpoint is live and must auto-progress successfully without the second job, then refreeze.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"bootstrap","statement":"A pre-feature runtime 403 from the new intent transport remains visible but no longer invalidates an otherwise green Gate.","proofConditionIds":["repo","gate"]},{"id":"architecture","statement":"The second notifier job stays removed and the 1.58.43 handler remains the independent green-verification owner.","proofConditionIds":["repo","runtime"]},{"id":"proof","statement":"Post-deploy proof against live 1.58.43 must show successful intent-driven auto-progression without notifier job.","proofConditionIds":["benchmark"]},{"id":"refreeze","statement":"Control plane refrozen after proof.","proofConditionIds":["refrozen"]}],"objective":"Unfreeze the control plane and continue the same mission/PR #1693. Bootstrap the new Gate completion-intent architecture against the still-live 1.58.42 runtime by making only the final 'Notify Command Center Gate completion intent' step continue-on-error: true. Preserve the script's fail-closed non-2xx exit so transport failure is visible, but do not let a transport/bootstrap failure invalidate an otherwise green Gate because the minute recovery supervisor is the durable fallback. Do not restore the removed notifier job and do not change the new handler. Re-run canonical Gate; once green, continue merge/release 1.58.43, then perform the required post-deploy proof where the intent endpoint is live and must auto-progress successfully without the second job, then refreeze.","constraints":[{"id":"safety","statement":"The intent script still exits nonzero on non-2xx, recovery supervisor remains fallback, and no running Gate self-certifies green.","proofConditionIds":["repo","gate","runtime"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"repo","kind":"repository","claim":"Only continue-on-error is added to the completion-intent step; second notifier job remains absent.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"gate","kind":"release","claim":"Canonical Gate passes on PR #1693 despite pre-feature runtime rejecting the new intent transport.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"runtime","kind":"runtime","claim":"cc-execution 1.58.43 is live on exact merged SHA.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":["ccExecution"]},{"id":"benchmark","kind":"release","claim":"Post-deploy proof PR shows live intent accepted and independent green verification auto-progresses with no second notifier job and zero runtime targets.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"refrozen","kind":"runtime","claim":"Control plane refrozen after proof.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestContractHash":"589557aecba1d5e4f4d1e6f5a6950c056da077da9c68fd38cfe2b8db430f69ce","requestContractRevision":5,"previousRequestContractHash":"caa569ac850a89debff910192835324817945fc9730928cf3610c1f485f5a458"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T13:14:02.779183+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:cc66771b-8e30-4451-a87b-29b6419f9c8f:request-contract:589557aecba1d5e4f4d1e6f5a6950c056da077da9c68fd38cfe2b8db430f69ce","mission_step_id":"40447ab2-7165-44fd-a797-ee3b13d424c4","command_center_event_id":"cc66771b-8e30-4451-a87b-29b6419f9c8f"},{"id":"5c8d2a58-12e5-4050-95e1-99cd119cb9c8","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/tenant-loader-canonical-media-20260902","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":4348,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.4-refresh-fastpath","prNumber":null,"terminal":false,"missionId":"b3bb18c3-e46e-40cb-a76d-c2f34e726e9b","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"handlerMs":10,"missionSetupMs":1537},"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":"b3bb18c3-e46e-40cb-a76d-c2f34e726e9b"},"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":3939,"likelyAffectedFiles":["src/lib/tenantBackground.ts","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-09-02T05:04:34.498351+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:b3bb18c3-e46e-40cb-a76d-c2f34e726e9b:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"44e69fe1-e7eb-45a7-8c6d-307e75f00faf","command_center_event_id":"b3bb18c3-e46e-40cb-a76d-c2f34e726e9b"},{"id":"5c8d6e32-3895-4d56-849e-2945e9abf0ce","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-898167bcbe03","prNumber":4520,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"67c764a7953a1224aa13b63b311a6b63a494fb54","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T19:34:53.285284+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"67c764a7953a1224aa13b63b311a6b63a494fb54","external_id":"4520","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:898167bc-be03-48c1-839c-aeda4a18fb5f:merged-pr:4520:67c764a7953a1224aa13b63b311a6b63a494fb54","mission_step_id":"18a68c0d-7a12-4d7d-bee8-af4cab6ef2fe","command_center_event_id":"898167bc-be03-48c1-839c-aeda4a18fb5f"},{"id":"5c8eea6a-11b2-4df8-a19d-f07040206ba0","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"72b118b5b8a78b517230f908d4ecc1e2306e1122","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":true,"statement":"A starved waiting Gate with provably idle heavy capacity is automatically cancelled once, then handed to the existing adaptive transient rerun path for exact-head runner-pool switching.","proofConditionIds":["proof-live"]}],"satisfied":true,"constraints":[{"id":"exact-head","satisfied":true,"statement":"Never mutate the PR source head as part of starvation recovery.","proofConditionIds":["proof-live"]},{"id":"bounded","satisfied":true,"statement":"At most one starvation cancellation is requested per exact run/head before existing transient retry budgeting takes over.","proofConditionIds":["proof-live"]},{"id":"deterministic-failures","satisfied":true,"statement":"Deterministic source failures remain quarantined until source changes.","proofConditionIds":["proof-live"]},{"id":"reuse-existing","satisfied":true,"statement":"Reuse existing transient Gate rerun and adaptive runner-pool switching; do not create a second retry system.","proofConditionIds":["proof-live"]},{"id":"capability-completeness","satisfied":true,"statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["proof-live"]},{"id":"atomic-capability-lifecycle","satisfied":true,"statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["proof-live"]}],"contractHash":"bf1c6aa90e858ce06ad96b0b427a50a3e0395fb5e176ab016643467f8840a869","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"proof-live","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"ccExecution":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["ccExecution"],"allowedReleaseTargets":[],"requiredReleaseTargets":["ccExecution"],"migrationReleaseVerified":null,"releaseRequestContractHash":"bf1c6aa90e858ce06ad96b0b427a50a3e0395fb5e176ab016643467f8840a869"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["ccExecution"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T03:46:42.774559+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"72b118b5b8a78b517230f908d4ecc1e2306e1122","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:3d40fd25-fdd5-44c9-b33b-0d60abc2ab6a:request-contract:bf1c6aa90e858ce06ad96b0b427a50a3e0395fb5e176ab016643467f8840a869:72b118b5b8a78b517230f908d4ecc1e2306e1122:verified:","mission_step_id":"967dc913-9489-4dde-a7fd-041ac02f12f7","command_center_event_id":"3d40fd25-fdd5-44c9-b33b-0d60abc2ab6a"},{"id":"5c903605-9f2e-4111-905e-64479582bf89","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":"70f9220b843127b6bd36377cb97b8fa0a48a9fde","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live","supabase-migrations/live"],"sourceSha":"d47db929cc206c5c1f426b615d735c8b0103fcd5","releaseState":"pending","sourceInMain":true,"compareStatus":"known_exact_protected_main_push_history","releaseTargets":{"frontend":true,"migrations":true,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"pending","migrations":"success"},"requestContractHash":"cb0fe70c01e0f903a986168f2fa70cf3496c8d63f8a7589f7647c3365ed21d3a","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/14417","runId":14417,"status":"running","sourceSha":"d47db929cc206c5c1f426b615d735c8b0103fcd5","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"frontend":"pending","migrations":"success"},"targetJobCount":7,"observedTargetStates":{"frontend":"pending","migrations":"success"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T16:52:45.766161+00:00","proof_gate":"canonical_release_pending","source_sha":"d47db929cc206c5c1f426b615d735c8b0103fcd5","external_id":"forgejo-main-d47db929cc20","receipt_type":"canonical_release_status","idempotency_key":"mission:2d64e483-1331-401c-95c7-ef92a548556b:forgejo-release-status:d47db929cc206c5c1f426b615d735c8b0103fcd5:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending|supabase-migrations/live=success","mission_step_id":"a4540ba5-583d-45e6-a8e7-de2af41a6090","command_center_event_id":"2d64e483-1331-401c-95c7-ef92a548556b"},{"id":"5c91222b-03e4-4ff3-877d-a257a6f8f565","source":"cc-execution","status":"blocked","payload":{"reason":"compiler_recovery_diff_window_limit","failureClass":null,"sourceTargets":["src/pages/card-grading/PCGSlabUpload.tsx"],"dependencyReason":null,"dependencyStatus":null,"providerAttempts":[],"automaticExecutorAssigned":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-14T22:32:35.092621+00:00","proof_gate":"bounded_implementation_checkpoint_persisted","source_sha":"2c13848a9bfa2e18561605edb46608b5f7e6455f","external_id":null,"receipt_type":"bounded_implementation_continuation","idempotency_key":"mission:42471fda-959c-449c-bf54-28af7ea7b51e:compiler:2c13848a9bfa2e18561605edb46608b5f7e6455f:src/pages/card-grading/PCGSlabUpload.tsx","mission_step_id":"38335a35-7ffb-43e5-a850-4968c1f325bd","command_center_event_id":"42471fda-959c-449c-bf54-28af7ea7b51e"},{"id":"5c918292-e43b-4caf-8aa9-4b3ba1bf772c","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/test/release-orchestration-invariants.test.js"],"reason":"Align one stale ordering invariant with the atomic branch+commit safety proof already implemented; runtime behavior remains unchanged.","baseSha":"9b309523b596b77af5765e2dbec1681bc7592d1f","issuedAt":1788524629915,"expiresAt":1788524809915,"missionId":"445c8fa0-9216-46ef-b17b-b6e94a9c4e00","authorizationId":"9b4c4280-771c-4c49-9330-44c054a045fd","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T12:23:50.399507+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:9b4c4280-771c-4c49-9330-44c054a045fd","mission_step_id":"932d8897-1850-4221-8554-986a2e2c28ea","command_center_event_id":"445c8fa0-9216-46ef-b17b-b6e94a9c4e00"},{"id":"5c925d2d-4b10-48ff-82f2-075916225131","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-0a680ea028cd","prNumber":3598,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"73e6e462c7a9cba64327b0c32c4926a3176a30da","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T05:47:17.916107+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"73e6e462c7a9cba64327b0c32c4926a3176a30da","external_id":"3598","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:0a680ea0-28cd-4751-b264-c7ac0f65951b:merged-pr:3598:73e6e462c7a9cba64327b0c32c4926a3176a30da","mission_step_id":"34188583-ba2e-4984-99a5-9e8470d7138a","command_center_event_id":"0a680ea0-28cd-4751-b264-c7ac0f65951b"},{"id":"5c92bb95-a26e-40bf-a8f6-0ea7d5ce80ca","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"objective_received","branch":null,"reason":"expected_head_sha_mismatch","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":null,"recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.90-owner-contract-autocompile","prNumber":null,"terminal":false,"missionId":"aa674b17-32e2-4736-9d5d-c1ba2f398c34","operation":"ship_and_prove","proofGate":"ship_and_prove_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4086,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":5530,"providerAuthMs":0,"ledgerPrepareMs":5530,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":5530,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":5530,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"aa674b17-32e2-4736-9d5d-c1ba2f398c34"},"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":972,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T13:08:13.496738+00:00","proof_gate":"ship_and_prove_blocked","source_sha":null,"external_id":null,"receipt_type":"ship_and_prove","idempotency_key":"mission:aa674b17-32e2-4736-9d5d-c1ba2f398c34:ship_and_prove:ship_and_prove_blocked:no-source:no-run","mission_step_id":"ad45cbe1-06fd-4d65-b752-9d3f61b8215a","command_center_event_id":"aa674b17-32e2-4736-9d5d-c1ba2f398c34"},{"id":"5c92c193-9ac8-4dca-9127-b92b897693cf","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/vista-first-party-reservations-safe-20260828","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":17900,"releaseCount":0,"toolCallCount":7,"repeatedCallCount":3,"ownerInterruptionCount":0},"version":"1.55.0-godmode-restore-points","prNumber":947,"terminal":false,"missionId":"e71af586-5b6d-47bf-9f71-e29b258defba","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"handlerMs":258,"prReadinessMs":249,"approvedPlanMs":0,"missionSetupMs":638,"shipAndProveMs":0},"nextAction":"Reconcile this same mission and pull request after the exact-head KnockLaunch Gate changes state.","receiptRef":{"mode":"full","missionId":"e71af586-5b6d-47bf-9f71-e29b258defba"},"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":3938,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"71b397ba-b9ad-496b-914c-985d97dbb12e","created_at":"2026-08-28T18:39:26.89526+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"947","receipt_type":"execute_mission","idempotency_key":"mission:e71af586-5b6d-47bf-9f71-e29b258defba:execute_mission:repair_mission_waiting_for_gate:current-generation","mission_step_id":"6172d48b-f0f1-4f73-9996-36b5b473bd05","command_center_event_id":"e71af586-5b6d-47bf-9f71-e29b258defba"},{"id":"5c943231-3eea-4206-80ef-47f2c3802ea2","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-d89668416e3c","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":94165,"releaseCount":0,"toolCallCount":19,"repeatedCallCount":13,"executorlessWaitMs":156543,"firstUsefulResultAt":"2026-10-05T17:54:41.606Z","recoveryAttemptCount":15,"ownerInterruptionCount":0},"version":null,"prNumber":5013,"terminal":false,"missionId":"d8966841-6e3c-4dcb-9e5f-77eebeb047d4","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":"d8966841-6e3c-4dcb-9e5f-77eebeb047d4"},"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-05T17:57:18.222796+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"5013","receipt_type":"automatic_mission_resume","idempotency_key":"mission:d8966841-6e3c-4dcb-9e5f-77eebeb047d4:automatic-mission-resume:5013:repair_mission_waiting_for_gate","mission_step_id":"cc68dbce-5631-42df-97b6-9eda7600699e","command_center_event_id":"d8966841-6e3c-4dcb-9e5f-77eebeb047d4"},{"id":"5c99211b-c02c-4bf0-937a-aa62606cfb10","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-34ed79c3424f","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":4108,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"executorlessWaitMs":34961,"firstUsefulResultAt":"2026-09-29T18:42:36.013Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.10-paul-eval-precision","prNumber":null,"terminal":false,"missionId":"34ed79c3-424f-41e8-8712-6766db49a62c","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1617,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":353,"providerAuthMs":0,"ledgerPrepareMs":353,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":353,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":353,"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":"34ed79c3-424f-41e8-8712-6766db49a62c"},"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":4454,"likelyAffectedFiles":["src/pages/card-grading/PCGCanonicalWorkspaceRoute.tsx","src/pages/card-grading/PCGModesWorkspace.tsx","src/pages/crm/PcgWorkspace.tsx","src/pages/card-grading/PCGWorkspace.tsx","src/pages/card-grading/PCGCompletionCenter.tsx","src/pages/card-grading/PCGBatchPublishingCenter.tsx","src/routes/privateWorkspaceCompatibility.ts","src/PrivateAppShell.tsx","config/capabilities/pcg-card-grading-modes.json"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-09-29T18:43:11.019621+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:34ed79c3-424f-41e8-8712-6766db49a62c:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"c22f0724-2de6-4154-ac59-95a9e8959cb0","command_center_event_id":"34ed79c3-424f-41e8-8712-6766db49a62c"},{"id":"5c9a1d17-e4a1-45f9-b390-95667e63ba16","source":"cc-execution","status":"visual_verification_pending","payload":{"ok":true,"jobId":"84264ba0-4869-462b-9cac-158b1c1ba2e4","phase":"visual_proof","branch":"ai/objective-first-repair-66c317c2a86c","reason":null,"status":"visual_verification_pending","metrics":{"receiptBytes":252520,"releaseCount":0,"toolCallCount":90,"repeatedCallCount":58,"executorlessWaitMs":1888173,"firstUsefulResultAt":"2026-09-25T17:29:04.798Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.282-lineage-main-guard","prNumber":3750,"terminal":false,"missionId":"66c317c2-a86c-4d3a-a6ff-34d2e5d73827","operation":"command_center_prove","proofGate":"command_center_gpt_visual_pending","sourceSha":"7e056d7356a0c8c2b18db3aadc61ae10b3414b05","timingsMs":{"total":715,"gateMs":0,"health":0,"proofMs":0,"handlerMs":723,"releaseMs":0,"mutationMs":0,"visualStart":325,"actionSchema":0,"parallelCore":88,"repositoryMs":0,"missionSetupMs":279,"providerAuthMs":0,"repositoryRead":88,"ledgerPrepareMs":279,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":279,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":279,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Poll inspect_route_status with checks.authenticatedVisual.proof.jobId until terminal.","receiptRef":{"mode":"full","missionId":"66c317c2-a86c-4d3a-a6ff-34d2e5d73827"},"performance":{"scope":"exact_current_runtime_cloudflare_edge_cache","metrics":{"health":{"max":0,"min":0,"p50":0,"p95":0,"average":0,"sampleCount":17},"proveTotal":{"max":715,"min":78,"p50":87,"p95":715,"average":151,"sampleCount":17},"visualStart":{"max":325,"min":246,"p50":246,"p95":325,"average":286,"sampleCount":2},"actionSchema":{"max":0,"min":0,"p50":0,"p95":0,"average":0,"sampleCount":17},"repositoryRead":{"max":126,"min":77,"p50":86,"p95":126,"average":88,"sampleCount":17}},"sampleWindow":100},"deploymentId":"forgejo-main-7e056d7356a0","releaseState":"verified","visualWitness":{"role":null,"jobId":"84264ba0-4869-462b-9cac-158b1c1ba2e4","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":2,"restartReplayHistory":[]},"workflowRunId":null,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["visual"],"verificationState":"verified","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":5121,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T17:59:11.621474+00:00","proof_gate":"command_center_gpt_visual_pending","source_sha":"7e056d7356a0c8c2b18db3aadc61ae10b3414b05","external_id":"forgejo-main-7e056d7356a0","receipt_type":"command_center_prove","idempotency_key":"mission:66c317c2-a86c-4d3a-a6ff-34d2e5d73827:command_center_prove:command_center_gpt_visual_pending:current-generation","mission_step_id":"51c1c7ad-d0a6-46fa-b85e-9bf175687619","command_center_event_id":"66c317c2-a86c-4d3a-a6ff-34d2e5d73827"},{"id":"5c9d4f07-1248-49a9-8472-969c13f7b38a","source":"cc-execution","status":"recorded","payload":{"objective":"Fix the proven Vista del Mar reservation routing defect by adding /la-vista-del-mar to PUBLIC_ROUTE_PATHS in src/App.tsx. Preserve /la-vista-del-mar/dashboard as private. Ship and prove live.","tenantRef":"la-vista-del-mar","receivedAt":"2026-08-29T17:31:22.080Z","fingerprint":"ecbf2b2354d9ef0b4d3cee7c4457a113bd8a91a07dca28d7c61b46dd53b1a1a3","workstreamRef":"lavistadelmar","conversationId":null,"canonicalBranch":null,"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Fix the proven Vista del Mar reservation routing defect by adding /la-vista-del-mar to PUBLIC_ROUTE_PATHS in src/App.tsx. Preserve /la-vista-del-mar/dashboard as private. Ship and prove live.","wordingChanged":false,"canonicalIntent":"Fix the proven Vista del Mar reservation routing defect by adding /la-vista-del-mar to PUBLIC_ROUTE_PATHS in src/App.tsx. Preserve /la-vista-del-mar/dashboard as private. Ship and prove live.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"reservation-public-route","statement":"The La Vista del Mar storefront root /la-vista-del-mar resolves to the existing ShortTermRentalPublic reservation experience instead of the private owner dashboard.","proofConditionIds":["proof-public-route"]},{"id":"dashboard-remains-private","statement":"The owner route /la-vista-del-mar/dashboard remains the private short-stay owner dashboard.","proofConditionIds":["proof-dashboard-route"]}],"objective":"Fix the proven Vista del Mar reservation routing defect by adding /la-vista-del-mar to PUBLIC_ROUTE_PATHS in src/App.tsx. Preserve /la-vista-del-mar/dashboard as private. Ship and prove live.","constraints":[{"id":"short-stay-only","statement":"Vista del Mar remains short-stay vacation rentals only; no long-term rental flow is introduced.","proofConditionIds":["proof-public-route","proof-dashboard-route"]},{"id":"no-airbnb-dependency","statement":"Do not make Airbnb the booking owner or required completion path.","proofConditionIds":["proof-public-route"]},{"id":"bounded-change","statement":"Do not redesign unrelated tenant routes or alter unrelated functionality.","proofConditionIds":["proof-public-route","proof-dashboard-route"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-public-route","kind":"runtime","claim":"Public reservation root resolves to the ShortTermRentalPublic experience.","route":"https://knocklaunch.app/la-vista-del-mar","required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"proof-dashboard-route","kind":"runtime","claim":"Owner dashboard remains available at /la-vista-del-mar/dashboard and is not classified public.","route":"https://knocklaunch.app/la-vista-del-mar/dashboard","required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestedBranch":null,"conversationContext":null,"requestContractHash":"a0fa6cb122810f61b784831f3032b913c2895d4e5b8ff1feb94b03710179a860","requestContractRevision":1},"tenant_id":"71b397ba-b9ad-496b-914c-985d97dbb12e","created_at":"2026-08-29T17:31:22.564031+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:43ab38ae-c996-49e1-a179-0adb989b9911:tenant-workstream-contribution:ecbf2b2354d9ef0b4d3cee7c4457a113bd8a91a07dca28d7c61b46dd53b1a1a3","mission_step_id":null,"command_center_event_id":"43ab38ae-c996-49e1-a179-0adb989b9911"},{"id":"5c9fcb83-1722-441b-a386-cf5d2b4a7ab0","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-0d5a5ed52ace","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.214-mcp-repository-source-resolution","prNumber":null,"terminal":false,"missionId":"0d5a5ed5-2ace-425b-95ae-c9ccb4419ebf","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":8,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":275,"providerAuthMs":0,"ledgerPrepareMs":275,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":275,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":275,"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":"0d5a5ed5-2ace-425b-95ae-c9ccb4419ebf"},"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":4117,"likelyAffectedFiles":["src/components/messages/PlatformMessagesHost.tsx","src/lib/messages/platformMessages.ts","config/capabilities/platform-messages-v1.json","src/__tests__/contracts/platform-messages-mobile-navigation.contract.test.ts","supabase/migrations","supabase/functions"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-22T16:13:44.449403+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:0d5a5ed5-2ace-425b-95ae-c9ccb4419ebf:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"e4a40b52-19e8-4489-8fe3-7ea3eec1e583","command_center_event_id":"0d5a5ed5-2ace-425b-95ae-c9ccb4419ebf"},{"id":"5ca3abe7-017a-4d9d-9019-9bac98a0bb4a","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"c9d9f4ec695ac716cf920bc12184d9855017412d","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":false,"statement":"Continue the existing Visual Witness repair mission on current protected main c9d9f4ec695ac716cf920bc12184d9855017412d, which contains PR #5163 and the owner-approved runner-routing repair #5166. The earlier release run 16258 was stranded because heavy cc-execution routed to laptop-host. That defect is now fixed: release-cc-execution uses docker-8g. Adopt current descendant main, create no source diff or new PR, dispatch only the unfinished ccExecution production release target, prove the downstream Release cc-execution job is assigned to an eligible docker-8g heavy runner, then verify live cc-execution runtime identity and run the mobile PCG witness proof.","proofConditionIds":["proof-production"]}],"satisfied":false,"constraints":[{"id":"visual-content-truth","satisfied":false,"statement":"Do not present invented names, metrics, prices, dates, services, testimonials, credentials, customer records, or other unknown business facts as real. Omit unknowns or mark them clearly as placeholder/example content.","proofConditionIds":["proof-production"]},{"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"]},{"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":"398ad854da631603b07b3af4325313363edb4d7eef8fadbb4bfbe99fb56cf35e","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":{"ccExecution":"success"},"repositoryProofGate":null,"repositoryProofPath":null,"requestContractHash":"398ad854da631603b07b3af4325313363edb4d7eef8fadbb4bfbe99fb56cf35e","unsuccessfulTargets":[],"activeReleaseTargets":["ccExecution"],"allowedReleaseTargets":[],"repositoryProofStatus":"required","expectedRepositoryPath":null,"namedGateTestSatisfied":true,"requiredReleaseTargets":[],"migrationReleaseVerified":null,"repositoryConditionBound":false,"repositoryProofSourceSha":null},"required":true,"satisfied":false}],"validationErrors":[],"pendingProofKinds":["repository"],"activeReleaseTargets":["ccExecution"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":6},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T11:32:58.008755+00:00","proof_gate":"request_contract_pending","source_sha":"c9d9f4ec695ac716cf920bc12184d9855017412d","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:6cd825d0-ddfe-4532-8e8e-5f72704f5be5:request-contract:398ad854da631603b07b3af4325313363edb4d7eef8fadbb4bfbe99fb56cf35e:c9d9f4ec695ac716cf920bc12184d9855017412d:pending:repository","mission_step_id":"77e27196-77d8-4973-9035-dde7a57c53af","command_center_event_id":"6cd825d0-ddfe-4532-8e8e-5f72704f5be5"},{"id":"5ca5960c-faa7-401c-8903-36f75a9a1427","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-3511737f41cb","prNumber":3698,"nextAction":null,"mergeCommitSha":"8cc1ea69af5bfdfc489199d8684b284550ce0d18","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T10:46:34.571861+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"8cc1ea69af5bfdfc489199d8684b284550ce0d18","external_id":"3698","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:3511737f-41cb-4ea0-bc42-27eb82eed9b5:merged-pr:3698:8cc1ea69af5bfdfc489199d8684b284550ce0d18","mission_step_id":"85312eaa-e2e5-420c-b9cf-fa2d5b3e8124","command_center_event_id":"3511737f-41cb-4ea0-bc42-27eb82eed9b5"},{"id":"5ca75f39-95fd-48db-8bd3-2f83c95e6b34","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-a759f30d4968","prNumber":3347,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"03ff4dd3aaa78d7c008f91430bca48d52a9d2241","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-21T12:32:42.526051+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"03ff4dd3aaa78d7c008f91430bca48d52a9d2241","external_id":"3347","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:a759f30d-4968-4de6-9af4-02d9d1a2f319:merged-pr:3347:03ff4dd3aaa78d7c008f91430bca48d52a9d2241","mission_step_id":"8f77be3e-ccb2-4077-a897-4d5820003f26","command_center_event_id":"a759f30d-4968-4de6-9af4-02d9d1a2f319"},{"id":"5caa6c24-26bf-47a6-b492-8d2374f0eb5f","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/godmode-restore-point-access-20260909","reason":"existing_branch_without_open_pr_branch_diverged_or_unproven:ai/godmode-restore-point-access-20260909","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.90-mission-terminalization","prNumber":null,"terminal":false,"missionId":"75e0b36a-7166-43aa-b59f-8e3c798705cc","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":556,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":339,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":282,"ledgerReconcileMs":0,"lineageReconcileMs":57,"resolvePreflightMs":339,"repositoryMutationMs":556,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":282,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"75e0b36a-7166-43aa-b59f-8e3c798705cc"},"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":1583,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-10T03:56:48.776342+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:75e0b36a-7166-43aa-b59f-8e3c798705cc:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"70a03bc9-f090-4606-8477-ec9f6c22fa06","command_center_event_id":"75e0b36a-7166-43aa-b59f-8e3c798705cc"},{"id":"5caa986a-79ea-463a-9869-b40458359ac2","source":"github-status","status":"failed","payload":{"failed":["canonical-production-release/verified"],"states":{"canonical-production-release/verified":"failure"},"missing":[],"pending":[],"required":["canonical-production-release/verified"],"sourceSha":"616cf7de9593d6d2533afb55ea49cf71445ed7ed","releaseState":"failed","exactConductorRun":{"id":31286681017,"status":"completed","headSha":"616cf7de9593d6d2533afb55ea49cf71445ed7ed","conclusion":"cancelled","compareStatus":"identical","sourceMatches":true,"containsSourceSha":true,"reconciliationMode":null},"ccExecutionRuntimeProof":null},"tenant_id":"fe5cc9d9-c2fe-4062-84c7-a334663cd63c","created_at":"2026-08-09T00:42:06.523903+00:00","proof_gate":"canonical_release_terminal_failed","source_sha":"616cf7de9593d6d2533afb55ea49cf71445ed7ed","external_id":"canonical-release-616cf7de9593","receipt_type":"canonical_release_status","idempotency_key":"mission:9a6eab80-b3dd-4788-8053-6bd3d2eccded:release-status:616cf7de9593d6d2533afb55ea49cf71445ed7ed:31286681017:failed:canonical-production-release/verified=failure","mission_step_id":"4714a452-d735-4c68-a506-3e42d82dba0a","command_center_event_id":"9a6eab80-b3dd-4788-8053-6bd3d2eccded"},{"id":"5cac4756-c05e-4909-9418-51a2b89a60a9","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\":\"waiting_for_gate\",\"proofGate\":\"repair_mission_waiting_for_gate\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"retryable\",\"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\":3,\"verified\":0,\"pending\":3,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"repo\",\"release\",\"runtime\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"runtime_proof\",\"deadlineAt\":\"2026-10-03T21:11:33.848868+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-e1a03e2febbd\",\"prNumber\":4657,\"sourceSha\":null,\"deploymentId\":null}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T17:50:12.735156+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:e1a03e2f-ebbd-4f50-bdec-5ed9ff9e92b2:owner-progress-heartbeat:119403320","mission_step_id":"e6753d8d-db45-4a5f-9cc9-521249bf957f","command_center_event_id":"e1a03e2f-ebbd-4f50-bdec-5ed9ff9e92b2"},{"id":"5cac8d9b-e576-43b5-a65a-78b437da777c","source":"github-status","status":"failed","payload":{"failed":["canonical-production-release/verified"],"states":{"canonical-production-release/verified":"failure"},"missing":[],"pending":[],"required":["canonical-production-release/verified"],"sourceSha":"9664dfaa9afa5389d10c052b75395c18f6791f61","releaseState":"failed","exactConductorRun":{"id":31397069674,"status":"completed","headSha":"9664dfaa9afa5389d10c052b75395c18f6791f61","conclusion":"failure","compareStatus":"identical","sourceMatches":true,"containsSourceSha":true,"reconciliationMode":null},"ccExecutionRuntimeProof":null},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-10T14:16:39.618496+00:00","proof_gate":"canonical_release_terminal_failed","source_sha":"9664dfaa9afa5389d10c052b75395c18f6791f61","external_id":"canonical-release-9664dfaa9afa","receipt_type":"canonical_release_status","idempotency_key":"mission:e4fa0c31-b9c9-4034-8910-d6f0273fe74d:release-status:9664dfaa9afa5389d10c052b75395c18f6791f61:31397069674:failed:canonical-production-release/verified=failure","mission_step_id":"6abaae86-5e3e-47ef-ae8c-150bf7501072","command_center_event_id":"e4fa0c31-b9c9-4034-8910-d6f0273fe74d"},{"id":"5cad4bf1-072c-4d8b-b11a-a6033d87eb5d","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-dc59705999e9-g1","prNumber":3032,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"28ce6a631ebf93d3dbd65bb39facd77a083f4b68","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-17T20:03:25.402439+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"28ce6a631ebf93d3dbd65bb39facd77a083f4b68","external_id":"3032","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:dc597059-99e9-47a7-9342-698e7cb00adf:merged-pr:3032:28ce6a631ebf93d3dbd65bb39facd77a083f4b68","mission_step_id":"282d87c4-cf79-471c-82cd-8a705996b9c1","command_center_event_id":"dc597059-99e9-47a7-9342-698e7cb00adf"},{"id":"5cad958b-d0c2-4ae3-b628-2c4eb07d9a3a","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/big-papis-premium-shell-exact-20260910","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":2356,"terminal":false,"missionId":"55deffc9-84f7-43cd-ba4b-d8f9a06229f7","operation":"automatic_mission_resume","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"prReadinessMs":931,"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":"55deffc9-84f7-43cd-ba4b-d8f9a06229f7"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1286,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-11T02:07:26.104099+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"2356","receipt_type":"automatic_mission_resume","idempotency_key":"mission:55deffc9-84f7-43cd-ba4b-d8f9a06229f7:automatic-mission-resume:2356:repair_mission_waiting_for_gate","mission_step_id":"62ef50b2-9e5e-4643-a111-351d4d566021","command_center_event_id":"55deffc9-84f7-43cd-ba4b-d8f9a06229f7"},{"id":"5cb0461a-7e74-4ed1-aeed-e1fd3c8ae8b2","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-e31279e1a1f5","reason":"file_write_content_or_explicit_delete_required","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.175-repository-source-fastpath","prNumber":null,"terminal":false,"missionId":"e31279e1-a1f5-4d5d-8bbd-b6402e766c3a","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":978,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":978,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":978,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":978,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"e31279e1-a1f5-4d5d-8bbd-b6402e766c3a"},"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":1553,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-17T00:57:49.396029+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:e31279e1-a1f5-4d5d-8bbd-b6402e766c3a:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"9363f9fd-0c2f-4ec5-919c-710148d7822c","command_center_event_id":"e31279e1-a1f5-4d5d-8bbd-b6402e766c3a"},{"id":"5cb13914-6a86-4346-98c5-6d6f89e3df04","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/revert-actions-to-1eccbe1735","reason":"pull_request_checks_pending","status":"retryable","metrics":{"receiptBytes":9983,"releaseCount":0,"toolCallCount":7,"repeatedCallCount":4,"ownerInterruptionCount":0},"version":null,"prNumber":108,"terminal":false,"missionId":"56cf1ccd-45d3-4271-a39c-9b15d2fe289f","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":null,"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"56cf1ccd-45d3-4271-a39c-9b15d2fe289f"},"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":898,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-15T12:01:49.544554+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"108","receipt_type":"automatic_mission_resume","idempotency_key":"mission:56cf1ccd-45d3-4271-a39c-9b15d2fe289f:automatic-mission-resume:108:repair_mission_pr_ready_retryable","mission_step_id":"19a02647-d2af-47a4-8598-81efabb77f3a","command_center_event_id":"56cf1ccd-45d3-4271-a39c-9b15d2fe289f"},{"id":"5cb16604-1613-4765-ae0a-920c7b21c869","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Continue the same existing control plane PR #1026 corrective generation. The first stale readiness assertions now pass; the same test has a second stale capability-value assertion pair at config.efficiency.forgejoPrReadyReadTimeoutMs / forgejoPrReadyTotalBudgetMs. Update only those from 4000/7000 to 7000/15000, apply the required cc-execution release identity companion bump, then rerun the exact-head canonical gate and continue merge/release/proof.","wordingChanged":false,"canonicalIntent":"Continue the same existing control plane PR #1026 corrective generation. The first stale readiness assertions now pass; the same test has a second stale capability-value assertion pair at config.efficiency.forgejoPrReadyReadTimeoutMs / forgejoPrReadyTotalBudgetMs. Update only those from 4000/7000 to 7000/15000, apply the required cc-execution release identity companion bump, then rerun the exact-head canonical gate and continue merge/release/proof.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"second-invariant-pair","statement":"The capability-value invariants in PR #1026 expect forgejoPrReadyReadTimeoutMs=7000 and forgejoPrReadyTotalBudgetMs=15000.","proofConditionIds":["proof-gate"]},{"id":"ship-existing-pr","statement":"Existing control plane PR #1026 passes canonical gate, squash merges, and cc-execution is healthy after release.","proofConditionIds":["proof-gate","proof-production"]}],"objective":"Continue the same existing control plane PR #1026 corrective generation. The first stale readiness assertions now pass; the same test has a second stale capability-value assertion pair at config.efficiency.forgejoPrReadyReadTimeoutMs / forgejoPrReadyTotalBudgetMs. Update only those from 4000/7000 to 7000/15000, apply the required cc-execution release identity companion bump, then rerun the exact-head canonical gate and continue merge/release/proof.","constraints":[{"id":"same-pr","statement":"Continue existing PR #1026 and branch ai/merge-queue-readiness-budget-20260829 only.","proofConditionIds":["proof-gate"]},{"id":"bounded-followup","statement":"Change only the second stale readiness invariant pair plus the required release identity companion edit unless the next exact-head gate proves another causal defect.","proofConditionIds":["proof-gate"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-gate","kind":"repository","claim":"Canonical exact-head KnockLaunch Gate passes for control plane PR #1026.","route":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"proof-production","kind":"runtime","claim":"cc-execution is live and healthy on the merged PR #1026 source.","route":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestContractHash":"0557871d5d873722b8ef6196e7cb137111130e072e05195d835d094c5ba660c7","requestContractRevision":5,"previousRequestContractHash":"c89aa6501ba8ee2a1d3e18ed66465d5c68fd1044327985b3612c626ac17c75ff"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-29T15:50:36.949548+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:775892e8-a00e-4667-9364-0bbb124e241f:request-contract-revision:5:0557871d5d873722b8ef6196e7cb137111130e072e05195d835d094c5ba660c7","mission_step_id":"6a54947c-436e-4151-9a7c-a296922c12ba","command_center_event_id":"775892e8-a00e-4667-9364-0bbb124e241f"},{"id":"5cb1dd48-1579-494f-8180-b5e27ed1460a","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-28b464869f75","prNumber":2969,"nextAction":null,"mergeCommitSha":"587033ae40403f5e2c9125c1cf80f00a2a7db8a5","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-16T23:10:56.1939+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"587033ae40403f5e2c9125c1cf80f00a2a7db8a5","external_id":"2969","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:28b46486-9f75-47cf-b506-f0c4dfce5e2b:merged-pr:2969:587033ae40403f5e2c9125c1cf80f00a2a7db8a5","mission_step_id":"b41f8da2-e817-469b-958d-80ca8d09d392","command_center_event_id":"28b46486-9f75-47cf-b506-f0c4dfce5e2b"},{"id":"5cb4100c-2c38-4ef8-b17d-cce0e2ecdc83","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/post-login-launch-hub-387400c2","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":2275,"terminal":false,"missionId":"387400c2-2d01-4a97-9e51-345d958591d8","operation":"automatic_mission_resume","proofGate":"canonical_release_dispatched","sourceSha":"da0898299566b1dc573f68ce479eb2022af4f96c","timingsMs":{"prReadinessMs":4074,"approvedPlanMs":0,"shipAndProveMs":11449,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"387400c2-2d01-4a97-9e51-345d958591d8"},"performance":null,"deploymentId":"forgejo-main-da0898299566","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":1846,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-10T04:49:12.506619+00:00","proof_gate":"canonical_release_dispatched","source_sha":null,"external_id":"2275","receipt_type":"automatic_mission_resume","idempotency_key":"mission:387400c2-2d01-4a97-9e51-345d958591d8:automatic-mission-resume:2275:canonical_release_dispatched","mission_step_id":"b361cf4d-8138-4c4e-8cbb-12a5457923ac","command_center_event_id":"387400c2-2d01-4a97-9e51-345d958591d8"},{"id":"5cb47cc1-c7f4-42fd-ad41-a1c29fd465f7","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in release.","nextAction":{"lane":"production-release-conductor","action":"reconcile_release","reason":"merged_source_requires_release_proof","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"owner_progress_heartbeat\",\"status\":\"waiting\",\"proofGate\":\"owner_progress_heartbeat\"},\"activeStep\":{\"key\":\"implementation\",\"status\":\"waiting\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"waiting\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_release\",\"recoveryOwner\":\"production-release-conductor\"},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"visual_proof\",\"deadlineAt\":\"2026-10-06T08:33:13.056202+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":5163,\"sourceSha\":\"d059e784c8fb33ceeb0e36baec00e818ef3753e8\",\"deploymentId\":\"forgejo-main-d059e784c8fb\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T06:49:49.479781+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:119417959","mission_step_id":"8f1c0a7d-df5b-4529-9b5e-b41c824b98db","command_center_event_id":"6cd825d0-ddfe-4532-8e8e-5f72704f5be5"},{"id":"5cb63e68-0163-4adb-a304-18c55e2383e7","source":"cc-execution","status":"authorized","payload":{"paths":["config/control-plane-restore-point.json"],"reason":"Owner requested locking the proven PRIME OAuth state. Temporarily authorize only the canonical restore-point metadata path, then leave the control plane frozen.","baseSha":"08f4bb1c8329c1c79d2f52246ba821d8bbf550cf","issuedAt":1789058112895,"expiresAt":1789058292895,"missionId":"cf4a0b31-c210-458c-95bf-1a9e0141d2aa","authorizationId":"9e55a70b-46d0-43d0-a6a4-5533b87d9996","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-10T16:35:13.701265+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"08f4bb1c8329c1c79d2f52246ba821d8bbf550cf","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:9e55a70b-46d0-43d0-a6a4-5533b87d9996","mission_step_id":"19445a52-5105-4210-94ec-a5f518d79843","command_center_event_id":"cf4a0b31-c210-458c-95bf-1a9e0141d2aa"},{"id":"5cb92761-4647-4363-9550-4f217c3995e3","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in release.","nextAction":{"lane":"production-release-conductor","action":"reconcile_release","reason":"merged_source_requires_release_proof","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_release\",\"recoveryOwner\":\"production-release-conductor\"},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-live\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"release\",\"deadlineAt\":\"2026-10-05T17:16:41.228978+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":4918,\"sourceSha\":\"4db28b0e44d69803ad7b43863872391f880a604d\",\"deploymentId\":\"forgejo-main-4db28b0e44d6\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T14:19:32.419017+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:6b02a6d2-970e-4a2c-898c-fd5ba7d39b1b:owner-progress-heartbeat:119413998","mission_step_id":"b8c5e395-45d5-4daa-9130-e56e5547aa9d","command_center_event_id":"6b02a6d2-970e-4a2c-898c-fd5ba7d39b1b"},{"id":"5cb96916-21f6-4b05-8e14-d3aa65c9fa01","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"207b4a6e2637734a8fbf4b1a9b997189e7c1725b","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"207b4a6e2637734a8fbf4b1a9b997189e7c1725b","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":"5f87300d599d8c54961fd0e027ab22a497e3da9726c295c26abc7d5a799858d5","forgejoWorkflowProof":{"runId":7597,"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-12T22:44:23.299942+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"207b4a6e2637734a8fbf4b1a9b997189e7c1725b","external_id":"forgejo-main-207b4a6e2637","receipt_type":"canonical_release_status","idempotency_key":"mission:ec81b5e5-e769-4d5a-81fa-a31e8510aeb5:forgejo-release-status:207b4a6e2637734a8fbf4b1a9b997189e7c1725b:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"e1617f52-1a2e-45b3-bc7d-cd1703c1f32b","command_center_event_id":"ec81b5e5-e769-4d5a-81fa-a31e8510aeb5"},{"id":"5cba8293-0f35-4c6a-8c09-9a352a3d21b3","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"objective_received","branch":null,"reason":"canonical_release_run_not_observed_after_dispatch","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.30.5-truthful-release-correlation","prNumber":3956,"terminal":true,"missionId":"2cb7591e-6b08-4bb3-9a7b-df5d54dd4896","operation":"ship_and_prove","proofGate":"canonical_release_blocked","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"2cb7591e-6b08-4bb3-9a7b-df5d54dd4896"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"sourceReceiptBytes":182,"ownerActionRequired":false},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-04T12:34:47.719502+00:00","proof_gate":"canonical_release_blocked","source_sha":null,"external_id":"3956","receipt_type":"ship_and_prove","idempotency_key":"mission:2cb7591e-6b08-4bb3-9a7b-df5d54dd4896:ship_and_prove:canonical_release_blocked","mission_step_id":"7c0c1140-f77a-43ab-bcf3-92836bb8c0e5","command_center_event_id":"2cb7591e-6b08-4bb3-9a7b-df5d54dd4896"},{"id":"5cbac315-ad76-4b01-ad2b-8910c76a55e0","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":null,"reason":null,"status":"source_resolution_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":null,"recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.32-owner-contract-auto-hydration","prNumber":null,"terminal":false,"missionId":"a8cae272-acdb-4fe0-9e38-cb245e063ff9","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1236,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":512,"providerAuthMs":0,"ledgerPrepareMs":512,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":512,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":512,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Supply exact sourceTargets on the same mission; planner guesses cannot replace missing mission scope.","receiptRef":{"mode":"full","missionId":"a8cae272-acdb-4fe0-9e38-cb245e063ff9"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1177,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-01T09:13:37.192867+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:a8cae272-acdb-4fe0-9e38-cb245e063ff9:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"1ff065fa-8757-4e8e-a5c0-62fc6d476fb1","command_center_event_id":"a8cae272-acdb-4fe0-9e38-cb245e063ff9"},{"id":"5cbb2cb8-5275-4eb7-9bbb-f5bfb8a58324","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-c3baff2e7105","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":3117,"terminal":false,"missionId":"c3baff2e-7105-46c3-9a0c-9a015999ea32","operation":"automatic_mission_resume","proofGate":"canonical_release_dispatched","sourceSha":"878c005f6d991e87e111a36eec4d78a9b58c4a79","timingsMs":{"prReadinessMs":2168,"approvedPlanMs":0,"shipAndProveMs":11401,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"c3baff2e-7105-46c3-9a0c-9a015999ea32"},"performance":null,"deploymentId":"forgejo-main-878c005f6d99","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["opportunity-radar"]},"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":2101,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-18T16:18:47.200013+00:00","proof_gate":"canonical_release_dispatched","source_sha":null,"external_id":"3117","receipt_type":"automatic_mission_resume","idempotency_key":"mission:c3baff2e-7105-46c3-9a0c-9a015999ea32:automatic-mission-resume:3117:canonical_release_dispatched","mission_step_id":"4b3ca1f9-7ed3-4797-99f4-c3d88fd33e7d","command_center_event_id":"c3baff2e-7105-46c3-9a0c-9a015999ea32"},{"id":"5cbd0fb3-a57b-4c9f-9269-9bc1562581ae","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"23306f0755fe84c316cc96114b64cedc7d3cefee","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"23306f0755fe84c316cc96114b64cedc7d3cefee","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":"1b8710423418b50613fe310a6ff0805b457fd662e52d6fcd5e14da1b930a98b8","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/9049","runId":9049,"status":"success","sourceSha":"23306f0755fe84c316cc96114b64cedc7d3cefee","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"frontend":"success"},"targetJobCount":7,"observedTargetStates":{"frontend":"success"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-16T23:17:08.709885+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"23306f0755fe84c316cc96114b64cedc7d3cefee","external_id":"forgejo-main-23306f0755fe","receipt_type":"canonical_release_status","idempotency_key":"mission:94659e76-e186-47e7-b5a7-a34a8318a133:forgejo-release-status:23306f0755fe84c316cc96114b64cedc7d3cefee:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"ca7cc459-8e07-46f3-827d-00c6261bd226","command_center_event_id":"94659e76-e186-47e7-b5a7-a34a8318a133"},{"id":"5cc1f80d-ef7d-442b-a9cd-e25f10961676","source":"cc-execution","status":"waiting","payload":{"sourceTargets":["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"],"continuationObjective":"Adopt the existing same-outcome PCG mobile-intake repair PR #5143 at exact head 59c6096906df199608e1981ed93397d159ab63fb. Its canonical KnockLaunch Gate is green. Do not create a branch, replacement PR, or new mutation. Authorize canonical auto-progression for this existing PR, squash merge the exact green head, allow the protected-main frontend release to run, and verify the PCG workspace release live. This is the canonical PCG mobile-intake repair; retire or supersede duplicate PR #5145 only after #5143 is safely merged."},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T02:49:33.647444+00:00","proof_gate":"mission_continuation_scope_persisted","source_sha":null,"external_id":null,"receipt_type":"mission_continuation_scope_updated","idempotency_key":"mission:5520d794-c15b-4339-9f74-8d8ecb206265:mission_continuation_scope_updated:mission_continuation_scope_persisted:waiting","mission_step_id":"63dbd15a-b3d9-47fc-8a85-17e315979d88","command_center_event_id":"5520d794-c15b-4339-9f74-8d8ecb206265"},{"id":"5cc3bd17-c484-4c15-80b9-b466d47fd4b1","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"2f299c9cb82083c49696a79956e1b8cf65fdbca7","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"2f299c9cb82083c49696a79956e1b8cf65fdbca7","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/659","runId":659,"status":"running","conclusion":null,"failedJobs":[]},"onrunnerRuntimeProof":null,"ccExecutionRuntimeProof":null},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-16T02:50:13.823381+00:00","proof_gate":"canonical_release_pending","source_sha":"2f299c9cb82083c49696a79956e1b8cf65fdbca7","external_id":"forgejo-main-2f299c9cb820","receipt_type":"canonical_release_status","idempotency_key":"mission:5f5917e1-30ee-4f4e-86eb-0f76a5e7a344:forgejo-release-status:2f299c9cb82083c49696a79956e1b8cf65fdbca7:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"7c33072e-cb30-430f-b345-fab4b68aca22","command_center_event_id":"5f5917e1-30ee-4f4e-86eb-0f76a5e7a344"},{"id":"5cc3ffaa-2460-4c4a-b2d5-be503cf23174","source":"cc-execution","status":"release_verification_pending","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":null,"reason":null,"status":"release_verification_pending","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.46.8-intent-aware-objectives","prNumber":257,"terminal":false,"missionId":"acc92240-bf96-442b-9bd7-f46b3b129cf2","operation":"ship_and_prove","proofGate":"ship_and_prove_release_pending","sourceSha":"fd0bb16723aac7741a7f28b6eeae8c080990c597","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"acc92240-bf96-442b-9bd7-f46b3b129cf2"},"performance":null,"deploymentId":"forgejo-main-fd0bb16723aa","workflowRunId":844,"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":3997,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-16T16:58:35.009165+00:00","proof_gate":"ship_and_prove_release_pending","source_sha":"fd0bb16723aac7741a7f28b6eeae8c080990c597","external_id":"forgejo-main-fd0bb16723aa","receipt_type":"ship_and_prove","idempotency_key":"mission:acc92240-bf96-442b-9bd7-f46b3b129cf2:ship_and_prove:ship_and_prove_release_pending:fd0bb16723aac7741a7f28b6eeae8c080990c597:844","mission_step_id":"3f37237a-1079-402d-ac51-bb6d7e18c816","command_center_event_id":"acc92240-bf96-442b-9bd7-f46b3b129cf2"},{"id":"5cc41b66-efd3-4dba-af67-2f0d439703c3","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/stale-pr-continuation-primitive-v3","reason":"retryable_provider_transport:pr_ready_timeout_budget_exhausted","status":"retryable","metrics":{"receiptBytes":29793,"releaseCount":0,"toolCallCount":8,"repeatedCallCount":2,"executorlessWaitMs":252398,"firstUsefulResultAt":"2026-09-30T13:15:27.660Z","recoveryAttemptCount":2,"ownerInterruptionCount":0},"version":"1.64.13-paul-source-roots","prNumber":4234,"terminal":false,"missionId":"125a8dab-c70f-48cb-aa19-efa4096abce9","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3138,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":3000,"approvedPlanMs":0,"missionSetupMs":398,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":314,"ledgerReconcileMs":0,"lineageReconcileMs":84,"resolvePreflightMs":398,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":314,"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":"125a8dab-c70f-48cb-aa19-efa4096abce9"},"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":1530,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T13:20:02.681054+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4234","receipt_type":"execute_mission","idempotency_key":"mission:125a8dab-c70f-48cb-aa19-efa4096abce9:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"c562e626-b25f-4eef-997d-3b80b8ba3546","command_center_event_id":"125a8dab-c70f-48cb-aa19-efa4096abce9"},{"id":"5cc4b954-890f-4272-807c-b42a62b0c23a","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.96-cloudflare-release-reconciliation","prNumber":null,"terminal":false,"missionId":"5c4a5e07-bf63-476c-bb0f-cfa739155224","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":2008,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":360,"providerAuthMs":0,"ledgerPrepareMs":360,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":360,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":360,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Synthesize exact mutation from the resolved authoritative source targets and continue this same mission.","receiptRef":{"mode":"full","missionId":"5c4a5e07-bf63-476c-bb0f-cfa739155224"},"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":1900,"likelyAffectedFiles":["config/mcp-connection-contract.json"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T15:43:12.167802+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:5c4a5e07-bf63-476c-bb0f-cfa739155224:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"018f4fa1-82f4-48a0-bceb-a23d6ca04b2a","command_center_event_id":"5c4a5e07-bf63-476c-bb0f-cfa739155224"},{"id":"5cc702c1-d6db-4a35-aba1-1bdccd4861fd","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in release.","nextAction":{"lane":"production-release-conductor","action":"reconcile_release","reason":"merged_source_requires_release_proof","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_release\",\"recoveryOwner\":\"production-release-conductor\"},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"repository-proof\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"release\",\"deadlineAt\":\"2026-10-05T03:19:59.757928+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":4866,\"sourceSha\":\"32f772a938a000116a6758b328e5c89f31f640ff\",\"deploymentId\":\"forgejo-main-32f772a938a0\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T00:20:25.134962+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:eb6a1edf-0e64-4c04-9bf8-94add5cbbbd1:owner-progress-heartbeat:119410641","mission_step_id":"254ea555-b4f5-4874-b2e3-3713893e1174","command_center_event_id":"eb6a1edf-0e64-4c04-9bf8-94add5cbbbd1"},{"id":"5cc7be53-889b-4dec-b522-6b1d10c40c72","source":"github-status","status":"verified","payload":{"failed":[],"states":{"canonical-production-release/verified":"success"},"missing":[],"pending":[],"required":["canonical-production-release/verified"],"sourceSha":"d1aa76c5ac7c9155455b208c26264ffa902c77e2","releaseState":"verified","exactConductorRun":{"id":31426094336,"status":"completed","headSha":"d1aa76c5ac7c9155455b208c26264ffa902c77e2","conclusion":"success","compareStatus":"identical","sourceMatches":true,"containsSourceSha":true,"reconciliationMode":null},"ccExecutionRuntimeProof":null},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-10T19:54:38.036294+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"d1aa76c5ac7c9155455b208c26264ffa902c77e2","external_id":"canonical-release-d1aa76c5ac7c","receipt_type":"canonical_release_status","idempotency_key":"mission:1ce09ab6-be75-40cb-bcea-c4d8105b2cb3:release-status:d1aa76c5ac7c9155455b208c26264ffa902c77e2:31426094336:verified:canonical-production-release/verified=success","mission_step_id":"a1fb5714-cf8f-49fa-98e5-4da42c30da74","command_center_event_id":"1ce09ab6-be75-40cb-bcea-c4d8105b2cb3"},{"id":"5cc9f3cb-cc4a-4cd6-9779-f7c570162911","source":"cc-execution","status":"complete","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/redfish-application-route-integrity-20260901","reason":null,"status":"complete","metrics":{"receiptBytes":15975,"releaseCount":0,"toolCallCount":8,"repeatedCallCount":3,"ownerInterruptionCount":0},"version":"1.58.3-speed-proof-accuracy","prNumber":1306,"terminal":false,"missionId":"c417b477-62c0-4014-a60a-054912f42257","operation":"execute_mission","proofGate":"repair_mission_prepared","sourceSha":null,"timingsMs":{"handlerMs":8216,"missionSetupMs":589},"nextAction":"continue_batch_or_ship_and_prove","receiptRef":{"mode":"full","missionId":"c417b477-62c0-4014-a60a-054912f42257"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2215,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"de8369b6-a78f-40bb-ae1f-28ffca62bc7e","created_at":"2026-09-01T20:53:48.177438+00:00","proof_gate":"repair_mission_prepared","source_sha":null,"external_id":"1306","receipt_type":"execute_mission","idempotency_key":"mission:c417b477-62c0-4014-a60a-054912f42257:execute_mission:repair_mission_prepared:current-generation","mission_step_id":"f75a115f-2b00-41a7-847d-87e46ea7ab6b","command_center_event_id":"c417b477-62c0-4014-a60a-054912f42257"},{"id":"5cca6a08-1927-4a06-8abf-13b06e3114e9","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-451fe0d165d2","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.109-merge-queue-fair-recovery","prNumber":2423,"terminal":false,"missionId":"451fe0d1-65d2-461a-aa4c-018ddd8f99fd","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":565,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":340,"approvedPlanMs":0,"missionSetupMs":447,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":281,"ledgerReconcileMs":0,"lineageReconcileMs":166,"resolvePreflightMs":447,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":281,"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":"451fe0d1-65d2-461a-aa4c-018ddd8f99fd"},"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":1968,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-11T21:19:25.01199+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"2423","receipt_type":"execute_mission","idempotency_key":"mission:451fe0d1-65d2-461a-aa4c-018ddd8f99fd:execute_mission:repair_mission_waiting_for_gate:current-generation","mission_step_id":"7aa6831d-a819-46e5-a95c-2f8361073acd","command_center_event_id":"451fe0d1-65d2-461a-aa4c-018ddd8f99fd"},{"id":"5cce4b60-dbed-4e4e-abde-89b7b1b56c15","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-mtiv12h1","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":5955,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.2-visual-witness-proof-projection","prNumber":1274,"terminal":false,"missionId":"8fd876e8-1329-46bd-bca7-1a3efc1999be","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"2f0e10dbb843cd24f10b0f09de127e9319cd0a0e","timingsMs":{"handlerMs":19436,"prReadinessMs":3452,"approvedPlanMs":5830,"missionSetupMs":3767,"shipAndProveMs":9749},"nextAction":null,"receiptRef":{"mode":"full","missionId":"8fd876e8-1329-46bd-bca7-1a3efc1999be"},"performance":null,"deploymentId":"forgejo-main-2f0e10dbb843","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":3746,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"de8369b6-a78f-40bb-ae1f-28ffca62bc7e","created_at":"2026-09-01T16:10:16.784838+00:00","proof_gate":"canonical_release_dispatched","source_sha":"2f0e10dbb843cd24f10b0f09de127e9319cd0a0e","external_id":"forgejo-main-2f0e10dbb843","receipt_type":"execute_mission","idempotency_key":"mission:8fd876e8-1329-46bd-bca7-1a3efc1999be:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"4207e92d-3386-4a71-a5f3-7a59ad85649f","command_center_event_id":"8fd876e8-1329-46bd-bca7-1a3efc1999be"},{"id":"5ccfe65f-a530-4755-9759-fac95f79f3db","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","supabase-migrations/live":"success","supabase-edge-production/live":"pending"},"mainSha":"fc96d367aa91254549c3672ac57ca171dd115a44","missing":[],"pending":["forgejo-release/workflow","supabase-edge-production/live"],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live","supabase-migrations/live"],"sourceSha":"fc96d367aa91254549c3672ac57ca171dd115a44","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"onrunner":false,"migrations":true,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["accept-invitation","user-roles-manage"]},"releaseTargetStates":{"migrations":"success","supabaseEdge":"pending"},"requestContractHash":"0e004f681cc69334740680f94b1d090a9daaa3b4a1a8b51f6a6dbbfdf8daada8","forgejoWorkflowProof":{"runId":6955,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"migrations":"success","supabaseEdge":"pending"},"targetJobCount":7,"observedTargetStates":{"migrations":"success","supabaseEdge":"pending"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-11T02:10:07.998366+00:00","proof_gate":"canonical_release_pending","source_sha":"fc96d367aa91254549c3672ac57ca171dd115a44","external_id":"forgejo-main-fc96d367aa91","receipt_type":"canonical_release_status","idempotency_key":"mission:7925930c-bb58-4253-b732-62f89ffd0525:forgejo-release-status:fc96d367aa91254549c3672ac57ca171dd115a44:pending:forgejo-main/source=success|forgejo-release/workflow=pending|supabase-edge-production/live=pending|supabase-migrations/live=success","mission_step_id":"ec9d937a-44d8-4793-b4d7-9d2eb371c261","command_center_event_id":"7925930c-bb58-4253-b732-62f89ffd0525"},{"id":"5cd143d0-93ee-4cd4-8f05-a4dbd5768cdd","source":"forgejo-exact-source","status":"verified","payload":{"sourceSha":"9621d812e1982c4f8b58dd7939e4296a0b1ff7f4","repository":"noel/KnockLaunchOS","repositoryProofs":[{"id":"repo","path":null,"proof":"forgejo_merged_pr_exact_head_gate","headSha":"5921e2c123d0f65a0ffaa8624d50816b84a784f7","prNumber":2503,"gateContext":"KnockLaunch Gate / KnockLaunch Gate (pull_request)","expectedText":null,"gateTargetUrl":"https://git.knocklaunch.app/noel/KnockLaunchOS/commit/5921e2c123d0f65a0ffaa8624d50816b84a784f7","mergeCommitSha":"9621d812e1982c4f8b58dd7939e4296a0b1ff7f4"}],"requestContractHash":"dd875756913eca3c2b7a78d0d3d3f3f82f104623116a505a477d8c57bd9dff93"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T15:53:58.232523+00:00","proof_gate":"request_contract_repository_verified","source_sha":"9621d812e1982c4f8b58dd7939e4296a0b1ff7f4","external_id":null,"receipt_type":"request_contract_repository_status","idempotency_key":"mission:459bc4a3-f0b4-433b-b1f6-fbd5829823d5:request-contract-repository:dd875756913eca3c2b7a78d0d3d3f3f82f104623116a505a477d8c57bd9dff93:9621d812e1982c4f8b58dd7939e4296a0b1ff7f4","mission_step_id":"177491a5-3ee5-4502-9877-0b2451409dae","command_center_event_id":"459bc4a3-f0b4-433b-b1f6-fbd5829823d5"},{"id":"5cd7f169-8dec-4b95-b19e-47a620cb6bac","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-f864b679403d","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.161-forgejo-repository-file-pagination","prNumber":null,"terminal":false,"missionId":"f864b679-403d-4907-8129-d9b395c7041b","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":181,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":1496,"providerAuthMs":0,"ledgerPrepareMs":1496,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":1496,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":1496,"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":"f864b679-403d-4907-8129-d9b395c7041b"},"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":3688,"likelyAffectedFiles":["workers/cc-execution/src/entrypoint-owner-status.js","src/__tests__/contracts/command-center-forgejo-transport-reliability.contract.test.ts"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-16T16:07:25.032903+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:f864b679-403d-4907-8129-d9b395c7041b:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"2c5a087d-37ba-4128-92a3-4aab0aa12e00","command_center_event_id":"f864b679-403d-4907-8129-d9b395c7041b"},{"id":"5cd82733-b229-4c53-bff2-f2da336cea09","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-e8dbc864873a","writes":[],"patches":[],"version":1,"approved":true,"missionId":"e8dbc864-873a-4e2d-aaa5-e1e00c59fb33","objective":"Fix the remaining protected-main release-only reread. In workers/cc-execution/src/index-mission-control.js, inside dispatchForgejoRelease source reconciliation, initialize mainSha from explicitProtectedMainSourceSha whenever releaseOnlyProtectedMainRecovery is true; otherwise preserve the existing preverified descendant-main behavior. This path has already validated explicitProtectedMainSourceSha against readMainSnapshot(env,false), so do not call releaseGet('/branches/main') again for release-only recovery. Preserve all source-containment checks for non-release-only flows. Add a focused assertion to src/__tests__/contracts/command-center-release-reconciliation-budget.contract.test.ts proving release-only recovery seeds mainSha from explicitProtectedMainSourceSha before the fallback main read. Bump workers/cc-execution/src/version.js from 1.58.258-release-operator-read-parity to 1.58.259-release-main-reread-eliminated. One fresh ai branch, one PR, canonical Gate, squash merge, deploy cc-execution, verify exact runtime. No frontend source changes.","sourceSha":"ccc6fd7542337a8c15c149f0dff5c0f19eaff7dc","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/version.js","src/__tests__/contracts/command-center-release-reconciliation-budget.contract.test.ts"],"anchored_edits":[{"path":"workers/cc-execution/src/index-mission-control.js","new_content":"    let mainSha = releaseOnlyProtectedMainRecovery\n      ? explicitProtectedMainSourceSha\n      : preverifiedDescendantMainSha;\n    if (!mainSha) {","old_content":"    let mainSha = preverifiedDescendantMainSha;\n    if (!mainSha) {"},{"path":"src/__tests__/contracts/command-center-release-reconciliation-budget.contract.test.ts","new_content":"    expect(missionControlSource).toContain('Object.keys(reconciledTargetStates).length === 0 && !releaseOnlyProtectedMainRecovery');\n    expect(missionControlSource).toContain('let mainSha = releaseOnlyProtectedMainRecovery');\n    expect(missionControlSource).toContain('? explicitProtectedMainSourceSha');\n  });","old_content":"    expect(missionControlSource).toContain('Object.keys(reconciledTargetStates).length === 0 && !releaseOnlyProtectedMainRecovery');\n  });"},{"path":"workers/cc-execution/src/version.js","new_content":"export const CC_EXECUTION_VERSION = \"1.58.259-release-main-reread-eliminated\";","old_content":"export const CC_EXECUTION_VERSION = \"1.58.258-release-operator-read-parity\";"}],"implementation":{"files":[],"writes":[]},"requestContract":{"intent":{"rawUtterance":"Connection interrupted","wordingChanged":true,"canonicalIntent":"Continue the release-conductor repair from the current live state and remove the redundant current-main reread after exact protected-main verification.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"owner_explicit","version":1,"outcomes":[{"id":"reuse-verified-main","statement":"Release-only protected-main recovery reuses its already-verified exact current-main SHA and proceeds toward Actions dispatch without another /branches/main dependency.","proofConditionIds":["proof-runtime"]}],"objective":"Eliminate the redundant protected-main reread in release-only recovery.","constraints":[{"id":"bounded","statement":"Change only mission-control release source reconciliation, version marker, and focused regression coverage.","proofConditionIds":["proof-runtime"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-runtime","kind":"runtime","claim":"Updated cc-execution runtime is deployed and healthy.","required":true,"allowedReleaseTargets":["ccExecution"],"requiredReleaseTargets":["ccExecution"]}]},"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":null,"ownerApproved":true,"releaseIntent":null,"sourceTargets":["workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/version.js","src/__tests__/contracts/command-center-release-reconciliation-budget.contract.test.ts"],"requestContract":{"intent":{"rawUtterance":"Connection interrupted","wordingChanged":true,"canonicalIntent":"Continue the release-conductor repair from the current live state and remove the redundant current-main reread after exact protected-main verification.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"owner_explicit","version":1,"outcomes":[{"id":"reuse-verified-main","statement":"Release-only protected-main recovery reuses its already-verified exact current-main SHA and proceeds toward Actions dispatch without another /branches/main dependency.","proofConditionIds":["proof-runtime"]}],"objective":"Eliminate the redundant protected-main reread in release-only recovery.","constraints":[{"id":"bounded","statement":"Change only mission-control release source reconciliation, version marker, and focused regression coverage.","proofConditionIds":["proof-runtime"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-runtime","kind":"runtime","claim":"Updated cc-execution runtime is deployed and healthy.","required":true,"allowedReleaseTargets":["ccExecution"],"requiredReleaseTargets":["ccExecution"]}]},"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/version.js","src/__tests__/contracts/command-center-release-reconciliation-budget.contract.test.ts"],"controlPlaneMaintenanceReason":"Owner authorized continuation of the release-conductor repair after interruption."},"proofRequirements":null,"controlPlaneUnfreeze":true,"durableMutationResume":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/version.js","src/__tests__/contracts/command-center-release-reconciliation-budget.contract.test.ts"],"controlPlaneMaintenanceReason":"Owner authorized continuation of the release-conductor repair after interruption."},"recovery":false,"fingerprint":"aa42f9938138c712287123160d6ee382c70d4a0cfe5ba81bf36c0851cb17f73d","replayCount":0,"serializedBytes":6444},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T14:35:42.962767+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:e8dbc864-873a-4e2d-aaa5-e1e00c59fb33:repository-mutation-intent:aa42f9938138c712287123160d6ee382c70d4a0cfe5ba81bf36c0851cb17f73d:0","mission_step_id":"7622622d-1b1f-4b42-8a58-9c6442279c11","command_center_event_id":"e8dbc864-873a-4e2d-aaa5-e1e00c59fb33"},{"id":"5cd857c4-9880-4082-bed4-03e507b29e13","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-65b5f19c42ce","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.99-positive-mutation-admission","prNumber":null,"terminal":false,"missionId":"65b5f19c-42ce-43fa-899c-583ee23f6a32","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3028,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":614,"providerAuthMs":0,"ledgerPrepareMs":614,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":614,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":614,"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":"65b5f19c-42ce-43fa-899c-583ee23f6a32"},"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":4155,"likelyAffectedFiles":["src/PrivateAppShell.tsx"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T17:08:35.242308+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:65b5f19c-42ce-43fa-899c-583ee23f6a32:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"4c4b3709-86ac-4701-8066-7b9872c07c2f","command_center_event_id":"65b5f19c-42ce-43fa-899c-583ee23f6a32"},{"id":"5cd910c2-16eb-437a-8a88-373ab4ddfc73","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-145ab5a06cfe","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.223-durable-witness-lane-affinity","prNumber":3541,"terminal":false,"missionId":"145ab5a0-6cfe-4bbc-b5eb-3b82fed03cd5","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":5400,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":784,"missionSetupMs":297,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":297,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":297,"repositoryMutationMs":4616,"repositoryProviderMs":4616,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2786,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":297,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1830},"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":"145ab5a0-6cfe-4bbc-b5eb-3b82fed03cd5"},"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":3878,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T19:32:50.975924+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3541","receipt_type":"execute_mission","idempotency_key":"mission:145ab5a0-6cfe-4bbc-b5eb-3b82fed03cd5:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"44a91ffd-5ab3-40d2-9435-fbc4d35fc74f","command_center_event_id":"145ab5a0-6cfe-4bbc-b5eb-3b82fed03cd5"},{"id":"5cdb983b-36a5-4124-b2fd-29919de41159","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/build-demo-white-input-dark-text-20260830","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":1165,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.56.5-premium-motion-source-targets","prNumber":1149,"terminal":false,"missionId":"d783d467-aee2-461e-b241-ec736900c287","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"77efea179052c7c06e7ed2408e3169d5366e9114","timingsMs":{"handlerMs":15859,"prReadinessMs":1870,"approvedPlanMs":5281,"missionSetupMs":605,"shipAndProveMs":8231},"nextAction":null,"receiptRef":{"mode":"full","missionId":"d783d467-aee2-461e-b241-ec736900c287"},"performance":null,"deploymentId":"forgejo-main-77efea179052","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":8173,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-30T21:06:03.150272+00:00","proof_gate":"canonical_release_dispatched","source_sha":"77efea179052c7c06e7ed2408e3169d5366e9114","external_id":"forgejo-main-77efea179052","receipt_type":"execute_mission","idempotency_key":"mission:d783d467-aee2-461e-b241-ec736900c287:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"49972689-f663-46f2-86a2-ab6afa1ad94d","command_center_event_id":"d783d467-aee2-461e-b241-ec736900c287"},{"id":"5cdbe7fa-3be4-4cfc-9331-dc7bdda5e852","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/big-papis-brand-mail-fix","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":2135,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":1,"ownerInterruptionCount":0},"version":"1.50.16-onrunner-release-ownership","prNumber":null,"terminal":false,"missionId":"e78658ca-3263-4cc0-984e-a0e50f4a921e","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":"e78658ca-3263-4cc0-984e-a0e50f4a921e"},"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":9410,"likelyAffectedFiles":["src/__tests__/contracts/command-center-existing-branch-refresh.contract.test.ts","src/__tests__/contracts/command-center-forgejo-transport-reliability.contract.test.ts","src/__tests__/contracts/command-center-release-reconciliation-budget.contract.test.ts",".forgejo/workflows/knocklaunch.yml","src/__tests__/contracts/command-center-event-runtime.test.ts","src/__tests__/commandCenter/deployDetection.test.ts","scripts/validate-command-center-contracts.mjs","config/control-plane-capabilities.json"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-24T00:22:52.122788+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:e78658ca-3263-4cc0-984e-a0e50f4a921e:execute_mission:repair_mission_synthesis_ready","mission_step_id":"7dfddbf2-6640-429d-870c-826d873e4564","command_center_event_id":"e78658ca-3263-4cc0-984e-a0e50f4a921e"},{"id":"5cdcc81f-d7a4-4838-bb78-d3af4454f21e","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-5ddc230c9d29","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":175088,"releaseCount":0,"toolCallCount":7,"repeatedCallCount":2,"executorlessWaitMs":159598,"firstUsefulResultAt":"2026-10-04T19:54:39.636Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.94-terminal-completion-supervisor","prNumber":4840,"terminal":false,"missionId":"5ddc230c-9d29-4bcf-aefa-a4d27c949d9c","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":6125,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":2537,"approvedPlanMs":959,"missionSetupMs":406,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":406,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":406,"repositoryMutationMs":2546,"repositoryProviderMs":2546,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2119,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":406,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":427},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"5ddc230c-9d29-4bcf-aefa-a4d27c949d9c"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1534,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T19:55:43.583102+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4840","receipt_type":"execute_mission","idempotency_key":"mission:5ddc230c-9d29-4bcf-aefa-a4d27c949d9c:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"752d9ded-7ca4-47b2-bd57-52495fe886fd","command_center_event_id":"5ddc230c-9d29-4bcf-aefa-a4d27c949d9c"},{"id":"5cde995e-069c-4ac8-a517-6a4b2d9ecaac","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-e5c1369d8d6c","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":1683,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-09-30T12:33:14.766Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.10-paul-eval-precision","prNumber":null,"terminal":false,"missionId":"e5c1369d-8d6c-423a-9f53-c5bc3957763d","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1110,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":686,"providerAuthMs":0,"ledgerPrepareMs":686,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":686,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":686,"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":"e5c1369d-8d6c-423a-9f53-c5bc3957763d"},"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":5158,"likelyAffectedFiles":["src/PrivateAppShell.tsx","src/pages/settings/TenantSettingsPageWithWebsiteAssets.tsx","src/components/ui/universal-loading-screen.tsx","src/pages/owner/KnockLaunchOSSettings.tsx","config/contracts/PREHISTORIC-001-TENANT-MEDIA.json","config/capabilities/tenant-website-assets-settings.json","src/__tests__/components/universal-loading-screen.test.tsx","src/__tests__/contracts/platform-canonical-loading-screen.contract.test.ts","src/__tests__/contracts/tenant-media-branding-control.contract.test.ts"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T12:34:27.768498+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:e5c1369d-8d6c-423a-9f53-c5bc3957763d:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"9d8d51c5-a284-4b3f-a87a-c6e0b69958fd","command_center_event_id":"e5c1369d-8d6c-423a-9f53-c5bc3957763d"},{"id":"5cdf4f0d-517a-4872-91cb-b69358e24c0b","source":"cc-execution","status":"waiting","payload":{"sourceTargets":["supabase/config.toml","supabase/functions/emergency-reset/index.ts"],"continuationObjective":"Make the retired emergency-reset Edge Function fail closed durably: keep the existing retired 410 tombstone in supabase/functions/emergency-reset/index.ts unchanged, change only supabase/config.toml so functions.emergency-reset has verify_jwt = true, run canonical Gate, squash merge, release Supabase Edge configuration if required, and prove the live emergency-reset remains retired and JWT-gated."},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T00:59:01.536806+00:00","proof_gate":"mission_continuation_scope_persisted","source_sha":null,"external_id":null,"receipt_type":"mission_continuation_scope_updated","idempotency_key":"mission:c61f525c-181e-4bb3-9630-2d825b803332:mission_continuation_scope_updated:mission_continuation_scope_persisted:waiting","mission_step_id":"0248742c-d938-4d65-a690-d1b67308647d","command_center_event_id":"c61f525c-181e-4bb3-9630-2d825b803332"},{"id":"5cdf9d23-9f7e-4f53-9400-456645441a1f","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":"f1983567827537d7c07ffa01c65e4b9372884c3a","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":"f1983567827537d7c07ffa01c65e4b9372884c3a","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/1425","runId":1425,"status":"running","conclusion":null,"failedJobs":[],"diagnostics":null},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-19T05:36:07.177492+00:00","proof_gate":"canonical_release_pending","source_sha":"f1983567827537d7c07ffa01c65e4b9372884c3a","external_id":"forgejo-main-f19835678275","receipt_type":"canonical_release_status","idempotency_key":"mission:ed804345-ec86-4254-8560-91c60ac0a069:forgejo-release-status:f1983567827537d7c07ffa01c65e4b9372884c3a:pending:forgejo-main/source=success|forgejo-release/workflow=pending|supabase-edge-production/live=pending|frontend-cloudflare/live=pending","mission_step_id":"b45d7ff8-c6e2-4082-80ad-7b0db1f8f8ad","command_center_event_id":"ed804345-ec86-4254-8560-91c60ac0a069"},{"id":"5ce43a0b-ea1d-4a71-b2e2-45faae01b63a","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":null,"reason":"github_request_failed","status":"retryable","metrics":{"receiptBytes":5238,"releaseCount":0,"toolCallCount":5,"repeatedCallCount":2,"ownerInterruptionCount":0},"version":null,"prNumber":4700,"terminal":false,"missionId":"d8895623-5f2f-4db9-bf7d-1dd10377edd0","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":null,"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"d8895623-5f2f-4db9-bf7d-1dd10377edd0"},"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":475,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-12T16:20:40.322676+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4700","receipt_type":"automatic_mission_resume","idempotency_key":"mission:d8895623-5f2f-4db9-bf7d-1dd10377edd0:automatic-mission-resume:4700:repair_mission_pr_ready_retryable","mission_step_id":"718ec501-e498-45e4-bb60-43ddf8625393","command_center_event_id":"d8895623-5f2f-4db9-bf7d-1dd10377edd0"},{"id":"5ce56033-2671-436b-8e97-a9369811f28f","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":"e1cf470e1b26ca8398fac25a804394898961a6b4","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":"e1cf470e1b26ca8398fac25a804394898961a6b4","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["pcg-commerce-publisher"]},"releaseTargetStates":{"frontend":"pending","supabaseEdge":"pending"},"requestContractHash":"8a814ee87b009074c47cf657860460c34807a2af43b7dd428c7752a0c8c03558","forgejoWorkflowProof":{"runId":15218,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"frontend":"pending","supabaseEdge":"pending"},"targetJobCount":7,"observedTargetStates":{"frontend":"pending","supabaseEdge":"pending"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T12:19:37.610061+00:00","proof_gate":"canonical_release_pending","source_sha":"e1cf470e1b26ca8398fac25a804394898961a6b4","external_id":"forgejo-main-e1cf470e1b26","receipt_type":"canonical_release_status","idempotency_key":"mission:0f0b97bd-6ebe-4c9f-9bf1-0ecf07127511:forgejo-release-status:e1cf470e1b26ca8398fac25a804394898961a6b4:pending:forgejo-main/source=success|forgejo-release/workflow=pending|supabase-edge-production/live=pending|frontend-cloudflare/live=pending","mission_step_id":"868f949b-be41-4a0b-8523-00040b9a18b7","command_center_event_id":"0f0b97bd-6ebe-4c9f-9bf1-0ecf07127511"},{"id":"5ce64b9c-90f0-42f9-b561-c410290b6756","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"Control plane interpretation preserves the raw owner utterance separately from canonical intent","proofConditionIds":["proof-repo","proof-runtime"]},{"id":"outcome-2","statement":"Canonical intent can correct noisy voice-to-text when the interpreter supplies high-confidence unique resolution evidence","proofConditionIds":["proof-repo","proof-runtime"]},{"id":"outcome-3","statement":"Material ambiguity blocks before mutation with intent_clarification_required","proofConditionIds":["proof-repo"]},{"id":"outcome-4","statement":"Exact ordinary wording remains unchanged","proofConditionIds":["proof-repo"]}],"objective":"Force a fresh test-file blob on existing PR #856 because run 2912 fetched the correct runtime changes at head 98bd979e but executed stale pre-fix assertion text from release-orchestration-invariants.test.js. Do not change runtime behavior. Add a concise comment beside the already-whitespace-tolerant assertions so Forgejo produces a new test blob and exact PR head, then re-run the canonical gate and continue the same intent-canonicalization mission.","constraints":[{"id":"constraint-1","statement":"Control plane maintenance remains locked and scoped","proofConditionIds":["proof-repo"]},{"id":"constraint-2","statement":"No general product or tenant source behavior changes","proofConditionIds":["proof-repo"]},{"id":"constraint-3","statement":"A changed canonical intent without resolution evidence is invalid","proofConditionIds":["proof-repo"]},{"id":"constraint-4","statement":"Ambiguous interpretation may not silently mutate","proofConditionIds":["proof-repo"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-repo","kind":"repository","claim":"Intent canonicalization implementation and regression coverage exist on the exact source and the exact PR head passes KnockLaunch Gate","route":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"proof-runtime","kind":"runtime","claim":"Updated cc-execution exact merged source is live","route":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["ccExecution"],"requiredReleaseTargets":["ccExecution"]}],"validationErrors":[]},"requestContractHash":"74609e34fb27e4ea46c211b59ff404406f059ff30418e1027e9aa6d991dcac45","requestContractRevision":8,"previousRequestContractHash":"befaaa1761d996cfc6891db7687666d53e9b3c8864de775122857eff0195368e"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-27T19:17:19.917398+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:e57906ff-764d-4381-9f3a-8b48dc1874fe:request-contract-revision:8:74609e34fb27e4ea46c211b59ff404406f059ff30418e1027e9aa6d991dcac45","mission_step_id":"58ecd1ea-7e4d-445c-a32f-d3fba79f7af5","command_center_event_id":"e57906ff-764d-4381-9f3a-8b48dc1874fe"},{"id":"5ce7748a-6563-452c-b10d-abf038904eff","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-88fd233a15d7","prNumber":3416,"nextAction":null,"mergeCommitSha":"ad959562957ebe9d6c4768e7d7d86088095be53e","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-22T12:02:42.183832+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"ad959562957ebe9d6c4768e7d7d86088095be53e","external_id":"3416","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:88fd233a-15d7-4c41-b453-8ca79f5eed35:merged-pr:3416:ad959562957ebe9d6c4768e7d7d86088095be53e","mission_step_id":"37da96ca-182c-4eca-aa44-078c92fc5fb0","command_center_event_id":"88fd233a-15d7-4c41-b453-8ca79f5eed35"},{"id":"5ce7e3e3-e3b7-41d0-be23-a40cafd8ddfc","source":"cc-execution","status":"complete","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-3b8d3386a024","reason":null,"status":"complete","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.118-architecture-exclusivity","prNumber":2522,"terminal":false,"missionId":"3b8d3386-a024-4e24-a54b-66baf11ba804","operation":"execute_mission","proofGate":"repair_mission_prepared","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4049,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":376,"providerAuthMs":0,"ledgerPrepareMs":294,"ledgerReconcileMs":0,"lineageReconcileMs":82,"resolvePreflightMs":376,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":294,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"continue_batch_or_ship_and_prove","receiptRef":{"mode":"full","missionId":"3b8d3386-a024-4e24-a54b-66baf11ba804"},"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":2674,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T18:53:30.871748+00:00","proof_gate":"repair_mission_prepared","source_sha":null,"external_id":"2522","receipt_type":"execute_mission","idempotency_key":"mission:3b8d3386-a024-4e24-a54b-66baf11ba804:execute_mission:repair_mission_prepared:current-generation","mission_step_id":"117b1a39-1c89-49a8-b58d-563f704f43da","command_center_event_id":"3b8d3386-a024-4e24-a54b-66baf11ba804"},{"id":"5ce7eb64-85d7-4330-96d3-f6263cabac3d","source":"github-status","status":"pending","payload":{"failed":[],"states":{"canonical-production-release/verified":"pending"},"missing":[],"pending":["canonical-production-release/verified"],"required":["canonical-production-release/verified"],"sourceSha":"f79f99bfb7e015ecb79d52c3e609d5f37c5de061","releaseState":"pending","exactConductorRun":{"id":31410533204,"status":"in_progress","headSha":"f79f99bfb7e015ecb79d52c3e609d5f37c5de061","conclusion":null,"compareStatus":"identical","sourceMatches":true,"containsSourceSha":true,"reconciliationMode":null},"ccExecutionRuntimeProof":null},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-08-10T16:44:56.3892+00:00","proof_gate":"canonical_release_pending","source_sha":"f79f99bfb7e015ecb79d52c3e609d5f37c5de061","external_id":"canonical-release-f79f99bfb7e0","receipt_type":"canonical_release_status","idempotency_key":"mission:2176f632-d2b2-4a82-b6d5-681e627d9d60:release-status:f79f99bfb7e015ecb79d52c3e609d5f37c5de061:31410533204:pending:canonical-production-release/verified=pending","mission_step_id":"75cd0fc8-8a7c-4288-a04d-8dd19efcaba4","command_center_event_id":"2176f632-d2b2-4a82-b6d5-681e627d9d60"},{"id":"5ceb5648-bd35-4556-8f66-b0f7187b7eba","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\":null,\"prNumber\":null,\"sourceSha\":null,\"deploymentId\":null}"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-10-04T18:45:32.603879+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:2ec2c77c-996a-43f4-9f8d-29090a3994e2:owner-progress-heartbeat:119409302","mission_step_id":"c5332d27-2bb9-4319-9d6f-1a8c922b6619","command_center_event_id":"2ec2c77c-996a-43f4-9f8d-29090a3994e2"},{"id":"5ced9900-9bbf-41b0-8607-3df63e7775d2","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/big-papi-ooma-pro-plus-integration-20260828","reason":"pull_request_checks_failed","status":"retryable","metrics":{"receiptBytes":8581,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":960,"terminal":false,"missionId":"eea74448-49d7-4dec-98c8-9deb889ec8ed","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":210,"approvedPlanMs":0,"shipAndProveMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"eea74448-49d7-4dec-98c8-9deb889ec8ed"},"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":1221,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-28T20:53:25.538069+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"960","receipt_type":"automatic_mission_resume","idempotency_key":"mission:eea74448-49d7-4dec-98c8-9deb889ec8ed:automatic-mission-resume:960:repair_mission_pr_ready_retryable","mission_step_id":"66e63f40-d126-4c9d-9e36-bd03344baea0","command_center_event_id":"eea74448-49d7-4dec-98c8-9deb889ec8ed"},{"id":"5cedcc93-e814-4c56-ba83-b25ade4309c3","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-bd48ee59f255","reason":"retryable_provider_transport:pr_ready_timeout_budget_exhausted","status":"retryable","metrics":{"receiptBytes":27027,"releaseCount":0,"toolCallCount":14,"repeatedCallCount":8,"executorlessWaitMs":150874,"firstUsefulResultAt":"2026-10-04T21:32:36.095Z","recoveryAttemptCount":10,"ownerInterruptionCount":0},"version":null,"prNumber":4858,"terminal":false,"missionId":"bd48ee59-f255-406c-8d04-1204b293d930","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":3000,"approvedPlanMs":0,"shipAndProveMs":0,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"bd48ee59-f255-406c-8d04-1204b293d930"},"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":827,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T21:33:36.093988+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4858","receipt_type":"automatic_mission_resume","idempotency_key":"mission:bd48ee59-f255-406c-8d04-1204b293d930:automatic-mission-resume:4858:repair_mission_pr_ready_retryable","mission_step_id":"34f9c329-c12e-4b98-b567-de10be653897","command_center_event_id":"bd48ee59-f255-406c-8d04-1204b293d930"},{"id":"5cee531a-084e-40c7-8648-8d06c2d0c76e","source":"forgejo","status":"waiting","payload":{"branch":"ai/fix-visual-witness-mobile-contract-20260804","prNumber":4031,"nextAction":null,"mergeCommitSha":"11c40ee75310b6e8e1cb9fd02019f0150803cb23","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-10-03T10:41:20.555242+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"11c40ee75310b6e8e1cb9fd02019f0150803cb23","external_id":"4031","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:8b23f55a-5622-4d6b-826f-c45bed16ce15:merged-pr:4031:11c40ee75310b6e8e1cb9fd02019f0150803cb23","mission_step_id":"c0fb33c5-7bf3-4304-8188-17973c6fb080","command_center_event_id":"8b23f55a-5622-4d6b-826f-c45bed16ce15"},{"id":"5cee9392-873c-40d2-8e3e-57d0cf342278","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:13d4bfff-1bca-4a92-98d1-2c2369b46061","mission_step_id":null,"command_center_event_id":"13d4bfff-1bca-4a92-98d1-2c2369b46061"},{"id":"5cf074da-877f-4ccc-9292-aff609606e81","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":null,"reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":null,"recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.90-owner-contract-autocompile","prNumber":null,"terminal":false,"missionId":"f710cc2d-e782-47ac-bedc-aebf7213f870","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":18842,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":5380,"providerAuthMs":0,"ledgerPrepareMs":5380,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":5380,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":5380,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Synthesize exact mutation from the resolved authoritative source targets and continue this same mission.","receiptRef":{"mode":"full","missionId":"f710cc2d-e782-47ac-bedc-aebf7213f870"},"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":1843,"likelyAffectedFiles":["src/PcgAppShell.tsx"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T09:59:27.85454+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:f710cc2d-e782-47ac-bedc-aebf7213f870:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"4a06c07e-9d91-4b29-817d-48e9da83a6ac","command_center_event_id":"f710cc2d-e782-47ac-bedc-aebf7213f870"},{"id":"5cf0d164-48f7-4256-8057-cf9d84710085","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-989f2e9ca79a","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":16581,"releaseCount":0,"toolCallCount":6,"repeatedCallCount":1,"executorlessWaitMs":335501,"firstUsefulResultAt":"2026-10-01T18:41:36.072Z","recoveryAttemptCount":2,"ownerInterruptionCount":0},"version":null,"prNumber":4385,"terminal":false,"missionId":"989f2e9c-a79a-403b-93d0-d19637ede237","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":2187,"approvedPlanMs":0,"shipAndProveMs":0,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"989f2e9c-a79a-403b-93d0-d19637ede237"},"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-01T18:47:10.046246+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4385","receipt_type":"automatic_mission_resume","idempotency_key":"mission:989f2e9c-a79a-403b-93d0-d19637ede237:automatic-mission-resume:4385:repair_mission_pr_ready_retryable","mission_step_id":"e436bda8-a6e2-40bc-8306-81787cbe1e44","command_center_event_id":"989f2e9c-a79a-403b-93d0-d19637ede237"},{"id":"5cf12b04-0d2f-4345-92df-869b73237a8c","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-86fdf179be48","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":30063,"releaseCount":0,"toolCallCount":8,"repeatedCallCount":5,"executorlessWaitMs":40780,"firstUsefulResultAt":"2026-09-30T01:26:39.407Z","recoveryAttemptCount":6,"ownerInterruptionCount":0},"version":"1.64.10-paul-eval-precision","prNumber":4191,"terminal":false,"missionId":"86fdf179-be48-4ae3-96b0-9501635259dd","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":2178,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":2038,"approvedPlanMs":0,"missionSetupMs":365,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":282,"ledgerReconcileMs":0,"lineageReconcileMs":83,"resolvePreflightMs":365,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":282,"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":"86fdf179-be48-4ae3-96b0-9501635259dd"},"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-09-30T01:27:28.87654+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4191","receipt_type":"execute_mission","idempotency_key":"mission:86fdf179-be48-4ae3-96b0-9501635259dd:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"e986b087-857b-40e5-8cca-656d7511f89b","command_center_event_id":"86fdf179-be48-4ae3-96b0-9501635259dd"},{"id":"5cf1661b-00a4-4c1e-89c3-7981a897bc64","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[{"path":".forgejo/workflows/knocklaunch.yml","content":"name: KnockLaunch Gate\nrun-name: ${{ github.event_name == 'schedule' && 'Supabase Edge Reconciliation' || github.event_name == 'push' && 'Production Release' || github.event_name == 'workflow_dispatch' && 'Release Recovery' || 'KnockLaunch Gate' }}\n\non:\n  push:\n    branches:\n      - main\n  pull_request:\n    branches:\n      - main\n  schedule:\n    # Recovery-only Supabase Edge drift reconciliation. Normal releases remain event-driven; avoid hourly Actions noise.\n    - cron: \"17 */6 * * *\"\n  workflow_dispatch:\n    inputs:\n      operation:\n        description: Canonical release operation\n        required: true\n        default: release-main\n        type: string\n      source_sha:\n        description: Exact merged main SHA to release\n        required: true\n        type: string\n      changed_paths_b64:\n        description: Base64 encoded newline-delimited changed paths\n        required: false\n        default: \"\"\n        type: string\n      release_cc_execution:\n        description: Release cc-execution when affected\n        required: false\n        default: \"false\"\n        type: string\n      release_frontend:\n        description: Release frontend when affected\n        required: false\n        default: \"false\"\n        type: string\n      release_supabase_edge:\n        description: Release affected Supabase Edge Functions\n        required: false\n        default: \"false\"\n        type: string\n      supabase_edge_reconcile:\n        description: Reconcile managed Edge Functions before selective repair\n        required: false\n        default: \"false\"\n        type: string\n      release_migrations:\n        description: Apply affected Supabase migrations\n        required: false\n        default: \"false\"\n        type: string\n\njobs:\n  release-plan:\n    name: Delivery / Maintenance Plan\n    if: ${{ github.event_name == 'schedule' || (github.event_name == 'push' && github.ref == 'refs/heads/main') || (github.event_name == 'workflow_dispatch' && github.event.inputs.operation == 'release-main' && (github.event.inputs.release_cc_execution == 'true' || github.event.inputs.release_frontend == 'true' || github.event.inputs.release_supabase_edge == 'true' || github.event.inputs.supabase_edge_reconcile == 'true' || github.event.inputs.release_migrations == 'true')) }}\n    runs-on: docker-8g\n    container:\n      image: node:22.18.0-bookworm\n      options: --memory=512m\n    timeout-minutes: 5\n    outputs:\n      source_sha: ${{ steps.plan.outputs.source_sha }}\n      changed_paths_b64: ${{ steps.plan.outputs.changed_paths_b64 }}\n      release_cc_execution: ${{ steps.plan.outputs.release_cc_execution }}\n      release_cc_execution_heavy: ${{ steps.plan.outputs.release_cc_execution_heavy }}\n      release_frontend: ${{ steps.plan.outputs.release_frontend }}\n      release_supabase_edge: ${{ steps.plan.outputs.release_supabase_edge }}\n      supabase_edge_reconcile: ${{ steps.plan.outputs.supabase_edge_reconcile }}\n      release_migrations: ${{ steps.plan.outputs.release_migrations }}\n    steps:\n      - name: Resolve complete single-commit push from Forgejo event\n        id: event_plan\n        if: ${{ github.event_name == 'push' }}\n        shell: bash\n        env:\n          PUSH_SHA: ${{ github.sha }}\n        run: |\n          set -euo pipefail\n          # EVENT_NATIVE_PLAN_JS_BEGIN\n          node --input-type=module <<'NODE'\n          import fs from \"node:fs\";\n          const startedAt = Date.now();\n          const output = String(process.env.GITHUB_OUTPUT || \"\").trim();\n          const eventPath = String(process.env.GITHUB_EVENT_PATH || \"\").trim();\n          const pushSha = String(process.env.PUSH_SHA || \"\").trim();\n          const sha = (value) => /^[0-9a-f]{40}$/i.test(String(value || \"\"));\n          const fail = (reason) => {\n            if (output) fs.appendFileSync(output, \"fast_path=false\\nplan_mode=git_diff_fallback\\n\");\n            console.log(JSON.stringify({ ok: true, status: \"fallback\", proofGate: \"event_native_release_plan_fallback\", reason, planMs: Date.now() - startedAt }));\n          };\n          if (!eventPath || !fs.existsSync(eventPath) || !output) { fail(\"event_or_output_unavailable\"); process.exit(0); }\n          let event;\n          try { event = JSON.parse(fs.readFileSync(eventPath, \"utf8\")); } catch { fail(\"event_json_invalid\"); process.exit(0); }\n          const after = String(event?.after || \"\").trim();\n          const before = String(event?.before || \"\").trim();\n          const commits = Array.isArray(event?.commits) ? event.commits : null;\n          const headId = String(event?.head_commit?.id || \"\").trim();\n          if (!sha(pushSha) || !sha(after) || pushSha !== after || !sha(before) || /^0{40}$/i.test(before)) { fail(\"source_identity_incomplete\"); process.exit(0); }\n          if (!commits || commits.length !== 1 || String(commits[0]?.id || \"\").trim() !== after || headId !== after) { fail(\"single_commit_identity_unproven\"); process.exit(0); }\n          const commit = commits[0];\n          if (![commit.added, commit.removed, commit.modified].every(Array.isArray)) { fail(\"changed_path_arrays_incomplete\"); process.exit(0); }\n          const paths = [...new Set([...commit.added, ...commit.removed, ...commit.modified].map((value) => String(value || \"\").trim()).filter(Boolean))].sort();\n          const ccExecutionStableContextPaths = new Set([\n            \"config/owner-context.json\",\n            \"config/paul-owner-profile.json\",\n            \"config/platform-standards.json\",\n            \"config/business-operating-doctrine.json\",\n            \"config/business-operating-recipes.json\",\n          ]);\n          const frontendPath = /^(?:src\\/(?!__tests__\\/contracts\\/)|public\\/|index\\.html$|package(?:-lock)?\\.json$|vite\\.config\\.|tsconfig|tailwind\\.config\\.|postcss\\.config\\.|components\\.json$|wrangler\\.toml$|scripts\\/cloudflare-native-(?!version-deploy\\.mjs$)|scripts\\/validate-cloudflare-native-public-env\\.mjs$|config\\/cloudflare-native-frontend-build\\.json$)/;\n          const targets = {\n            ccExecution: paths.some((path) => (path.startsWith(\"workers/cc-execution/\") && !path.startsWith(\"workers/cc-execution/test/\")) || path === \"config/control-plane-capabilities.json\" || path === \"config/mission-freedom-provider-cutover.json\" || ccExecutionStableContextPaths.has(path) || path.startsWith(\"scripts/visual-witness-hosted-runner/\")),\n            frontend: paths.some((path) => frontendPath.test(path)),\n            supabaseEdge: paths.some((path) => path.startsWith(\"supabase/functions/\") || path === \"scripts/reconcile-supabase-edge-registry.mjs\"),\n            migrations: paths.some((path) => path.startsWith(\"supabase/migrations/\")),\n          };\n          const supabaseEdgeReconcile = paths.includes(\"scripts/reconcile-supabase-edge-registry.mjs\");\n          const ccExecutionHeavy = targets.ccExecution && paths.some((path) => /^(?:scripts\\/visual-witness-hosted-runner\\/|workers\\/cc-execution\\/wrangler\\.toml$|workers\\/cc-execution\\/src\\/visual-witness-virtual-container\\.js$|workers\\/cc-execution\\/scripts\\/cloudflare-credential-repair\\.mjs$)/.test(path));\n          const planMs = Date.now() - startedAt;\n          const values = {\n            fast_path: \"true\",\n            plan_mode: \"event_native\",\n            plan_ms: String(planMs),\n            changed_path_count: String(paths.length),\n            source_sha: after,\n            changed_paths_b64: Buffer.from(paths.join(\"\\n\"), \"utf8\").toString(\"base64\"),\n            release_cc_execution: String(targets.ccExecution),\n            release_cc_execution_heavy: String(ccExecutionHeavy),\n            release_frontend: String(targets.frontend),\n            release_supabase_edge: String(targets.supabaseEdge),\n            supabase_edge_reconcile: String(supabaseEdgeReconcile),\n            release_migrations: String(targets.migrations),\n          };\n          fs.appendFileSync(output, `${Object.entries(values).map(([key, value]) => `${key}=${value}`).join(\"\\n\")}\\n`);\n          console.log(JSON.stringify({ ok: true, status: \"planned\", proofGate: \"event_native_release_plan_resolved\", sourceSha: after, changedPathCount: paths.length, releaseTargets: Object.entries(targets).filter(([, enabled]) => enabled).map(([key]) => key), planMs }));\n          NODE\n          # EVENT_NATIVE_PLAN_JS_END\n      - name: Prepare exact protected-main push fallback\n        if: ${{ github.event_name == 'push' && steps.event_plan.outputs.fast_path != 'true' }}\n        shell: bash\n        env:\n          PUSH_SHA: ${{ github.sha }}\n          BEFORE_SHA: ${{ github.event.before }}\n        run: |\n          set -euo pipefail\n          test -n \"${FORGEJO_TOKEN:-}\" || { echo \"::error::forgejo_token_required_for_release_plan_fallback\"; exit 2; }\n          [[ \"${PUSH_SHA:-}\" =~ ^[0-9a-fA-F]{40}$ ]] || { echo \"::error::release_plan_push_sha_invalid\"; exit 2; }\n          [[ \"${BEFORE_SHA:-}\" =~ ^[0-9a-fA-F]{40}$ ]] || { echo \"::error::release_plan_before_sha_invalid\"; exit 2; }\n          find . -mindepth 1 -maxdepth 1 ! -name .git -exec rm -rf -- {} +\n          if [ ! -d .git ]; then git init . >/dev/null; fi\n          git remote remove origin >/dev/null 2>&1 || true\n          git remote add origin https://git.knocklaunch.app/noel/KnockLaunchOS\n          git config --local gc.auto 0\n          git config --local http.https://git.knocklaunch.app/.extraheader \"Authorization: token ${FORGEJO_TOKEN}\"\n          git config --local remote.origin.promisor true\n          git config --local remote.origin.partialclonefilter blob:none\n          git fetch --no-tags --filter=blob:none --depth=2 origin \"+${PUSH_SHA}:refs/remotes/release/push\" \"+${BEFORE_SHA}:refs/remotes/release/before\"\n          test \"$(git rev-parse refs/remotes/release/push)\" = \"$PUSH_SHA\"\n          test \"$(git rev-parse refs/remotes/release/before)\" = \"$BEFORE_SHA\"\n          git config --local core.sparseCheckout true\n          git config --local core.sparseCheckoutCone false\n          mkdir -p .git/info\n          printf '%s\\n' '/scripts/protected-main-release-recovery.mjs' '/scripts/release-target-ownership.mjs' > .git/info/sparse-checkout\n          git checkout --detach \"$PUSH_SHA\" >/dev/null\n      - name: Resolve exact release plan\n        id: plan\n        shell: bash\n        env:\n          EVENT_NAME: ${{ github.event_name }}\n          PUSH_SHA: ${{ github.sha }}\n          BEFORE_SHA: ${{ github.event.before }}\n          EVENT_FAST_PATH: ${{ steps.event_plan.outputs.fast_path }}\n          EVENT_PLAN_MODE: ${{ steps.event_plan.outputs.plan_mode }}\n          EVENT_PLAN_MS: ${{ steps.event_plan.outputs.plan_ms }}\n          EVENT_CHANGED_PATH_COUNT: ${{ steps.event_plan.outputs.changed_path_count }}\n          EVENT_SOURCE_SHA: ${{ steps.event_plan.outputs.source_sha }}\n          EVENT_CHANGED_PATHS_B64: ${{ steps.event_plan.outputs.changed_paths_b64 }}\n          EVENT_RELEASE_CC_EXECUTION: ${{ steps.event_plan.outputs.release_cc_execution }}\n          EVENT_RELEASE_CC_EXECUTION_HEAVY: ${{ steps.event_plan.outputs.release_cc_execution_heavy }}\n          EVENT_RELEASE_FRONTEND: ${{ steps.event_plan.outputs.release_frontend }}\n          EVENT_RELEASE_SUPABASE_EDGE: ${{ steps.event_plan.outputs.release_supabase_edge }}\n          EVENT_SUPABASE_EDGE_RECONCILE: ${{ steps.event_plan.outputs.supabase_edge_reconcile }}\n          EVENT_RELEASE_MIGRATIONS: ${{ steps.event_plan.outputs.release_migrations }}\n          INPUT_SOURCE_SHA: ${{ github.event.inputs.source_sha }}\n          INPUT_CHANGED_PATHS_B64: ${{ github.event.inputs.changed_paths_b64 }}\n          INPUT_RELEASE_CC_EXECUTION: ${{ github.event.inputs.release_cc_execution }}\n          INPUT_RELEASE_FRONTEND: ${{ github.event.inputs.release_frontend }}\n          INPUT_RELEASE_SUPABASE_EDGE: ${{ github.event.inputs.release_supabase_edge }}\n          INPUT_SUPABASE_EDGE_RECONCILE: ${{ github.event.inputs.supabase_edge_reconcile }}\n          INPUT_RELEASE_MIGRATIONS: ${{ github.event.inputs.release_migrations }}\n        run: |\n          set -euo pipefail\n          if [ \"$EVENT_NAME\" = \"push\" ] && [ \"$EVENT_FAST_PATH\" = \"true\" ]; then\n            printf '%s\\n' \\\n              \"source_sha=$EVENT_SOURCE_SHA\" \\\n              \"changed_paths_b64=$EVENT_CHANGED_PATHS_B64\" \\\n              \"release_cc_execution=$EVENT_RELEASE_CC_EXECUTION\" \\\n              \"release_cc_execution_heavy=$EVENT_RELEASE_CC_EXECUTION_HEAVY\" \\\n              \"release_frontend=$EVENT_RELEASE_FRONTEND\" \\\n              \"release_supabase_edge=$EVENT_RELEASE_SUPABASE_EDGE\" \\\n              \"supabase_edge_reconcile=$EVENT_SUPABASE_EDGE_RECONCILE\" \\\n              \"release_migrations=$EVENT_RELEASE_MIGRATIONS\" >> \"$GITHUB_OUTPUT\"\n            echo \"Release plan mode=$EVENT_PLAN_MODE changed_paths=$EVENT_CHANGED_PATH_COUNT plan_ms=$EVENT_PLAN_MS\"\n          elif [ \"$EVENT_NAME\" = \"push\" ]; then\n            RECOVERY_SOURCE_SHA=\"$PUSH_SHA\" RECOVERY_BEFORE_SHA=\"$BEFORE_SHA\" node scripts/protected-main-release-recovery.mjs\n          elif [ \"$EVENT_NAME\" = \"schedule\" ]; then\n            [[ \"${PUSH_SHA:-}\" =~ ^[0-9a-fA-F]{40}$ ]] || { echo \"::error::scheduled_reconcile_source_sha_invalid\"; exit 2; }\n            printf '%s\\n' \\\n              \"source_sha=$PUSH_SHA\" \\\n              \"changed_paths_b64=\" \\\n              \"release_cc_execution=false\" \\\n              \"release_cc_execution_heavy=false\" \\\n              \"release_frontend=false\" \\\n              \"release_supabase_edge=true\" \\\n              \"supabase_edge_reconcile=true\" \\\n              \"release_migrations=false\" >> \"$GITHUB_OUTPUT\"\n          else\n            test -n \"$INPUT_SOURCE_SHA\"\n            printf '%s\\n' \\\n              \"source_sha=$INPUT_SOURCE_SHA\" \\\n              \"changed_paths_b64=${INPUT_CHANGED_PATHS_B64:-}\" \\\n              \"release_cc_execution=${INPUT_RELEASE_CC_EXECUTION:-false}\" \\\n              \"release_cc_execution_heavy=${INPUT_RELEASE_CC_EXECUTION:-false}\" \\\n              \"release_frontend=${INPUT_RELEASE_FRONTEND:-false}\" \\\n              \"release_supabase_edge=${INPUT_RELEASE_SUPABASE_EDGE:-false}\" \\\n              \"supabase_edge_reconcile=${INPUT_SUPABASE_EDGE_RECONCILE:-false}\" \\\n              \"release_migrations=${INPUT_RELEASE_MIGRATIONS:-false}\" >> \"$GITHUB_OUTPUT\"\n          fi\n\n  gate:\n    name: ${{ github.event_name == 'pull_request' && contains(github.event.pull_request.body, '<!-- knocklaunch:serverless-fast-gate -->') && 'Serverless Fast Gate (runner bypass)' || 'KnockLaunch Gate' }}\n    if: ${{ github.event_name == 'pull_request' && github.event.pull_request.state == 'open' && !contains(github.event.pull_request.body, '<!-- knocklaunch:serverless-fast-gate -->') }}\n    concurrency:\n      group: knocklaunch-pr-${{ github.event.pull_request.number }}\n      cancel-in-progress: true\n    # Runner-pool selection is resolved before PR creation. Manual/unmarked PRs fail safe to required cloud capacity.\n    runs-on: ${{ contains(github.event.pull_request.body, '<!-- knocklaunch:gate-runner-pool:owner -->') && 'docker' || 'docker-8g' }}\n    container:\n      image: node:22.18.0-bookworm\n      options: ${{ contains(github.event.pull_request.body, '<!-- knocklaunch:gate-runner-pool:owner -->') && contains(github.event.pull_request.body, '<!-- knocklaunch:light-control-plane-gate -->') && github.event.pull_request.changed_files <= 12 && '--cpus=2 --memory=768m' || contains(github.event.pull_request.body, '<!-- knocklaunch:gate-runner-pool:owner -->') && '--cpus=2 --memory=3072m' || contains(github.event.pull_request.body, '<!-- knocklaunch:light-control-plane-gate -->') && github.event.pull_request.changed_files <= 12 && '--memory=768m' || '--memory=4096m' }}\n    timeout-minutes: 10\n    env:\n      KNOCKLAUNCH_GATE_LANE: ${{ contains(github.event.pull_request.body, '<!-- knocklaunch:gate-runner-pool:owner -->') && 'owner-local' || 'cloud-heavy' }}\n      KNOCKLAUNCH_GATE_RUNNER: ${{ contains(github.event.pull_request.body, '<!-- knocklaunch:gate-runner-pool:owner -->') && 'docker' || 'docker-8g' }}\n      UV_THREADPOOL_SIZE: ${{ contains(github.event.pull_request.body, '<!-- knocklaunch:gate-runner-pool:owner -->') && '2' || '4' }}\n      MAKEFLAGS: ${{ contains(github.event.pull_request.body, '<!-- knocklaunch:gate-runner-pool:owner -->') && '-j2' || '-j4' }}\n      # These VITE_* values are browser-public build inputs already shipped in the\n      # production bundle. Privileged deployment/observability credentials remain\n      # release-only and are never exposed to pull-request build logic.\n      VITE_SUPABASE_URL: ${{ secrets.VITE_SUPABASE_URL }}\n      VITE_SUPABASE_PUBLISHABLE_KEY: ${{ secrets.VITE_SUPABASE_PUBLISHABLE_KEY }}\n      VITE_MAPBOX_PUBLIC_TOKEN: ${{ secrets.VITE_MAPBOX_PUBLIC_TOKEN }}\n      VITE_PAYMENTS_CLIENT_TOKEN: ${{ secrets.VITE_PAYMENTS_CLIENT_TOKEN }}\n      VITE_SENTRY_DSN: ${{ secrets.VITE_SENTRY_DSN }}\n    steps:\n      - name: Fetch exact head and live main once, then hydrate affected Gate domain\n        id: gate-preclassify\n        shell: bash\n        env:\n          PR_NUMBER: ${{ github.event.pull_request.number }}\n          EVENT_HEAD_SHA: ${{ github.event.pull_request.head.sha }}\n          EVENT_BASE_SHA: ${{ github.event.pull_request.base.sha }}\n        run: |\n          set -euo pipefail\n          output_file=\"${FORGEJO_OUTPUT:-${GITHUB_OUTPUT:-}}\"\n          test -n \"$output_file\" || exit 2\n          test -n \"${FORGEJO_TOKEN:-}\" || { echo \"::error::forgejo_token_required_for_partial_gate_checkout\"; exit 2; }\n          test -n \"${PR_NUMBER:-}\" || exit 2\n          test -n \"${EVENT_HEAD_SHA:-}\" || exit 2\n\n          find . -mindepth 1 -maxdepth 1 ! -name node_modules ! -name .knocklaunch-gate-cache -exec rm -rf -- {} +\n          git init . >/dev/null\n          git remote add origin https://git.knocklaunch.app/noel/KnockLaunchOS\n          git config --local gc.auto 0\n          git config --local http.https://git.knocklaunch.app/.extraheader \"Authorization: token ${FORGEJO_TOKEN}\"\n          git config --local remote.origin.promisor true\n          git config --local remote.origin.partialclonefilter blob:none\n          git fetch --no-tags --filter=blob:none --depth=4 origin \\\n            \"+refs/pull/${PR_NUMBER}/head:refs/remotes/pull/${PR_NUMBER}/head\" \\\n            \"+refs/heads/main:refs/remotes/origin/main\"\n          head_sha=\"$(git rev-parse \"refs/remotes/pull/${PR_NUMBER}/head\")\"\n          current_main=\"$(git rev-parse refs/remotes/origin/main)\"\n          [ \"$head_sha\" = \"$EVENT_HEAD_SHA\" ] || { echo \"::error::gate_exact_head_mismatch:event=$EVENT_HEAD_SHA fetched=$head_sha\"; exit 2; }\n          [ -n \"$current_main\" ] || { echo \"::error::gate_live_main_unresolved\"; exit 2; }\n          if [ -n \"${EVENT_BASE_SHA:-}\" ] && [ \"$current_main\" != \"$EVENT_BASE_SHA\" ]; then\n            echo \"::error::gate_stale_before_expensive_qa:event_base=$EVENT_BASE_SHA current_main=$current_main; refresh + re-gate required\"\n            exit 78\n          fi\n\n          changed_paths=\"$(git diff --name-only \"$current_main\" \"$head_sha\" 2>/dev/null || true)\"\n          frontend_toolchain=false\n          tenant_workspace_health_contract=false\n          while IFS= read -r file; do\n            [ -n \"$file\" ] || continue\n            case \"$file\" in\n              src/__tests__/contracts/tenant-workspace-health.contract.test.ts|src/pages/settings/TenantSettingsPage.tsx|supabase/functions/tenant-media-library/index.ts|supabase/functions/_shared/tenantStandardsContract.ts)\n                frontend_toolchain=true\n                tenant_workspace_health_contract=true\n                ;;\n              src/__tests__/*|scripts/cloudflare-native-version-deploy.mjs)\n                ;;\n              .forgejo/workflows/knocklaunch.yml)\n                if git diff --unified=0 \"$current_main\" \"$head_sha\" -- \"$file\" | grep -E '^[+-]' | grep -Ev 'grep -E[qv]?|frontend_toolchain=true' | grep -Eq 'gate-ts-cache|TypeScript incremental cache|knocklaunch-tsbuildinfo|tenant-workspace-health\\.contract\\.test\\.ts|QA_RUN_TENANT_WORKSPACE_HEALTH|Tenant Workspace Health contract'; then frontend_toolchain=true; fi\n                if git diff --unified=0 \"$current_main\" \"$head_sha\" -- \"$file\" | grep -E '^[+-]' | grep -Eq 'tenant-workspace-health\\.contract\\.test\\.ts|QA_RUN_TENANT_WORKSPACE_HEALTH|Tenant Workspace Health contract'; then tenant_workspace_health_contract=true; fi\n                if [ \"$frontend_toolchain\" = \"true\" ] && [ \"$tenant_workspace_health_contract\" = \"true\" ]; then break; fi\n                ;;\n              src/*|public/*|index.html|vite.config.*|tsconfig*|tailwind.config.*|postcss.config.*|wrangler.toml|package.json|package-lock.json|config/cloudflare-native-frontend-build.json|scripts/cloudflare-native-*|scripts/validate-cloudflare-native-public-env.mjs)\n                frontend_toolchain=true; break\n                ;;\n            esac\n          done <<< \"$changed_paths\"\n\n          sparse_file=\"/tmp/knocklaunch-gate-sparse\"\n          printf '%s\\n' \\\n            '/.forgejo/workflows/' \\\n            '/config/control-plane-capabilities.json' \\\n            '/config/control-plane-restore-point.json' \\\n            '/config/platform-standards.json' \\\n            '/config/cloudflare-native-frontend-build.json' \\\n            '/workers/cc-execution/' \\\n            '/scripts/validate-production-critical-files.mjs' \\\n            '/scripts/validate-windows-repository-paths.mjs' \\\n            '/scripts/validate-windows-repository-paths.test.mjs' \\\n            '/scripts/validate-control-plane-restore-point.mjs' \\\n            '/scripts/validate-release-architecture.mjs' \\\n            '/scripts/validate-stale-gate-evidence-reuse.mjs' \\\n            '/scripts/validate-capability-manifests.mjs' \\\n            '/scripts/validate-stale-gate-evidence-reuse.mjs' \\\n            '/config/capability-manifest.schema.json' \\\n            '/config/capabilities/' \\\n            '/scripts/supabase-migration-release.mjs' \\\n            '/scripts/cloudflare-native-build.mjs' \\\n            '/scripts/cloudflare-native-prepare.mjs' \\\n            '/scripts/cloudflare-native-artifact-guard.mjs' \\\n            '/scripts/cloudflare-native-verify.mjs' \\\n            '/scripts/release-target-ownership.mjs' \\\n            '/scripts/release-target-ownership.test.mjs' \\\n            '/scripts/release-event-native-plan.test.mjs' \\\n            '/scripts/reconcile-supabase-edge-registry.mjs' \\\n            '/scripts/reconcile-supabase-edge-registry.test.mjs' \\\n            '/scripts/protected-main-release-recovery.mjs' \\\n            '/scripts/cloudflare-native-version-deploy.mjs' \\\n            '/scripts/command-center-host-agent/forgejo-watchdog.sh' \\\n            '/scripts/visual-witness-hosted-runner/Dockerfile' \\\n            '/supabase/functions/command-center-autopilot/index.ts' \\\n            '/supabase/functions/command-center-autopilot/missionLedger.ts' \\\n            '/supabase/functions/_shared/tenant-platform-contract.ts' \\\n            '/src/App.tsx' \\\n            '/src/main.tsx' \\\n            '/src/bootstrap.ts' \\\n            '/src/integrations/supabase/client.ts' \\\n            '/src/__tests__/contracts/control-plane-restore-point.contract.test.ts' \\\n            '/index.html' \\\n            '/package.json' \\\n            '/wrangler.toml' > \"$sparse_file\"\n          while IFS= read -r file; do [ -n \"$file\" ] && printf '/%s\\n' \"$file\" >> \"$sparse_file\"; done <<< \"$changed_paths\"\n          if [ \"$tenant_workspace_health_contract\" = \"true\" ]; then\n            printf '%s\\n' \\\n              '/supabase/functions/_shared/tenantStandardsContract.ts' \\\n              '/supabase/functions/tenant-media-library/index.ts' >> \"$sparse_file\"\n          fi\n          needs_full_scripts=false\n          needs_full_config=false\n          needs_full_supabase_functions=false\n          while IFS= read -r file; do\n            case \"$file\" in\n              scripts/validate-production-critical-files.mjs|scripts/validate-stale-gate-evidence-reuse.mjs|scripts/release-target-ownership.mjs|scripts/release-target-ownership.test.mjs|scripts/release-event-native-plan.test.mjs|scripts/reconcile-supabase-edge-registry.mjs|scripts/reconcile-supabase-edge-registry.test.mjs|scripts/protected-main-release-recovery.mjs|scripts/cloudflare-native-version-deploy.mjs|scripts/command-center-host-agent/forgejo-watchdog.sh|scripts/visual-witness-hosted-runner/Dockerfile) ;;\n              scripts/*) needs_full_scripts=true ;;\n              config/control-plane-capabilities.json|config/platform-standards.json) ;;\n              config/*) needs_full_config=true ;;\n              supabase/functions/command-center-autopilot/missionLedger.ts) ;;\n              supabase/functions/*) needs_full_supabase_functions=true ;;\n            esac\n          done <<< \"$changed_paths\"\n          [ \"$needs_full_scripts\" = \"true\" ] && printf '/scripts/\\n' >> \"$sparse_file\"\n          [ \"$needs_full_config\" = \"true\" ] && printf '/config/\\n' >> \"$sparse_file\"\n          [ \"$needs_full_supabase_functions\" = \"true\" ] && printf '/supabase/functions/\\n' >> \"$sparse_file\"\n          if [ \"$frontend_toolchain\" = \"true\" ]; then\n            printf '%s\\n' \\\n              '/src/' \\\n              '/config/' \\\n              '/supabase/functions/_shared/tenantTypeRegistry.json' \\\n              '/supabase/functions/_shared/tenantExperienceConstraints.json' \\\n              '/public/' \\\n              '/package-lock.json' \\\n              '/vite.config.*' \\\n              '/tsconfig*' \\\n              '/tailwind.config.*' \\\n              '/postcss.config.*' \\\n              '/components.json' \\\n              '/scripts/cloudflare-native-*' \\\n              '/scripts/validate-cloudflare-native-public-env.mjs' >> \"$sparse_file\"\n          fi\n          if grep -q '^scripts/visual-witness-hosted-runner/' <<< \"$changed_paths\" || grep -q '^\\.forgejo/workflows/knocklaunch\\.yml$' <<< \"$changed_paths\"; then\n            printf '/scripts/visual-witness-hosted-runner/\\n' >> \"$sparse_file\"\n          fi\n          if printf '%s\\n' \"$changed_paths\" | grep -q '^supabase/migrations/'; then printf '/supabase/migrations/\\n/scripts/supabase-migration-release.mjs\\n' >> \"$sparse_file\"; fi\n          sort -u \"$sparse_file\" -o \"$sparse_file\"\n          git config --local core.sparseCheckout true\n          git config --local core.sparseCheckoutCone false\n          mkdir -p .git/info\n          cp \"$sparse_file\" .git/info/sparse-checkout\n          git checkout --detach \"$head_sha\" >/dev/null\n\n          # Hydrate the exact base-to-head diff under an explicit bounded retry\n          # before semantic validation. Later validators run networkless instead\n          # of discovering missing promisor blobs in the middle of QA.\n          gate_diff_hydrate_log=\"$(mktemp)\"\n          gate_diff_hydrated=false\n          for attempt in 1 2; do\n            : > \"$gate_diff_hydrate_log\"\n            if git diff --no-ext-diff --binary \"$current_main\" \"$head_sha\" >/dev/null 2>\"$gate_diff_hydrate_log\"; then\n              gate_diff_hydrated=true\n              break\n            fi\n            if [ \"$attempt\" -lt 2 ] && grep -Eqi 'requested URL returned error: 50[234]|could not fetch .*promisor remote|timed out|timeout|connection reset|connection refused|TLS handshake timeout|fetch failed|network is unreachable' \"$gate_diff_hydrate_log\"; then\n              sleep 1\n              continue\n            fi\n            break\n          done\n          if [ \"$gate_diff_hydrated\" != \"true\" ]; then\n            cat \"$gate_diff_hydrate_log\" >&2\n            rm -f \"$gate_diff_hydrate_log\"\n            echo \"::error::gate_exact_diff_hydration_failed\"\n            exit 75\n          fi\n          rm -f \"$gate_diff_hydrate_log\"\n\n          if [ -n \"${EVENT_BASE_SHA:-}\" ] && [ \"$current_main\" != \"$EVENT_BASE_SHA\" ]; then\n            echo \"KnockLaunch Gate detected stale PR base before expensive QA event_base=$EVENT_BASE_SHA current_main=$current_main; this generation remains refresh-required before merge.\"\n          fi\n          printf 'frontend_toolchain=%s\\ncurrent_main_sha=%s\\nchanged_path_count=%s\\n' \"$frontend_toolchain\" \"$current_main\" \"$(printf '%s\\n' \"$changed_paths\" | sed '/^$/d' | wc -l | tr -d ' ')\" >> \"$output_file\"\n          echo \"Gate partial source ready head=$head_sha current_main=$current_main frontend_toolchain=$frontend_toolchain\"\n\n      - name: Enforce Windows-portable repository paths\n        shell: bash\n        env:\n          EVENT_HEAD_SHA: ${{ github.event.pull_request.head.sha }}\n        run: |\n          set -euo pipefail\n          node --test scripts/validate-windows-repository-paths.test.mjs\n          node scripts/validate-windows-repository-paths.mjs --ref \"$EVENT_HEAD_SHA\"\n\n      - name: Fast changed-TypeScript deterministic preflight\n        if: ${{ steps.gate-preclassify.outputs.frontend_toolchain == 'true' }}\n        shell: bash\n        env:\n          CURRENT_MAIN_SHA: ${{ steps.gate-preclassify.outputs.current_main_sha }}\n        run: |\n          set -euo pipefail\n          if [ ! -f node_modules/typescript/lib/typescript.js ]; then\n            echo \"Fast TypeScript preflight skipped: warm compiler workspace unavailable before cache restore\"\n            exit 0\n          fi\n          mapfile -t fast_ts_files < <(git diff --name-only \"$CURRENT_MAIN_SHA\" HEAD | grep -E '^src/.*\\.tsx?$' || true)\n          [ \"${#fast_ts_files[@]}\" -gt 0 ] || { echo \"Fast TypeScript preflight: no changed TypeScript files\"; exit 0; }\n          node --input-type=module - \"${fast_ts_files[@]}\" <<'NODE'\n          import fs from 'node:fs';\n          import tsModule from './node_modules/typescript/lib/typescript.js';\n          const ts = tsModule?.default || tsModule;\n          const files = process.argv.slice(2);\n          const exported = (node) => (node.modifiers || []).some((modifier) => modifier.kind === ts.SyntaxKind.ExportKeyword);\n          const failures = [];\n          for (const file of files) {\n            if (!fs.existsSync(file)) continue;\n            const text = fs.readFileSync(file, 'utf8');\n            const source = ts.createSourceFile(file, text, ts.ScriptTarget.Latest, true, file.endsWith('.tsx') ? ts.ScriptKind.TSX : ts.ScriptKind.TS);\n            for (const diagnostic of source.parseDiagnostics || []) failures.push(`${file}: ${ts.flattenDiagnosticMessageText(diagnostic.messageText, ' ')}`);\n            const functionNames = new Set();\n            const variableNames = new Set();\n            for (const statement of source.statements) {\n              if (ts.isFunctionDeclaration(statement) && statement.body && statement.name && exported(statement)) {\n                const name = statement.name.text;\n                if (functionNames.has(name)) failures.push(`${file}: duplicate exported function implementation ${name}`);\n                functionNames.add(name);\n              }\n              if (ts.isVariableStatement(statement) && exported(statement)) {\n                for (const declaration of statement.declarationList.declarations) {\n                  if (!ts.isIdentifier(declaration.name)) continue;\n                  const name = declaration.name.text;\n                  if (variableNames.has(name)) failures.push(`${file}: duplicate exported variable ${name}`);\n                  variableNames.add(name);\n                }\n              }\n            }\n          }\n          if (failures.length > 0) {\n            for (const failure of failures) console.error(`::error::${failure}`);\n            process.exit(1);\n          }\n          console.log(`Fast TypeScript preflight passed for ${files.length} changed file(s)`);\n          NODE\n\n      - name: Resolve gate cache key\n        if: ${{ steps.gate-preclassify.outputs.frontend_toolchain == 'true' }}\n        id: gate-cache-key\n        shell: bash\n        run: |\n          set -euo pipefail\n          NODE_RUNTIME_KEY=\"$(node -p 'process.versions.node')\"\n          FRONTEND_MANIFEST_KEY=\"$(cat package.json package-lock.json | sha256sum | awk '{print $1}')\"\n          printf 'key=knocklaunch-gate-node-v2-%s-%s\\nlegacy_key=knocklaunch-gate-node-%s-%s\\n' \"$NODE_RUNTIME_KEY\" \"$FRONTEND_MANIFEST_KEY\" \"$NODE_RUNTIME_KEY\" \"$FRONTEND_MANIFEST_KEY\" >> \"$GITHUB_OUTPUT\""},{"path":"scripts/release-target-ownership.mjs","content":"export const CC_EXECUTION_STABLE_CONTEXT_PATHS = new Set([\n  \"config/owner-context.json\",\n  \"config/paul-owner-profile.json\",\n  \"config/platform-standards.json\",\n  \"config/business-operating-doctrine.json\",\n  \"config/business-operating-recipes.json\",\n]);\n\nconst FRONTEND_RELEASE_PATH = /^(?:src\\/(?!__tests__\\/contracts\\/)|public\\/|index\\.html$|package(?:-lock)?\\.json$|vite\\.config\\.|tsconfig|tailwind\\.config\\.|postcss\\.config\\.|components\\.json$|wrangler\\.toml$|scripts\\/knocklaunch-console\\/|scripts\\/cloudflare-native-(?!version-deploy\\.mjs$)|scripts\\/validate-cloudflare-native-public-env\\.mjs$|config\\/cloudflare-native-frontend-build\\.json$)/;\n\nexport function releaseTargetsFromChangedPaths(input = []) {\n  const paths = [...new Set((Array.isArray(input) ? input : [])\n    .map((value) => String(value || \"\").trim())\n    .filter(Boolean))];\n  return {\n    ccExecution: paths.some((path) => (path.startsWith(\"workers/cc-execution/\") && !path.startsWith(\"workers/cc-execution/test/\"))\n      || path === \"config/control-plane-capabilities.json\"\n      || path === \"config/mission-freedom-provider-cutover.json\"\n      || CC_EXECUTION_STABLE_CONTEXT_PATHS.has(path)\n      || path.startsWith(\"scripts/visual-witness-hosted-runner/\")),\n    frontend: paths.some((path) => FRONTEND_RELEASE_PATH.test(path)),\n    supabaseEdge: paths.some((path) => path.startsWith(\"supabase/functions/\") || path === \"scripts/reconcile-supabase-edge-registry.mjs\"),\n    migrations: paths.some((path) => path.startsWith(\"supabase/migrations/\")),\n  };\n}\n\nexport function workflowReleaseFlagsFromChangedPaths(paths = []) {\n  const targets = releaseTargetsFromChangedPaths(paths);\n  return {\n    release_cc_execution: String(targets.ccExecution),\n    release_frontend: String(targets.frontend),\n    release_supabase_edge: String(targets.supabaseEdge),\n    release_migrations: String(targets.migrations),\n  };\n}\n"},{"path":"scripts/release-target-ownership.test.mjs","content":"import assert from \"node:assert/strict\";\nimport { readFileSync } from \"node:fs\";\nimport { CC_EXECUTION_STABLE_CONTEXT_PATHS, releaseTargetsFromChangedPaths, workflowReleaseFlagsFromChangedPaths } from \"./release-target-ownership.mjs\";\n\nconst none = { ccExecution: false, frontend: false, supabaseEdge: false, migrations: false };\nassert.deepEqual(releaseTargetsFromChangedPaths([\".forgejo/workflows/knocklaunch.yml\"]), none);\nassert.deepEqual(releaseTargetsFromChangedPaths([\"scripts/protected-main-release-recovery.mjs\"]), none);\nassert.deepEqual(releaseTargetsFromChangedPaths([\"scripts/release-target-ownership.mjs\", \"scripts/release-target-ownership.test.mjs\"]), none);\nassert.equal(releaseTargetsFromChangedPaths([\"workers/cc-execution/src/index-mission-control.js\"]).ccExecution, true);\nassert.equal(releaseTargetsFromChangedPaths([\"config/control-plane-capabilities.json\"]).ccExecution, true);\nassert.equal(releaseTargetsFromChangedPaths([\"config/mission-freedom-provider-cutover.json\"]).ccExecution, true);\nassert.equal(releaseTargetsFromChangedPaths([\"config/owner-context.json\"]).ccExecution, true);\nassert.equal(releaseTargetsFromChangedPaths([\"config/paul-owner-profile.json\"]).ccExecution, true);\nassert.equal(releaseTargetsFromChangedPaths([\"config/platform-standards.json\"]).ccExecution, true);\nassert.equal(releaseTargetsFromChangedPaths([\"config/business-operating-doctrine.json\"]).ccExecution, true);\nassert.equal(releaseTargetsFromChangedPaths([\"config/business-operating-recipes.json\"]).ccExecution, true);\nassert.equal(workflowReleaseFlagsFromChangedPaths([\"config/owner-context.json\"]).release_cc_execution, \"true\");\nassert.equal(releaseTargetsFromChangedPaths([\"src/App.tsx\"]).frontend, true);\nassert.equal(releaseTargetsFromChangedPaths([\"scripts/visual-witness-hosted-runner/src/mission-supervisor.mjs\"]).ccExecution, true);\nassert.equal(Object.prototype.hasOwnProperty.call(releaseTargetsFromChangedPaths([\"scripts/visual-witness-hosted-runner/src/mission-supervisor.mjs\"]), \"onrunner\"), false);\nassert.equal(releaseTargetsFromChangedPaths([\"supabase/functions/example/index.ts\"]).supabaseEdge, true);\nassert.equal(releaseTargetsFromChangedPaths([\"scripts/reconcile-supabase-edge-registry.mjs\"]).supabaseEdge, true);\nassert.equal(releaseTargetsFromChangedPaths([\"supabase/migrations/20260904000000_example.sql\"]).migrations, true);\nassert.deepEqual(workflowReleaseFlagsFromChangedPaths([\".forgejo/workflows/knocklaunch.yml\"]), {\n  release_cc_execution: \"false\",\n  release_frontend: \"false\",\n  release_supabase_edge: \"false\",\n  release_migrations: \"false\",\n});\nconsole.log(\"release-target-ownership: PASS\");\n\nconst workflow = readFileSync(new URL(\"../.forgejo/workflows/knocklaunch.yml\", import.meta.url), \"utf8\");\nfor (const path of CC_EXECUTION_STABLE_CONTEXT_PATHS) {\n  assert.equal(\n    workflow.includes(`\"${path}\"`),\n    true,\n    `event-native release planner must classify stable PAUL context path: ${path}`,\n  );\n}\nassert.equal(\n  workflow.includes('\"config/mission-freedom-provider-cutover.json\"'),\n  true,\n  \"event-native release planner must preserve mission-freedom cc-execution ownership\",\n);\nassert.equal(\n  workflow.includes(\"scripts\\\\/knocklaunch-console\\\\/\"),\n  true,\n  \"event-native release planner must preserve KnockLaunch Console frontend ownership\",\n);\n"}],"branch":"ai/objective-first-repair-75d1a5978065","writes":[],"patches":[],"version":1,"approved":true,"missionId":"75d1a597-8065-4363-ab05-63bf70d78f3a","objective":"Fix the canonical push-event release planner so PAUL stable-context files are cc-execution release owners, keep script-level and event-native release classifiers in parity, add regression coverage against drift, bump canonical owner context to trigger the corrected release, then Gate, auto-merge, deploy cc-execution, and prove the live PAUL context path.","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":[".forgejo/workflows/knocklaunch.yml","scripts/release-target-ownership.mjs","scripts/release-target-ownership.test.mjs","config/owner-context.json"],"anchored_edits":[{"path":"config/owner-context.json","edits":[{"new_content":"\"version\": \"2026-10-01.v12\"","old_content":"\"version\": \"2026-10-01.v11\""},{"new_content":"\"updatedAt\": \"2026-10-02T00:56:00Z\"","old_content":"\"updatedAt\": \"2026-10-02T00:52:00Z\""}]}],"implementation":{"files":[],"writes":[]},"requestContract":{"valid":true,"intent":{"rawUtterance":"Fix the canonical push-event release planner so PAUL stable-context files are cc-execution release owners, keep script-level and event-native release classifiers in parity, add regression coverage against drift, bump canonical owner context to trigger the corrected release, then Gate, auto-merge, deploy cc-execution, and prove the live PAUL context path.","wordingChanged":false,"canonicalIntent":"Fix the canonical push-event release planner so PAUL stable-context files are cc-execution release owners, keep script-level and event-native release classifiers in parity, add regression coverage against drift, bump canonical owner context to trigger the corrected release, then Gate, auto-merge, deploy cc-execution, and prove the live PAUL context path.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"PAUL stable-context changes trigger cc-execution release and transferred durable memory reaches PAUL's live context path.","provenance":{"source":"current_explicit_owner_request","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-live"]}],"objective":"Fix the canonical push-event release planner so PAUL stable-context files are cc-execution release owners, keep script-level and event-native release classifiers in parity, add regression coverage against drift, bump canonical owner context to trigger the corrected release, then Gate, auto-merge, deploy cc-execution, and prove the live PAUL context path.","constraints":[{"id":"authority","statement":"Current explicit Noel instructions and current Prime/live runtime truth remain higher authority than durable memory.","provenance":{"source":"current_explicit_owner_request","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-live"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-live","kind":"runtime","claim":"The merged repair causes a cc-execution production release and fresh live PAUL owner context retrieval is served from a runtime containing the corrected release ownership and transferred durable context.","required":true}]},"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":null,"ownerApproved":true,"releaseIntent":null,"sourceTargets":[".forgejo/workflows/knocklaunch.yml","scripts/release-target-ownership.mjs","scripts/release-target-ownership.test.mjs","config/owner-context.json"],"requestContract":{"valid":true,"intent":{"rawUtterance":"Fix the canonical push-event release planner so PAUL stable-context files are cc-execution release owners, keep script-level and event-native release classifiers in parity, add regression coverage against drift, bump canonical owner context to trigger the corrected release, then Gate, auto-merge, deploy cc-execution, and prove the live PAUL context path.","wordingChanged":false,"canonicalIntent":"Fix the canonical push-event release planner so PAUL stable-context files are cc-execution release owners, keep script-level and event-native release classifiers in parity, add regression coverage against drift, bump canonical owner context to trigger the corrected release, then Gate, auto-merge, deploy cc-execution, and prove the live PAUL context path.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"PAUL stable-context changes trigger cc-execution release and transferred durable memory reaches PAUL's live context path.","provenance":{"source":"current_explicit_owner_request","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-live"]}],"objective":"Fix the canonical push-event release planner so PAUL stable-context files are cc-execution release owners, keep script-level and event-native release classifiers in parity, add regression coverage against drift, bump canonical owner context to trigger the corrected release, then Gate, auto-merge, deploy cc-execution, and prove the live PAUL context path.","constraints":[{"id":"authority","statement":"Current explicit Noel instructions and current Prime/live runtime truth remain higher authority than durable memory.","provenance":{"source":"current_explicit_owner_request","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-live"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-live","kind":"runtime","claim":"The merged repair causes a cc-execution production release and fresh live PAUL owner context retrieval is served from a runtime containing the corrected release ownership and transferred durable context.","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":"2a6e7935775682b48fbac90c89772139d7bd38098d89e6b576d60e164d99ed87","replayCount":0,"serializedBytes":44973},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T00:57:03.937115+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:75d1a597-8065-4363-ab05-63bf70d78f3a:repository-mutation-intent:2a6e7935775682b48fbac90c89772139d7bd38098d89e6b576d60e164d99ed87:0","mission_step_id":"ed450cc3-9ea6-40a1-a067-c9b69f3f31d5","command_center_event_id":"75d1a597-8065-4363-ab05-63bf70d78f3a"},{"id":"5cf20461-1f36-4483-9576-1533ff169a3b","source":"owner_authorized_full_backlog_cleanup","status":"recorded","payload":{"category":"platform_reliability","disposition":"superseded_execution_attempt","previousStatus":"retryable","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:b65ba8ed-48a3-4fd6-af24-a123af297202","mission_step_id":null,"command_center_event_id":"b65ba8ed-48a3-4fd6-af24-a123af297202"},{"id":"5cf31b4d-8020-4f56-9108-a2493780a836","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-cf0b811bd5d7","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":25910,"releaseCount":0,"toolCallCount":7,"repeatedCallCount":1,"executorlessWaitMs":34787,"firstUsefulResultAt":"2026-09-24T22:22:52.409Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.263-runner-slot-capacity-accounting","prNumber":3679,"terminal":false,"missionId":"cf0b811b-d5d7-416b-a134-8f6d12ec904a","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3788,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":1693,"missionSetupMs":430,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":288,"ledgerReconcileMs":0,"lineageReconcileMs":142,"resolvePreflightMs":430,"repositoryMutationMs":2095,"repositoryProviderMs":2095,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":1969,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":288,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":126},"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":"cf0b811b-d5d7-416b-a134-8f6d12ec904a"},"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":3363,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T22:22:59.170852+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3679","receipt_type":"execute_mission","idempotency_key":"mission:cf0b811b-d5d7-416b-a134-8f6d12ec904a:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"6bd7abbb-a99b-4efd-ae7d-4382c7494bf5","command_center_event_id":"cf0b811b-d5d7-416b-a134-8f6d12ec904a"},{"id":"5cf3cf9b-ff64-4f53-b361-e240415b627d","source":"cc-execution","status":"recorded","payload":{"objective":"Finish existing green PR #2040 exactly as committed. Do not change source unless protected main advanced and the same PR requires canonical refresh. Preserve buyer-ID-bound showing feedback, durable activity_timeline history, useRealtorPipelineContacts for canonical buyer selection, Open Buyer link, Print and Email LA actions, and removal of localStorage persistence. Require exact-head KnockLaunch Gate, squash merge, frontend release only, and production proof that Realtor Tools exposes 'Feedback is saved to the selected buyer’s client history'. No Visual Witness.","tenantRef":"curriproperties","receivedAt":"2026-09-07T03:20:33.403Z","fingerprint":"995d8f348e1317005b317671b1bfab284e4c924c18b1b257b6e4b0c0f98e2255","workstreamRef":"curriproperties","conversationId":null,"canonicalBranch":"ai/realtor-showing-feedback-persistence-v2-20260906","requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Finish existing green PR #2040 exactly as committed. Do not change source unless protected main advanced and the same PR requires canonical refresh. Preserve buyer-ID-bound showing feedback, durable activity_timeline history, useRealtorPipelineContacts for canonical buyer selection, Open Buyer link, Print and Email LA actions, and removal of localStorage persistence. Require exact-head KnockLaunch Gate, squash merge, frontend release only, and production proof that Realtor Tools exposes 'Feedback is saved to the selected buyer’s client history'. No Visual Witness.","wordingChanged":false,"canonicalIntent":"Finish existing green PR #2040 exactly as committed. Do not change source unless protected main advanced and the same PR requires canonical refresh. Preserve buyer-ID-bound showing feedback, durable activity_timeline history, useRealtorPipelineContacts for canonical buyer selection, Open Buyer link, Print and Email LA actions, and removal of localStorage persistence. Require exact-head KnockLaunch Gate, squash merge, frontend release only, and production proof that Realtor Tools exposes 'Feedback is saved to the selected buyer’s client history'. No Visual Witness.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"Showing feedback persists to the selected canonical buyer’s durable client history and is production-live.","proofConditionIds":["proof-gate","proof-merge","proof-production"]}],"objective":"Finish existing green PR #2040 exactly as committed. Do not change source unless protected main advanced and the same PR requires canonical refresh. Preserve buyer-ID-bound showing feedback, durable activity_timeline history, useRealtorPipelineContacts for canonical buyer selection, Open Buyer link, Print and Email LA actions, and removal of localStorage persistence. Require exact-head KnockLaunch Gate, squash merge, frontend release only, and production proof that Realtor Tools exposes 'Feedback is saved to the selected buyer’s client history'. No Visual Witness.","constraints":[{"id":"constraint-1","statement":"Reuse PR #2040, frontend release only, no Visual Witness, and no source change unless same-PR refresh is required by protected-main movement.","proofConditionIds":["proof-gate","proof-merge","proof-production"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-gate","kind":"repository","claim":"PR #2040 exact head passes KnockLaunch Gate.","route":"/curri-properties/realtor/tools","roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"proof-merge","kind":"repository","claim":"PR #2040 is squash merged to protected Forgejo main.","route":"/curri-properties/realtor/tools","roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"proof-production","kind":"runtime","claim":"Production Realtor Tools exposes durable buyer-bound showing feedback.","route":"/curri-properties/realtor/tools","roleRef":null,"userRef":null,"required":true,"expectedText":"Feedback is saved to the selected buyer’s client history","targetedActions":[],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"]}],"validationErrors":[]},"requestedBranch":"ai/realtor-showing-feedback-persistence-v2-20260906","conversationContext":null,"requestContractHash":"7a77937df3111e14099837f1f5bcd8859c4c62ae541359380c332707bdfaaebc","requestContractRevision":1},"tenant_id":"90ed5bf4-8abd-4d3a-af7c-024664b5b99d","created_at":"2026-09-07T03:20:33.848363+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:07cfdb12-6800-4f6e-ad8b-277f9afa93ab:tenant-workstream-contribution:995d8f348e1317005b317671b1bfab284e4c924c18b1b257b6e4b0c0f98e2255","mission_step_id":null,"command_center_event_id":"07cfdb12-6800-4f6e-ad8b-277f9afa93ab"},{"id":"5cf3dab5-50b7-4421-a985-79ae2fa77323","source":"cc-execution","status":"cancelled","payload":{"cancelled":true,"missionId":"0d030744-636f-4143-abb1-637b9402b420"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T02:21:19.782493+00:00","proof_gate":"durable_mission_cancelled","source_sha":null,"external_id":null,"receipt_type":"owner_mission_cancelled","idempotency_key":"mission:0d030744-636f-4143-abb1-637b9402b420:mission-cancel:0d030744-636f-4143-abb1-637b9402b420","mission_step_id":"b11468e9-5efd-4026-acf8-0d9f93bd8aa6","command_center_event_id":"0d030744-636f-4143-abb1-637b9402b420"},{"id":"5cf44eaa-71b4-4959-87dc-53993460f58b","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-67816ed70ead","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":2677,"terminal":false,"missionId":"67816ed7-0ead-4d40-a967-ab15be1b59a5","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":5308,"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":"67816ed7-0ead-4d40-a967-ab15be1b59a5"},"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-13T19:56:18.928223+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"2677","receipt_type":"automatic_mission_resume","idempotency_key":"mission:67816ed7-0ead-4d40-a967-ab15be1b59a5:automatic-mission-resume:2677:repair_mission_pr_ready_retryable","mission_step_id":"a5a43c37-e883-4e45-a240-810a30f6ea1b","command_center_event_id":"67816ed7-0ead-4d40-a967-ab15be1b59a5"},{"id":"5cf55d0f-7a7e-4c17-bc2b-e299f317f8b2","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"d7ca49a09f29cfb352ee09b564561e775a9987cb","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"artifact-type","satisfied":true,"statement":"Named visual artifact type is preserved as an authoritative contract.","proofConditionIds":["prod"]},{"id":"surface-exclusion","satisfied":true,"statement":"Unrequested visual surfaces are excluded unless explicitly requested.","proofConditionIds":["prod"]},{"id":"correction-narrowing","satisfied":true,"statement":"Owner correction such as 'workspace, not website' narrows the artifact contract and preserves the exclusion.","proofConditionIds":["prod"]}],"satisfied":true,"constraints":[{"id":"preserve-visual-intent","satisfied":true,"statement":"Preserve visual artifact generation vs reference-driven implementation semantics from runtime 1.58.227.","proofConditionIds":["prod"]},{"id":"single-path","satisfied":true,"statement":"Do not create a parallel visual orchestration lane.","proofConditionIds":["prod"]},{"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":["prod"]},{"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":["prod"]}],"contractHash":"1a0f5967e03bf773672af0f213fc2229bff9ce2fac77efbb4b1583e03777c3fd","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"prod","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"ccExecution":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["ccExecution"],"allowedReleaseTargets":["ccExecution"],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"1a0f5967e03bf773672af0f213fc2229bff9ce2fac77efbb4b1583e03777c3fd"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["ccExecution"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T04:00:18.450687+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"d7ca49a09f29cfb352ee09b564561e775a9987cb","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:a736aad7-f792-4785-aa47-eab1f1fac0b5:request-contract:1a0f5967e03bf773672af0f213fc2229bff9ce2fac77efbb4b1583e03777c3fd:d7ca49a09f29cfb352ee09b564561e775a9987cb:verified:","mission_step_id":"7e86fa73-d409-4c05-af9b-17226dd6e968","command_center_event_id":"a736aad7-f792-4785-aa47-eab1f1fac0b5"},{"id":"5cf5d3f4-2168-416d-8e99-2d36510bd1fd","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":null,"reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.31.27-tenant-scope-security","prNumber":4530,"terminal":false,"missionId":"132d3571-600f-4d5d-b39b-f86910739b2e","operation":"ship_and_prove","proofGate":"canonical_release_dispatched","sourceSha":"2b7b9a6f34fe0278a350850dcfe633a97353f238","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"132d3571-600f-4d5d-b39b-f86910739b2e"},"performance":null,"deploymentId":"canonical-release-2b7b9a6f34fe","workflowRunId":31400336879,"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":1194,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-10T14:50:30.156785+00:00","proof_gate":"canonical_release_dispatched","source_sha":"2b7b9a6f34fe0278a350850dcfe633a97353f238","external_id":"canonical-release-2b7b9a6f34fe","receipt_type":"ship_and_prove","idempotency_key":"mission:132d3571-600f-4d5d-b39b-f86910739b2e:ship_and_prove:canonical_release_dispatched:2b7b9a6f34fe0278a350850dcfe633a97353f238:31400336879","mission_step_id":"464d467d-28c5-4117-8cef-ef42a8424f5c","command_center_event_id":"132d3571-600f-4d5d-b39b-f86910739b2e"},{"id":"5cf669d5-1dde-4a3a-b151-cbfd2565e278","source":"forgejo-runtime","status":"pending","payload":{"mainSha":"0646720cad3dc88b10532a280fd98ff47c311f3e","sourceSha":"95bdd0558f7296f49dcad08f781112f51700aee7","sourceInMain":false,"compareStatus":"ancestry_read_retryable","ancestryProofResolved":false},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-09-20T16:05:06.952138+00:00","proof_gate":"canonical_release_ancestry_pending","source_sha":"95bdd0558f7296f49dcad08f781112f51700aee7","external_id":"canonical-release-95bdd0558f72","receipt_type":"canonical_release_status","idempotency_key":"mission:09b211eb-60ea-485f-bd28-9d0085bbcef7:forgejo-release-ancestry:95bdd0558f7296f49dcad08f781112f51700aee7:0646720cad3dc88b10532a280fd98ff47c311f3e:ancestry_read_retryable","mission_step_id":"3d2d3e1f-1bd6-40b3-b17e-457eceaf73fd","command_center_event_id":"09b211eb-60ea-485f-bd28-9d0085bbcef7"},{"id":"5cf6c9e8-04f2-47ae-aaae-8ce5333efc7b","source":"forgejo","status":"waiting","payload":{"branch":"ai/repair-pa-dashboard-lazy-route-boundary-20260805","prNumber":4067,"nextAction":null,"mergeCommitSha":"05a34944d5ba48fed5fc9efebd756f4fe239f097","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"fe5cc9d9-c2fe-4062-84c7-a334663cd63c","created_at":"2026-10-03T21:51:37.791737+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"05a34944d5ba48fed5fc9efebd756f4fe239f097","external_id":"4067","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:e9ee29b8-d368-4656-af0f-d55dd7435222:merged-pr:4067:05a34944d5ba48fed5fc9efebd756f4fe239f097","mission_step_id":"7f86a966-f536-4766-9168-3b2115aad6fa","command_center_event_id":"e9ee29b8-d368-4656-af0f-d55dd7435222"},{"id":"5cf78abf-44be-42f1-9bee-eaa551a71545","source":"cc-execution","status":"recorded","payload":{"objective":"Gate is green for existing PR #4174 at head ec96b6f1d63eafc36da1d39c38b99b317b29add7. Squash merge this exact PR with no source changes, release the affected frontend, and verify https://whatsmyprogress.com/pcg on desktop and mobile. Acceptance: no visible preliminary P/text loader, only the configured WMP loading video as the branded loader after media resolves, substantially larger tenant logo with premium orbit/glow/float/sheen animation, and the 3-second minimum preserved.","tenantRef":"pcg","receivedAt":"2026-09-29T19:55:29.662Z","fingerprint":"4a601be97446043e6a2315e4f17f68b99cf76f647d7ed128e4dd188e00f8fbd6","workstreamRef":"pcg","conversationId":null,"canonicalBranch":null,"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"compilation":{"stages":["owner_intent","conversation_context","scope","live_state","mutation_authority","affected_systems","dependencies","risk_and_blast_radius","execution_tactics","required_proof","release_plan","recovery_plan"],"version":2,"explicit":false,"objective":"Gate is green for existing PR #4174 at head ec96b6f1d63eafc36da1d39c38b99b317b29add7. Squash merge this exact PR with no source changes, release the affected frontend, and verify https://whatsmyprogress.com/pcg on desktop and mobile. Acceptance: no visible preliminary P/text loader, only the configured WMP loading video as the branded loader after media resolves, substantially larger tenant logo with premium orbit/glow/float/sheen animation, and the 3-second minimum preserved.","proofKinds":[],"adaptiveDomains":["intent","tenant_route_role_viewport","urgency_deadline","dependency_scope","risk_blast_radius","runner_capacity","queue_active_work","provider_failure_circuits","qa_scope","retry_recovery","release_ownership","proof_depth"],"expansionPolicy":"later_stages_may_only_narrow_or_expand_with_machine_readable_dependency_evidence","dynamicStatePolicy":"live_state_may_change_execution_tactics_but_never_owner_outcome_or_explicit_constraints","dynamicRefreshStages":["preflight","gate","release","runtime_proof"],"adaptiveCompilerVersion":"paul-adaptive-objective-v1","inheritedContextBlockingAuthority":false},"rawUtterance":"Gate is green for existing PR #4174 at head ec96b6f1d63eafc36da1d39c38b99b317b29add7. Squash merge this exact PR with no source changes, release the affected frontend, and verify https://whatsmyprogress.com/pcg on desktop and mobile. Acceptance: no visible preliminary P/text loader, only the configured WMP loading video as the branded loader after media resolves, substantially larger tenant logo with premium orbit/glow/float/sheen animation, and the 3-second minimum preserved.","wordingChanged":false,"canonicalIntent":"Gate is green for existing PR #4174 at head ec96b6f1d63eafc36da1d39c38b99b317b29add7. Squash merge this exact PR with no source changes, release the affected frontend, and verify https://whatsmyprogress.com/pcg on desktop and mobile. Acceptance: no visible preliminary P/text loader, only the configured WMP loading video as the branded loader after media resolves, substantially larger tenant logo with premium orbit/glow/float/sheen animation, and the 3-second minimum preserved.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"legacy_derived","version":1,"outcomes":[{"id":"outcome-1","statement":"Gate is green for existing PR #4174 at head ec96b6f1d63eafc36da1d39c38b99b317b29add7. Squash merge this exact PR with no source changes, release the affected frontend, and verify https://whatsmyprogress.com/pcg on desktop and mobile. Acceptance: no visible preliminary P/text loader, only the configured WMP loading video as the branded loader after media resolves, substantially larger tenant logo with premium orbit/glow/float/sheen animation, and the 3-second minimum preserved.","provenance":{"reason":null,"source":"current_request_inference","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production","proof-visual"]}],"objective":"Gate is green for existing PR #4174 at head ec96b6f1d63eafc36da1d39c38b99b317b29add7. Squash merge this exact PR with no source changes, release the affected frontend, and verify https://whatsmyprogress.com/pcg on desktop and mobile. Acceptance: no visible preliminary P/text loader, only the configured WMP loading video as the branded loader after media resolves, substantially larger tenant logo with premium orbit/glow/float/sheen animation, and the 3-second minimum preserved.","constraints":[{"id":"capability-completeness","statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","provenance":{"reason":null,"source":"heuristic_current_objective","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]},{"id":"atomic-capability-lifecycle","statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","provenance":{"reason":null,"source":"heuristic_current_objective","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]}],"adaptivePolicy":{"risk":{"tier":"standard","blastRadius":"scoped"},"proof":{"requiredKinds":["runtime","visual"],"visualProofScope":"targeted","interactionRequired":false,"runtimeProofRequired":true},"scope":{"route":"https://whatsmyprogress.com/pcg","roleRef":null,"tenantRef":"pcg","sourceTargets":[]},"dynamic":{"variables":["main_and_runtime_lineage","runner_capacity","queue_and_active_work","provider_health","failure_clusters_and_circuits","release_target_state","current_pr_and_gate_state"],"refreshStages":["preflight","gate","release","runtime_proof"],"refreshMayChange":["runner_selection","parallelism","retry_path","qa_depth","release_recovery","proof_timing"],"refreshMayNotChange":["owner_outcome","explicit_no_go_constraints","tenant_identity","credential_boundary","hard_safety_invariants"]},"urgency":{"priority":"normal","deadlineSignals":[],"deadlineExplicit":false},"version":"paul-adaptive-objective-v1","recovery":{"transient":"one_bounded_retry_then_alternate_eligible_pool_or_provider_path","deterministic":"repair_source_or_contract_do_not_blind_rerun","mutationDependencyFailure":"prerequisite_required_or_targeted_recovery_never_invent","readOnlyDependencyFailure":"degrade_to_available_grounded_context_and_keep_conversation_alive"},"unknowns":["source_targets_until_repository_resolution","release_targets_until_changed_paths","deadline"],"authority":{"outcome":"current_explicit_owner_request","tactics":"live_prime_truth","unknownPolicy":"preserve_unknown_never_invent","historicalContext":"advisory_unless_current_request_confirms"},"execution":{"mutation":true,"concurrency":"parallel_non_overlapping_tenant_work","scopePolicy":"start_bounded_expand_only_with_machine_readable_dependency_evidence","staleStatePolicy":"refresh_dynamic_state_before_irreversible_or_acceptance_stage","conversationIsolation":true,"ownerOutcomeMayBeChangedByAdaptation":false},"experience":{"visual":true,"viewports":["mobile","desktop"],"behavioral":false,"visualProofScope":"targeted"},"dependencies":{"requiredDomains":["frontend","release_ownership","live_production_proof"],"capabilityDomains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"releaseTargetHints":[]},"inputSignals":{"rawUtterance":"Gate is green for existing PR #4174 at head ec96b6f1d63eafc36da1d39c38b99b317b29add7. Squash merge this exact PR with no source changes, release the affected frontend, and verify https://whatsmyprogress.com/pcg on desktop and mobile. Acceptance: no visible preliminary P/text loader, only the configured WMP loading video as the branded loader after media resolves, substantially larger tenant logo with premium orbit/glow/float/sheen animation, and the 3-second minimum preserved.","canonicalIntent":"Gate is green for existing PR #4174 at head ec96b6f1d63eafc36da1d39c38b99b317b29add7. Squash merge this exact PR with no source changes, release the affected frontend, and verify https://whatsmyprogress.com/pcg on desktop and mobile. Acceptance: no visible preliminary P/text loader, only the configured WMP loading video as the branded loader after media resolves, substantially larger tenant logo with premium orbit/glow/float/sheen animation, and the 3-second minimum preserved.","conversationContextPresent":false}},"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-production","kind":"runtime","claim":"Gate is green for existing PR #4174 at head ec96b6f1d63eafc36da1d39c38b99b317b29add7. Squash merge this exact PR with no source changes, release the affected frontend, and verify https://whatsmyprogress.com/pcg on desktop and mobile. Acceptance: no visible preliminary P/text loader, only the configured WMP loading video as the branded loader after media resolves, substantially larger tenant logo with premium orbit/glow/float/sheen animation, and the 3-second minimum preserved.","route":"https://whatsmyprogress.com/pcg","roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false},{"id":"proof-visual","kind":"visual","claim":"Gate is green for existing PR #4174 at head ec96b6f1d63eafc36da1d39c38b99b317b29add7. Squash merge this exact PR with no source changes, release the affected frontend, and verify https://whatsmyprogress.com/pcg on desktop and mobile. Acceptance: no visible preliminary P/text loader, only the configured WMP loading video as the branded loader after media resolves, substantially larger tenant logo with premium orbit/glow/float/sheen animation, and the 3-second minimum preserved.","route":"https://whatsmyprogress.com/pcg","roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}],"validationErrors":[],"capabilityManifest":{"id":"Gate-is-green-for-existing-PR-4174-at-head-ec96b6f1d63eafc36da1d39c38b99b317b29add7.-Squash-merge-th","driftPolicy":"exact_manifest_source_release_dependency_or_runtime_identity_mismatch_is_nonterminal","proofLedger":"command_center_mission_ledger_request_contract_hash_bound","schemaVersion":1,"releaseTargets":[],"lifecycleStates":["prepare","deploy","verify","activate"],"activationPolicy":"dependencies_and_claim_matched_live_proof_before_exposure","dependencyDomains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_required_not_runtime_failures","compatibilityWindow":["N","N-1"],"failureIsolationPolicy":"quarantine_or_rollback_affected_capability_only_preserve_unrelated_working_capabilities","canaryProofConditionIds":["proof-production"]},"capabilityCompleteness":{"domains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"required":true,"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_states_not_runtime_failures"}},"requestedBranch":null,"conversationContext":null,"requestContractHash":"2754b5f70bdfcc6717e558fbc17dd1caed6d092461803bcc8e598fcd4882ddbd","requestContractRevision":1},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-09-29T19:55:29.995004+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:835f8c32-adf3-415d-a1ad-0c1d8d46234a:tenant-workstream-contribution:4a601be97446043e6a2315e4f17f68b99cf76f647d7ed128e4dd188e00f8fbd6","mission_step_id":null,"command_center_event_id":"835f8c32-adf3-415d-a1ad-0c1d8d46234a"},{"id":"5cf81013-b863-41bd-9db0-0c4eb6601d70","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/professional-proposal-editor-interactions","reason":"pull_request_gate_missing","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.68-visual-witness-self-heal-proof","prNumber":1960,"terminal":false,"missionId":"6bf912ec-207c-419a-92fa-efbb8a3f9977","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":5647,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":3314,"approvedPlanMs":0,"missionSetupMs":507,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":346,"ledgerReconcileMs":0,"lineageReconcileMs":161,"resolvePreflightMs":507,"repositoryMutationMs":2323,"repositoryProviderMs":1832,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":1742,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":346,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":90},"nextAction":"Reconcile this same mission and pull request after the exact-head KnockLaunch Gate changes state.","receiptRef":{"mode":"full","missionId":"6bf912ec-207c-419a-92fa-efbb8a3f9977"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1510,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-09-06T15:36:38.061113+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"1960","receipt_type":"execute_mission","idempotency_key":"mission:6bf912ec-207c-419a-92fa-efbb8a3f9977:execute_mission:repair_mission_waiting_for_gate:current-generation","mission_step_id":"823cb736-389f-458c-be3a-033366532026","command_center_event_id":"6bf912ec-207c-419a-92fa-efbb8a3f9977"},{"id":"5cfb16a2-c3bb-4ccd-86f9-405629faf3cd","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Continue this exact mission. Modify only supabase/functions/admin-tenant-preview/index.ts. Immediately after the existing four import statements, insert exactly this single comment line: // Current-main MODES tenant creation/bootstrap release marker. Do not change any other line. Then open one PR, require KnockLaunch Gate, squash merge, release only admin-tenant-preview, and verify live source contains this marker plus existing MODES logic.","wordingChanged":false,"canonicalIntent":"Continue this exact mission. Modify only supabase/functions/admin-tenant-preview/index.ts. Immediately after the existing four import statements, insert exactly this single comment line: // Current-main MODES tenant creation/bootstrap release marker. Do not change any other line. Then open one PR, require KnockLaunch Gate, squash merge, release only admin-tenant-preview, and verify live source contains this marker plus existing MODES logic.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"edge-live","statement":"admin-tenant-preview is deployed from current main and retains MODES creation/bootstrap behavior.","proofConditionIds":["source","gate","live"]}],"objective":"Continue this exact mission. Modify only supabase/functions/admin-tenant-preview/index.ts. Immediately after the existing four import statements, insert exactly this single comment line: // Current-main MODES tenant creation/bootstrap release marker. Do not change any other line. Then open one PR, require KnockLaunch Gate, squash merge, release only admin-tenant-preview, and verify live source contains this marker plus existing MODES logic.","constraints":[{"id":"one-file","statement":"Only supabase/functions/admin-tenant-preview/index.ts may change, and only by one non-functional release-marker comment.","proofConditionIds":["source"]},{"id":"single-release","statement":"Release only admin-tenant-preview through the canonical Supabase Edge owner.","proofConditionIds":["live"]},{"id":"capability-completeness","statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["source","gate","live"]},{"id":"atomic-capability-lifecycle","statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["source","gate","live"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"source","kind":"repository","claim":"Exact diff is one comment in admin-tenant-preview and no behavior changes.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"gate","kind":"repository","claim":"Exact-head KnockLaunch Gate passes and the PR squash-merges.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"live","kind":"runtime","claim":"Production admin-tenant-preview contains the release marker and existing MODES creation/bootstrap behavior.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[],"capabilityManifest":{"id":"Continue-this-exact-mission.-Modify-only-supabase-functions-admin-tenant-preview-index.ts.-Immediate","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":["source","gate","live"]},"capabilityCompleteness":{"domains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"required":true,"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_states_not_runtime_failures"}},"requestContractHash":"5b38e36e72c57c9d87a4c3d5ac262a3e7c21e5b150a344a90ea21e80f3963684","requestContractRevision":2,"previousRequestContractHash":"1cb2daa982276251702b0b55be0a248466107152343f010123a694d5cb9b7c62"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-13T02:48:31.535482+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:6b63bb0f-8602-4eb3-b20b-e2eddfced5ef:request-contract:5b38e36e72c57c9d87a4c3d5ac262a3e7c21e5b150a344a90ea21e80f3963684","mission_step_id":"0b95f573-1f8e-4fca-bbb4-2545da20a423","command_center_event_id":"6b63bb0f-8602-4eb3-b20b-e2eddfced5ef"},{"id":"5cfb80a4-15b8-40ce-9dd8-5a022c538d23","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","cc-execution/runtime-proof":"pending"},"mainSha":"0b6263c0654147c1ebcb9bae23432f152ebc72ce","missing":[],"pending":["forgejo-release/workflow","cc-execution/runtime-proof"],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"0b6263c0654147c1ebcb9bae23432f152ebc72ce","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"ccExecution":"pending"},"requestContractHash":"422868b6ab59d0689bb8c7a0fd227950f32c33c230a3ed72cc28bc57c3054d40","forgejoWorkflowProof":{"runId":15799,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"ccExecution":"pending"},"targetJobCount":7,"observedTargetStates":{"ccExecution":"pending"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"cf45771b5e55941bd80cc6ff4f47f6822b9aed3a","deploymentId":"forgejo-main-cf45771b5e55941bd80cc6ff4f47f6822b9aed3a","compareStatus":null,"identitySource":"local_build_metadata","runtimeVersion":"1.64.97-boring-release-v1","containsSourceSha":false},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T16:21:07.659333+00:00","proof_gate":"canonical_release_pending","source_sha":"0b6263c0654147c1ebcb9bae23432f152ebc72ce","external_id":"forgejo-main-0b6263c06541","receipt_type":"canonical_release_status","idempotency_key":"mission:d826812d-3633-47da-b7c7-70e1549ae353:forgejo-release-status:0b6263c0654147c1ebcb9bae23432f152ebc72ce:pending:forgejo-main/source=success|forgejo-release/workflow=pending|cc-execution/runtime-proof=pending","mission_step_id":"969d0562-57c2-439a-8796-8637cfe8a7fc","command_center_event_id":"d826812d-3633-47da-b7c7-70e1549ae353"},{"id":"5cfca8c7-d212-40e1-8fdc-5bc8b9b4f236","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Unfreeze the control plane, eliminate Forgejo fetch latency by converting the Gate to partial domain-scoped checkout, reuse one live-main fetch, repair canonical repository packing and the forgejo_repo_optimize control path, then refreeze the control plane. Continue mission 531a2921-77f4-41ce-87ea-f70389652e0c and PR #1665. Fix only the false frontend hydration classifier: for .forgejo/workflows/knocklaunch.yml, inspect zero-context added/removed diff lines for gate-ts-cache, TypeScript incremental cache, or knocklaunch-tsbuildinfo. Unchanged diff context must not select frontend. Add regression coverage. Do not change any other behavior or scope.","wordingChanged":false,"canonicalIntent":"Unfreeze the control plane, eliminate Forgejo fetch latency by converting the Gate to partial domain-scoped checkout, reuse one live-main fetch, repair canonical repository packing and the forgejo_repo_optimize control path, then refreeze the control plane. Continue mission 531a2921-77f4-41ce-87ea-f70389652e0c and PR #1665. Fix only the false frontend hydration classifier: for .forgejo/workflows/knocklaunch.yml, inspect zero-context added/removed diff lines for gate-ts-cache, TypeScript incremental cache, or knocklaunch-tsbuildinfo. Unchanged diff context must not select frontend. Add regression coverage. Do not change any other behavior or scope.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"gate-fetch","statement":"The normal physical KnockLaunch Gate fetches the exact PR head and live main in one depth-2 blobless Forgejo negotiation, then hydrates only the hard-safety baseline, exact changed files, and affected product domain.","proofConditionIds":["repo","runtime"]},{"id":"single-main","statement":"The Gate reuses the one live-main snapshot through validation and TypeScript cache resolution; only bounded deepen is allowed when merge-base cannot be resolved.","proofConditionIds":["repo","runtime"]},{"id":"repo-pack","statement":"Canonical Forgejo repository optimization uses cruft packing with a two-week expiration instead of repack -A loose-object explosion, and the v13 maintenance migration can run on the host.","proofConditionIds":["repo","runtime"]},{"id":"host-control","statement":"The public host-control schema no longer hardcodes an action enum that can drift from the backend allowlist; backend allowlisting remains authoritative and arbitrary shell remains forbidden.","proofConditionIds":["repo","runtime"]},{"id":"refrozen","statement":"Control plane is refrozen on the new runtime after exact merged-source release proof.","proofConditionIds":["repo","runtime"]}],"objective":"Unfreeze the control plane, eliminate Forgejo fetch latency by converting the Gate to partial domain-scoped checkout, reuse one live-main fetch, repair canonical repository packing and the forgejo_repo_optimize control path, then refreeze the control plane. Continue mission 531a2921-77f4-41ce-87ea-f70389652e0c and PR #1665. Fix only the false frontend hydration classifier: for .forgejo/workflows/knocklaunch.yml, inspect zero-context added/removed diff lines for gate-ts-cache, TypeScript incremental cache, or knocklaunch-tsbuildinfo. Unchanged diff context must not select frontend. Add regression coverage. Do not change any other behavior or scope.","constraints":[{"id":"hard-safety","statement":"Preserve protected main, exact-head KnockLaunch Gate, exact-source runtime proof, credential and migration boundaries, nonempty-file enforcement, and no arbitrary host shell.","proofConditionIds":["repo","runtime"]},{"id":"release-scope","statement":"Release only affected runtime targets; do not invent frontend, Supabase, or OnRunner release work.","proofConditionIds":["runtime"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"repo","kind":"repository","claim":"Forgejo main contains the one-fetch Gate, cruft-pack host optimization, non-drifting host-control schema, regression coverage, and refrozen version.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"runtime","kind":"runtime","claim":"Live cc-execution matches the exact merged source SHA and affected release scope.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestContractHash":"347c18e8e498b27724083b15222af95d1d8a7947fd0165093ddb688e363834b8","requestContractRevision":4,"previousRequestContractHash":"863b11dcb073ad592e72c1777d28ee0b507c2208b1e1b13022bf74b4e0a06c61"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T04:29:54.939283+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:531a2921-77f4-41ce-87ea-f70389652e0c:request-contract-revision:4:347c18e8e498b27724083b15222af95d1d8a7947fd0165093ddb688e363834b8","mission_step_id":"7adc8acd-c572-4681-b667-aacc2d3c8c13","command_center_event_id":"531a2921-77f4-41ce-87ea-f70389652e0c"},{"id":"5cfdb7f6-e630-4866-80c4-9c82942bd183","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"4fddbe556e903e2f88911933b76b74d335dcf0e8","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"crop-live","satisfied":false,"statement":"The Big Papi Proposal Editor live production build exposes a reliable crop mode for ornament/image editing, with Alt/Option shortcut remaining optional rather than required.","proofConditionIds":["repo","release","interaction"]},{"id":"context-menu-live","satisfied":false,"statement":"The live Proposal Editor right-click menu exposes the expanded object actions for crop, duplicate, rotate, flip, layer ordering, aspect lock, reset, and delete where applicable.","proofConditionIds":["repo","release","interaction"]}],"satisfied":false,"constraints":[{"id":"same-pr","satisfied":false,"statement":"Use the existing PR #1977; do not create a duplicate PR or change unrelated source.","proofConditionIds":["repo"]}],"contractHash":"05670226fe527f8ced7a51de662765c54d6e8f4036ffe2781577b9426888ee20","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"repo","kind":"repository","evidence":{"repositoryProofGate":null,"requestContractHash":"05670226fe527f8ced7a51de662765c54d6e8f4036ffe2781577b9426888ee20","repositoryProofStatus":"required","repositoryProofSourceSha":null},"required":true,"satisfied":false},{"id":"release","kind":"runtime","evidence":{"releaseState":"verified","activeReleaseTargets":["frontend"],"releaseRequestContractHash":"05670226fe527f8ced7a51de662765c54d6e8f4036ffe2781577b9426888ee20"},"required":true,"satisfied":true},{"id":"interaction","kind":"interaction","evidence":{"verificationState":null,"witnessRequestContractHash":"05670226fe527f8ced7a51de662765c54d6e8f4036ffe2781577b9426888ee20"},"required":true,"satisfied":false}],"validationErrors":[],"pendingProofKinds":["repository","interaction"],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-09-06T18:08:37.40398+00:00","proof_gate":"request_contract_pending","source_sha":"4fddbe556e903e2f88911933b76b74d335dcf0e8","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:fed12649-5db9-4ccc-91dc-e180b5e8752c:request-contract:05670226fe527f8ced7a51de662765c54d6e8f4036ffe2781577b9426888ee20:4fddbe556e903e2f88911933b76b74d335dcf0e8:pending:repository,interaction","mission_step_id":"d4f61c64-e2d7-46de-bb4d-ca9af5a3f673","command_center_event_id":"fed12649-5db9-4ccc-91dc-e180b5e8752c"},{"id":"5cfdc5b1-e7aa-4b8b-b60d-2bcf46a01a61","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"4c99a6524ecdf25e3acbf1ebd3ef2fc8ae16210d","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"4c99a6524ecdf25e3acbf1ebd3ef2fc8ae16210d","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{},"requestContractHash":"f4e1a3eff9e07f8e5d06faebaf26b897c1f5e523fec5aa2c39c3056f3ca1e11d","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-09-11T06:46:05.251737+00:00","proof_gate":"canonical_release_pending","source_sha":"4c99a6524ecdf25e3acbf1ebd3ef2fc8ae16210d","external_id":"forgejo-main-4c99a6524ecd","receipt_type":"canonical_release_status","idempotency_key":"mission:f5a9438c-4de6-4332-96e6-989c178d4685:forgejo-release-status:4c99a6524ecdf25e3acbf1ebd3ef2fc8ae16210d:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"64907333-d367-492f-9235-7e03538b6d67","command_center_event_id":"f5a9438c-4de6-4332-96e6-989c178d4685"},{"id":"5cffabee-cf1e-4481-82fd-842b32cb91e0","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":null,"reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":null,"recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.65.4-release-terminal-proof-unblocks-queue","prNumber":null,"terminal":false,"missionId":"478f8a91-9f9d-4a1f-99e0-66153b7e9cab","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3582,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":546,"providerAuthMs":0,"ledgerPrepareMs":546,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":546,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":546,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Synthesize exact mutation from the resolved authoritative source targets and continue this same mission.","receiptRef":{"mode":"full","missionId":"478f8a91-9f9d-4a1f-99e0-66153b7e9cab"},"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":3760,"likelyAffectedFiles":["scripts/command-center-host-agent/forgejo-watchdog.sh","scripts/command-center-host-agent/install-forgejo-watchdog.sh","scripts/command-center-host-agent/knocklaunch-forgejo-watchdog.service","scripts/command-center-host-agent/knocklaunch-forgejo-watchdog.timer"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T20:11:05.157666+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:478f8a91-9f9d-4a1f-99e0-66153b7e9cab:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"329e11f5-fd7c-4ed1-adff-f2050692a1b7","command_center_event_id":"478f8a91-9f9d-4a1f-99e0-66153b7e9cab"},{"id":"5cffc827-7d19-48dd-b04a-16a216ffa9b6","source":"forgejo-runtime","status":"failed","payload":{"failed":["forgejo-release/workflow"],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"failure","frontend-cloudflare/live":"pending"},"mainSha":"60ead72f0cdd0c9af462821799eb5c11180c5e27","missing":[],"pending":["frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"ed3a3d854c5bb3371685bd20009a6e33d94e0724","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":"6314e26cba6fc8c541b5624656c5243e5a26f4563ec1557d495259d2913a7542","forgejoWorkflowProof":{"runId":15421,"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-04T20:06:00.19659+00:00","proof_gate":"canonical_release_terminal_failed","source_sha":"ed3a3d854c5bb3371685bd20009a6e33d94e0724","external_id":"forgejo-main-ed3a3d854c5b","receipt_type":"canonical_release_status","idempotency_key":"mission:39d48bc3-a710-483e-8f57-241524fbba1c:forgejo-release-status:ed3a3d854c5bb3371685bd20009a6e33d94e0724:failed:forgejo-main/source=success|forgejo-release/workflow=failure|frontend-cloudflare/live=pending","mission_step_id":"308447f0-5a66-445f-87cb-f437960bbd7a","command_center_event_id":"39d48bc3-a710-483e-8f57-241524fbba1c"},{"id":"5d00fbde-c2f6-4087-a382-d81fdc84ed59","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"release","branch":"ai/pcg-r2-squarespace-cutover","reason":"canonical_release_queue_busy:14990","status":"blocked","metrics":{"receiptBytes":34446,"releaseCount":0,"toolCallCount":24,"repeatedCallCount":15,"executorlessWaitMs":377166,"firstUsefulResultAt":"2026-10-04T01:06:04.516Z","recoveryAttemptCount":7,"ownerInterruptionCount":0},"version":"1.64.89-paul-continuation-receipt-scope","prNumber":4695,"terminal":false,"missionId":"e89724a3-a71e-4de2-a57e-d20ef953365a","operation":"execute_mission","proofGate":"canonical_release_blocked","sourceSha":"bb112dc50c959876a00474597a9e6282b5977a03","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1215,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":84,"approvedPlanMs":0,"missionSetupMs":1804,"providerAuthMs":0,"shipAndProveMs":598,"ledgerPrepareMs":415,"ledgerReconcileMs":0,"lineageReconcileMs":1389,"resolvePreflightMs":1804,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":415,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"e89724a3-a71e-4de2-a57e-d20ef953365a"},"performance":null,"deploymentId":"forgejo-main-bb112dc50c95","releaseState":"pending","workflowRunId":14990,"releaseTargets":{"frontend":true,"migrations":true,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["pcg-commerce-publisher","pcg-r2-media","upsert-tenant-provider-secret","verify-tenant-provider"]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["repository","release","runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1408,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T01:12:24.035503+00:00","proof_gate":"canonical_release_blocked","source_sha":"bb112dc50c959876a00474597a9e6282b5977a03","external_id":"forgejo-main-bb112dc50c95","receipt_type":"execute_mission","idempotency_key":"mission:e89724a3-a71e-4de2-a57e-d20ef953365a:execute_mission:canonical_release_blocked:current-generation","mission_step_id":"36b6a44f-4e40-4308-b6db-dd03e124243a","command_center_event_id":"e89724a3-a71e-4de2-a57e-d20ef953365a"},{"id":"5d02bb81-8b47-4591-9bc6-78c75e23084d","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Wire proven storm-report and weekly-rep-report readers/writers to canonical tenant buckets and canonical records paths on PR #1897. Keep PR open; do not ship yet.","wordingChanged":false,"canonicalIntent":"Wire proven storm-report and weekly-rep-report readers/writers to canonical tenant buckets and canonical records paths on PR #1897. Keep PR open; do not ship yet.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"repository-writers","statement":"Storm and weekly report source on PR #1897 uses canonical tenant bucket resolution and V3 records paths.","proofConditionIds":["repo-proof"]}],"objective":"Wire proven storm-report and weekly-rep-report readers/writers to canonical tenant buckets and canonical records paths on PR #1897. Keep PR open; do not ship yet.","constraints":[{"id":"same-pr","statement":"Use PR #1897 only; do not merge or deploy yet.","proofConditionIds":["repo-proof"]}],"terminalPolicy":"repository_mutation_only_no_release","proofConditions":[{"id":"repo-proof","kind":"repository","claim":"PR #1897 source contains the storm and weekly V3 storage changes.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":"resolveTenantStorageBucket","targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestContractHash":"66fb3d429a28ea3aa369271ed034fd5a7620f04235b87988ae4ac9d873ca4c1b","requestContractRevision":6,"previousRequestContractHash":"575f3249fe2a44e50b7a124338345ca99b48219e53d3baa37038bb21af5adf04"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-06T00:30:37.033722+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:66fb3d429a28ea3aa369271ed034fd5a7620f04235b87988ae4ac9d873ca4c1b","mission_step_id":"3370cc73-f50e-46b7-a76e-123686902ca9","command_center_event_id":"6937df13-bcf1-4128-b5eb-c8aa6626b43d"},{"id":"5d045484-56d5-4a55-a171-d7b0963d4732","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"release","branch":null,"reason":"canonical_release_run_not_observed_after_dispatch","status":"blocked","metrics":{"receiptBytes":2004,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":1,"ownerInterruptionCount":0},"version":"1.31.7-canonical-planner-owners","prNumber":4287,"terminal":false,"missionId":"c2f47de2-dd3f-43fa-b42b-b9412af2b1aa","operation":"ship_and_prove","proofGate":"canonical_release_blocked","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"c2f47de2-dd3f-43fa-b42b-b9412af2b1aa"},"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":182,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-08-08T02:42:15.355719+00:00","proof_gate":"canonical_release_blocked","source_sha":null,"external_id":"4287","receipt_type":"ship_and_prove","idempotency_key":"mission:c2f47de2-dd3f-43fa-b42b-b9412af2b1aa:ship_and_prove:canonical_release_blocked","mission_step_id":"83b34fc1-9865-4a89-9b86-b2ea91a00b7c","command_center_event_id":"c2f47de2-dd3f-43fa-b42b-b9412af2b1aa"},{"id":"5d04a11e-2529-4f9e-937b-b799eee2f702","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-eb60b372be47","reason":"pull_request_stale_refresh_required","status":"retryable","metrics":{"receiptBytes":16554,"releaseCount":0,"toolCallCount":18,"repeatedCallCount":5,"ownerInterruptionCount":0},"version":"1.58.9-merge-queue-operator-routing","prNumber":1614,"terminal":false,"missionId":"eb60b372-be47-4e52-b016-50f67f247c5e","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"handlerMs":19139,"prReadinessMs":10127,"approvedPlanMs":8862,"missionSetupMs":1051,"shipAndProveMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"eb60b372-be47-4e52-b016-50f67f247c5e"},"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":1786,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-03T20:53:59.822856+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"1614","receipt_type":"execute_mission","idempotency_key":"mission:eb60b372-be47-4e52-b016-50f67f247c5e:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"ac679f32-0a0e-499d-852a-4b114282e5a7","command_center_event_id":"eb60b372-be47-4e52-b016-50f67f247c5e"},{"id":"5d0648fc-1af3-446d-ae3b-691625b3279d","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/fix-supersession-content-proof","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.50.5-release-queue-freshness","prNumber":null,"terminal":false,"missionId":"5b042de6-e73a-4630-8a56-2575f7159e48","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":"5b042de6-e73a-4630-8a56-2575f7159e48"},"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":10820,"likelyAffectedFiles":["src/__tests__/contracts/command-center-existing-branch-refresh.contract.test.ts",".forgejo/workflows/knocklaunch.yml","src/__tests__/commandCenter/deployDetection.test.ts","src/__tests__/contracts/command-center-forgejo-transport-reliability.contract.test.ts","src/__tests__/contracts/command-center-release-reconciliation-budget.contract.test.ts","config/control-plane-capabilities.json","src/__tests__/contracts/command-center-event-runtime.test.ts","scripts/validate-command-center-contracts.mjs"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-21T04:11:26.907948+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:5b042de6-e73a-4630-8a56-2575f7159e48:execute_mission:repair_mission_synthesis_ready","mission_step_id":"33dbf185-0d3a-49cd-98c7-4746cea9b5a7","command_center_event_id":"5b042de6-e73a-4630-8a56-2575f7159e48"},{"id":"5d07dae2-09fb-4a74-bac0-214ad148158e","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/seaside-lawn-os-rebuild","reason":"anchored_edits resolution failed","status":"blocked","metrics":{"receiptBytes":3050,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":1,"ownerInterruptionCount":0},"version":"1.31.23-targeted-owner-preflight","prNumber":null,"terminal":false,"missionId":"76fb9956-a06e-4f1b-aa50-83349e8d4958","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"76fb9956-a06e-4f1b-aa50-83349e8d4958"},"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":418,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-08-08T18:37:32.837752+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:76fb9956-a06e-4f1b-aa50-83349e8d4958:execute_mission:repair_mission_execution_blocked","mission_step_id":"d5a06b35-4521-45ea-899f-d96ddb361c7a","command_center_event_id":"76fb9956-a06e-4f1b-aa50-83349e8d4958"},{"id":"5d07e221-5b2f-4141-af56-44ada44dd454","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-3d2ccf96f444","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":18297,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"executorlessWaitMs":1078,"firstUsefulResultAt":"2026-09-25T00:38:40.662Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.272-bare-continuation-before-source-resolution","prNumber":3691,"terminal":false,"missionId":"3d2ccf96-f444-4094-a9f9-46d64a26205d","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1588,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":528,"approvedPlanMs":0,"missionSetupMs":255,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":255,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":255,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":255,"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":"3d2ccf96-f444-4094-a9f9-46d64a26205d"},"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":1968,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T00:38:48.86604+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"3691","receipt_type":"execute_mission","idempotency_key":"mission:3d2ccf96-f444-4094-a9f9-46d64a26205d:execute_mission:repair_mission_waiting_for_gate:current-generation","mission_step_id":"ffc3b3d2-5650-4025-b17d-3042914d0b76","command_center_event_id":"3d2ccf96-f444-4094-a9f9-46d64a26205d"},{"id":"5d083a52-2fb8-48b2-9c67-f5e0483ed0e9","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-f23f055dee14","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":84941,"releaseCount":0,"toolCallCount":46,"repeatedCallCount":40,"executorlessWaitMs":260145,"firstUsefulResultAt":"2026-10-05T21:12:14.929Z","recoveryAttemptCount":30,"ownerInterruptionCount":0},"version":null,"prNumber":5068,"terminal":false,"missionId":"f23f055d-ee14-4018-9e5a-c7f359038234","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":"f23f055d-ee14-4018-9e5a-c7f359038234"},"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-05T21:14:24.983354+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"5068","receipt_type":"automatic_mission_resume","idempotency_key":"mission:f23f055d-ee14-4018-9e5a-c7f359038234:automatic-mission-resume:5068:repair_mission_waiting_for_gate","mission_step_id":"05998255-0df2-4095-873b-63f6dbbe1d96","command_center_event_id":"f23f055d-ee14-4018-9e5a-c7f359038234"},{"id":"5d0b8a6e-ecb7-47b2-a209-91bd8b5b4370","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/321-auto-unlock-zone-release-trigger-20260901","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":8178,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.2-visual-witness-proof-projection","prNumber":1258,"terminal":false,"missionId":"d2bbaee5-8d55-492a-a648-b3bbf25b9e3e","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"handlerMs":19389,"prReadinessMs":19054,"approvedPlanMs":0,"missionSetupMs":498,"shipAndProveMs":0},"nextAction":"Reconcile this same mission and pull request after the exact-head KnockLaunch Gate changes state.","receiptRef":{"mode":"full","missionId":"d2bbaee5-8d55-492a-a648-b3bbf25b9e3e"},"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":1820,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"d60e3c27-73ed-4a5f-a49b-c37636455daf","created_at":"2026-09-01T13:45:48.29575+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"1258","receipt_type":"execute_mission","idempotency_key":"mission:d2bbaee5-8d55-492a-a648-b3bbf25b9e3e:execute_mission:repair_mission_waiting_for_gate:current-generation","mission_step_id":"f554261b-e360-4134-a2ad-867d0dfb1f08","command_center_event_id":"d2bbaee5-8d55-492a-a648-b3bbf25b9e3e"},{"id":"5d0bdd3c-3420-4b93-a1d5-7d8c8d757ff0","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/control-plane-readiness-resilience-20260828","reason":"retryable_provider_transport:The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":10371,"releaseCount":0,"toolCallCount":9,"repeatedCallCount":2,"ownerInterruptionCount":0},"version":"1.55.7-queue-hardening","prNumber":973,"terminal":false,"missionId":"e9c822db-fde4-4007-9473-cafd96ba2f7a","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"handlerMs":1984,"prReadinessMs":1500,"approvedPlanMs":0,"missionSetupMs":1591,"shipAndProveMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"e9c822db-fde4-4007-9473-cafd96ba2f7a"},"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":5184,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-28T23:08:55.793342+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"973","receipt_type":"execute_mission","idempotency_key":"mission:e9c822db-fde4-4007-9473-cafd96ba2f7a:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"1f258c65-4689-47e5-a5c7-8932774f8c8a","command_center_event_id":"e9c822db-fde4-4007-9473-cafd96ba2f7a"},{"id":"5d0d3977-6858-4391-bbbe-3efe1db624d7","source":"forgejo","status":"waiting","payload":{"branch":"ai/platform-business-activity-ledger-20260911","prNumber":2406,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"427bbfbbf48d7102bddda848ea5c0f78a75c5e99","branchDeletedAfterMerge":false,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-11T19:00:51.932224+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"427bbfbbf48d7102bddda848ea5c0f78a75c5e99","external_id":"2406","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:085aadff-8726-482c-96eb-8db559dd3814:merged-pr:2406:427bbfbbf48d7102bddda848ea5c0f78a75c5e99","mission_step_id":"40860b4b-7317-4f73-b169-7448312437f2","command_center_event_id":"085aadff-8726-482c-96eb-8db559dd3814"},{"id":"5d0d748a-4e08-43a6-9f2f-59621fc1120d","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","leaseEpoch":1,"afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"automatic_mission_resume\",\"status\":\"retryable\",\"proofGate\":\"repair_mission_auto_progress_authorization_retryable\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"retry_bounded_recovery\",\"lane\":\"cc-execution\",\"reason\":\"repair_mission_auto_progress_authorization_retryable\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":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-04T15:52:02.008033+00:00\",\"recoveryAction\":\"retry_bounded_recovery\"},\"blocker\":\"repair_mission_auto_progress_authorization_retryable\",\"terminal\":false,\"branch\":null,\"prNumber\":3988,\"sourceSha\":null,\"deploymentId\":null}","beforeSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"ship_and_prove\",\"status\":\"blocked\",\"proofGate\":\"canonical_release_blocked\"},\"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},\"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-04T15:52:02.008033+00:00\",\"recoveryAction\":\"reconcile_pull_request\"},\"blocker\":\"canonical_release_blocked\",\"terminal\":false,\"branch\":null,\"prNumber\":3988,\"sourceSha\":null,\"deploymentId\":null}","transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-21T00:52:05.503025+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:d729fd13-7a39-4164-a56e-1a54def1c38b:deterministic-transition:{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"ship_and_prove\",\"status\":\"blocked\",\"proofGate\":\"canonical_release_blocked\"},\"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_","mission_step_id":"0b1ad1c1-fb70-4345-894b-6e00344aa843","command_center_event_id":"d729fd13-7a39-4164-a56e-1a54def1c38b"},{"id":"5d0e70c9-2e68-454c-8451-9cee4b08b1ab","source":"forgejo-exact-source","status":"verified","payload":{"sourceSha":"2cd9c3e636796ba0fc5aa2bfea23b098dbe7b98f","repository":"noel/KnockLaunchOS","repositoryProofs":[{"id":"repo-proof","path":null,"proof":"forgejo_merged_pr_exact_head_gate","headSha":"d6065b4bcede382fa6751c70ce4e6fe12830899c","prNumber":2354,"gateContext":"KnockLaunch Gate / KnockLaunch Gate (pull_request)","expectedText":null,"gateTargetUrl":"/noel/KnockLaunchOS/actions/runs/6949/jobs/1","mergeCommitSha":"2cd9c3e636796ba0fc5aa2bfea23b098dbe7b98f"},{"id":"database-proof","path":null,"proof":"forgejo_merged_pr_exact_head_gate","headSha":"d6065b4bcede382fa6751c70ce4e6fe12830899c","prNumber":2354,"gateContext":"KnockLaunch Gate / KnockLaunch Gate (pull_request)","expectedText":null,"gateTargetUrl":"/noel/KnockLaunchOS/actions/runs/6949/jobs/1","mergeCommitSha":"2cd9c3e636796ba0fc5aa2bfea23b098dbe7b98f"}],"requestContractHash":"881de8da7c0f9b85ef007e2b10c16b298e158aaaf556bcda4aab70dc033fe1d6"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-11T01:47:48.817851+00:00","proof_gate":"request_contract_repository_verified","source_sha":"2cd9c3e636796ba0fc5aa2bfea23b098dbe7b98f","external_id":null,"receipt_type":"request_contract_repository_status","idempotency_key":"mission:f977ca9b-af94-44b3-b944-edea70c57e07:request-contract-repository:881de8da7c0f9b85ef007e2b10c16b298e158aaaf556bcda4aab70dc033fe1d6:2cd9c3e636796ba0fc5aa2bfea23b098dbe7b98f","mission_step_id":"9f8e08c0-2f8a-4a5c-961a-e397f5a13382","command_center_event_id":"f977ca9b-af94-44b3-b944-edea70c57e07"},{"id":"5d0f92d3-135e-4967-9a4d-febdd23b33d4","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"3176c9e10afc0f839d7235eec7986ab00bbbd485","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"3176c9e10afc0f839d7235eec7986ab00bbbd485","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":"f52c908830528cb4263c02cbb096f44021af99d45d5d1bb2953accaa64142fc9","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/7848","runId":7848,"status":"success","sourceSha":"3176c9e10afc0f839d7235eec7986ab00bbbd485","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"frontend":"success"},"targetJobCount":7,"observedTargetStates":{"frontend":"success"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-13T17:25:29.866729+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"3176c9e10afc0f839d7235eec7986ab00bbbd485","external_id":"forgejo-main-3176c9e10afc","receipt_type":"canonical_release_status","idempotency_key":"mission:9a77dceb-71db-4408-89c5-d6a2c839aa98:forgejo-release-status:3176c9e10afc0f839d7235eec7986ab00bbbd485:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"504aeecb-0a33-47b9-bff5-1cd8cb3d250d","command_center_event_id":"9a77dceb-71db-4408-89c5-d6a2c839aa98"},{"id":"5d115761-59de-4c64-b45e-7d378c6b2df1","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/test/release-orchestration-invariants.test.js"],"reason":"Fix the one stale invariant exposed by Gate on the existing release-read parity PR.","baseSha":"b835c36efae6f3cbc0ecf83c29a0d673fe2e2724","issuedAt":1790259944687,"expiresAt":1790260124687,"missionId":"37b3f878-6536-4a7d-b7c4-64d249432721","authorizationId":"c58b9351-e365-41f8-bb28-e41bcafde62c","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T14:25:44.977529+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"b835c36efae6f3cbc0ecf83c29a0d673fe2e2724","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:c58b9351-e365-41f8-bb28-e41bcafde62c","mission_step_id":"aa969992-eeeb-409a-ab62-de24f6dde8b0","command_center_event_id":"37b3f878-6536-4a7d-b7c4-64d249432721"},{"id":"5d13e6a2-b88d-43fc-be03-afd5fa4fbfc8","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/dedicated-shell-library-20260910","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.90-mission-terminalization","prNumber":null,"terminal":false,"missionId":"dc06a09b-05f0-4349-b878-d53735136eb3","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":15,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":418,"providerAuthMs":0,"ledgerPrepareMs":418,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":418,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":418,"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":"dc06a09b-05f0-4349-b878-d53735136eb3"},"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":3664,"likelyAffectedFiles":["config/platform-standards.json","src/PrivateAppShell.tsx","src/PublicAppShell.tsx","scripts/phase3b-sanitize-and-publish-v2.ts"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-10T05:08:10.723193+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:dc06a09b-05f0-4349-b878-d53735136eb3:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"343c93ad-1d1b-4243-ad2a-a0dca08b7b10","command_center_event_id":"dc06a09b-05f0-4349-b878-d53735136eb3"},{"id":"5d1871af-fd7b-4346-b6aa-67f5e84c8801","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/prime-mcp-lockdown-live-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":"eb03e4aa-d652-4778-ad64-0b33e4fe13ec","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":281,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":936,"providerAuthMs":0,"ledgerPrepareMs":936,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":936,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":936,"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":"eb03e4aa-d652-4778-ad64-0b33e4fe13ec"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":6560,"likelyAffectedFiles":["config/mcp-connection-contract.json","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-09-08T17:34:25.583545+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:eb03e4aa-d652-4778-ad64-0b33e4fe13ec:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"8c9379c2-bd00-479e-a0b6-02b20ba1d2ba","command_center_event_id":"eb03e4aa-d652-4778-ad64-0b33e4fe13ec"},{"id":"5d1c7bc8-e16e-4883-bd8e-3d4ee4ead68f","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"7ea13e71c83a62d8094a30417db7703390fce10c","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"conversation-reflection","satisfied":true,"statement":"Explicit missed-question corrections and restated intent become durable learned memory with provenance, scope, confidence, and supersession while secrets/transient runtime state remain rejected.","proofConditionIds":["contract-tests","live-operator"]},{"id":"autonomy-direct-answer","satisfied":true,"statement":"Direct autonomy capability questions are answered directly from current Prime truth without Witness redirection, interpretation menus, or stale capability-gap claims.","proofConditionIds":["contract-tests","live-operator"]}],"satisfied":true,"constraints":[{"id":"safe-learning","satisfied":true,"statement":"Never persist secrets, credentials, tokens, transient debug/runtime/outage state, or temporary deployment facts as durable learning.","proofConditionIds":["contract-tests"]},{"id":"live-truth-wins","satisfied":true,"statement":"Current Prime/runtime capability truth overrides historical capability wording.","proofConditionIds":["contract-tests","live-operator"]},{"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":["contract-tests","live-operator"]},{"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":["contract-tests","live-operator"]}],"contractHash":"975037139c514b54d58f93f64905b9862713c2c0ae029254e0d49a717533fa2b","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"contract-tests","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"supabaseEdge":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["supabaseEdge"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"975037139c514b54d58f93f64905b9862713c2c0ae029254e0d49a717533fa2b"},"required":true,"satisfied":true},{"id":"live-operator","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"supabaseEdge":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["supabaseEdge"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"975037139c514b54d58f93f64905b9862713c2c0ae029254e0d49a717533fa2b"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["supabaseEdge"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T18:43:37.35899+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"7ea13e71c83a62d8094a30417db7703390fce10c","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:6f85f116-302b-4e8c-86f6-f413c1dac73b:request-contract:975037139c514b54d58f93f64905b9862713c2c0ae029254e0d49a717533fa2b:7ea13e71c83a62d8094a30417db7703390fce10c:verified:","mission_step_id":"5f4d8be8-4a83-4121-bd45-580aae2654aa","command_center_event_id":"6f85f116-302b-4e8c-86f6-f413c1dac73b"},{"id":"5d1c8fca-a9a2-445a-a618-8ba46764102a","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"release","branch":"ai/objective-first-repair-e6b36f865c12","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":43298,"releaseCount":0,"toolCallCount":28,"repeatedCallCount":20,"executorlessWaitMs":469413,"firstUsefulResultAt":"2026-09-30T21:13:50.076Z","recoveryAttemptCount":10,"ownerInterruptionCount":0},"version":"1.64.27-paul-operational-awareness","prNumber":4274,"terminal":false,"missionId":"e6b36f86-5c12-47ae-823c-ed1bd0ecc968","operation":"execute_mission","proofGate":"canonical_release_reconciliation_pending","sourceSha":"d422029f84054395a26723fc6f21878ddbc7975f","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1114,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":98,"approvedPlanMs":0,"missionSetupMs":312,"providerAuthMs":0,"shipAndProveMs":612,"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":"reconcile_release","receiptRef":{"mode":"full","missionId":"e6b36f86-5c12-47ae-823c-ed1bd0ecc968"},"performance":null,"deploymentId":"forgejo-main-d422029f8405","releaseState":"pending","workflowRunId":13487,"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":2922,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T21:20:35.77753+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":"d422029f84054395a26723fc6f21878ddbc7975f","external_id":"forgejo-main-d422029f8405","receipt_type":"execute_mission","idempotency_key":"mission:e6b36f86-5c12-47ae-823c-ed1bd0ecc968:execute_mission:canonical_release_reconciliation_pending:current-generation","mission_step_id":"3fe50129-00f8-431b-b96e-db604a0455cf","command_center_event_id":"e6b36f86-5c12-47ae-823c-ed1bd0ecc968"},{"id":"5d1f20fe-02d8-401b-b0e9-faa13dbc8a41","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"release","branch":null,"reason":"canonical_release_dispatch_failed:422:Unexpected inputs provided: [\"release_cc_execution\", \"release_onrunner\", \"release_frontend\", \"release_edge_functions\", \"edge_function_slugs\", \"release_migrations\"]","status":"blocked","metrics":{"receiptBytes":1008,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.36.1-merged-release-reconcile","prNumber":4676,"terminal":false,"missionId":"91ea32e4-bdeb-4ee2-976c-81a585001b3e","operation":"ship_and_prove","proofGate":"canonical_release_blocked","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"91ea32e4-bdeb-4ee2-976c-81a585001b3e"},"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":346,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-12T10:07:09.128147+00:00","proof_gate":"canonical_release_blocked","source_sha":null,"external_id":"4676","receipt_type":"ship_and_prove","idempotency_key":"mission:91ea32e4-bdeb-4ee2-976c-81a585001b3e:ship_and_prove:canonical_release_blocked:no-source:no-run","mission_step_id":"2124fdfd-707d-4147-b778-a11ae098e58d","command_center_event_id":"91ea32e4-bdeb-4ee2-976c-81a585001b3e"},{"id":"5d20788b-f217-476e-b6a7-526e3b05b49e","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[{"path":"src/__tests__/contracts/godmode-console-route-family.contract.test.ts","content":"import test from 'node:test';\nimport assert from 'node:assert/strict';\nimport { readFileSync } from 'node:fs';\n\nconst consoleSource = readFileSync(new URL('../../pages/admin/GodModeCommandConsole.tsx', import.meta.url), 'utf8');\nconst runnerSource = readFileSync(new URL('../../../scripts/visual-witness-hosted-runner/src/universal-witness.mjs', import.meta.url), 'utf8');\n\ntest('Console recognizes route-family scope before tenant resolution', () => {\n  assert.match(consoleSource, /function isRouteFamilyRequest/);\n  assert.match(consoleSource, /extractRouteFamilyTenantHint/);\n  assert.match(consoleSource, /routeFamilyRequest \\? dashboardRoute/);\n  assert.match(consoleSource, /routeFamilyRequest\\)/);\n});\n\ntest('Witness navigate promotes route-family requests to linked-route full traversal', () => {\n  assert.match(runnerSource, /scope: routeFamily \\? 'linked_routes' : 'single_route'/);\n  assert.match(runnerSource, /verificationTier: routeFamily \\? 'full' : 'quick'/);\n  assert.match(runnerSource, /maxRoutes: routeFamily \\? 12 : 1/);\n});\n"}],"branch":"ai/objective-first-repair-c5c5938e33e7","writes":[],"patches":[],"version":1,"approved":true,"pr_title":"Console: treat route-family inspections as multi-route witness requests","missionId":"c5c5938e-33e7-4744-ba9a-5a339bfa91d2","objective":"Fix GodMode Console resolver behavior for explicit route-family inspections. Instructions such as 'check the entire route family for breakage', 'inspect all routes for Speedy Panda', or 'check Speedy Panda's whole route family' must be treated as a scoped multi-route Witness request, not as ambiguity about which single page the owner meant. Make tenant extraction route-family-aware, reuse the current tenant context when the owner says 'entire route family' without naming another tenant, resolve the tenant dashboard/root as the family seed, and dispatch the canonical Witness with linked_routes/full verification/maxRoutes 12. Preserve normal ambiguity safeguards for genuinely ambiguous tenant identity and ordinary single-route requests. Reuse the existing Witness engine; no parallel route crawler.","sourceSha":"8b410b546118745ad17305253ffaeca80f0f0d1b","repository":"noel/KnockLaunchOS","visualProof":false,"autoProgress":true,"verifyVisual":false,"ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/pages/admin/GodModeCommandConsole.tsx","scripts/visual-witness-hosted-runner/src/universal-witness.mjs","src/__tests__/contracts/godmode-console-route-family.contract.test.ts"],"anchored_edits":[{"path":"src/pages/admin/GodModeCommandConsole.tsx","new_content":"function isRouteFamilyRequest(value: string) {\n  const text = String(value || '').toLowerCase();\n  return /\\b(?:entire|whole|full|all)\\s+(?:tenant\\s+)?(?:route\\s+family|routes?)\\b/i.test(text)\n    || /\\broute\\s+family\\b/i.test(text)\n    || /\\ball\\s+(?:of\\s+)?(?:the\\s+)?routes\\b/i.test(text);\n}\n\nfunction extractRouteFamilyTenantHint(value: string) {\n  const raw = String(value || '').trim();\n  if (!isRouteFamilyRequest(raw)) return '';\n  const cleaned = raw\n    .replace(/https?:\\/\\/[^\\s]+/gi, ' ')\n    .replace(/(?:^|\\s)\\/(?!\\/)[a-z0-9][^\\s,;]*/gi, ' ')\n    .replace(/^(?:please\\s+)?(?:(?:can|could|would)\\s+you\\s+)?(?:go\\s+to\\s+|open\\s+|show\\s+(?:me\\s+)?|inspect\\s+|analyz\\w*\\s+|analys\\w*\\s+|review\\s+|look\\s+at\\s+|take\\s+a\\s+look\\s+at\\s+|check\\s+(?:out\\s+)?|watch\\s+|verify\\s+)+/i, '')\n    .trim();\n\n  const afterFamily = cleaned.match(/\\b(?:route\\s+family|all\\s+routes?|entire\\s+routes?|whole\\s+routes?)\\b\\s+(?:for|of|under|in)\\s+(.+?)(?=\\s+(?:for|to)\\s+(?:breakage|breaks?|errors?|issues?|problems?|failures?)\\b|[.!?]|$)/i);\n  if (afterFamily?.[1]) return afterFamily[1].replace(/^(?:the\\s+)?(?:tenant|company|business)\\s+/i, '').trim();\n\n  const beforeFamily = cleaned.match(/^(.+?)(?:[’']s)?\\s+(?:(?:entire|whole|full|all)\\s+)?(?:route\\s+family|routes?)\\b/i);\n  if (beforeFamily?.[1]) {\n    return beforeFamily[1]\n      .replace(/^(?:the\\s+)?(?:entire|whole|full|all)\\s+/i, '')\n      .replace(/^(?:the\\s+)?(?:tenant|company|business)\\s+/i, '')\n      .trim();\n  }\n  return '';\n}\n\nfunction extractTenantReferenceHint(value: string) {\n  const familyHint = extractRouteFamilyTenantHint(value);\n  if (familyHint) return familyHint;\n  let text = String(value || '').trim();\n  if (!text) return '';\n  text = text.replace(/https?:\\/\\/[^\\s]+/gi, ' ').replace(/(?:^|\\s)\\/(?!\\/)[a-z0-9][^\\s,;]*/gi, ' ').trim();\n  text = text.replace(/^(?:please\\s+)?(?:(?:can|could|would)\\s+you\\s+)?(?:go\\s+to\\s+|open\\s+|show\\s+(?:me\\s+)?|inspect\\s+|analyz\\w*\\s+|analys\\w*\\s+|review\\s+|look\\s+at\\s+|take\\s+a\\s+look\\s+at\\s+|check\\s+(?:out\\s+)?|watch\\s+|verify\\s+)+/i, '').trim();\n  const surface = text.search(/\\b(?:dashboard|workspace|page|screen|layout|route|website|site|app|application|mode|inventory|calendar|schedule|proposal|events?|booking|back\\s+office|form|viewer)\\b/i);\n  if (surface > 0) text = text.slice(0, surface);\n  text = text.replace(/^(?:the\\s+)?(?:tenant|company|business)\\s+/i, '').replace(/\\s+(?:tenant|company|business)$/i, '').trim();\n  return text.replace(/[,:;.!?]+$/g, '').trim();\n}","old_content":"function extractTenantReferenceHint(value: string) {\n  let text = String(value || '').trim();\n  if (!text) return '';\n  text = text.replace(/https?:\\/\\/[^\\s]+/gi, ' ').replace(/(?:^|\\s)\\/(?!\\/)[a-z0-9][^\\s,;]*/gi, ' ').trim();\n  text = text.replace(/^(?:please\\s+)?(?:(?:can|could|would)\\s+you\\s+)?(?:go\\s+to\\s+|open\\s+|show\\s+(?:me\\s+)?|inspect\\s+|analyz\\w*\\s+|analys\\w*\\s+|review\\s+|look\\s+at\\s+|take\\s+a\\s+look\\s+at\\s+|check\\s+(?:out\\s+)?|watch\\s+|verify\\s+)+/i, '').trim();\n  const surface = text.search(/\\b(?:dashboard|workspace|page|screen|layout|route|website|site|app|application|mode|inventory|calendar|schedule|proposal|events?|booking|back\\s+office|form|viewer)\\b/i);\n  if (surface > 0) text = text.slice(0, surface);\n  text = text.replace(/^(?:the\\s+)?(?:tenant|company|business)\\s+/i, '').replace(/\\s+(?:tenant|company|business)$/i, '').trim();\n  return text.replace(/[,:;.!?]+$/g, '').trim();\n}"},{"path":"src/pages/admin/GodModeCommandConsole.tsx","new_content":"    const routeFamilyRequest = isRouteFamilyRequest(text);\n    const tenantHint = extractTenantReferenceHint(text);\n    const candidates = routeFamilyRequest && !tenantHint && operatorContext.tenantRef\n      ? [String(operatorContext.tenantRef)]\n      : tenantReferenceCandidates(text);","old_content":"    const tenantHint = extractTenantReferenceHint(text);\n    const candidates = tenantReferenceCandidates(text);"},{"path":"src/pages/admin/GodModeCommandConsole.tsx","new_content":"        route = routeFamilyRequest\n          ? dashboardRoute\n          : /\\b(dashboard|home|workspace|overview)\\b/i.test(text)\n            ? dashboardRoute\n            : bigPapisSurfaceRoute(text, dashboardRoute) || dashboardRoute;","old_content":"        route = /\\b(dashboard|home|workspace|overview)\\b/i.test(text)\n          ? dashboardRoute\n          : bigPapisSurfaceRoute(text, dashboardRoute) || dashboardRoute;"},{"path":"src/pages/admin/GodModeCommandConsole.tsx","new_content":"  async function navigateWitness(route: string, tenantRef: string, viewport: string, objective: string, interactionMode: WitnessInteractionMode, routeFamily = false) {","old_content":"  async function navigateWitness(route: string, tenantRef: string, viewport: string, objective: string, interactionMode: WitnessInteractionMode) {"},{"path":"src/pages/admin/GodModeCommandConsole.tsx","new_content":"        authorizedMutations: interactionMode === 'act',\n        routeFamily,","old_content":"        authorizedMutations: interactionMode === 'act',"},{"path":"src/pages/admin/GodModeCommandConsole.tsx","new_content":"      const routeFamilyRequest = isRouteFamilyRequest(text);\n      const inferred = await resolveConsoleTarget(text, wantsWitness || executionRequest);","old_content":"      const inferred = await resolveConsoleTarget(text, wantsWitness || executionRequest);"},{"path":"src/pages/admin/GodModeCommandConsole.tsx","new_content":"        witnessReceipt = await navigateWitness(inferredRoute,inferredTenantRef,String((baseContext.viewports || ['desktop'])[0]),text,witnessInteractionMode,routeFamilyRequest);","old_content":"        witnessReceipt = await navigateWitness(inferredRoute,inferredTenantRef,String((baseContext.viewports || ['desktop'])[0]),text,witnessInteractionMode);"},{"path":"scripts/visual-witness-hosted-runner/src/universal-witness.mjs","new_content":"          const objective = safeText(body?.objective || body?.prompt || `View ${route} in the KNOCKLAUNCH Console witness`, 1200).trim();\n          const routeFamily = body?.routeFamily === true || body?.route_family === true || /\\b(?:entire|whole|full|all)\\s+(?:tenant\\s+)?(?:route\\s+family|routes?)\\b|\\broute\\s+family\\b|\\ball\\s+(?:of\\s+)?(?:the\\s+)?routes\\b/i.test(objective);","old_content":"          const objective = safeText(body?.objective || body?.prompt || `View ${route} in the KNOCKLAUNCH Console witness`, 1200).trim();"},{"path":"scripts/visual-witness-hosted-runner/src/universal-witness.mjs","new_content":"              verificationTier: routeFamily ? 'full' : 'quick',\n              scope: routeFamily ? 'linked_routes' : 'single_route',\n              maxRoutes: routeFamily ? 12 : 1,\n              visualEvidenceRequired: true,","old_content":"              verificationTier: 'quick',\n              visualEvidenceRequired: true,"}],"commit_message":"fix: resolve explicit console route families","implementation":{"files":[],"writes":[]},"requestContract":{"intent":{"rawUtterance":"Fix GodMode Console resolver behavior for explicit route-family inspections. Instructions such as 'check the entire route family for breakage', 'inspect all routes for Speedy Panda', or 'check Speedy Panda's whole route family' must be treated as a scoped multi-route Witness request, not as ambiguity about which single page the owner meant. Make tenant extraction route-family-aware, reuse the current tenant context when the owner says 'entire route family' without naming another tenant, resolve the tenant dashboard/root as the family seed, and dispatch the canonical Witness with linked_routes/full verification/maxRoutes 12. Preserve normal ambiguity safeguards for genuinely ambiguous tenant identity and ordinary single-route requests. Reuse the existing Witness engine; no parallel route crawler.","wordingChanged":false,"canonicalIntent":"Fix GodMode Console resolver behavior for explicit route-family inspections. Instructions such as 'check the entire route family for breakage', 'inspect all routes for Speedy Panda', or 'check Speedy Panda's whole route family' must be treated as a scoped multi-route Witness request, not as ambiguity about which single page the owner meant. Make tenant extraction route-family-aware, reuse the current tenant context when the owner says 'entire route family' without naming another tenant, resolve the tenant dashboard/root as the family seed, and dispatch the canonical Witness with linked_routes/full verification/maxRoutes 12. Preserve normal ambiguity safeguards for genuinely ambiguous tenant identity and ordinary single-route requests. Reuse the existing Witness engine; no parallel route crawler.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"route-family-resolution","statement":"Explicit route-family inspection language resolves as one multi-route family Witness request instead of a single-page ambiguity.","provenance":{"source":"owner_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["production"]}],"objective":"Fix GodMode Console resolver behavior for explicit route-family inspections. Instructions such as 'check the entire route family for breakage', 'inspect all routes for Speedy Panda', or 'check Speedy Panda's whole route family' must be treated as a scoped multi-route Witness request, not as ambiguity about which single page the owner meant. Make tenant extraction route-family-aware, reuse the current tenant context when the owner says 'entire route family' without naming another tenant, resolve the tenant dashboard/root as the family seed, and dispatch the canonical Witness with linked_routes/full verification/maxRoutes 12. Preserve normal ambiguity safeguards for genuinely ambiguous tenant identity and ordinary single-route requests. Reuse the existing Witness engine; no parallel route crawler.","constraints":[{"id":"preserve-real-ambiguity","statement":"Genuinely ambiguous tenant identity must still fail closed or clarify; route-family scope alone must not authorize guessing the tenant.","provenance":{"source":"owner_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["production"]},{"id":"reuse-witness","statement":"Use canonical linked-route Witness traversal rather than a second crawler.","provenance":{"source":"owner_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["production"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"production","kind":"runtime","claim":"Route-family language is parsed and dispatched as canonical linked-route Witness traversal in live Console/Witness runtime.","route":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"requireCapacityAdmissible":false,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}]},"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":null,"ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/pages/admin/GodModeCommandConsole.tsx","scripts/visual-witness-hosted-runner/src/universal-witness.mjs","src/__tests__/contracts/godmode-console-route-family.contract.test.ts"],"requestContract":{"intent":{"rawUtterance":"Fix GodMode Console resolver behavior for explicit route-family inspections. Instructions such as 'check the entire route family for breakage', 'inspect all routes for Speedy Panda', or 'check Speedy Panda's whole route family' must be treated as a scoped multi-route Witness request, not as ambiguity about which single page the owner meant. Make tenant extraction route-family-aware, reuse the current tenant context when the owner says 'entire route family' without naming another tenant, resolve the tenant dashboard/root as the family seed, and dispatch the canonical Witness with linked_routes/full verification/maxRoutes 12. Preserve normal ambiguity safeguards for genuinely ambiguous tenant identity and ordinary single-route requests. Reuse the existing Witness engine; no parallel route crawler.","wordingChanged":false,"canonicalIntent":"Fix GodMode Console resolver behavior for explicit route-family inspections. Instructions such as 'check the entire route family for breakage', 'inspect all routes for Speedy Panda', or 'check Speedy Panda's whole route family' must be treated as a scoped multi-route Witness request, not as ambiguity about which single page the owner meant. Make tenant extraction route-family-aware, reuse the current tenant context when the owner says 'entire route family' without naming another tenant, resolve the tenant dashboard/root as the family seed, and dispatch the canonical Witness with linked_routes/full verification/maxRoutes 12. Preserve normal ambiguity safeguards for genuinely ambiguous tenant identity and ordinary single-route requests. Reuse the existing Witness engine; no parallel route crawler.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"route-family-resolution","statement":"Explicit route-family inspection language resolves as one multi-route family Witness request instead of a single-page ambiguity.","provenance":{"source":"owner_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["production"]}],"objective":"Fix GodMode Console resolver behavior for explicit route-family inspections. Instructions such as 'check the entire route family for breakage', 'inspect all routes for Speedy Panda', or 'check Speedy Panda's whole route family' must be treated as a scoped multi-route Witness request, not as ambiguity about which single page the owner meant. Make tenant extraction route-family-aware, reuse the current tenant context when the owner says 'entire route family' without naming another tenant, resolve the tenant dashboard/root as the family seed, and dispatch the canonical Witness with linked_routes/full verification/maxRoutes 12. Preserve normal ambiguity safeguards for genuinely ambiguous tenant identity and ordinary single-route requests. Reuse the existing Witness engine; no parallel route crawler.","constraints":[{"id":"preserve-real-ambiguity","statement":"Genuinely ambiguous tenant identity must still fail closed or clarify; route-family scope alone must not authorize guessing the tenant.","provenance":{"source":"owner_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["production"]},{"id":"reuse-witness","statement":"Use canonical linked-route Witness traversal rather than a second crawler.","provenance":{"source":"owner_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["production"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"production","kind":"runtime","claim":"Route-family language is parsed and dispatched as canonical linked-route Witness traversal in live Console/Witness runtime.","route":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"requireCapacityAdmissible":false,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}]},"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":"9bcd6e67c436b557c2edb9da32be61fb5621db28979571656fa7ddbb4875fe34","replayCount":0,"serializedBytes":18656},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T22:28:55.84983+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:c5c5938e-33e7-4744-ba9a-5a339bfa91d2:repository-mutation-intent:9bcd6e67c436b557c2edb9da32be61fb5621db28979571656fa7ddbb4875fe34:0","mission_step_id":"e3ed055b-9052-4fb7-8a39-20c29791d6c0","command_center_event_id":"c5c5938e-33e7-4744-ba9a-5a339bfa91d2"},{"id":"5d212c3b-0803-480c-8940-8b77487bd330","source":"cc-execution","status":"authorized","payload":{"paths":["config/control-plane-capabilities.json","src/__tests__/contracts/control-plane-routing.contract.test.ts","workers/cc-execution/src/index-mcp.js","workers/cc-execution/src/version.js","workers/cc-execution/test/release-orchestration-invariants.test.js"],"reason":"Exact applied-state orphaned branch recovery. The prior authorized invocation already committed this exact five-file state on the branch and failed only after the write due Cloudflare subrequest exhaustion; recover that exact applied state into one canonical PR without replaying or widening it.","baseSha":"d0ff1c0d356da795c4a64f5d7a92039e8abcad34","issuedAt":1788468772982,"expiresAt":1788468952982,"missionId":"eb60b372-be47-4e52-b016-50f67f247c5e","singleUse":true,"authorizationId":"79f07b13-59fb-4fc2-8501-8bb35853d5ff"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-03T20:52:55.224285+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"d0ff1c0d356da795c4a64f5d7a92039e8abcad34","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:79f07b13-59fb-4fc2-8501-8bb35853d5ff","mission_step_id":"fc11beb0-49f0-4486-a7ca-eb1f88233b95","command_center_event_id":"eb60b372-be47-4e52-b016-50f67f247c5e"},{"id":"5d21baa5-fd73-459e-adee-1ef723280429","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":null,"reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.31.26-direct-route-visual-intent","prNumber":4480,"terminal":false,"missionId":"83518063-403f-4a76-9ed5-a3eee41c2cc0","operation":"ship_and_prove","proofGate":"canonical_release_dispatched","sourceSha":"a968dbeda31b83d59e9f4d1a74df8636bf238026","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"83518063-403f-4a76-9ed5-a3eee41c2cc0"},"performance":null,"deploymentId":"canonical-release-a968dbeda31b","workflowRunId":31331541593,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["send-invitation"]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1212,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-09T19:24:15.725525+00:00","proof_gate":"canonical_release_dispatched","source_sha":"a968dbeda31b83d59e9f4d1a74df8636bf238026","external_id":"canonical-release-a968dbeda31b","receipt_type":"ship_and_prove","idempotency_key":"mission:83518063-403f-4a76-9ed5-a3eee41c2cc0:ship_and_prove:canonical_release_dispatched:a968dbeda31b83d59e9f4d1a74df8636bf238026:31331541593","mission_step_id":"415316ad-cad2-4e42-93b4-e1a812c849e3","command_center_event_id":"83518063-403f-4a76-9ed5-a3eee41c2cc0"},{"id":"5d23179c-fbbf-48e3-ae30-8640a117701c","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"compilation":{"stages":["owner_intent","conversation_context","scope","live_state","mutation_authority","affected_systems","dependencies","risk_and_blast_radius","execution_tactics","required_proof","release_plan","recovery_plan"],"version":2,"explicit":true,"objective":"Continue the existing mission and autonomously synthesize the smallest exact patch from the resolved source targets. Enforce the route-parent containment invariant and the Marketplace-to-Website-shell relationship, add the regression contract, then ship through Gate, squash merge, deploy, and production proof.","proofKinds":["repository"],"adaptiveDomains":["intent","tenant_route_role_viewport","urgency_deadline","dependency_scope","risk_blast_radius","runner_capacity","queue_active_work","provider_failure_circuits","qa_scope","retry_recovery","release_ownership","proof_depth"],"expansionPolicy":"later_stages_may_only_narrow_or_expand_with_machine_readable_dependency_evidence","dynamicStatePolicy":"live_state_may_change_execution_tactics_but_never_owner_outcome_or_explicit_constraints","dynamicRefreshStages":["preflight","gate","release","runtime_proof"],"adaptiveCompilerVersion":"paul-adaptive-objective-v1","inheritedContextBlockingAuthority":false},"rawUtterance":"Continue the existing mission and autonomously synthesize the smallest exact patch from the resolved source targets. Enforce the route-parent containment invariant and the Marketplace-to-Website-shell relationship, add the regression contract, then ship through Gate, squash merge, deploy, and production proof.","wordingChanged":false,"canonicalIntent":"Continue the existing mission and autonomously synthesize the smallest exact patch from the resolved source targets. Enforce the route-parent containment invariant and the Marketplace-to-Website-shell relationship, add the regression contract, then ship through Gate, squash merge, deploy, and production proof.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"Continue the existing mission and autonomously synthesize the smallest exact patch from the resolved source targets. Enforce the route-parent containment invariant and the Marketplace-to-Website-shell relationship, add the regression contract, then ship through Gate, squash merge, deploy, and production proof.","provenance":{"reason":null,"source":"current_request_inference","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]}],"objective":"Continue the existing mission and autonomously synthesize the smallest exact patch from the resolved source targets. Enforce the route-parent containment invariant and the Marketplace-to-Website-shell relationship, add the regression contract, then ship through Gate, squash merge, deploy, and production proof.","constraints":[{"id":"capability-completeness","statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","provenance":{"reason":null,"source":"heuristic_current_objective","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]},{"id":"atomic-capability-lifecycle","statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","provenance":{"reason":null,"source":"heuristic_current_objective","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]}],"adaptivePolicy":{"risk":{"tier":"standard","blastRadius":"scoped"},"proof":{"requiredKinds":["repository"],"visualProofScope":"none","interactionRequired":false,"runtimeProofRequired":true},"scope":{"route":null,"roleRef":null,"tenantRef":null,"sourceTargets":[]},"dynamic":{"variables":["main_and_runtime_lineage","runner_capacity","queue_and_active_work","provider_health","failure_clusters_and_circuits","release_target_state","current_pr_and_gate_state"],"refreshStages":["preflight","gate","release","runtime_proof"],"refreshMayChange":["runner_selection","parallelism","retry_path","qa_depth","release_recovery","proof_timing"],"refreshMayNotChange":["owner_outcome","explicit_no_go_constraints","tenant_identity","credential_boundary","hard_safety_invariants"]},"urgency":{"priority":"normal","deadlineSignals":[],"deadlineExplicit":false},"version":"paul-adaptive-objective-v1","recovery":{"transient":"one_bounded_retry_then_alternate_eligible_pool_or_provider_path","deterministic":"repair_source_or_contract_do_not_blind_rerun","mutationDependencyFailure":"prerequisite_required_or_targeted_recovery_never_invent","readOnlyDependencyFailure":"degrade_to_available_grounded_context_and_keep_conversation_alive"},"unknowns":["tenant","route","source_targets_until_repository_resolution","release_targets_until_changed_paths","deadline"],"authority":{"outcome":"current_explicit_owner_request","tactics":"live_prime_truth","unknownPolicy":"preserve_unknown_never_invent","historicalContext":"advisory_unless_current_request_confirms"},"execution":{"mutation":true,"concurrency":"parallel_non_overlapping_work","scopePolicy":"start_bounded_expand_only_with_machine_readable_dependency_evidence","staleStatePolicy":"refresh_dynamic_state_before_irreversible_or_acceptance_stage","conversationIsolation":true,"ownerOutcomeMayBeChangedByAdaptation":false},"experience":{"visual":false,"viewports":["desktop","mobile"],"behavioral":false,"visualProofScope":"none"},"dependencies":{"requiredDomains":["frontend","backend_runtime","release_ownership","live_production_proof"],"capabilityDomains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"releaseTargetHints":[]},"inputSignals":{"rawUtterance":"Continue the existing mission and autonomously synthesize the smallest exact patch from the resolved source targets. Enforce the route-parent containment invariant and the Marketplace-to-Website-shell relationship, add the regression contract, then ship through Gate, squash merge, deploy, and production proof.","canonicalIntent":"Continue the existing mission and autonomously synthesize the smallest exact patch from the resolved source targets. Enforce the route-parent containment invariant and the Marketplace-to-Website-shell relationship, add the regression contract, then ship through Gate, squash merge, deploy, and production proof.","conversationContextPresent":false}},"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-production","kind":"repository","claim":"Continue the existing mission and autonomously synthesize the smallest exact patch from the resolved source targets. Enforce the route-parent containment invariant and the Marketplace-to-Website-shell relationship, add the regression contract, then ship through Gate, squash merge, deploy, and production proof.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}],"validationErrors":[],"capabilityManifest":{"id":"Continue-the-existing-mission-and-autonomously-synthesize-the-smallest-exact-patch-from-the-resolved","driftPolicy":"exact_manifest_source_release_dependency_or_runtime_identity_mismatch_is_nonterminal","proofLedger":"command_center_mission_ledger_request_contract_hash_bound","schemaVersion":1,"releaseTargets":[],"lifecycleStates":["prepare","deploy","verify","activate"],"activationPolicy":"dependencies_and_claim_matched_live_proof_before_exposure","dependencyDomains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_required_not_runtime_failures","compatibilityWindow":["N","N-1"],"failureIsolationPolicy":"quarantine_or_rollback_affected_capability_only_preserve_unrelated_working_capabilities","canaryProofConditionIds":["proof-production"]},"capabilityCompleteness":{"domains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"required":true,"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_states_not_runtime_failures"}},"requestContractHash":"fe88a0a7b134723d98d54a8df48e8ff258d0046ecc7cc52a17eba8b7ebd67854","requestContractRevision":3,"previousRequestContractHash":"56a98581fffe9b3a6400095309f2d5b4463d3a153a49b9f3497cf42d3e938442"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T15:31:03.962182+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:20487f76-7728-461c-9dc7-09d2833551f8:request-contract:fe88a0a7b134723d98d54a8df48e8ff258d0046ecc7cc52a17eba8b7ebd67854","mission_step_id":"217f8202-3fad-4ee1-88f5-6798d69479de","command_center_event_id":"20487f76-7728-461c-9dc7-09d2833551f8"},{"id":"5d240625-d3a0-430a-82ab-5c2719ae67c9","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-8f24a58cae54","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.118-architecture-exclusivity","prNumber":2473,"terminal":false,"missionId":"8f24a58c-ae54-41fc-b2bb-bfe2057d8e1f","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"e7698b428b0c111803d48aeb20e4e5c06b828280","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":8334,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":1192,"approvedPlanMs":0,"missionSetupMs":2743,"providerAuthMs":0,"shipAndProveMs":4718,"ledgerPrepareMs":243,"ledgerReconcileMs":0,"lineageReconcileMs":2500,"resolvePreflightMs":2743,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":243,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"8f24a58c-ae54-41fc-b2bb-bfe2057d8e1f"},"performance":null,"deploymentId":"forgejo-main-e7698b428b0c","workflowRunId":null,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["opportunity-radar"]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2857,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T03:36:49.496984+00:00","proof_gate":"canonical_release_dispatched","source_sha":"e7698b428b0c111803d48aeb20e4e5c06b828280","external_id":"forgejo-main-e7698b428b0c","receipt_type":"execute_mission","idempotency_key":"mission:8f24a58c-ae54-41fc-b2bb-bfe2057d8e1f:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"9f9b35ef-520b-4d5b-bf4f-ca4953ce1ce6","command_center_event_id":"8f24a58c-ae54-41fc-b2bb-bfe2057d8e1f"},{"id":"5d2466e4-8d3c-4fd9-9166-6dae3d915d65","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-404f3caba641","reason":"anchored_edit_anchor_not_unique:workers/cc-execution/src/index-mission-control.js","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.123-modes-storage-validated-oauth","prNumber":null,"terminal":false,"missionId":"404f3cab-a641-439c-8d6a-6d14fb10a7d4","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":6483,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":1093,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":1093,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":1093,"repositoryMutationMs":6483,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":1093,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"404f3cab-a641-439c-8d6a-6d14fb10a7d4"},"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":1548,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-13T13:26:49.791613+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:404f3cab-a641-439c-8d6a-6d14fb10a7d4:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"cac5f49e-db51-4213-bfd8-a2059b4f50a0","command_center_event_id":"404f3cab-a641-439c-8d6a-6d14fb10a7d4"},{"id":"5d24689b-e365-4847-aaec-3ce7d1e7b7cc","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"4674784332e9bc4635742d897a13f4adac2cdbe4","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"4674784332e9bc4635742d897a13f4adac2cdbe4","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"success"},"requestContractHash":"c95ecf9f0bc525dd6563a88387da53c9cb56b5798791c3a05d35f83c75933385","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/14145","runId":14145,"status":"waiting","sourceSha":"4674784332e9bc4635742d897a13f4adac2cdbe4","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"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-02T00:39:51.819221+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"4674784332e9bc4635742d897a13f4adac2cdbe4","external_id":"forgejo-main-4674784332e9","receipt_type":"canonical_release_status","idempotency_key":"mission:664531c0-76af-4b6b-a047-fdda9a2a8a9f:forgejo-release-status:4674784332e9bc4635742d897a13f4adac2cdbe4:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"0933c2d5-8e4e-4829-ab23-cc5e9d2a6f83","command_center_event_id":"664531c0-76af-4b6b-a047-fdda9a2a8a9f"},{"id":"5d27bcde-fa30-41af-a57c-4b3f95e4da0f","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/seaside-canonical-route-convergence-20260806","reason":"anchored_edits resolution failed","status":"blocked","metrics":{"receiptBytes":2071,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.30.20-pr-scoped-release-missions","prNumber":null,"terminal":false,"missionId":"a713dee6-9927-44c3-b9c2-85f420780983","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"a713dee6-9927-44c3-b9c2-85f420780983"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"onePullRequest":true,"terminalProofRequired":true},"sourceReceiptBytes":893,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-08-07T01:54:32.394615+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:a713dee6-9927-44c3-b9c2-85f420780983:execute_mission:repair_mission_execution_blocked","mission_step_id":"3dccd920-c010-44a1-9b28-aefcc3cbd1f1","command_center_event_id":"a713dee6-9927-44c3-b9c2-85f420780983"},{"id":"5d27c678-554b-4405-9199-a9b708f40dbb","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in release.","nextAction":{"lane":"production-release-conductor","action":"reconcile_release","reason":"merged_source_requires_release_proof","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"owner_progress_heartbeat\",\"status\":\"waiting\",\"proofGate\":\"owner_progress_heartbeat\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"failed\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_release\",\"recoveryOwner\":\"production-release-conductor\"},\"acceptance\":{\"total\":2,\"verified\":0,\"pending\":2,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"release\",\"runtime\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"release\",\"deadlineAt\":\"2026-10-04T04:29:37.47936+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":4696,\"sourceSha\":\"8b75d4ea5290755e92513299921260ac2739f50c\",\"deploymentId\":\"forgejo-main-8b75d4ea5290\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T01:35:12.487248+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:7885e8ef-2225-4511-bbad-af7852cfcdd1:owner-progress-heartbeat:119405180","mission_step_id":"d2004713-a253-46bc-ab13-b7a556dac480","command_center_event_id":"7885e8ef-2225-4511-bbad-af7852cfcdd1"},{"id":"5d286438-01af-428d-89a0-1d7eb36bb06c","source":"github-status","status":"verified","payload":{"failed":[],"states":{"canonical-production-release/verified":"success"},"missing":[],"pending":[],"required":["canonical-production-release/verified"],"sourceSha":"ec50a02570cb5b3aa8b57b181fab40faefdd11c6","releaseState":"verified","exactConductorRun":{"id":31328589852,"status":"completed","headSha":"ec50a02570cb5b3aa8b57b181fab40faefdd11c6","conclusion":"success","compareStatus":"identical","sourceMatches":true,"containsSourceSha":true,"reconciliationMode":null},"ccExecutionRuntimeProof":null},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-09T18:30:14.200717+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"ec50a02570cb5b3aa8b57b181fab40faefdd11c6","external_id":"canonical-release-ec50a02570cb","receipt_type":"canonical_release_status","idempotency_key":"mission:e6c3bc7e-fb5b-4b7e-af29-7b8e5201a121:release-status:ec50a02570cb5b3aa8b57b181fab40faefdd11c6:31328589852:verified:canonical-production-release/verified=success","mission_step_id":"d1b49860-6a64-4745-935e-4c2d0f7b6431","command_center_event_id":"e6c3bc7e-fb5b-4b7e-af29-7b8e5201a121"},{"id":"5d2895a2-4b61-4c09-ace2-22d8564c058e","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/square-finance-ledger-20260824","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":2997,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.50.18-existing-pr-adoption","prNumber":666,"terminal":false,"missionId":"784b5e86-d083-4442-af7f-f6abf48705e8","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"74b715ddedf84b4e37f91dca45937bf826811247","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"784b5e86-d083-4442-af7f-f6abf48705e8"},"performance":null,"deploymentId":"forgejo-main-74b715ddedf8","workflowRunId":null,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":true,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["finance-square"]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":6278,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-24T16:24:40.748134+00:00","proof_gate":"canonical_release_dispatched","source_sha":"74b715ddedf84b4e37f91dca45937bf826811247","external_id":"forgejo-main-74b715ddedf8","receipt_type":"execute_mission","idempotency_key":"mission:784b5e86-d083-4442-af7f-f6abf48705e8:execute_mission:canonical_release_dispatched","mission_step_id":"f770e01f-4007-48e1-a774-4d1d840c2b82","command_center_event_id":"784b5e86-d083-4442-af7f-f6abf48705e8"},{"id":"5d2a5c0f-cf73-4b4c-840d-a0eb7c105f78","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-8cb223927d41","prNumber":2450,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"5c85323ca8c50388a7d1d85bff21fac48bb4ef22","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T00:33:46.796349+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"5c85323ca8c50388a7d1d85bff21fac48bb4ef22","external_id":"2450","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:8cb22392-7d41-4d3f-a902-01e315a5d7ad:merged-pr:2450:5c85323ca8c50388a7d1d85bff21fac48bb4ef22","mission_step_id":"60071627-5690-480a-a0a8-da8e77227c00","command_center_event_id":"8cb22392-7d41-4d3f-a902-01e315a5d7ad"},{"id":"5d351797-5f66-49a3-875e-834dd370287f","source":"forgejo-runtime","status":"failed","payload":{"failed":["forgejo-release/workflow","cc-execution/runtime-proof"],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"failure","cc-execution/runtime-proof":"failure"},"mainSha":"7cac3072e0e0c42d39832849f6acc6f68a03da79","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"20d7ef34998886130d3766ec1fd6fd8e46d5490d","releaseState":"failed","sourceInMain":true,"compareStatus":"known_exact_protected_main_push_history","releaseTargets":{"frontend":false,"migrations":false,"ccExecution":true,"supabaseEdge":false},"releaseTargetStates":{"ccExecution":"pending"},"requestContractHash":"43605a9a143ea446b043d59a46a0f9f792ccd4e366910ccdf86424890e77de92","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/15654","runId":15654,"status":"cancelled","sourceSha":"20d7ef34998886130d3766ec1fd6fd8e46d5490d","conclusion":null,"failedJobs":[{"id":105485,"name":"Release cc-execution","status":"cancelled","conclusion":null,"failedSteps":[]},{"id":105486,"name":"Release frontend","status":"cancelled","conclusion":null,"failedSteps":[]},{"id":105487,"name":"Verify frontend startup and fail-closed recovery","status":"cancelled","conclusion":null,"failedSteps":[]}],"diagnostics":{"runId":15654,"logTail":["2026-10-05T14:49:18.6964192Z HEAD is now at 20d7ef3 Continue the existing durable mission using exact structured edits. (#4928)","2026-10-05T14:49:18.8623765Z cc-execution visual bootstrap required=false","2026-10-05T14:49:19.5200729Z (node:89) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.","2026-10-05T14:49:19.5201531Z (Use `node --trace-deprecation ...` to show where the warning was created)","2026-10-05T14:49:19.8136440Z Cache Size: ~58 MB (60330087 B)","2026-10-05T14:49:19.8165637Z [command]/usr/bin/tar -xf /tmp/07143049-3c0d-4566-b996-e3f0c0e69675/cache.tgz -P -C /workspace/noel/KnockLaunchOS -z","2026-10-05T14:49:21.3044299Z Cache restored successfully","2026-10-05T14:49:21.3542067Z Cache restored from key: cc-execution-runtime-v2-node22.18.0-c3f85fe60ecaaf2eed3e72c45104105a4924aa580269d73e2bf5fa95b5854792","2026-10-05T14:49:23.0393963Z ","2026-10-05T14:49:23.0394693Z  ⛅️ wrangler 4.112.0","2026-10-05T14:49:23.0395073Z ────────────────────","2026-10-05T14:49:23.8843200Z [33m▲ [43;33m[[43;30mWARNING[43;33m][0m [1mYour Worker has Containers configured. Container configuration changes (such as image, max_instances, etc.) will not be gradually rolled out with versions. These changes will only take effect after running `deploy`.[0m","2026-10-05T14:49:23.8843818Z ","2026-10-05T14:49:23.8844061Z ","2026-10-05T14:49:32.7615430Z Total Upload: 2596.46 KiB / gzip: 535.67 KiB","2026-10-05T14:49:35.4679485Z Worker Startup Time: 6 ms","2026-10-05T14:49:35.4682299Z Your Worker has access to the following bindings:","2026-10-05T14:49:35.4682599Z Binding                                                                             Resource                     ","2026-10-05T14:49:35.4682774Z env.FORGEJO_HOST_COMMANDS (ForgejoHostCommandQueue)                                 Durable Object               ","2026-10-05T14:49:35.4682894Z env.VISUAL_WITNESS_VIRTUAL_RUNNER (VisualWitnessVirtualRunner)                      Durable Object               ","2026-10-05T14:49:35.4683108Z env.AI                                                                              AI                           ","2026-10-05T14:49:35.4683223Z env.CF_VERSION_METADATA                                                             Worker Version Metadata      ","2026-10-05T14:49:35.4683361Z env.GIT_SHA (\"20d7ef34998886130d3766ec1fd6fd8e46d54...\")                            Environment Variable         ","2026-10-05T14:49:35.4683502Z env.DEPLOYMENT_ID (\"forgejo-main-20d7ef34998886130d3766ec...\")                      Environment Variable         ","2026-10-05T14:49:35.4683680Z env.BUILD_ID (\"forgejo-20d7ef349988-15654-1\")                                       Environment Variable         ","2026-10-05T14:49:35.4683795Z env.BUILT_AT (\"2026-10-05T14:49:21Z\")                                               Environment Variable         ","2026-10-05T14:49:35.4683908Z ","2026-10-05T14:49:35.4684041Z Uploaded cc-execution (9.74 sec)","2026-10-05T14:49:35.4684145Z Worker Version ID: 2e8cef27-8071-4457-b51a-0892c81e8be7","2026-10-05T14:49:35.4686728Z ","2026-10-05T14:49:35.4686910Z To deploy this version to production traffic use the command wrangler versions deploy","2026-10-05T14:49:35.4687150Z ","2026-10-05T14:49:35.4687519Z Changes to non-versioned settings (config properties 'logpush' or 'tail_consumers') take effect after your next deployment using the command wrangler versions deploy","2026-10-05T14:49:35.4687871Z ","2026-10-05T14:49:35.4688084Z Changes to triggers (routes, custom domains, cron schedules, etc) must be applied with the command wrangler triggers deploy","2026-10-05T14:49:35.4688280Z ","2026-10-05T14:49:56.6421643Z ⚙️ [runner]: context canceled\\nunable to copy \"/var/run/act/workflow/SUMMARY.md\" from container to host: Get \"http://%2Fvar%2Frun%2Fdocker.sock/v1.52/containers/b6d32652095b37c6169c705efc0ec03fc73d56185b209c04af9918c6c16954a4/archive?path=%2Fvar%2Frun%2Fact%2Fworkflow%2FSUMMARY.md\": context canceled\\nunable to copy \"/var/run/act/workflow/pathcmd.txt\" from container to host: Get \"http://%2Fvar%2Frun%2Fdocker.sock/v1.52/containers/b6d32652095b37c6169c705efc0ec03fc73d56185b209c04af9918c6c16954a4/archive?path=%2Fvar%2Frun%2Fact%2Fworkflow%2Fpathcmd.txt\": context canceled","2026-10-05T14:49:56.7994147Z 🏁  Job failed","2026-10-05T14:49:57.2422424Z context canceled",""],"proofGate":"forgejo_action_run_logs_verified","truncated":false,"failureLines":[{"line":83,"content":"2026-10-05T14:49:56.7994147Z 🏁  Job failed"}]},"exactSource":true,"fingerprint":"cancelled|release cc-execution|release frontend|verify frontend startup and fail-closed recovery|2026-10-05t14:49:56.7994147z 🏁  job failed|2026-10-05t14:49:18.6964192z head is now at 20d7ef3 continue the existing durable mission using exact structured edits. (#4928)|2026-10-05t14:49:18.8623765z cc-execution visual bootstrap required=false|2026-10-05t14:49:19.5200729z (node:89) [dep0040] deprecationwarning: the `punycode` module is deprecated. please use a userland alternative instead.|2026-10-05t14:49:19.5201531z (use `node --trace-deprecation ...` to show where the warning was created)|2026-10-05t14:49:19.8136440z cache size: ~58 mb (60330087 b)|2026-10-05t14:49:19.8165637z [command]/usr/bin/tar -xf /tmp/07143049-3c0d-4566-b996-e3f0c0e69675/cache.tgz -p -c /workspace/noel/knocklaunchos -z|2026-10-05t14:49:21.3044299z cache restored successfully|2026-10-05t14:49:21.3542067z cache restored from key: cc-execution-runtime-v2-node22.18.0-c3f85fe60ecaaf2eed3e72c45104105a4924aa580269d73e2b","failureClass":"release_cancelled_transient","targetStates":{"ccExecution":"pending"},"safeAutoRetry":true,"targetJobCount":7,"observedTargetStates":{"ccExecution":"pending"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"b45fd8c9fd5d57f80fe95aba194eaae1f6da163c","compareStatus":null,"workflowRunId":15654,"workflowFailed":true,"containsSourceSha":false,"forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/15654","runId":15654,"status":"cancelled","sourceSha":"20d7ef34998886130d3766ec1fd6fd8e46d5490d","conclusion":null,"failedJobs":[{"id":105485,"name":"Release cc-execution","status":"cancelled","conclusion":null,"failedSteps":[]},{"id":105486,"name":"Release frontend","status":"cancelled","conclusion":null,"failedSteps":[]},{"id":105487,"name":"Verify frontend startup and fail-closed recovery","status":"cancelled","conclusion":null,"failedSteps":[]}],"diagnostics":{"runId":15654,"logTail":["2026-10-05T14:49:18.6964192Z HEAD is now at 20d7ef3 Continue the existing durable mission using exact structured edits. (#4928)","2026-10-05T14:49:18.8623765Z cc-execution visual bootstrap required=false","2026-10-05T14:49:19.5200729Z (node:89) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.","2026-10-05T14:49:19.5201531Z (Use `node --trace-deprecation ...` to show where the warning was created)","2026-10-05T14:49:19.8136440Z Cache Size: ~58 MB (60330087 B)","2026-10-05T14:49:19.8165637Z [command]/usr/bin/tar -xf /tmp/07143049-3c0d-4566-b996-e3f0c0e69675/cache.tgz -P -C /workspace/noel/KnockLaunchOS -z","2026-10-05T14:49:21.3044299Z Cache restored successfully","2026-10-05T14:49:21.3542067Z Cache restored from key: cc-execution-runtime-v2-node22.18.0-c3f85fe60ecaaf2eed3e72c45104105a4924aa580269d73e2bf5fa95b5854792","2026-10-05T14:49:23.0393963Z ","2026-10-05T14:49:23.0394693Z  ⛅️ wrangler 4.112.0","2026-10-05T14:49:23.0395073Z ────────────────────","2026-10-05T14:49:23.8843200Z [33m▲ [43;33m[[43;30mWARNING[43;33m][0m [1mYour Worker has Containers configured. Container configuration changes (such as image, max_instances, etc.) will not be gradually rolled out with versions. These changes will only take effect after running `deploy`.[0m","2026-10-05T14:49:23.8843818Z ","2026-10-05T14:49:23.8844061Z ","2026-10-05T14:49:32.7615430Z Total Upload: 2596.46 KiB / gzip: 535.67 KiB","2026-10-05T14:49:35.4679485Z Worker Startup Time: 6 ms","2026-10-05T14:49:35.4682299Z Your Worker has access to the following bindings:","2026-10-05T14:49:35.4682599Z Binding                                                                             Resource                     ","2026-10-05T14:49:35.4682774Z env.FORGEJO_HOST_COMMANDS (ForgejoHostCommandQueue)                                 Durable Object               ","2026-10-05T14:49:35.4682894Z env.VISUAL_WITNESS_VIRTUAL_RUNNER (VisualWitnessVirtualRunner)                      Durable Object               ","2026-10-05T14:49:35.4683108Z env.AI                                                                              AI                           ","2026-10-05T14:49:35.4683223Z env.CF_VERSION_METADATA                                                             Worker Version Metadata      ","2026-10-05T14:49:35.4683361Z env.GIT_SHA (\"20d7ef34998886130d3766ec1fd6fd8e46d54...\")                            Environment Variable         ","2026-10-05T14:49:35.4683502Z env.DEPLOYMENT_ID (\"forgejo-main-20d7ef34998886130d3766ec...\")                      Environment Variable         ","2026-10-05T14:49:35.4683680Z env.BUILD_ID (\"forgejo-20d7ef349988-15654-1\")                                       Environment Variable         ","2026-10-05T14:49:35.4683795Z env.BUILT_AT (\"2026-10-05T14:49:21Z\")                                               Environment Variable         ","2026-10-05T14:49:35.4683908Z ","2026-10-05T14:49:35.4684041Z Uploaded cc-execution (9.74 sec)","2026-10-05T14:49:35.4684145Z Worker Version ID: 2e8cef27-8071-4457-b51a-0892c81e8be7","2026-10-05T14:49:35.4686728Z ","2026-10-05T14:49:35.4686910Z To deploy this version to production traffic use the command wrangler versions deploy","2026-10-05T14:49:35.4687150Z ","2026-10-05T14:49:35.4687519Z Changes to non-versioned settings (config properties 'logpush' or 'tail_consumers') take effect after your next deployment using the command wrangler versions deploy","2026-10-05T14:49:35.4687871Z ","2026-10-05T14:49:35.4688084Z Changes to triggers (routes, custom domains, cron schedules, etc) must be applied with the command wrangler triggers deploy","2026-10-05T14:49:35.4688280Z ","2026-10-05T14:49:56.6421643Z ⚙️ [runner]: context canceled\\nunable to copy \"/var/run/act/workflow/SUMMARY.md\" from container to host: Get \"http://%2Fvar%2Frun%2Fdocker.sock/v1.52/containers/b6d32652095b37c6169c705efc0ec03fc73d56185b209c04af9918c6c16954a4/archive?path=%2Fvar%2Frun%2Fact%2Fworkflow%2FSUMMARY.md\": context canceled\\nunable to copy \"/var/run/act/workflow/pathcmd.txt\" from container to host: Get \"http://%2Fvar%2Frun%2Fdocker.sock/v1.52/containers/b6d32652095b37c6169c705efc0ec03fc73d56185b209c04af9918c6c16954a4/archive?path=%2Fvar%2Frun%2Fact%2Fworkflow%2Fpathcmd.txt\": context canceled","2026-10-05T14:49:56.7994147Z 🏁  Job failed","2026-10-05T14:49:57.2422424Z context canceled",""],"proofGate":"forgejo_action_run_logs_verified","truncated":false,"failureLines":[{"line":83,"content":"2026-10-05T14:49:56.7994147Z 🏁  Job failed"}]},"exactSource":true,"fingerprint":"cancelled|release cc-execution|release frontend|verify frontend startup and fail-closed recovery|2026-10-05t14:49:56.7994147z 🏁  job failed|2026-10-05t14:49:18.6964192z head is now at 20d7ef3 continue the existing durable mission using exact structured edits. (#4928)|2026-10-05t14:49:18.8623765z cc-execution visual bootstrap required=false|2026-10-05t14:49:19.5200729z (node:89) [dep0040] deprecationwarning: the `punycode` module is deprecated. please use a userland alternative instead.|2026-10-05t14:49:19.5201531z (use `node --trace-deprecation ...` to show where the warning was created)|2026-10-05t14:49:19.8136440z cache size: ~58 mb (60330087 b)|2026-10-05t14:49:19.8165637z [command]/usr/bin/tar -xf /tmp/07143049-3c0d-4566-b996-e3f0c0e69675/cache.tgz -p -c /workspace/noel/knocklaunchos -z|2026-10-05t14:49:21.3044299z cache restored successfully|2026-10-05t14:49:21.3542067z cache restored from key: cc-execution-runtime-v2-node22.18.0-c3f85fe60ecaaf2eed3e72c45104105a4924aa580269d73e2b","failureClass":"release_cancelled_transient","targetStates":{"ccExecution":"pending"},"safeAutoRetry":true,"targetJobCount":7,"observedTargetStates":{"ccExecution":"pending"}}},"releaseTargetRecoveryProof":{"exact":true,"source":"exact_source_parent_diff_shared_release_owner_mapping","parentSha":"47624cf6e8bb36ed0147b3693eb80fa4af25730d","sourceSha":"20d7ef34998886130d3766ec1fd6fd8e46d5490d","changedPaths":["workers/cc-execution/src/index-mission-control.js"],"changedPathCount":1,"independentOfCurrentMainCompare":true},"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T23:53:17.869796+00:00","proof_gate":"canonical_release_terminal_failed","source_sha":"20d7ef34998886130d3766ec1fd6fd8e46d5490d","external_id":null,"receipt_type":"canonical_release_status","idempotency_key":"mission:4a057a5c-25ad-46c0-8027-b670b733a837:forgejo-release-status:20d7ef34998886130d3766ec1fd6fd8e46d5490d:failed:forgejo-main/source=success|forgejo-release/workflow=failure|cc-execution/runtime-proof=failure","mission_step_id":"c7ddee50-ff99-4e2f-b233-fc2dc5c904f9","command_center_event_id":"4a057a5c-25ad-46c0-8027-b670b733a837"},{"id":"5d3566e7-10d1-436f-935c-d6a8c8955d89","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","cc-execution/runtime-proof":"success"},"mainSha":"05c011fa85baac9cd2000d2c7cdf4d332eb27654","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"05c011fa85baac9cd2000d2c7cdf4d332eb27654","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"ccExecution":"success"},"requestContractHash":"ce992fc6992039811caf55fc0c4fed614e5afcde172ed4eeb7964cfe4fb3acb9","forgejoWorkflowProof":{"runId":16343,"source":"signed_push_receipt","status":"blocked","results":{},"conclusion":"blocked","targetStates":{"ccExecution":"success"},"targetJobCount":7,"observedTargetStates":{"ccExecution":"success"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"7c86f2df4b29e45fb24cc0d8abcb99201437afea","proofGate":"cc_execution_target_aware_runtime_identity_verified","deploymentId":"forgejo-main-7c86f2df4b29e45fb24cc0d8abcb99201437afea","compareStatus":"target_job_success_runtime_verified","workflowRunId":16343,"identitySource":"canonical_release_target_job","runtimeVersion":"1.67.0-stopless-self-heal","workflowFailed":false,"containsSourceSha":false},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T14:58:44.063265+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"05c011fa85baac9cd2000d2c7cdf4d332eb27654","external_id":"forgejo-main-05c011fa85ba","receipt_type":"canonical_release_status","idempotency_key":"mission:66a3c720-fa2e-4f0d-9cfd-b0cd50838aa0:forgejo-release-status:05c011fa85baac9cd2000d2c7cdf4d332eb27654:verified:forgejo-main/source=success|forgejo-release/workflow=success|cc-execution/runtime-proof=success","mission_step_id":"722edded-3ed8-42a6-9faa-218a24044c33","command_center_event_id":"66a3c720-fa2e-4f0d-9cfd-b0cd50838aa0"},{"id":"5d3e1ed4-e474-4fe2-9c39-741af28272c3","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"8c94a3b8e41eb4fa99a656536c43207d07f0b146","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"8c94a3b8e41eb4fa99a656536c43207d07f0b146","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":"3f8b395e1ca7e1ea8dba629731886959699a859f3b3891a2fc1dc2e549686768","forgejoWorkflowProof":{"runId":12510,"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-28T12:02:41.607912+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"8c94a3b8e41eb4fa99a656536c43207d07f0b146","external_id":"forgejo-main-8c94a3b8e41e","receipt_type":"canonical_release_status","idempotency_key":"mission:d4857a33-afd8-4e82-a497-02828321bfc6:forgejo-release-status:8c94a3b8e41eb4fa99a656536c43207d07f0b146:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"b14ad776-e12d-456a-97c1-1dcbc4be25d7","command_center_event_id":"d4857a33-afd8-4e82-a497-02828321bfc6"},{"id":"5d430725-771c-4f77-91d7-fd263a5c006b","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-3bd6deb207c2","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":29209,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"executorlessWaitMs":59450,"firstUsefulResultAt":"2026-09-27T20:23:19.909Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":3899,"terminal":false,"missionId":"3bd6deb2-07c2-44f3-a32b-54074f260b25","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3281,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":609,"missionSetupMs":348,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":348,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":348,"repositoryMutationMs":2672,"repositoryProviderMs":2672,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":1698,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":348,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":974},"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":"3bd6deb2-07c2-44f3-a32b-54074f260b25"},"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":3085,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:24:23.747215+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3899","receipt_type":"execute_mission","idempotency_key":"mission:3bd6deb2-07c2-44f3-a32b-54074f260b25:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"40ade9da-a51d-47f0-8395-07bd1578c633","command_center_event_id":"3bd6deb2-07c2-44f3-a32b-54074f260b25"},{"id":"5d43357d-a20e-4e36-86f1-34c428417f38","source":"cc-execution","status":"waiting","payload":{"sourceTargets":["scripts/command-center-host-agent/forgejo-watchdog.sh","scripts/command-center-host-agent/install-forgejo-watchdog.sh","scripts/command-center-host-agent/knocklaunch-forgejo-watchdog.service","scripts/command-center-host-agent/knocklaunch-forgejo-watchdog.timer"],"continuationObjective":"Continue the existing durable mission using exact structured edits."},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T20:55:09.488788+00:00","proof_gate":"mission_continuation_scope_persisted","source_sha":null,"external_id":null,"receipt_type":"mission_continuation_scope_updated","idempotency_key":"mission:b2efff72-9e22-4657-89cd-867d0d5a80fd:mission_continuation_scope_updated:mission_continuation_scope_persisted:waiting","mission_step_id":"2d3b6ff2-a62b-4562-9a2e-27047a55a056","command_center_event_id":"b2efff72-9e22-4657-89cd-867d0d5a80fd"},{"id":"5d46b8af-3275-4707-a8d8-c8743ac28ba6","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.102-self-healing-ledger-provider","prNumber":null,"terminal":false,"missionId":"d315527a-1fbe-4f14-9a16-72f53acaedcc","operation":"execute_mission","proofGate":"repair_mission_execution_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":22819,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":1099,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":1099,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":1099,"repositoryMutationMs":22819,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":1099,"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":1564,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-11T17:01:27.168044+00:00","proof_gate":"repair_mission_execution_retryable","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:d315527a-1fbe-4f14-9a16-72f53acaedcc:execute_mission:repair_mission_execution_retryable:current-generation","mission_step_id":"3dedb3ef-0a1d-4ecc-b6d1-747ca14634b5","command_center_event_id":"d315527a-1fbe-4f14-9a16-72f53acaedcc"},{"id":"5d46ca67-65ef-4be0-ad1c-56a936ff42df","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-eb02db742a88","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":2685,"terminal":false,"missionId":"eb02db74-2a88-40b6-a9b7-9ebb00976c18","operation":"automatic_mission_resume","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"prReadinessMs":1997,"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":"eb02db74-2a88-40b6-a9b7-9ebb00976c18"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1284,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-13T22:37:34.366544+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"2685","receipt_type":"automatic_mission_resume","idempotency_key":"mission:eb02db74-2a88-40b6-a9b7-9ebb00976c18:automatic-mission-resume:2685:repair_mission_waiting_for_gate","mission_step_id":"0aa0d63c-93c5-40bb-a96f-faaa8594f7e0","command_center_event_id":"eb02db74-2a88-40b6-a9b7-9ebb00976c18"},{"id":"5d4774a3-b082-49a3-a152-2205e19404d6","source":"forgejo","status":"waiting","payload":{"branch":"ai/merged-release-target-recovery-fallback-20260904","prNumber":1717,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"d09c581b8f3176a31f1c26ebd37424de3c8f4421","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T14:45:24.904402+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"d09c581b8f3176a31f1c26ebd37424de3c8f4421","external_id":"1717","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:db52d396-d9cb-4f75-a324-b16bac475948:merged-pr:1717:d09c581b8f3176a31f1c26ebd37424de3c8f4421","mission_step_id":"3c70669e-11ab-48a0-995a-cb1907b6328d","command_center_event_id":"db52d396-d9cb-4f75-a324-b16bac475948"},{"id":"5d486e85-4b61-42c1-8450-1905b5886eb7","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/visual-witness-cc-release-hydration-20260905","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":1812,"terminal":false,"missionId":"f8ad5ef9-a468-4fa5-a71f-d845b89e0318","operation":"automatic_mission_resume","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"prReadinessMs":689,"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":"f8ad5ef9-a468-4fa5-a71f-d845b89e0318"},"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":1292,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-05T11:22:07.750289+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"1812","receipt_type":"automatic_mission_resume","idempotency_key":"mission:f8ad5ef9-a468-4fa5-a71f-d845b89e0318:automatic-mission-resume:1812:repair_mission_waiting_for_gate","mission_step_id":"60d30619-1d7a-4a40-9c69-9ee2a9eea4eb","command_center_event_id":"f8ad5ef9-a468-4fa5-a71f-d845b89e0318"},{"id":"5d49c6d6-93a3-49d3-8c61-43a18a24813e","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"objective_received","branch":null,"reason":"branch_must_start_with_ai","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.144-request-contract-inference","prNumber":null,"terminal":false,"missionId":"c6546ca0-a522-441c-b26b-033b1c1c85b7","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":1147,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":1147,"ledgerReconcileMs":464,"lineageReconcileMs":0,"resolvePreflightMs":1147,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":1611,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"c6546ca0-a522-441c-b26b-033b1c1c85b7"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1298,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-14T03:15:31.807196+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:c6546ca0-a522-441c-b26b-033b1c1c85b7:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"72b55e28-ef4b-4b98-b6eb-6ac33613c417","command_center_event_id":"c6546ca0-a522-441c-b26b-033b1c1c85b7"},{"id":"5d4c5e54-2d3a-4cb8-87ca-d8e9bb67eb9b","source":"cc-execution","status":"blocked","payload":{"reason":"compiler_recovery_diff_window_limit","failureClass":null,"sourceTargets":["src/pages/card-grading/PCGSlabUpload.tsx"],"dependencyReason":null,"dependencyStatus":null,"providerAttempts":[],"automaticExecutorAssigned":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-15T14:44:05.442042+00:00","proof_gate":"bounded_implementation_checkpoint_persisted","source_sha":"fbfa6d5deb5e781520e7d7fd7333e8baa71ac73d","external_id":null,"receipt_type":"bounded_implementation_continuation","idempotency_key":"mission:acd94e52-28ba-4e20-8892-be961a3bdb50:compiler:fbfa6d5deb5e781520e7d7fd7333e8baa71ac73d:src/pages/card-grading/PCGSlabUpload.tsx","mission_step_id":"4b4e4ecf-1c00-43a6-bc51-cd42f77e2fce","command_center_event_id":"acd94e52-28ba-4e20-8892-be961a3bdb50"},{"id":"5d4e8c80-e0e5-49a6-a92b-a169016eb33c","source":"cc-execution","status":"authorized","payload":{"paths":["src/__tests__/contracts/command-center-release-reconciliation-budget.contract.test.ts","workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/version.js"],"reason":"Owner authorized fixing the final release-only dispatch guards that keep the Actions queue empty.","baseSha":"ab7962b64eea03be0ebfcf9894c0f7ba0f682378","issuedAt":1790258980743,"expiresAt":1790259160743,"missionId":"3d565fca-c782-401e-b2c9-ae81e38f22f8","authorizationId":"00717b8e-121a-4e9a-8ae7-afc77f805a02","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T14:09:41.086861+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"ab7962b64eea03be0ebfcf9894c0f7ba0f682378","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:00717b8e-121a-4e9a-8ae7-afc77f805a02","mission_step_id":"8beea8ce-a151-4cb9-b7ad-9443778f30e1","command_center_event_id":"3d565fca-c782-401e-b2c9-ae81e38f22f8"},{"id":"5d506aec-0768-4021-916f-0cf5ef0cb060","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"release","branch":"ai/vista-short-stay-correction-20260828","reason":"The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":18736,"releaseCount":1,"toolCallCount":17,"repeatedCallCount":7,"ownerInterruptionCount":0},"version":"1.55.0-godmode-restore-points","prNumber":940,"terminal":false,"missionId":"14f2db7d-c7bc-48e3-a71e-ee4c084f3861","operation":"execute_mission","proofGate":"canonical_release_transport_retryable","sourceSha":"402e0df5cc252e836e0ca1b19f4b7792a86c1add","timingsMs":{"handlerMs":26677,"prReadinessMs":6785,"approvedPlanMs":0,"missionSetupMs":479,"shipAndProveMs":19874},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"14f2db7d-c7bc-48e3-a71e-ee4c084f3861"},"performance":null,"deploymentId":"forgejo-main-402e0df5cc25","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":5302,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"71b397ba-b9ad-496b-914c-985d97dbb12e","created_at":"2026-08-28T18:01:14.334193+00:00","proof_gate":"canonical_release_transport_retryable","source_sha":"402e0df5cc252e836e0ca1b19f4b7792a86c1add","external_id":"forgejo-main-402e0df5cc25","receipt_type":"execute_mission","idempotency_key":"mission:14f2db7d-c7bc-48e3-a71e-ee4c084f3861:execute_mission:canonical_release_transport_retryable:current-generation","mission_step_id":"d1585cf0-af85-4b12-9dc8-e756c3a0192b","command_center_event_id":"14f2db7d-c7bc-48e3-a71e-ee4c084f3861"},{"id":"5d51e45b-c22e-4c75-9554-3b010f72e02d","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-3237240a1f3f","reason":"pull_request_not_merge_eligible:pull_request_merge_rejected_no_mutation:{\"headSha\":\"6e3fbc1181c9b723904ab49f2a17af409b52a2b4\",\"merge\":\"{\\\"message\\\":\\\"not allowed to merge [reason: The head branch is behind the base branch]\\\",\\\"url\\\":\\\"https://git.knocklaunch.app/api/swagger\\\"}\",\"refreshRequired\":true,\"refreshOperation\":\"forgejo_pr_refresh\",\"headMutated\":false}","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":1822,"terminal":false,"missionId":"3237240a-1f3f-4220-9393-aadb3c20c4c6","operation":"automatic_mission_resume","proofGate":"canonical_release_blocked","sourceSha":null,"timingsMs":{"prReadinessMs":3564,"approvedPlanMs":0,"shipAndProveMs":3885,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"3237240a-1f3f-4220-9393-aadb3c20c4c6"},"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":1061,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-05T12:11:30.420628+00:00","proof_gate":"canonical_release_blocked","source_sha":null,"external_id":"1822","receipt_type":"automatic_mission_resume","idempotency_key":"mission:3237240a-1f3f-4220-9393-aadb3c20c4c6:automatic-mission-resume:1822:canonical_release_blocked","mission_step_id":"8502c0fa-e17b-4a98-b991-bf6519a9233a","command_center_event_id":"3237240a-1f3f-4220-9393-aadb3c20c4c6"},{"id":"5d53f93b-7989-4e56-a5ab-3b68869b78d8","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-8a1f6371985d","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":19836,"releaseCount":0,"toolCallCount":7,"repeatedCallCount":1,"executorlessWaitMs":84318,"firstUsefulResultAt":"2026-09-24T04:05:02.264Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.229-visual-contract-hardening","prNumber":3569,"terminal":false,"missionId":"8a1f6371-985d-4092-8eff-3ae25ba66187","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":920,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":778,"approvedPlanMs":0,"missionSetupMs":478,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":293,"ledgerReconcileMs":0,"lineageReconcileMs":185,"resolvePreflightMs":478,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":293,"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":"8a1f6371-985d-4092-8eff-3ae25ba66187"},"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":1970,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T04:06:33.150903+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"3569","receipt_type":"execute_mission","idempotency_key":"mission:8a1f6371-985d-4092-8eff-3ae25ba66187:execute_mission:repair_mission_waiting_for_gate:current-generation","mission_step_id":"32776531-34ef-4ed9-a45c-0baea31082b5","command_center_event_id":"8a1f6371-985d-4092-8eff-3ae25ba66187"},{"id":"5d560bd6-ff1d-46f3-b612-c426452d1f33","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","cc-execution/runtime-proof":"pending"},"mainSha":"103a400ced69fdcd3119e59d7a80235dae259720","missing":[],"pending":["forgejo-release/workflow","cc-execution/runtime-proof"],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"103a400ced69fdcd3119e59d7a80235dae259720","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"ccExecution":"pending"},"requestContractHash":"b4c5cc902ca28589acf49f40e668e08c8eca50ca90cb79253a414102268adcf6","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/11706","runId":11706,"status":"running","sourceSha":"103a400ced69fdcd3119e59d7a80235dae259720","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"ccExecution":"pending"},"targetJobCount":7,"observedTargetStates":{"ccExecution":"pending"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"7a5a86205a76754b16bcb257dea59ef20a8cbbca","deploymentId":"forgejo-main-7a5a86205a76754b16bcb257dea59ef20a8cbbca","compareStatus":null,"identitySource":"local_build_metadata","runtimeVersion":"1.58.277-exact-gate-fast-path","containsSourceSha":false},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T10:04:11.237306+00:00","proof_gate":"canonical_release_pending","source_sha":"103a400ced69fdcd3119e59d7a80235dae259720","external_id":"forgejo-main-103a400ced69","receipt_type":"canonical_release_status","idempotency_key":"mission:b080a989-f83c-4f77-b1e9-d3723f2c7a7d:forgejo-release-status:103a400ced69fdcd3119e59d7a80235dae259720:pending:forgejo-main/source=success|forgejo-release/workflow=pending|cc-execution/runtime-proof=pending","mission_step_id":"2fee487b-cc28-499d-a126-3a8da3a834ab","command_center_event_id":"b080a989-f83c-4f77-b1e9-d3723f2c7a7d"},{"id":"5d562002-d1ab-4aec-9ed4-7821225db46b","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-ce387f100ee0","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":6495,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-09-24T15:37:08.676Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.260-release-actions-query-parity","prNumber":3633,"terminal":false,"missionId":"ce387f10-0ee0-4a4f-a7b6-3dcca2320fbf","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4768,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":958,"missionSetupMs":254,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":254,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":254,"repositoryMutationMs":3810,"repositoryProviderMs":3810,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2195,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":254,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1615},"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":"ce387f10-0ee0-4a4f-a7b6-3dcca2320fbf"},"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":3307,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T15:37:14.455301+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3633","receipt_type":"execute_mission","idempotency_key":"mission:ce387f10-0ee0-4a4f-a7b6-3dcca2320fbf:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"cef284a8-6482-457a-b701-fa8347272967","command_center_event_id":"ce387f10-0ee0-4a4f-a7b6-3dcca2320fbf"},{"id":"5d591ba1-e16f-4f2c-9306-22e5f0900d67","source":"cc-execution","status":"blocked","payload":{"reason":"file_write_content_or_explicit_delete_required","fingerprint":"c562f2fa867b02cde00711e85177158f18b1b3db3bc3423c7fe186cdb47b0c05"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T11:42:42.645851+00:00","proof_gate":"repository_mutation_intent_deterministic_failure","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent_blocked","idempotency_key":"mission:653fd486-e6f2-4ebf-baa5-a7917001c502:repository-mutation-intent-blocked:c562f2fa867b02cde00711e85177158f18b1b3db3bc3423c7fe186cdb47b0c05","mission_step_id":"2079c651-62b2-4994-976d-62a12949f839","command_center_event_id":"653fd486-e6f2-4ebf-baa5-a7917001c502"},{"id":"5d5a8f9d-c95b-42e9-9d97-75d9dec51067","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Unfreeze control plane for the canonical frontend build memory envelope so production-equivalent Vite/Rollup builds on 4G heavy runners stop being silently killed after chunk rendering. Correct the same PR #3139 after Gate exposed remaining stale 3072 MB workflow constants. Align every Gate and release workflow reference to the canonical 2560 MB V8 heap while preserving the 4096 MB heavy host, 3584 MB Gate container, at least 1024 MB non-V8 headroom, protected main, canonical Gate, and heavy-runner ownership.","wordingChanged":false,"canonicalIntent":"Unfreeze control plane for the canonical frontend build memory envelope so production-equivalent Vite/Rollup builds on 4G heavy runners stop being silently killed after chunk rendering. Correct the same PR #3139 after Gate exposed remaining stale 3072 MB workflow constants. Align every Gate and release workflow reference to the canonical 2560 MB V8 heap while preserving the 4096 MB heavy host, 3584 MB Gate container, at least 1024 MB non-V8 headroom, protected main, canonical Gate, and heavy-runner ownership.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"envelope","statement":"Canonical frontend build config models a 4096 MB heavy host, 3584 MB Gate container, 2560 MB V8 old-space, and at least 1024 MB non-V8 headroom.","proofConditionIds":["repo","runtime"]},{"id":"alignment","statement":"Control-plane budget, Gate workflow, release workflow, and frontend build wrapper all use the same 2560 MB V8 heap contract.","proofConditionIds":["repo","runtime"]},{"id":"guard","statement":"Build fails closed if heap plus headroom exceeds container memory.","proofConditionIds":["repo"]},{"id":"gate","statement":"A frontend-affecting KnockLaunch Gate completes the production-equivalent Vite/Rollup build on the hardened envelope.","proofConditionIds":["runtime"]}],"objective":"Unfreeze control plane for the canonical frontend build memory envelope so production-equivalent Vite/Rollup builds on 4G heavy runners stop being silently killed after chunk rendering. Correct the same PR #3139 after Gate exposed remaining stale 3072 MB workflow constants. Align every Gate and release workflow reference to the canonical 2560 MB V8 heap while preserving the 4096 MB heavy host, 3584 MB Gate container, at least 1024 MB non-V8 headroom, protected main, canonical Gate, and heavy-runner ownership.","constraints":[{"id":"protected","statement":"Protected main, canonical Gate, and heavy-runner ownership remain unchanged.","proofConditionIds":["repo","runtime"]},{"id":"no-weaken","statement":"Do not skip or weaken the production-equivalent frontend build.","proofConditionIds":["repo","runtime"]},{"id":"bounded","statement":"Limit maintenance to the runner memory budget contract and directly coupled build files/tests/workflow constants.","proofConditionIds":["repo"]},{"id":"capability-completeness","statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["repo","runtime"]},{"id":"atomic-capability-lifecycle","statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["repo","runtime"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"repo","kind":"repository","claim":"Current main contains aligned build-memory contracts and regression coverage.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["frontend","ccExecution"],"requiredReleaseTargets":["frontend","ccExecution"],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false},{"id":"runtime","kind":"runtime","claim":"Exact generation passes KnockLaunch Gate including production-equivalent frontend build and releases affected control-plane/frontend owners.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["frontend","ccExecution"],"requiredReleaseTargets":["frontend","ccExecution"],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}],"validationErrors":[],"capabilityManifest":{"id":"Unfreeze-control-plane-for-the-canonical-frontend-build-memory-envelope-so-production-equivalent-Vit","driftPolicy":"exact_manifest_source_release_dependency_or_runtime_identity_mismatch_is_nonterminal","proofLedger":"command_center_mission_ledger_request_contract_hash_bound","schemaVersion":1,"releaseTargets":["frontend","ccExecution"],"lifecycleStates":["prepare","deploy","verify","activate"],"activationPolicy":"dependencies_and_claim_matched_live_proof_before_exposure","dependencyDomains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_required_not_runtime_failures","compatibilityWindow":["N","N-1"],"failureIsolationPolicy":"quarantine_or_rollback_affected_capability_only_preserve_unrelated_working_capabilities","canaryProofConditionIds":["repo","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":"e0c819334688a63ce77c6070e5ed917d9d9fba4e2a22a95fe210c9fc22273fcd","requestContractRevision":2,"previousRequestContractHash":"ad3a0723d1fd2d24b038ddcf216a2403adb6bc19c68d7df91e4ed69f296a9349"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-18T17:59:14.610112+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:2555a1ee-d01a-4c5c-beb5-e2625e7f0a5c:request-contract:e0c819334688a63ce77c6070e5ed917d9d9fba4e2a22a95fe210c9fc22273fcd","mission_step_id":"c3baccdb-a26d-4d3f-98d5-61d4c37f22d4","command_center_event_id":"2555a1ee-d01a-4c5c-beb5-e2625e7f0a5c"},{"id":"5d5b4690-b064-4360-81d5-7a37b022ec96","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","supabase-edge-production/live":"success"},"mainSha":"5bd82039ebfba19bab2b59ed6726ca4cad176517","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live"],"sourceSha":"5bd82039ebfba19bab2b59ed6726ca4cad176517","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["upsert-tenant-provider-secret"]},"releaseTargetStates":{"supabaseEdge":"success"},"requestContractHash":"b94681d480cec7a528bab6f68ab80c044a83bc2458128b634f625ffe965d8e0b","forgejoWorkflowProof":{"runId":14030,"source":"signed_push_receipt","status":"blocked","results":{},"conclusion":"blocked","targetStates":{"supabaseEdge":"success"},"targetJobCount":7,"observedTargetStates":{"supabaseEdge":"success"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-01T20:06:35.47585+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"5bd82039ebfba19bab2b59ed6726ca4cad176517","external_id":"forgejo-main-5bd82039ebfb","receipt_type":"canonical_release_status","idempotency_key":"mission:91a97a3a-f3bf-4469-8cd5-3c4fb25f30cb:forgejo-release-status:5bd82039ebfba19bab2b59ed6726ca4cad176517:verified:forgejo-main/source=success|forgejo-release/workflow=success|supabase-edge-production/live=success","mission_step_id":"9ba966ee-20fb-48f9-9589-7002996dfb1c","command_center_event_id":"91a97a3a-f3bf-4469-8cd5-3c4fb25f30cb"},{"id":"5d5b82f5-94ae-4c3c-85be-745734074e50","source":"cc-execution","status":"waiting","payload":{"body":{"body":"The live /admin/console routed owner self-awareness questions into the objective/operator lane, producing 'What outcome do you want?'. This keeps PAUL awareness/context questions in the answer lane, loads current Prime capability/owner grounding, and adds regression coverage.","ship":true,"files":[],"title":"PAUL: answer current-awareness questions directly","branch":"ai/objective-first-repair-69d57677d229","writes":[],"patches":[],"version":1,"approved":true,"missionId":"69d57677-d229-4aaa-adf7-0bf518f68af4","objective":"Fix live PAUL Console self-awareness questions so a prompt such as 'I need to know what your current state of awareness is' is answered directly from current PAUL/Prime capability truth, owner operating context, recalled Console context, and the current route/tenant context instead of being routed into the objective/operator mutation lane and replying 'What outcome do you want?'. Add a bounded self-awareness intent classifier in the GodMode Console and operator-respond answer lane, preload live capability grounding for that intent, add an explicit semantic hint forbidding objective clarification for this read-only question, add regression coverage, then Gate, squash merge, release only affected frontend/Supabase operator-respond targets, and verify the actual /admin/console interaction.","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/pages/admin/GodModeCommandConsole.tsx","supabase/functions/operator-respond/index.ts","src/__tests__/contracts/mobile-admin-console-authority.contract.test.ts"],"workstreamKey":"paul-console-awareness","anchored_edits":[{"path":"src/pages/admin/GodModeCommandConsole.tsx","new_content":"function isPaulSelfAwarenessRequest(value: string) {\n  const text = String(value || '').trim().toLowerCase();\n  if (!text || !/\\b(?:paul|you|your|yourself)\\b/.test(text)) return false;\n  return /\\b(?:state\\s+of\\s+awareness|awareness|aware\\s+of|what\\s+(?:do|can)\\s+you\\s+(?:know|remember|understand)|what\\s+context\\s+(?:do\\s+)?you\\s+have|your\\s+(?:current\\s+)?(?:context|knowledge|memory|understanding))\\b/.test(text);\n}\n\nfunction isIntelligenceLayerStatusRequest(value: string) {\n  const text = String(value || '').trim().toLowerCase();","old_content":"function isIntelligenceLayerStatusRequest(value: string) {\n  const text = String(value || '').trim().toLowerCase();"},{"path":"src/pages/admin/GodModeCommandConsole.tsx","new_content":"function classifyConsoleIntent(value: string, wantsWitness: boolean): ConsoleIntentClass {\n  const text = String(value || '').trim().toLowerCase();\n  if (!wantsWitness && isPaulSelfAwarenessRequest(text)) return 'conversation';\n  if (!wantsWitness && isIntelligenceLayerStatusRequest(text)) return 'live_state_read';","old_content":"function classifyConsoleIntent(value: string, wantsWitness: boolean): ConsoleIntentClass {\n  const text = String(value || '').trim().toLowerCase();\n  if (!wantsWitness && isIntelligenceLayerStatusRequest(text)) return 'live_state_read';"},{"path":"supabase/functions/operator-respond/index.ts","new_content":"function isPaulSelfAwarenessRequest(message: string) {\n  const text = String(message ?? '').trim().toLowerCase();\n  if (!text || !/\\b(?:paul|you|your|yourself)\\b/.test(text)) return false;\n  return /\\b(?:state\\s+of\\s+awareness|awareness|aware\\s+of|what\\s+(?:do|can)\\s+you\\s+(?:know|remember|understand)|what\\s+context\\s+(?:do\\s+)?you\\s+have|your\\s+(?:current\\s+)?(?:context|knowledge|memory|understanding))\\b/.test(text);\n}\n\nfunction requiresLiveCapabilityGrounding(message: string) {\n  const text = String(message ?? '').toLowerCase();\n  if (isPaulSelfAwarenessRequest(text)) return true;\n  return /\\b(what can you do|what are your capabilities|capabilit(?:y|ies)|replace chatgpt|replace openai|daily basis|day[- ]to[- ]day|execute actions|can you execute|can you merge|can you deploy|autonom(?:y|ous|ously)|background (?:work|agent|job)|keep going if|chat disconnects?|persistent (?:work|mission|agent))\\b/i.test(text);\n}","old_content":"function requiresLiveCapabilityGrounding(message: string) {\n  const text = String(message ?? '').toLowerCase();\n  return /\\b(what can you do|what are your capabilities|capabilit(?:y|ies)|replace chatgpt|replace openai|daily basis|day[- ]to[- ]day|execute actions|can you execute|can you merge|can you deploy|autonom(?:y|ous|ously)|background (?:work|agent|job)|keep going if|chat disconnects?|persistent (?:work|mission|agent))\\b/i.test(text);\n}"},{"path":"supabase/functions/operator-respond/index.ts","new_content":"function requiresOperatorLane(message: string) {\n  const text = String(message ?? '').trim().toLowerCase();\n  if (!text) return false;\n  if (isPaulSelfAwarenessRequest(text)) return false;\n  if (requiresLiveCapabilityGrounding(text) || requiresCurrentWorkGrounding(text)) return true;","old_content":"function requiresOperatorLane(message: string) {\n  const text = String(message ?? '').trim().toLowerCase();\n  if (!text) return false;\n  if (requiresLiveCapabilityGrounding(text) || requiresCurrentWorkGrounding(text)) return true;"},{"path":"supabase/functions/operator-respond/index.ts","new_content":"  if (missedQuestionCorrection) {\n    return 'Authoritative correction hint: Noel says the prior response missed or misread his question. Recover the unanswered question from the active conversation and answer it directly now. Do not ask him to choose among interpretations or repeat information already present unless the prior question is genuinely ambiguous.';\n  }\n  if (isPaulSelfAwarenessRequest(text)) {\n    return 'Authoritative PAUL awareness hint: Noel is asking what PAUL is actually aware of right now. Answer directly. Summarize the active/recent conversation context, recalled durable Console context, stable owner/KNOCKLAUNCH operating context, current tenant/route context when supplied, and current Prime health/capability grounding. Clearly distinguish what is currently loaded or grounded from information you have not fetched. Do not ask what outcome he wants, do not create a mission, and do not turn this into an execution request.';\n  }\n  if (autonomyCapabilities) {","old_content":"  if (missedQuestionCorrection) {\n    return 'Authoritative correction hint: Noel says the prior response missed or misread his question. Recover the unanswered question from the active conversation and answer it directly now. Do not ask him to choose among interpretations or repeat information already present unless the prior question is genuinely ambiguous.';\n  }\n  if (autonomyCapabilities) {"},{"path":"src/__tests__/contracts/mobile-admin-console-authority.contract.test.ts","new_content":"const source = fs.readFileSync(\n  path.resolve(process.cwd(), 'src/components/navigation/MoreSheet.tsx'),\n  'utf8',\n);\nconst consoleSource = fs.readFileSync(\n  path.resolve(process.cwd(), 'src/pages/admin/GodModeCommandConsole.tsx'),\n  'utf8',\n);\nconst operatorSource = fs.readFileSync(\n  path.resolve(process.cwd(), 'supabase/functions/operator-respond/index.ts'),\n  'utf8',\n);\n","old_content":"const source = fs.readFileSync(\n  path.resolve(process.cwd(), 'src/components/navigation/MoreSheet.tsx'),\n  'utf8',\n);\n"},{"path":"src/__tests__/contracts/mobile-admin-console-authority.contract.test.ts","new_content":"  });\n});\n\ndescribe('GodMode Console PAUL awareness routing', () => {\n  it('keeps PAUL self-awareness questions in the conversational answer lane', () => {\n    expect(consoleSource).toContain('function isPaulSelfAwarenessRequest');\n    expect(consoleSource).toContain(\"if (!wantsWitness && isPaulSelfAwarenessRequest(text)) return 'conversation';\");\n    expect(consoleSource).toContain('state\\\\s+of\\\\s+awareness');\n  });\n\n  it('grounds awareness answers in live PAUL/Prime truth without objective clarification', () => {\n    expect(operatorSource).toContain('function isPaulSelfAwarenessRequest');\n    expect(operatorSource).toContain('if (isPaulSelfAwarenessRequest(text)) return true;');\n    expect(operatorSource).toContain('if (isPaulSelfAwarenessRequest(text)) return false;');\n    expect(operatorSource).toContain('Authoritative PAUL awareness hint');\n    expect(operatorSource).toContain('Do not ask what outcome he wants');\n    expect(operatorSource).toContain(\"callCcExecution('command_center_health', {})\");\n    expect(operatorSource).toContain(\"callCcExecution('command_center_capabilities', {})\");\n    expect(operatorSource).toContain(\"callCcExecution('owner_operating_context', {})\");\n  });\n});\n","old_content":"  });\n});\n"}],"commit_message":"fix(paul): answer awareness questions directly","implementation":{"files":[],"writes":[]},"collisionDomain":"admin-console-paul-awareness","requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"69d57677-d229-4aaa-adf7-0bf518f68af4","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/pages/admin/GodModeCommandConsole.tsx","supabase/functions/operator-respond/index.ts","src/__tests__/contracts/mobile-admin-console-authority.contract.test.ts"],"requestContract":null,"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":false,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"proofRequirements":null,"controlPlaneUnfreeze":false,"durableMutationResume":true,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"recovery":false,"fingerprint":"835bdb95f78d35a21bbcd9c760c6731ddd29ece36596526b87d9d30114ef38d1","replayCount":0,"serializedBytes":9580},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T19:29:55.558084+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:69d57677-d229-4aaa-adf7-0bf518f68af4:repository-mutation-intent:835bdb95f78d35a21bbcd9c760c6731ddd29ece36596526b87d9d30114ef38d1:0","mission_step_id":"5e7d207e-9847-4d49-9249-366fc2600f2b","command_center_event_id":"69d57677-d229-4aaa-adf7-0bf518f68af4"},{"id":"5d5d5093-58cd-4d26-8fe9-4a002d4780c7","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"b2ae41397be7d85048a5d94d328f31556072c731","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"b2ae41397be7d85048a5d94d328f31556072c731","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"pending"},"requestContractHash":"0c4a1d1b6e10b6fae090c36d6a78ecb51548a8e82adff41e6ad9f2d975896e90","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/5850","runId":5850,"status":"running","sourceSha":"b2ae41397be7d85048a5d94d328f31556072c731","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":"90ed5bf4-8abd-4d3a-af7c-024664b5b99d","created_at":"2026-09-06T15:16:07.954292+00:00","proof_gate":"canonical_release_pending","source_sha":"b2ae41397be7d85048a5d94d328f31556072c731","external_id":"forgejo-main-b2ae41397be7","receipt_type":"canonical_release_status","idempotency_key":"mission:84923a89-929e-4712-9b72-6f1994e7a592:forgejo-release-status:b2ae41397be7d85048a5d94d328f31556072c731:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"e1c31502-41b1-41f0-ba05-a5cf62ce3ab7","command_center_event_id":"84923a89-929e-4712-9b72-6f1994e7a592"},{"id":"5d5e9427-d570-4535-aa33-98b25476a8aa","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-bb76d3099a2a","writes":[],"patches":[],"version":1,"approved":true,"missionId":"bb76d309-9a2a-4732-9d83-b599bc323c79","objective":"Explicitly UNFREEZE the KNOCKLAUNCH control plane only to finish the executorless implementation-resume lockdown. In runDeterministicMissionSupervisor, handle the already-declared automationAllowed continue_implementation action by invoking recoverPersistedRepositoryMutationIntent on the same durable mission. Preserve its existing 15-second replay threshold/idempotency protections, existing supervisor, one bounded replay policy, protected main, canonical Gate, and affected-target-only cc-execution release. Add a focused contract proving this action is wired. Return to frozen-by-default after live proof.","sourceSha":"4eddd866ba1bcf2e40478f77e1750370d5ffd41d","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/version.js","src/__tests__/contracts/cc-execution-deploy-proof.test.ts"],"anchored_edits":[{"path":"workers/cc-execution/src/index-mission-control.js","edits":[{"new_content":"    if (action.action === \"retry_bounded_recovery\") {\n      next = await reconcileTransientReleaseFailure(env, current);\n      next = await reconcileRetryablePullRequest(request, env, ctx, next);\n    } else if (action.action === \"continue_implementation\") {\n      next = await recoverPersistedRepositoryMutationIntent(request, env, ctx, current);\n    } else if (action.action === \"reconcile_pull_request\") {","old_content":"    if (action.action === \"retry_bounded_recovery\") {\n      next = await reconcileTransientReleaseFailure(env, current);\n      next = await reconcileRetryablePullRequest(request, env, ctx, next);\n    } else if (action.action === \"reconcile_pull_request\") {"}]},{"path":"workers/cc-execution/src/version.js","edits":[{"new_content":"export const CC_EXECUTION_VERSION = \"1.64.25-executorless-implementation-resume\";","old_content":"export const CC_EXECUTION_VERSION = \"1.64.24-mutation-path-lockdown\";"}]},{"path":"src/__tests__/contracts/cc-execution-deploy-proof.test.ts","edits":[{"new_content":"    expect(missionControl).toContain('runDeterministicMissionSupervisor');\n    expect(missionControl).toContain('action.action === \"continue_implementation\"');\n    expect(missionControl).toContain('recoverPersistedRepositoryMutationIntent(request, env, ctx, current)');\n    expect(missionControl).toContain('scheduleAutomatableMissionContinuation(request, env, ctx, appendPromise)');","old_content":"    expect(missionControl).toContain('runDeterministicMissionSupervisor');\n    expect(missionControl).toContain('scheduleAutomatableMissionContinuation(request, env, ctx, appendPromise)');"}]}],"implementation":{"files":[],"writes":[]},"requestContract":{"valid":true,"intent":{"rawUtterance":"fix it and lock it the fuck down im tired of begging you","canonicalIntent":"Finish the KNOCKLAUNCH mutation-latency lockdown by wiring automationAllowed continue_implementation into the existing deterministic mission supervisor.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"version":1,"outcomes":[{"id":"executorless-resume","statement":"A durable mission whose next safe action is continue_implementation is owned by the existing supervisor and invokes the existing persisted mutation recovery path rather than remaining executorless.","proofConditionIds":["runtime-proof"]}],"constraints":[{"id":"safety","statement":"Keep the existing 15-second replay threshold, idempotency/replay bounds, max automatic retries of one, protected main, canonical Gate, and only ccExecution release.","proofConditionIds":["runtime-proof"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"runtime-proof","kind":"runtime","claim":"The cc-execution runtime is live on the executorless implementation-resume version after the exact focused PR passes KnockLaunch Gate.","required":true,"allowedReleaseTargets":["ccExecution"],"requiredReleaseTargets":["ccExecution"]}]},"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":null,"ownerApproved":true,"releaseIntent":null,"sourceTargets":["workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/version.js","src/__tests__/contracts/cc-execution-deploy-proof.test.ts"],"requestContract":{"valid":true,"intent":{"rawUtterance":"fix it and lock it the fuck down im tired of begging you","canonicalIntent":"Finish the KNOCKLAUNCH mutation-latency lockdown by wiring automationAllowed continue_implementation into the existing deterministic mission supervisor.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"version":1,"outcomes":[{"id":"executorless-resume","statement":"A durable mission whose next safe action is continue_implementation is owned by the existing supervisor and invokes the existing persisted mutation recovery path rather than remaining executorless.","proofConditionIds":["runtime-proof"]}],"constraints":[{"id":"safety","statement":"Keep the existing 15-second replay threshold, idempotency/replay bounds, max automatic retries of one, protected main, canonical Gate, and only ccExecution release.","proofConditionIds":["runtime-proof"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"runtime-proof","kind":"runtime","claim":"The cc-execution runtime is live on the executorless implementation-resume version after the exact focused PR passes KnockLaunch Gate.","required":true,"allowedReleaseTargets":["ccExecution"],"requiredReleaseTargets":["ccExecution"]}]},"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["src/__tests__/contracts/cc-execution-deploy-proof.test.ts","workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/version.js"],"controlPlaneMaintenanceReason":"Owner authorized fixing and locking down mutation latency. Live 1.64.24 proof shows the supervisor schedules automatable continuations but runDeterministicMissionSupervisor still lacks its continue_implementation dispatch case. Temporarily unfreeze only these three exact paths to wire the existing durable recovery primitive, test it, and release cc-execution; then remain frozen-by-default."},"proofRequirements":null,"controlPlaneUnfreeze":true,"durableMutationResume":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["src/__tests__/contracts/cc-execution-deploy-proof.test.ts","workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/version.js"],"controlPlaneMaintenanceReason":"Owner authorized fixing and locking down mutation latency. Live 1.64.24 proof shows the supervisor schedules automatable continuations but runDeterministicMissionSupervisor still lacks its continue_implementation dispatch case. Temporarily unfreeze only these three exact paths to wire the existing durable recovery primitive, test it, and release cc-execution; then remain frozen-by-default."},"recovery":false,"fingerprint":"b84c8b45198e51afdc9951059ce32db103c6050c212c3f9f4c553fff94b4dd83","replayCount":0,"serializedBytes":7254},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T20:23:01.411899+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:bb76d309-9a2a-4732-9d83-b599bc323c79:repository-mutation-intent:b84c8b45198e51afdc9951059ce32db103c6050c212c3f9f4c553fff94b4dd83:0","mission_step_id":"cc4d04f2-b371-4bad-a1c7-b637f7c02d1b","command_center_event_id":"bb76d309-9a2a-4732-9d83-b599bc323c79"},{"id":"5d5efc77-5507-4f07-8468-65b8683f7424","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-5ab1065a8e19","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":75616,"releaseCount":0,"toolCallCount":20,"repeatedCallCount":11,"executorlessWaitMs":1262389,"firstUsefulResultAt":"2026-09-27T14:03:11.819Z","recoveryAttemptCount":12,"ownerInterruptionCount":0},"version":null,"prNumber":3876,"terminal":false,"missionId":"5ab1065a-8e19-468f-963e-af12f207c069","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":5409,"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":"5ab1065a-8e19-468f-963e-af12f207c069"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime","visual"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":819,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T14:21:45.244956+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"3876","receipt_type":"automatic_mission_resume","idempotency_key":"mission:5ab1065a-8e19-468f-963e-af12f207c069:automatic-mission-resume:3876:repair_mission_pr_ready_retryable","mission_step_id":"86b07701-d8f9-4f16-9c2e-71e26708ead0","command_center_event_id":"5ab1065a-8e19-468f-963e-af12f207c069"},{"id":"5d5fae6c-4628-478d-8cea-77df6b4c5cfa","source":"cc-execution","status":"pending","payload":{"ok":true,"jobId":"3600b398-07cb-41e4-ab45-307aca07d20d","phase":"universal_visual_witness_supervised","branch":"ai/objective-first-repair-b79255f67e21","reason":null,"status":"pending","metrics":{"receiptBytes":158989,"releaseCount":0,"toolCallCount":78,"repeatedCallCount":53,"executorlessWaitMs":1935660,"firstUsefulResultAt":"2026-10-04T09:22:12.147Z","recoveryAttemptCount":46,"ownerInterruptionCount":0},"version":null,"prNumber":4718,"terminal":false,"missionId":"b79255f6-7e21-493b-90ff-5552f473f906","operation":"visual_proof_started","proofGate":"universal_visual_witness_pending","sourceSha":"2e8efad698df6ae0a2071146284fc51edd609ca6","timingsMs":{"queue":9861,"total":10366,"execution":505},"nextAction":"Execution is pending; poll inspect_route_status only when fresh progress is expected, or cancel with inspect_route_cancel.","receiptRef":{"mode":"full","missionId":"b79255f6-7e21-493b-90ff-5552f473f906"},"performance":null,"deploymentId":"forgejo-main-2e8efad698df","releaseState":"verified","visualWitness":{"role":"GodMode","jobId":"3600b398-07cb-41e4-ab45-307aca07d20d","tenant":"pcg","runnerUrl":"cloudflare-container://visual-witness-virtual","runnerLane":"virtual","attemptsUsed":0,"supervisorId":"3600b398-07cb-41e4-ab45-307aca07d20d","failureReason":null,"observedRoute":null,"runnerVersion":null,"attemptLineage":[],"missionOutcome":null,"requestedRoute":"/pcg/settings?section=proposals","runnerSourceSha":null,"selectedViewports":["desktop"],"checkpointAccounting":null,"correctiveGeneration":1,"restartReplayHistory":[]},"workflowRunId":15070,"releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["repository","interaction","visual"],"verificationState":"failed","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1784,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T09:54:52.046457+00:00","proof_gate":"post_release_visual_proof_started","source_sha":"2e8efad698df6ae0a2071146284fc51edd609ca6","external_id":"3600b398-07cb-41e4-ab45-307aca07d20d","receipt_type":"visual_proof_started","idempotency_key":"mission:b79255f6-7e21-493b-90ff-5552f473f906:visual-start:3600b398-07cb-41e4-ab45-307aca07d20d","mission_step_id":"cee8ad0a-7578-4a93-b226-981e3d96d84e","command_center_event_id":"b79255f6-7e21-493b-90ff-5552f473f906"},{"id":"5d60ac75-a1a1-40a9-a014-a561db5a2c1d","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\":\"execute_mission\",\"status\":\"release_reconciliation_pending\",\"proofGate\":\"canonical_release_reconciliation_pending\"},\"activeStep\":{\"key\":\"implementation\",\"status\":\"waiting\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_pull_request\",\"lane\":\"cc-execution\",\"reason\":\"pull_request_exists_without_merged_source\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_pull_request\",\"recoveryOwner\":\"cc-execution\"},\"acceptance\":{\"total\":2,\"verified\":0,\"pending\":2,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\",\"proof-visual\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"runtime_proof\",\"deadlineAt\":\"2026-10-05T16:27:08.33585+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-915343bc5a1a\",\"prNumber\":4907,\"sourceSha\":null,\"deploymentId\":null}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T13:03:24.446715+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:915343bc-5a1a-44bc-b902-2bb6f73890ad:owner-progress-heartbeat:119413693","mission_step_id":"fa88f1c9-4c7b-4aaa-bab7-c52699a49a9c","command_center_event_id":"915343bc-5a1a-44bc-b902-2bb6f73890ad"},{"id":"5d612aa2-cdf3-41ec-9a4b-c50c26560027","source":"forgejo","status":"verified","payload":{"branch":"ai/auto-merge-release-persistence-20260820","prNumber":543,"nextAction":null,"mergeCommitSha":"b0067f9783b31ee17159972d88d70479223497a6","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-21T04:18:05.191703+00:00","proof_gate":"merged_pr_deleted_branch_is_terminal_source_lineage","source_sha":"b0067f9783b31ee17159972d88d70479223497a6","external_id":"543","receipt_type":"source_lineage_merged_branch_closed","idempotency_key":"mission:235ff68d-bcab-4a7f-ba95-3c76885c8ca7:merged-pr:543:branch-deleted","mission_step_id":"8db48bc1-5c38-4224-aac8-412d927d3989","command_center_event_id":"235ff68d-bcab-4a7f-ba95-3c76885c8ca7"},{"id":"5d629ea9-a5ba-4122-b147-0637a530153b","source":"cc-execution","status":"recorded","payload":{"objective":"URGENT EXACT REVERT. Restore only src/components/redfish/RedfishWorkspaceShell.tsx to the exact pre-change Redfish shell content that existed on protected main SHA d09477b0e95696b2b9c9af6a5e31e831cb89393f, blob 8b9c04a853ab631627cf64ae1a09f3f86e33e39d. Leave TenantRouter and its existing Supabase background URL untouched. Ship immediately through the canonical frontend PR/gate/squash/deploy path and prove the Redfish dashboard route live.","tenantRef":"redfish-roofing","receivedAt":"2026-09-01T16:09:53.844Z","fingerprint":"b838cd08d605f21dcba5e98c21a853f265e623b4753ecb37bc5ea2e4aecf8862","workstreamRef":"redfishroofing","conversationId":null,"canonicalBranch":"ai/objective-first-repair-mtiv12h1","requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"URGENT EXACT REVERT. Restore only src/components/redfish/RedfishWorkspaceShell.tsx to the exact pre-change Redfish shell content that existed on protected main SHA d09477b0e95696b2b9c9af6a5e31e831cb89393f, blob 8b9c04a853ab631627cf64ae1a09f3f86e33e39d. Leave TenantRouter and its existing Supabase background URL untouched. Ship immediately through the canonical frontend PR/gate/squash/deploy path and prove the Redfish dashboard route live.","wordingChanged":false,"canonicalIntent":"URGENT EXACT REVERT. Restore only src/components/redfish/RedfishWorkspaceShell.tsx to the exact pre-change Redfish shell content that existed on protected main SHA d09477b0e95696b2b9c9af6a5e31e831cb89393f, blob 8b9c04a853ab631627cf64ae1a09f3f86e33e39d. Leave TenantRouter and its existing Supabase background URL untouched. Ship immediately through the canonical frontend PR/gate/squash/deploy path and prove the Redfish dashboard route live.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"restore-shell","statement":"RedfishWorkspaceShell exactly matches the known pre-change implementation.","proofConditionIds":["repo-proof","live-proof"]},{"id":"restore-background","statement":"The existing locked Supabase Redfish background remains wired and is presented by the restored shell across the Redfish route family.","proofConditionIds":["repo-proof","live-proof"]}],"objective":"URGENT EXACT REVERT. Restore only src/components/redfish/RedfishWorkspaceShell.tsx to the exact pre-change Redfish shell content that existed on protected main SHA d09477b0e95696b2b9c9af6a5e31e831cb89393f, blob 8b9c04a853ab631627cf64ae1a09f3f86e33e39d. Leave TenantRouter and its existing Supabase background URL untouched. Ship immediately through the canonical frontend PR/gate/squash/deploy path and prove the Redfish dashboard route live.","constraints":[{"id":"one-file","statement":"Only src/components/redfish/RedfishWorkspaceShell.tsx may change.","proofConditionIds":["repo-proof"]},{"id":"preserve-bg","statement":"Do not modify src/components/TenantRouter.tsx or the Supabase background URL.","proofConditionIds":["repo-proof"]},{"id":"no-other-scope","statement":"Do not modify routes, data, pipelines, financing, backend, database, auth, workers, Supabase, workflows, or control plane.","proofConditionIds":["repo-proof"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"repo-proof","kind":"repository","claim":"The revert changes only src/components/redfish/RedfishWorkspaceShell.tsx to the exact pre-change content and leaves the Supabase background wiring untouched.","route":"/crm/ROOFING_COMPANY/redfish-roofing/dashboard","roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"live-proof","kind":"runtime","claim":"The Redfish dashboard route resolves live after the revert frontend release.","route":"/crm/ROOFING_COMPANY/redfish-roofing/dashboard","roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestedBranch":"ai/objective-first-repair-mtiv12h1","conversationContext":"{\"requestContract\":{\"version\":1,\"source\":\"owner_explicit\",\"objective\":\"Immediately revert the bad Redfish shell change and restore the existing Supabase background presentation.\",\"outcomes\":[{\"id\":\"restore-shell\",\"statement\":\"RedfishWorkspaceShell exactly matches the known pre-change implementation.\",\"proofConditionIds\":[\"repo-proof\",\"live-proof\"]},{\"id\":\"restore-background\",\"statement\":\"The existing locked Supabase Redfish background remains wired and is presented by the restored shell across the Redfish route family.\",\"proofConditionIds\":[\"repo-proof\",\"live-proof\"]}],\"constraints\":[{\"id\":\"one-file\",\"statement\":\"Only src/components/redfish/RedfishWorkspaceShell.tsx may change.\",\"proofConditionIds\":[\"repo-proof\"]},{\"id\":\"preserve-bg\",\"statement\":\"Do not modify src/components/TenantRouter.tsx or the Supabase background URL.\",\"proofConditionIds\":[\"repo-proof\"]},{\"id\":\"no-other-scope\",\"statement\":\"Do not modify routes, data, pipelines, financing, backend, database, auth, workers, Supabase, workflows, or control plane.\",\"proofConditionIds\":[\"repo-proof\"]}],\"proofConditions\":[{\"id\":\"repo-proof\",\"kind\":\"repository\",\"claim\":\"The revert changes only src/components/redfish/RedfishWorkspaceShell.tsx to the exact pre-change content and leaves the Supabase background wiring untouched.\",\"required\":true},{\"id\":\"live-proof\",\"kind\":\"runtime\",\"claim\":\"The Redfish dashboard route resolves live after the revert frontend release.\",\"required\":true,\"route\":\"/crm/ROOFING_COMPANY/redfish-roofing/dashboard\"}],\"terminalPolicy\":\"all_required_proof_conditions_satisfied_after_live_release\"}}","requestContractHash":"7329d7ae1350acbb258aca479a7afadc93abd541888c45f1aa11de75322ebf74","requestContractRevision":1},"tenant_id":"de8369b6-a78f-40bb-ae1f-28ffca62bc7e","created_at":"2026-09-01T16:09:54.310226+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:8fd876e8-1329-46bd-bca7-1a3efc1999be:tenant-workstream-contribution:b838cd08d605f21dcba5e98c21a853f265e623b4753ecb37bc5ea2e4aecf8862","mission_step_id":null,"command_center_event_id":"8fd876e8-1329-46bd-bca7-1a3efc1999be"},{"id":"5d650de0-1889-43cc-90bc-3922c71351b6","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-branch-fallback","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.216-atomic-reconcile-branch-retry","prNumber":3467,"terminal":false,"missionId":"35838828-ffc6-4492-846f-6fdac35a9823","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":7737,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":1954,"missionSetupMs":373,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":373,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":373,"repositoryMutationMs":5783,"repositoryProviderMs":5783,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":3923,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":373,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1860},"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":"35838828-ffc6-4492-846f-6fdac35a9823"},"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":3825,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T01:24:05.08804+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3467","receipt_type":"execute_mission","idempotency_key":"mission:35838828-ffc6-4492-846f-6fdac35a9823:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"f3598aa5-980d-46ed-980c-68e2028ab118","command_center_event_id":"35838828-ffc6-4492-846f-6fdac35a9823"},{"id":"5d653db4-87a2-46e0-8ebf-aa4efbbfdb90","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-46aa7252ff05","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":12982,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-09-25T13:06:42.028Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.279-paul-hybrid","prNumber":3724,"terminal":false,"missionId":"46aa7252-ff05-4b0b-babe-0d8e5bcb1a47","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3250,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":564,"missionSetupMs":275,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":275,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":275,"repositoryMutationMs":2686,"repositoryProviderMs":2686,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":1647,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":275,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1039},"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":"46aa7252-ff05-4b0b-babe-0d8e5bcb1a47"},"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":3113,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T13:06:46.277758+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3724","receipt_type":"execute_mission","idempotency_key":"mission:46aa7252-ff05-4b0b-babe-0d8e5bcb1a47:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"21000072-7427-4862-8495-3b11213a500c","command_center_event_id":"46aa7252-ff05-4b0b-babe-0d8e5bcb1a47"},{"id":"5d679b58-d83b-4cb4-94ad-16e9b4c334dd","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-f384d3aff382","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":14730,"releaseCount":0,"toolCallCount":8,"repeatedCallCount":3,"executorlessWaitMs":23810,"firstUsefulResultAt":"2026-10-03T01:29:19.224Z","recoveryAttemptCount":5,"ownerInterruptionCount":0},"version":null,"prNumber":4585,"terminal":false,"missionId":"f384d3af-f382-49de-b915-16bf029376ed","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"16ed6954a338fb69fbfa0dfad38a8a5f9e62dbdd","timingsMs":{"prReadinessMs":762,"approvedPlanMs":0,"shipAndProveMs":2810,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"f384d3af-f382-49de-b915-16bf029376ed"},"performance":null,"deploymentId":"forgejo-main-16ed6954a338","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["irslogiqs-sync"]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1896,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T01:29:50.510068+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"4585","receipt_type":"automatic_mission_resume","idempotency_key":"mission:f384d3af-f382-49de-b915-16bf029376ed:automatic-mission-resume:4585:canonical_release_reconciliation_pending","mission_step_id":"f3231111-d106-4e42-834a-3b01f165860f","command_center_event_id":"f384d3af-f382-49de-b915-16bf029376ed"},{"id":"5d684c81-3fa7-4d08-938f-8737eb1d81b9","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-6cf147e9ef9b","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":13416,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":1,"executorlessWaitMs":110398,"firstUsefulResultAt":"2026-09-24T18:56:52.971Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.261-nonvisual-proof-precedence","prNumber":3660,"terminal":false,"missionId":"6cf147e9-ef9b-486b-a9f6-6ac18b281026","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4815,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":720,"missionSetupMs":281,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":281,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":281,"repositoryMutationMs":4095,"repositoryProviderMs":4095,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2141,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":281,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1954},"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":"6cf147e9-ef9b-486b-a9f6-6ac18b281026"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime","visual"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3729,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"d60e3c27-73ed-4a5f-a49b-c37636455daf","created_at":"2026-09-24T18:58:49.247098+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3660","receipt_type":"execute_mission","idempotency_key":"mission:6cf147e9-ef9b-486b-a9f6-6ac18b281026:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"22098656-66ea-43f5-a43d-3e9dbea76d7c","command_center_event_id":"6cf147e9-ef9b-486b-a9f6-6ac18b281026"},{"id":"5d692b89-4317-44f5-815a-10e33eec487e","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":"6dcadf38a4451a57a09c510393f9d02b557dbb4c","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":"6dcadf38a4451a57a09c510393f9d02b557dbb4c","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["pcg-commerce-publisher"]},"releaseTargetStates":{"frontend":"pending","supabaseEdge":"pending"},"requestContractHash":"fbcd3b2b374309e7244af0b6c9d655b9afb7312f9bdecc62c19e602c55471238","forgejoWorkflowProof":{"runId":15181,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"frontend":"pending","supabaseEdge":"pending"},"targetJobCount":7,"observedTargetStates":{"frontend":"pending","supabaseEdge":"pending"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T11:54:31.276016+00:00","proof_gate":"canonical_release_pending","source_sha":"6dcadf38a4451a57a09c510393f9d02b557dbb4c","external_id":"forgejo-main-6dcadf38a445","receipt_type":"canonical_release_status","idempotency_key":"mission:3d72726d-71b0-4270-a79d-fa4b41606df1:forgejo-release-status:6dcadf38a4451a57a09c510393f9d02b557dbb4c:pending:forgejo-main/source=success|forgejo-release/workflow=pending|supabase-edge-production/live=pending|frontend-cloudflare/live=pending","mission_step_id":"a54a660b-3c03-4cca-985b-64f528be9c4b","command_center_event_id":"3d72726d-71b0-4270-a79d-fa4b41606df1"},{"id":"5d693e02-3003-42f1-834d-68c5e7479fdf","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-025b500692b3","reason":null,"status":"source_resolution_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":"025b5006-92b3-4585-9db4-827b2ee566bd","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":512,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":508,"providerAuthMs":0,"ledgerPrepareMs":508,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":508,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":508,"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":"025b5006-92b3-4585-9db4-827b2ee566bd"},"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":2426,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-10T21:01:32.546072+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:025b5006-92b3-4585-9db4-827b2ee566bd:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"ceed6342-a30b-4836-895c-ee4ed28b4a82","command_center_event_id":"025b5006-92b3-4585-9db4-827b2ee566bd"},{"id":"5d6a6b60-5ac5-4e02-8d64-e35e7221e97f","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"535f69fdb5b4c4a8488aa0de6b997899583154d9","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"535f69fdb5b4c4a8488aa0de6b997899583154d9","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"pending"},"requestContractHash":"a40f3273de8313c7e581c241574e87ff703def465c1e32e4f98cafed99307b50","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/5774","runId":5774,"status":"running","sourceSha":"535f69fdb5b4c4a8488aa0de6b997899583154d9","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:30:48.655034+00:00","proof_gate":"canonical_release_pending","source_sha":"535f69fdb5b4c4a8488aa0de6b997899583154d9","external_id":"forgejo-main-535f69fdb5b4","receipt_type":"canonical_release_status","idempotency_key":"mission:ffc311b3-4d2b-4832-83a7-6875d00deafc:forgejo-release-status:535f69fdb5b4c4a8488aa0de6b997899583154d9:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"26ca6294-3467-4238-b4f2-fcf3ccb4fe12","command_center_event_id":"ffc311b3-4d2b-4832-83a7-6875d00deafc"},{"id":"5d6b3bf1-c560-4af6-8bf0-0d8e2f9aa309","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/test/release-orchestration-invariants.test.js"],"reason":"Unfreeze control plane for the same bounded PR #2594 maintenance mission to correct the stale invariant assertion exposed by KnockLaunch Gate.","baseSha":"ac65a4234dbd1db7eb1c808bf35927d1adeacc43","issuedAt":1789261085616,"expiresAt":1789261265616,"missionId":"2056728e-de70-48c4-98b5-fa0bb1d2ec76","authorizationId":"a334b788-c499-48db-b295-86c4ee2a758e","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-13T00:58:06.110917+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"ac65a4234dbd1db7eb1c808bf35927d1adeacc43","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:a334b788-c499-48db-b295-86c4ee2a758e","mission_step_id":"2b796066-0d34-44cf-80f3-9cb62ae5b43e","command_center_event_id":"2056728e-de70-48c4-98b5-fa0bb1d2ec76"},{"id":"5d6b5816-283f-4692-98e9-d2a4b2ada837","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"fix/experience-studio-viewport-layout-20260803","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.30.2-deferred-visual-proof","prNumber":null,"terminal":false,"missionId":"f3cdd7ce-1fa5-4ec5-aec4-704b897b5bc7","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":"f3cdd7ce-1fa5-4ec5-aec4-704b897b5bc7"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"sourceReceiptBytes":2436,"likelyAffectedFiles":[],"ownerActionRequired":false},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-03T16:37:34.177906+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:f3cdd7ce-1fa5-4ec5-aec4-704b897b5bc7:execute_mission:repair_mission_synthesis_ready","mission_step_id":"7f570690-ec69-40c2-bfea-21db2bf89e1b","command_center_event_id":"f3cdd7ce-1fa5-4ec5-aec4-704b897b5bc7"},{"id":"5d6d5073-7f7c-4960-86b1-65ba19054b41","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-07d4f7ab695f","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":null,"recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.90-owner-contract-autocompile","prNumber":null,"terminal":false,"missionId":"07d4f7ab-695f-4290-8691-397052798e09","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3517,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":1348,"providerAuthMs":0,"ledgerPrepareMs":1348,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":1348,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":1348,"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":"07d4f7ab-695f-4290-8691-397052798e09"},"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":3842,"likelyAffectedFiles":["workers/cc-execution/src/command-center-contracts.js","workers/cc-execution/test/request-contract-inference.test.js"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T12:16:07.060496+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:07d4f7ab-695f-4290-8691-397052798e09:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"95186ebd-15f9-415d-900c-c8a33f186e6a","command_center_event_id":"07d4f7ab-695f-4290-8691-397052798e09"},{"id":"5d6e670f-1748-4906-8737-be7fe68ae5ef","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in release.","nextAction":{"lane":"cc-execution","action":"reconcile_pull_request","reason":"pull_request_exists_without_merged_source","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"owner_progress_heartbeat\",\"status\":\"waiting\",\"proofGate\":\"owner_progress_heartbeat\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_pull_request\",\"lane\":\"cc-execution\",\"reason\":\"pull_request_exists_without_merged_source\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_pull_request\",\"recoveryOwner\":\"cc-execution\"},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-pcg-mobile-vault-controls\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"release\",\"deadlineAt\":\"2026-10-06T05:55:56.623616+00:00\",\"recoveryAction\":\"reconcile_pull_request\"},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":5147,\"sourceSha\":null,\"deploymentId\":null}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T06:39:42.381529+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:b78054b5-ff74-493d-9d49-b3305dbc800c:owner-progress-heartbeat:119417918","mission_step_id":"986497ca-c7bb-469a-819a-206da30cca37","command_center_event_id":"b78054b5-ff74-493d-9d49-b3305dbc800c"},{"id":"5d72f7ad-5f8f-435e-903e-4a4349601953","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"0979e356409d8437fe6c493083fabe290104fc7f","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"0979e356409d8437fe6c493083fabe290104fc7f","releaseState":"verified","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"success"},"requestContractHash":"78d6efa9c9cf0ba0d56c28277f6ca725f676909156a5cc03f113604cb8bf3348","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/5541","runId":5541,"status":"success","sourceSha":"0979e356409d8437fe6c493083fabe290104fc7f","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"frontend":"success"},"targetJobCount":7,"observedTargetStates":{"frontend":"success"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-05T14:13:08.718457+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"0979e356409d8437fe6c493083fabe290104fc7f","external_id":"forgejo-main-0979e356409d","receipt_type":"canonical_release_status","idempotency_key":"mission:a3eed254-b22d-43ac-8278-84e2008d75db:forgejo-release-status:0979e356409d8437fe6c493083fabe290104fc7f:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"c2443cfc-1ef1-4b0d-baac-2429c7a31e6c","command_center_event_id":"a3eed254-b22d-43ac-8278-84e2008d75db"},{"id":"5d74ea45-9d41-4801-a021-674a148ae31f","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"release","branch":"ai/orphan-release-cache-cleanup-20260911","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":1,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":2433,"terminal":false,"missionId":"96df8399-ea05-4017-adf5-b8f5cbc1e960","operation":"automatic_mission_resume","proofGate":"canonical_release_dispatched","sourceSha":"83226f0c666ed42eeca8c90477771fccde72af31","timingsMs":{"prReadinessMs":456,"approvedPlanMs":0,"shipAndProveMs":2474,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"96df8399-ea05-4017-adf5-b8f5cbc1e960"},"performance":null,"deploymentId":"forgejo-main-83226f0c666e","workflowRunId":7213,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2102,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-11T21:56:32.760196+00:00","proof_gate":"canonical_release_dispatched","source_sha":null,"external_id":"2433","receipt_type":"automatic_mission_resume","idempotency_key":"mission:96df8399-ea05-4017-adf5-b8f5cbc1e960:automatic-mission-resume:2433:canonical_release_dispatched","mission_step_id":"02102619-67df-45f9-b8d8-3ad76f990d61","command_center_event_id":"96df8399-ea05-4017-adf5-b8f5cbc1e960"},{"id":"5d76de3e-2ebc-450e-a2e6-b1d1c9cb418c","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-2a90ea650696","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.50-onepath-source-domain","prNumber":null,"terminal":false,"missionId":"bae55fd8-1f35-46b8-8880-90f8af26e680","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1669,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":2216,"providerAuthMs":0,"ledgerPrepareMs":2216,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":2216,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":2216,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Synthesize exact mutation from the resolved authoritative source targets and continue this same mission.","receiptRef":{"mode":"full","missionId":"bae55fd8-1f35-46b8-8880-90f8af26e680"},"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":3611,"likelyAffectedFiles":["scripts/command-center-host-agent/knocklaunch-forgejo-watchdog.service","scripts/command-center-host-agent/knocklaunch-forgejo-watchdog.timer",".forgejo/workflows/knocklaunch-local-host-autoconnect.yml",".forgejo/workflows/knocklaunch.yml"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T16:59:49.370328+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:bae55fd8-1f35-46b8-8880-90f8af26e680:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"c49c4e3c-f278-4e1f-a6bc-2aacdf4bd625","command_center_event_id":"bae55fd8-1f35-46b8-8880-90f8af26e680"},{"id":"5d776a27-c424-461d-885a-949012785314","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"b8a3ef3b0a3ba2eda3bed76642fbc81acbd34dfa","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":false,"statement":"A fully working WMP Mission Control UI, provider connection layer, visual pipeline/status builder, and /api/wmp/v1 API are live in production.","proofConditionIds":["proof-ui","proof-api"]}],"satisfied":false,"constraints":[{"id":"reuse-ledger","satisfied":false,"statement":"Reuse the existing durable mission ledger, mission_status, mission_receipt, owner progress journal, and control-plane mission machinery as authoritative truth; do not create a competing mission ledger.","proofConditionIds":["proof-ui","proof-api"]},{"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-api"]},{"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-api"]}],"contractHash":"e9818612d91f17c4b9a3454d025cca7055204133f443b4c3afb197ed0e921b51","releaseBound":true,"witnessBound":false,"visualRequested":true,"visualSatisfied":false,"conditionResults":[{"id":"proof-ui","kind":"visual","evidence":{"modeBound":true,"claimBound":false,"routeBound":false,"witnessMode":null,"witnessRoute":null,"currentSourceSha":"b8a3ef3b0a3ba2eda3bed76642fbc81acbd34dfa","witnessSourceSha":null,"verificationState":null,"witnessRequestContractHash":null},"required":true,"satisfied":false},{"id":"proof-api","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"frontend":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["frontend"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"e9818612d91f17c4b9a3454d025cca7055204133f443b4c3afb197ed0e921b51"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":["visual"],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-22T18:48:12.688378+00:00","proof_gate":"request_contract_pending","source_sha":"b8a3ef3b0a3ba2eda3bed76642fbc81acbd34dfa","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:285944ef-f62b-4c50-a0be-04838efe26d6:request-contract:e9818612d91f17c4b9a3454d025cca7055204133f443b4c3afb197ed0e921b51:b8a3ef3b0a3ba2eda3bed76642fbc81acbd34dfa:pending:visual","mission_step_id":"500abb1f-e4b1-4e6d-878f-11028fcf4801","command_center_event_id":"285944ef-f62b-4c50-a0be-04838efe26d6"},{"id":"5d78470c-480e-43e3-a41c-80de25820c03","source":"forgejo-runtime","status":"failed","payload":{"failed":["forgejo-release/workflow","cc-execution/runtime-proof"],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"failure","cc-execution/runtime-proof":"failure"},"mainSha":"58842f806838d330a6be2453a13fdf891c8269bb","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"8d3cdb37c274953a51500451aaa758b3bf7bb8d5","releaseState":"failed","sourceInMain":true,"compareStatus":"known_exact_protected_main_push_history","releaseTargets":{"frontend":false,"migrations":false,"ccExecution":true,"supabaseEdge":false},"releaseTargetStates":{"ccExecution":"failure"},"requestContractHash":"5e21430bd2a64259e51f81af9ffbc468753bcf7dc0223e10576906d8fad1e71e","forgejoWorkflowProof":{"runId":24156,"source":"signed_push_receipt","status":"failure","results":{},"conclusion":"failure","fingerprint":"failure||","failureClass":"code_failure","targetStates":{"ccExecution":"failure"},"safeAutoRetry":false,"targetJobCount":7,"observedTargetStates":{"ccExecution":"failure"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"f0372f7edcf2e8723d43d8dec00ee0a0ed4c1197","compareStatus":null,"workflowRunId":24156,"workflowFailed":true,"containsSourceSha":false,"forgejoWorkflowProof":{"runId":24156,"source":"signed_push_receipt","status":"failure","results":{},"conclusion":"failure","fingerprint":"failure||","failureClass":"code_failure","targetStates":{"ccExecution":"failure"},"safeAutoRetry":false,"targetJobCount":7,"observedTargetStates":{"ccExecution":"failure"}}},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-14T21:23:14.1421+00:00","proof_gate":"canonical_release_terminal_failed","source_sha":"8d3cdb37c274953a51500451aaa758b3bf7bb8d5","external_id":null,"receipt_type":"canonical_release_status","idempotency_key":"mission:9c217cf3-203c-481c-9cc0-b36fe6631661:forgejo-release-status:8d3cdb37c274953a51500451aaa758b3bf7bb8d5:failed:forgejo-main/source=success|forgejo-release/workflow=failure|cc-execution/runtime-proof=failure","mission_step_id":"76ebe72b-2cea-4fd1-af80-89047c3f7c9b","command_center_event_id":"9c217cf3-203c-481c-9cc0-b36fe6631661"},{"id":"5d79ea36-77e3-4634-8cbe-3aa828233a9e","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/seaside-visible-route-family-repair","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":2419,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":1,"ownerInterruptionCount":0},"version":"1.31.7-canonical-planner-owners","prNumber":null,"terminal":false,"missionId":"f928f646-2c2a-4d9d-8a7c-f3df682227b9","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":"f928f646-2c2a-4d9d-8a7c-f3df682227b9"},"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":1779,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-08-07T19:05:16.348843+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:f928f646-2c2a-4d9d-8a7c-f3df682227b9:execute_mission:repair_mission_synthesis_ready","mission_step_id":"48da5b78-69a6-44f4-9980-51bc9bed44a5","command_center_event_id":"f928f646-2c2a-4d9d-8a7c-f3df682227b9"},{"id":"5d7aa74a-ae61-409d-8418-2f97172b3c53","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":3975,"terminal":false,"missionId":"3cf745de-823b-452f-a700-daa8f6217cd7","operation":"ship_and_prove","proofGate":"ship_and_prove_release_pending","sourceSha":"21f17a95335a34de935f417856e38e7e0c910735","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"3cf745de-823b-452f-a700-daa8f6217cd7"},"performance":null,"deploymentId":"canonical-release-21f17a95335a","workflowRunId":30924581639,"releaseTargets":{"frontend":true,"onrunner":false,"ccExecution":false,"supabaseEdge":false},"detailsAvailable":true,"sourceReceiptBytes":1445,"ownerActionRequired":false},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-08-04T15:31:38.73104+00:00","proof_gate":"ship_and_prove_release_pending","source_sha":"21f17a95335a34de935f417856e38e7e0c910735","external_id":"canonical-release-21f17a95335a","receipt_type":"ship_and_prove","idempotency_key":"mission:3cf745de-823b-452f-a700-daa8f6217cd7:ship_and_prove:ship_and_prove_release_pending","mission_step_id":"60a73f51-f2c0-4ba4-b6ff-7933eb58d6c4","command_center_event_id":"3cf745de-823b-452f-a700-daa8f6217cd7"},{"id":"5d7ee61f-8559-4ccf-a8fb-2156d2896240","source":"cc-execution","status":"recorded","payload":{"objective":"Create one fresh corrective repair generation from current protected main. Existing PR #891 is conflicted and refresh fails with Forgejo 409; treat #891 as superseded and never merge or release it. Repair La Vista del Mar owner applications as one coherent SHORT_TERM_RENTAL suite. First causal failure: SHORT_TERM_RENTAL is missing/incomplete across shared tenant type contracts and application-family fallbacks, causing unsupported routes and roofer/public-adjuster defaults. Implement SHORT_TERM_RENTAL completely across canonical TenantTypeKey/TenantTypeMeta, ExperienceStudioBusinessType and surface adapters, tenant pipeline/business-type contracts, Experience Studio starter maps and preview valid types, experience surface manifests, and the application family registry. Do not hide drift with unsafe casts. Calendar must be rental-native: stays/reservations, arrivals, departures, turnovers/cleaning, blocked dates, maintenance, host reminders and guest commitments; it must never expose installs, inspections, adjuster meetings, Homeowners, Jobs, Field map, or roofing/public-adjuster defaults. Preserve and use existing short_stay_reservations in the shared calendar path where supported. Communications must be a working guest/booking communications application and never bounce to dashboard. Documents must be a working short-stay rental document library/workflow and never bounce to dashboard. Style Calendar, Communications, and Documents to visually belong to La Vista: deep navy background, warm cream/white typography, large calm controls, restrained borders/cards, simple owner-facing language; no generic Command Center feel. Preserve La Vista dashboard, property photos/R2, Airbnb links, existing Stays/Guests/Money/Photos local panels, and SHORT_TERM_RENTAL tenant identity. Include regression coverage so SHORT_TERM_RENTAL cannot silently default to roofer again. Pass KnockLaunch Gate, squash merge, frontend deploy only unless exact diff proves another target, then production interaction/visual proof desktop+mobile for dashboard -> Calendar, Messages, Documents. Completion requires no wrong-industry language, no dead/bounce buttons, and coherent La Vista styling.","tenantRef":"lavistadelmar","receivedAt":"2026-08-28T02:41:34.032Z","fingerprint":"8faddaf8b407238f634e09318193dbfde859ac14c8fe3d0aab64acfdea5a8eaa","workstreamRef":"lavistadelmar","conversationId":null,"canonicalBranch":"ai/fix-vista-rental-app-suite-corrective-20260828","requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Create one fresh corrective repair generation from current protected main. Existing PR #891 is conflicted and refresh fails with Forgejo 409; treat #891 as superseded and never merge or release it. Repair La Vista del Mar owner applications as one coherent SHORT_TERM_RENTAL suite. First causal failure: SHORT_TERM_RENTAL is missing/incomplete across shared tenant type contracts and application-family fallbacks, causing unsupported routes and roofer/public-adjuster defaults. Implement SHORT_TERM_RENTAL completely across canonical TenantTypeKey/TenantTypeMeta, ExperienceStudioBusinessType and surface adapters, tenant pipeline/business-type contracts, Experience Studio starter maps and preview valid types, experience surface manifests, and the application family registry. Do not hide drift with unsafe casts. Calendar must be rental-native: stays/reservations, arrivals, departures, turnovers/cleaning, blocked dates, maintenance, host reminders and guest commitments; it must never expose installs, inspections, adjuster meetings, Homeowners, Jobs, Field map, or roofing/public-adjuster defaults. Preserve and use existing short_stay_reservations in the shared calendar path where supported. Communications must be a working guest/booking communications application and never bounce to dashboard. Documents must be a working short-stay rental document library/workflow and never bounce to dashboard. Style Calendar, Communications, and Documents to visually belong to La Vista: deep navy background, warm cream/white typography, large calm controls, restrained borders/cards, simple owner-facing language; no generic Command Center feel. Preserve La Vista dashboard, property photos/R2, Airbnb links, existing Stays/Guests/Money/Photos local panels, and SHORT_TERM_RENTAL tenant identity. Include regression coverage so SHORT_TERM_RENTAL cannot silently default to roofer again. Pass KnockLaunch Gate, squash merge, frontend deploy only unless exact diff proves another target, then production interaction/visual proof desktop+mobile for dashboard -> Calendar, Messages, Documents. Completion requires no wrong-industry language, no dead/bounce buttons, and coherent La Vista styling.","wordingChanged":false,"canonicalIntent":"Create one fresh corrective repair generation from current protected main. Existing PR #891 is conflicted and refresh fails with Forgejo 409; treat #891 as superseded and never merge or release it. Repair La Vista del Mar owner applications as one coherent SHORT_TERM_RENTAL suite. First causal failure: SHORT_TERM_RENTAL is missing/incomplete across shared tenant type contracts and application-family fallbacks, causing unsupported routes and roofer/public-adjuster defaults. Implement SHORT_TERM_RENTAL completely across canonical TenantTypeKey/TenantTypeMeta, ExperienceStudioBusinessType and surface adapters, tenant pipeline/business-type contracts, Experience Studio starter maps and preview valid types, experience surface manifests, and the application family registry. Do not hide drift with unsafe casts. Calendar must be rental-native: stays/reservations, arrivals, departures, turnovers/cleaning, blocked dates, maintenance, host reminders and guest commitments; it must never expose installs, inspections, adjuster meetings, Homeowners, Jobs, Field map, or roofing/public-adjuster defaults. Preserve and use existing short_stay_reservations in the shared calendar path where supported. Communications must be a working guest/booking communications application and never bounce to dashboard. Documents must be a working short-stay rental document library/workflow and never bounce to dashboard. Style Calendar, Communications, and Documents to visually belong to La Vista: deep navy background, warm cream/white typography, large calm controls, restrained borders/cards, simple owner-facing language; no generic Command Center feel. Preserve La Vista dashboard, property photos/R2, Airbnb links, existing Stays/Guests/Money/Photos local panels, and SHORT_TERM_RENTAL tenant identity. Include regression coverage so SHORT_TERM_RENTAL cannot silently default to roofer again. Pass KnockLaunch Gate, squash merge, frontend deploy only unless exact diff proves another target, then production interaction/visual proof desktop+mobile for dashboard -> Calendar, Messages, Documents. Completion requires no wrong-industry language, no dead/bounce buttons, and coherent La Vista styling.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"SHORT_TERM_RENTAL is fully supported across all affected shared tenant/application-family contracts and types without TypeScript drift.","proofConditionIds":["proof-runtime"]},{"id":"outcome-2","statement":"La Vista Calendar is rental-native and contains no roofing/public-adjuster fallback language.","proofConditionIds":["proof-runtime","proof-visual"]},{"id":"outcome-3","statement":"La Vista Messages is a working guest/booking communications experience and does not bounce to dashboard.","proofConditionIds":["proof-runtime","proof-interaction","proof-visual"]},{"id":"outcome-4","statement":"La Vista Documents is a working short-stay rental document experience and does not bounce to dashboard.","proofConditionIds":["proof-runtime","proof-interaction","proof-visual"]},{"id":"outcome-5","statement":"Calendar, Messages, and Documents visually match the La Vista dashboard and are simple for elderly operators.","proofConditionIds":["proof-visual"]},{"id":"outcome-6","statement":"The View and representative The Nest owner actions route to the correct applications in production.","proofConditionIds":["proof-interaction"]}],"objective":"Create one fresh corrective repair generation from current protected main. Existing PR #891 is conflicted and refresh fails with Forgejo 409; treat #891 as superseded and never merge or release it. Repair La Vista del Mar owner applications as one coherent SHORT_TERM_RENTAL suite. First causal failure: SHORT_TERM_RENTAL is missing/incomplete across shared tenant type contracts and application-family fallbacks, causing unsupported routes and roofer/public-adjuster defaults. Implement SHORT_TERM_RENTAL completely across canonical TenantTypeKey/TenantTypeMeta, ExperienceStudioBusinessType and surface adapters, tenant pipeline/business-type contracts, Experience Studio starter maps and preview valid types, experience surface manifests, and the application family registry. Do not hide drift with unsafe casts. Calendar must be rental-native: stays/reservations, arrivals, departures, turnovers/cleaning, blocked dates, maintenance, host reminders and guest commitments; it must never expose installs, inspections, adjuster meetings, Homeowners, Jobs, Field map, or roofing/public-adjuster defaults. Preserve and use existing short_stay_reservations in the shared calendar path where supported. Communications must be a working guest/booking communications application and never bounce to dashboard. Documents must be a working short-stay rental document library/workflow and never bounce to dashboard. Style Calendar, Communications, and Documents to visually belong to La Vista: deep navy background, warm cream/white typography, large calm controls, restrained borders/cards, simple owner-facing language; no generic Command Center feel. Preserve La Vista dashboard, property photos/R2, Airbnb links, existing Stays/Guests/Money/Photos local panels, and SHORT_TERM_RENTAL tenant identity. Include regression coverage so SHORT_TERM_RENTAL cannot silently default to roofer again. Pass KnockLaunch Gate, squash merge, frontend deploy only unless exact diff proves another target, then production interaction/visual proof desktop+mobile for dashboard -> Calendar, Messages, Documents. Completion requires no wrong-industry language, no dead/bounce buttons, and coherent La Vista styling.","constraints":[{"id":"constraint-1","statement":"PR #891 is superseded and must never merge or release.","proofConditionIds":["proof-runtime"]},{"id":"constraint-2","statement":"La Vista remains SHORT_TERM_RENTAL.","proofConditionIds":["proof-runtime"]},{"id":"constraint-3","statement":"Do not upload, rename, replace, enhance, or modify property photo/R2 objects.","proofConditionIds":["proof-runtime"]},{"id":"constraint-4","statement":"Do not reintroduce long-term-rental, roofing, mitigation, or public-adjuster semantics into La Vista.","proofConditionIds":["proof-runtime","proof-visual"]},{"id":"constraint-5","statement":"No developer/admin jargon in owner-facing La Vista applications.","proofConditionIds":["proof-visual"]},{"id":"constraint-6","statement":"Preserve Airbnb links and existing Stays/Guests/Money/Photos dashboard capabilities.","proofConditionIds":["proof-interaction"]}],"terminalPolicy":"Terminal only after the corrective PR from current main passes gate, squash merges, exact affected production release is live, and all production runtime/interaction/visual proofs pass.","proofConditions":[{"id":"proof-runtime","kind":"runtime","claim":"On the exact production release, KnockLaunch Gate is green, La Vista remains SHORT_TERM_RENTAL, canonical shared type contracts include SHORT_TERM_RENTAL, Calendar/Communications/Documents routes load without runtime errors or dashboard bounce, and deployment receipt matches merged SHA.","route":"/la-vista-del-mar/dashboard","required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"proof-interaction","kind":"interaction","claim":"On production, open The View then Calendar, Messages, and Documents and verify each opens the correct working tenant-aware application; repeat a representative application path for The Nest and confirm existing Airbnb/Stays/Guests/Money/Photos remain reachable.","route":"/la-vista-del-mar/dashboard","required":true,"expectedText":null,"targetedActions":[{"name":"The View","role":"button","action":"click"},{"name":"Calendar","role":"button","action":"click","expectPath":"/la-vista-del-mar/calendar"},{"path":"/la-vista-del-mar/dashboard","action":"navigate"},{"name":"The View","role":"button","action":"click"},{"name":"Messages","role":"button","action":"click","expectPath":"/la-vista-del-mar/communications"},{"path":"/la-vista-del-mar/dashboard","action":"navigate"},{"name":"The View","role":"button","action":"click"},{"name":"Documents","role":"button","action":"click","expectPath":"/la-vista-del-mar/documents"}],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"proof-visual","kind":"visual","claim":"Production desktop and mobile evidence for La Vista Calendar, Messages, and Documents uses the La Vista dark navy/cream visual language, simple large controls, and contains none of: roofing, roofer, install, inspection, adjuster, homeowner, jobs, field map.","route":"/la-vista-del-mar/dashboard","required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestedBranch":"ai/fix-vista-rental-app-suite-corrective-20260828","conversationContext":"{\"requestContract\":{\"version\":1,\"objective\":\"Make La Vista's owner-facing application suite a coherent, working SHORT_TERM_RENTAL experience instead of generic/roofing/public-adjuster applications.\",\"outcomes\":[{\"id\":\"outcome-1\",\"statement\":\"SHORT_TERM_RENTAL is fully supported across all affected shared tenant/application-family contracts and types without TypeScript drift.\",\"proofConditionIds\":[\"proof-runtime\"]},{\"id\":\"outcome-2\",\"statement\":\"La Vista Calendar is rental-native and contains no roofing/public-adjuster fallback language.\",\"proofConditionIds\":[\"proof-runtime\",\"proof-visual\"]},{\"id\":\"outcome-3\",\"statement\":\"La Vista Messages is a working guest/booking communications experience and does not bounce to dashboard.\",\"proofConditionIds\":[\"proof-runtime\",\"proof-interaction\",\"proof-visual\"]},{\"id\":\"outcome-4\",\"statement\":\"La Vista Documents is a working short-stay rental document experience and does not bounce to dashboard.\",\"proofConditionIds\":[\"proof-runtime\",\"proof-interaction\",\"proof-visual\"]},{\"id\":\"outcome-5\",\"statement\":\"Calendar, Messages, and Documents visually match the La Vista dashboard and are simple for elderly operators.\",\"proofConditionIds\":[\"proof-visual\"]},{\"id\":\"outcome-6\",\"statement\":\"The View and representative The Nest owner actions route to the correct applications in production.\",\"proofConditionIds\":[\"proof-interaction\"]}],\"constraints\":[{\"id\":\"constraint-1\",\"statement\":\"PR #891 is superseded and must never merge or release.\",\"proofConditionIds\":[\"proof-runtime\"]},{\"id\":\"constraint-2\",\"statement\":\"La Vista remains SHORT_TERM_RENTAL.\",\"proofConditionIds\":[\"proof-runtime\"]},{\"id\":\"constraint-3\",\"statement\":\"Do not upload, rename, replace, enhance, or modify property photo/R2 objects.\",\"proofConditionIds\":[\"proof-runtime\"]},{\"id\":\"constraint-4\",\"statement\":\"Do not reintroduce long-term-rental, roofing, mitigation, or public-adjuster semantics into La Vista.\",\"proofConditionIds\":[\"proof-runtime\",\"proof-visual\"]},{\"id\":\"constraint-5\",\"statement\":\"No developer/admin jargon in owner-facing La Vista applications.\",\"proofConditionIds\":[\"proof-visual\"]},{\"id\":\"constraint-6\",\"statement\":\"Preserve Airbnb links and existing Stays/Guests/Money/Photos dashboard capabilities.\",\"proofConditionIds\":[\"proof-interaction\"]}],\"proofConditions\":[{\"id\":\"proof-runtime\",\"type\":\"runtime\",\"statement\":\"On the exact production release, KnockLaunch Gate is green, La Vista remains SHORT_TERM_RENTAL, canonical shared type contracts include SHORT_TERM_RENTAL, Calendar/Communications/Documents routes load without runtime errors or dashboard bounce, and deployment receipt matches merged SHA.\",\"environment\":\"production\",\"productionGrounded\":true},{\"id\":\"proof-interaction\",\"type\":\"interaction\",\"statement\":\"On production, open The View then Calendar, Messages, and Documents and verify each opens the correct working tenant-aware application; repeat a representative application path for The Nest and confirm existing Airbnb/Stays/Guests/Money/Photos remain reachable.\",\"environment\":\"production\",\"productionGrounded\":true,\"targetedActions\":[{\"action\":\"click\",\"role\":\"button\",\"name\":\"The View\"},{\"action\":\"click\",\"role\":\"button\",\"name\":\"Calendar\",\"expectPath\":\"/la-vista-del-mar/calendar\"},{\"action\":\"navigate\",\"path\":\"/la-vista-del-mar/dashboard\"},{\"action\":\"click\",\"role\":\"button\",\"name\":\"The View\"},{\"action\":\"click\",\"role\":\"button\",\"name\":\"Messages\",\"expectPath\":\"/la-vista-del-mar/communications\"},{\"action\":\"navigate\",\"path\":\"/la-vista-del-mar/dashboard\"},{\"action\":\"click\",\"role\":\"button\",\"name\":\"The View\"},{\"action\":\"click\",\"role\":\"button\",\"name\":\"Documents\",\"expectPath\":\"/la-vista-del-mar/documents\"}]},{\"id\":\"proof-visual\",\"type\":\"visual\",\"statement\":\"Production desktop and mobile evidence for La Vista Calendar, Messages, and Documents uses the La Vista dark navy/cream visual language, simple large controls, and contains none of: roofing, roofer, install, inspection, adjuster, homeowner, jobs, field map.\",\"environment\":\"production\",\"productionGrounded\":true}],\"terminalPolicy\":\"Terminal only after the corrective PR from current main passes gate, squash merges, exact affected production release is live, and all production runtime/interaction/visual proofs pass.\"}}","requestContractHash":"2a2c97e62dda3014bff386255b80582ebea6881ec252c0313c4e5a7413e97382","requestContractRevision":1},"tenant_id":"71b397ba-b9ad-496b-914c-985d97dbb12e","created_at":"2026-08-28T02:41:34.625686+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:c6790a76-1a3d-4260-8b83-5e00cfea7aa4:tenant-workstream-contribution:8faddaf8b407238f634e09318193dbfde859ac14c8fe3d0aab64acfdea5a8eaa","mission_step_id":null,"command_center_event_id":"c6790a76-1a3d-4260-8b83-5e00cfea7aa4"},{"id":"5d7f9034-5c88-4128-bcf1-80ce1aae8ff7","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-5706034a5acf","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":17121,"releaseCount":0,"toolCallCount":6,"repeatedCallCount":3,"executorlessWaitMs":658848,"firstUsefulResultAt":"2026-09-30T23:07:58.399Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.31-paul-deterministic-correction-recovery","prNumber":4287,"terminal":false,"missionId":"5706034a-5acf-4e85-b6ae-9e47163527bd","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4374,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":640,"missionSetupMs":242,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":242,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":242,"repositoryMutationMs":3734,"repositoryProviderMs":3734,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2328,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":242,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1406},"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":"5706034a-5acf-4e85-b6ae-9e47163527bd"},"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":3521,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T23:19:02.591093+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"4287","receipt_type":"execute_mission","idempotency_key":"mission:5706034a-5acf-4e85-b6ae-9e47163527bd:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"e0ff2bda-203c-4f4b-b938-8beea6b53dea","command_center_event_id":"5706034a-5acf-4e85-b6ae-9e47163527bd"},{"id":"5d82b288-9e61-4f1c-b675-007ac8904ea9","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":"b2e17dbe56e3317b3e89852ce2b37c29c8714395","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live","frontend-cloudflare/live"],"sourceSha":"b2e17dbe56e3317b3e89852ce2b37c29c8714395","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["pcg-commerce-publisher"]},"releaseTargetStates":{"frontend":"pending","supabaseEdge":"success"},"requestContractHash":"722842e5138dbdcd1f5d39c16fc26e058d762ab1bafed8b76f8cdacc63420a2e","forgejoWorkflowProof":{"runId":13089,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"frontend":"pending","supabaseEdge":"success"},"targetJobCount":6,"observedTargetStates":{"frontend":"pending","supabaseEdge":"success"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-09-29T16:15:00.333706+00:00","proof_gate":"canonical_release_pending","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:pending:forgejo-main/source=success|forgejo-release/workflow=pending|supabase-edge-production/live=success|frontend-cloudflare/live=pending","mission_step_id":"63f7aa90-a3e6-4a29-a129-b8402966a4ab","command_center_event_id":"cd208b1a-0630-4a9c-9049-815789811505"},{"id":"5d845066-36f8-48d7-86ae-694c1e8ddb01","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-dcf9ca5a6093","reason":null,"status":"source_resolution_required","metrics":{"receiptBytes":5395,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":1,"executorlessWaitMs":250692,"firstUsefulResultAt":"2026-09-28T13:31:08.487Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.301-premium-visual-system","prNumber":null,"terminal":false,"missionId":"dcf9ca5a-6093-4640-8b6c-e5ccee5f9852","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1175,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":239,"providerAuthMs":0,"ledgerPrepareMs":239,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":239,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":239,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Supply exact sourceTargets on the same mission; planner guesses cannot replace missing mission scope.","receiptRef":{"mode":"full","missionId":"dcf9ca5a-6093-4640-8b6c-e5ccee5f9852"},"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":1176,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T13:31:08.510099+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:dcf9ca5a-6093-4640-8b6c-e5ccee5f9852:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"c760d716-c347-4f40-b173-2bb38255b1f4","command_center_event_id":"dcf9ca5a-6093-4640-8b6c-e5ccee5f9852"},{"id":"5d84b1ed-a592-4be5-9b9f-a2f933d26dc8","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Unfreeze the control plane to complete PR #1729 by repairing the canonical Gate memory contract so frontend validation cannot be kernel-killed by a 2560 MB Node heap inside constrained CI; keep the existing release memory repair, use a 512 MB normal Gate heap, a 384 MB low-memory fallback heap, recognize ENOMEM/Killed as OOM fallback signals, preserve all hard-safety checks and exact-head frontend validation, ship through the canonical Gate and squash merge if green, then refreeze the control plane.","wordingChanged":false,"canonicalIntent":"Unfreeze the control plane to complete PR #1729 by repairing the canonical Gate memory contract so frontend validation cannot be kernel-killed by a 2560 MB Node heap inside constrained CI; keep the existing release memory repair, use a 512 MB normal Gate heap, a 384 MB low-memory fallback heap, recognize ENOMEM/Killed as OOM fallback signals, preserve all hard-safety checks and exact-head frontend validation, ship through the canonical Gate and squash merge if green, then refreeze the control plane.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-gate-memory","statement":"Canonical Gate frontend validation uses a bounded 512 MB normal heap and 384 MB low-memory fallback and cannot remain hard-coded at 2560 MB.","proofConditionIds":["proof-repository","proof-release"]},{"id":"outcome-oom-fallback","statement":"Kernel/wrapper OOM signals including Killed and ENOMEM trigger the one bounded low-memory validation fallback.","proofConditionIds":["proof-repository","proof-release"]}],"objective":"Unfreeze the control plane to complete PR #1729 by repairing the canonical Gate memory contract so frontend validation cannot be kernel-killed by a 2560 MB Node heap inside constrained CI; keep the existing release memory repair, use a 512 MB normal Gate heap, a 384 MB low-memory fallback heap, recognize ENOMEM/Killed as OOM fallback signals, preserve all hard-safety checks and exact-head frontend validation, ship through the canonical Gate and squash merge if green, then refreeze the control plane.","constraints":[{"id":"constraint-safety","statement":"Preserve all existing hard-safety tests, exact-head validation, and fail-closed behavior.","proofConditionIds":["proof-repository","proof-release"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-repository","kind":"repository","claim":"Exact PR #1729 source contains the bounded Gate memory contract and regression coverage.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"proof-release","kind":"release","claim":"Canonical Gate succeeds on the corrected exact PR head and the merged workflow completes its canonical release handoff.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestContractHash":"b54186c442244bb47ae1926989abb6194d94f3c41f3f6555ece9fa5430baf7e1","requestContractRevision":4,"previousRequestContractHash":"2c1e310a5cdca2b7bf152922fb2a700c28904f0de9bdeeb045f3537ae4644d15"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T16:44:07.042355+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:f31eab5c-7299-4632-b006-2d89e51cc390:request-contract:b54186c442244bb47ae1926989abb6194d94f3c41f3f6555ece9fa5430baf7e1","mission_step_id":"0abef53c-3965-47a5-9e30-7cd3320ac94b","command_center_event_id":"f31eab5c-7299-4632-b006-2d89e51cc390"},{"id":"5d850fc0-9754-424a-80c3-840e4acd3220","source":"cc-execution","status":"blocked","payload":{"reason":"anchored_edit_anchor_missing:workers/cc-execution/src/console-intelligence.js","fingerprint":"9ba6ef2df76ec96063bc4e3e9c272771d0adb82d9ed8b885b4672cb0ecb66c6c"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T03:30:29.795534+00:00","proof_gate":"repository_mutation_intent_deterministic_failure","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent_blocked","idempotency_key":"mission:83a66f77-7afb-464c-be72-1799e91ea138:repository-mutation-intent-blocked:9ba6ef2df76ec96063bc4e3e9c272771d0adb82d9ed8b885b4672cb0ecb66c6c","mission_step_id":"3138b253-4d0a-4172-a0d4-43ccccecef1f","command_center_event_id":"83a66f77-7afb-464c-be72-1799e91ea138"},{"id":"5d880770-6d27-4d7e-a7e5-a916fc0c1703","source":"github-status","status":"failed","payload":{"failed":["canonical-production-release/verified"],"states":{"canonical-production-release/verified":"failure"},"missing":[],"pending":[],"required":["canonical-production-release/verified"],"sourceSha":"cc5243b01b63e565310e20242d465a14297452fd","releaseState":"failed","exactConductorRun":{"id":31225305851,"status":"completed","headSha":"cc5243b01b63e565310e20242d465a14297452fd","conclusion":"failure","sourceMatches":true},"ccExecutionRuntimeProof":null},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-08-07T23:17:24.027081+00:00","proof_gate":"canonical_release_terminal_failed","source_sha":"cc5243b01b63e565310e20242d465a14297452fd","external_id":"canonical-release-cc5243b01b63","receipt_type":"canonical_release_status","idempotency_key":"mission:3c247ec3-3684-4818-b175-9a5d1d871c26:release-status:cc5243b01b63e565310e20242d465a14297452fd:failed:canonical-production-release/verified=failure","mission_step_id":"51d34a1f-f53c-476c-b1d7-ec0deeb2a7dc","command_center_event_id":"3c247ec3-3684-4818-b175-9a5d1d871c26"},{"id":"5d897894-307c-473a-a777-7922a8b723c8","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-741094365866","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":108641,"releaseCount":0,"toolCallCount":55,"repeatedCallCount":49,"executorlessWaitMs":704261,"firstUsefulResultAt":"2026-10-04T11:55:02.315Z","recoveryAttemptCount":48,"ownerInterruptionCount":0},"version":null,"prNumber":4758,"terminal":false,"missionId":"74109436-5866-4098-864d-d1dd3d27e466","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"7427d7fdb615c78d6d0e46f595d766e583ed74b9","timingsMs":{"prReadinessMs":3000,"approvedPlanMs":0,"shipAndProveMs":2867,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"74109436-5866-4098-864d-d1dd3d27e466"},"performance":null,"deploymentId":"forgejo-main-7427d7fdb615","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":true,"migrations":true,"ccExecution":false,"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":2186,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T12:06:55.209558+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"4758","receipt_type":"automatic_mission_resume","idempotency_key":"mission:74109436-5866-4098-864d-d1dd3d27e466:automatic-mission-resume:4758:canonical_release_reconciliation_pending","mission_step_id":"c41652b0-8233-4832-b3b5-12080ce557df","command_center_event_id":"74109436-5866-4098-864d-d1dd3d27e466"},{"id":"5d89d793-a989-4881-bd6e-e7bfd0583910","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-e94def1584f7","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":136834,"releaseCount":0,"toolCallCount":8,"repeatedCallCount":4,"executorlessWaitMs":1099190,"firstUsefulResultAt":"2026-09-26T13:33:28.612Z","recoveryAttemptCount":3,"ownerInterruptionCount":0},"version":null,"prNumber":3797,"terminal":false,"missionId":"e94def15-84f7-4204-b641-545c8d57df6c","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"b70dafa9c747e6b164c9a8e5fcd85a4d16ae4faa","timingsMs":{"prReadinessMs":484,"approvedPlanMs":0,"shipAndProveMs":2520,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"e94def15-84f7-4204-b641-545c8d57df6c"},"performance":null,"deploymentId":"forgejo-main-b70dafa9c747","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["console-ops"]},"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":2555,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-26T13:51:51.908876+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"3797","receipt_type":"automatic_mission_resume","idempotency_key":"mission:e94def15-84f7-4204-b641-545c8d57df6c:automatic-mission-resume:3797:canonical_release_reconciliation_pending","mission_step_id":"c70a76a5-d66f-4d35-8801-0a5f7beadd0c","command_center_event_id":"e94def15-84f7-4204-b641-545c8d57df6c"},{"id":"5d8b9a8e-ef9b-4e05-bf20-904f4549f40e","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-b2627c3a619c","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":77109,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"executorlessWaitMs":276141,"firstUsefulResultAt":"2026-09-27T04:29:00.499Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.292-release-target-parity","prNumber":3858,"terminal":false,"missionId":"b2627c3a-619c-4aa4-b246-bb701b9b49c5","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3688,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":636,"missionSetupMs":362,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":362,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":362,"repositoryMutationMs":3052,"repositoryProviderMs":3052,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2101,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":362,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":951},"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":"b2627c3a-619c-4aa4-b246-bb701b9b49c5"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime","runtime","runtime","visual","visual","runtime","visual"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":4039,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T04:33:41.944175+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3858","receipt_type":"execute_mission","idempotency_key":"mission:b2627c3a-619c-4aa4-b246-bb701b9b49c5:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"cde12e43-4a33-454c-be35-065f550d328c","command_center_event_id":"b2627c3a-619c-4aa4-b246-bb701b9b49c5"},{"id":"5d8c446e-dcd8-4902-95e4-4627c9e85f3c","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-8c8c3643ff05","reason":"pull_request_closed_requires_explicit_reopen","status":"retryable","metrics":{"receiptBytes":31742,"releaseCount":0,"toolCallCount":35,"repeatedCallCount":27,"executorlessWaitMs":1080593,"firstUsefulResultAt":"2026-10-06T20:04:51.966Z","recoveryAttemptCount":14,"ownerInterruptionCount":0},"version":null,"prNumber":5237,"terminal":false,"missionId":"1a4089e0-5830-4b65-a37a-5b7ef97fe3b6","operation":"automatic_mission_resume","proofGate":"repair_mission_auto_progress_authorization_retryable","sourceSha":"ef89e8829bb46aa1681f204b66e9a5779b8a5169","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":"1a4089e0-5830-4b65-a37a-5b7ef97fe3b6"},"performance":null,"deploymentId":null,"releaseState":"pending","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":735,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T20:22:20.353697+00:00","proof_gate":"repair_mission_auto_progress_authorization_retryable","source_sha":null,"external_id":"5237","receipt_type":"automatic_mission_resume","idempotency_key":"mission:1a4089e0-5830-4b65-a37a-5b7ef97fe3b6:automatic-mission-resume:5237:repair_mission_auto_progress_authorization_retryable","mission_step_id":"f6b906ac-2975-473b-99d9-3e52bf3eeb89","command_center_event_id":"1a4089e0-5830-4b65-a37a-5b7ef97fe3b6"},{"id":"5d91067c-81c5-4855-9014-77d80dcb0da7","source":"forgejo","status":"waiting","payload":{"branch":"ai/roof-help-finder-tenant-native","prNumber":2712,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"319c4002fe9972799ea290e75a7f4016d017dea9","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-14T03:21:18.570692+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"319c4002fe9972799ea290e75a7f4016d017dea9","external_id":"2712","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:c6546ca0-a522-441c-b26b-033b1c1c85b7:merged-pr:2712:319c4002fe9972799ea290e75a7f4016d017dea9","mission_step_id":"e677826a-5a53-42ea-b579-0e6f5ef624a3","command_center_event_id":"c6546ca0-a522-441c-b26b-033b1c1c85b7"},{"id":"5d9191bc-adf5-4d35-827d-9768f71202bc","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":"ef9e44e428a7dfffedd7f0caedad67ae5885bf1a","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live","frontend-cloudflare/live"],"sourceSha":"ccd900db6f7d52c9171cba27e58d69f8a193de6d","releaseState":"verified","sourceInMain":true,"compareStatus":"known_exact_protected_main_push_history","releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":true},"releaseTargetStates":{"frontend":"success","supabaseEdge":"success"},"requestContractHash":null,"forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/12771","runId":12771,"status":"success","sourceSha":"ccd900db6f7d52c9171cba27e58d69f8a193de6d","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"frontend":"success","supabaseEdge":"success"},"targetJobCount":6,"observedTargetStates":{"frontend":"success","supabaseEdge":"success"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":{"exact":true,"source":"exact_source_parent_diff_shared_release_owner_mapping","parentSha":"5a02204546dfeaa689b4e39992bc200f1f8aa741","sourceSha":"ccd900db6f7d52c9171cba27e58d69f8a193de6d","changedPaths":["public/console/operator-cockpit-v3.mjs","supabase/functions/operator-respond/index.ts"],"changedPathCount":2,"independentOfCurrentMainCompare":true},"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"fe5cc9d9-c2fe-4062-84c7-a334663cd63c","created_at":"2026-10-03T21:41:28.166361+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"ccd900db6f7d52c9171cba27e58d69f8a193de6d","external_id":null,"receipt_type":"canonical_release_status","idempotency_key":"mission:a9650cd7-c5be-41fd-83f6-7151ae75c306:forgejo-release-status:ccd900db6f7d52c9171cba27e58d69f8a193de6d:verified:forgejo-main/source=success|forgejo-release/workflow=success|supabase-edge-production/live=success|frontend-cloudflare/live=success","mission_step_id":"28bf2b53-7a10-4e98-b332-df4b697a0668","command_center_event_id":"a9650cd7-c5be-41fd-83f6-7151ae75c306"},{"id":"5d951415-95a1-442b-9e47-4df082c1be8a","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/contextual-workspace-tenant-refinement-20260910","reason":null,"status":"source_resolution_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.98-owner-handoff-overlap","prNumber":null,"terminal":false,"missionId":"b19d1d50-e5a2-46e3-be89-e22b53e57cb1","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":134,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":1258,"providerAuthMs":0,"ledgerPrepareMs":1258,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":1258,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":1258,"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":"b19d1d50-e5a2-46e3-be89-e22b53e57cb1"},"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":4817,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-10T23:17:30.012384+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:b19d1d50-e5a2-46e3-be89-e22b53e57cb1:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"c549c035-9c45-43a3-8b80-de9d4d57935c","command_center_event_id":"b19d1d50-e5a2-46e3-be89-e22b53e57cb1"},{"id":"5d95a944-9474-401b-a776-389074504bdf","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-mtqpsswo","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.70-forgejo-source-discovery-retry-window","prNumber":null,"terminal":false,"missionId":"f364625e-9e54-4fbd-94e3-6b2918241bef","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":282,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":682,"providerAuthMs":0,"ledgerPrepareMs":682,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":682,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":682,"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":"f364625e-9e54-4fbd-94e3-6b2918241bef"},"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":5612,"likelyAffectedFiles":["scripts/resolve-supabase-function-targets.mjs","scripts/supabase-migration-release.mjs","scripts/validate-edge-functions.mjs","scripts/owner-supabase-function-migrate.mjs","src/__tests__/contracts/supabaseMigrationReleaseWorkflow.contract.test.ts","scripts/production-release-targets.json","src/components/CallFlow/WorkflowLiveCoachingFocus.tsx","scripts/validate-supabase-migration-integrity.mjs","src/applications/proposal-editor/FreeformProposalRenderer.tsx","src/applications/proposal-editor/index.ts","src/applications/proposal-editor/ProposalAssetPicker.tsx","src/applications/proposal-editor/proposalAssets.ts"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-07T04:12:32.203635+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:f364625e-9e54-4fbd-94e3-6b2918241bef:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"fca44e69-443b-446a-bdd1-a052c87ff4ae","command_center_event_id":"f364625e-9e54-4fbd-94e3-6b2918241bef"},{"id":"5d95d112-b6d2-45a4-93eb-433cf73571d6","source":"forgejo","status":"waiting","payload":{"branch":"ai/auth-only-rpc-anon-hardening","prNumber":3106,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"36051880216d2f46588952b54eef50ed89c83b21","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-18T15:07:21.303519+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"36051880216d2f46588952b54eef50ed89c83b21","external_id":"3106","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:0ea68f23-d392-4e94-8448-d735cab59e7d:merged-pr:3106:36051880216d2f46588952b54eef50ed89c83b21","mission_step_id":"7c3bb05b-3d92-464b-9478-4395b89bf91d","command_center_event_id":"0ea68f23-d392-4e94-8448-d735cab59e7d"},{"id":"5d970b12-7024-405f-86fa-762bb51ce805","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","cc-execution/runtime-proof":"success"},"mainSha":"65fd11cc878a49b748c1cc15fc3cf92ac262fa2f","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"65fd11cc878a49b748c1cc15fc3cf92ac262fa2f","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":"0bd0a0606ec24d945515c633b1c93170f4171cd3dda871ec6c92a5891fa11b6f","forgejoWorkflowProof":{"runId":11465,"source":"signed_push_receipt","status":"success","results":{},"conclusion":"success","targetStates":{"ccExecution":"success"},"targetJobCount":7,"observedTargetStates":{"ccExecution":"success"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"65fd11cc878a49b748c1cc15fc3cf92ac262fa2f","proofGate":"cc_execution_target_aware_runtime_identity_verified","deploymentId":"forgejo-main-65fd11cc878a49b748c1cc15fc3cf92ac262fa2f","compareStatus":"target_job_success_runtime_verified","workflowRunId":11465,"identitySource":"canonical_release_target_job","runtimeVersion":"1.58.249-semantic-conflict-generation","workflowFailed":false,"containsSourceSha":true},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T08:23:29.242177+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"65fd11cc878a49b748c1cc15fc3cf92ac262fa2f","external_id":"forgejo-main-65fd11cc878a","receipt_type":"canonical_release_status","idempotency_key":"mission:d37f0097-3a1f-4cc1-98b8-28e950d69ce8:forgejo-release-status:65fd11cc878a49b748c1cc15fc3cf92ac262fa2f:verified:forgejo-main/source=success|forgejo-release/workflow=success|cc-execution/runtime-proof=success","mission_step_id":"e4a78a4b-0bb2-42b1-aed8-76c86eb35704","command_center_event_id":"d37f0097-3a1f-4cc1-98b8-28e950d69ce8"},{"id":"5d98f2d9-39c3-461f-bd74-85bd60afb02a","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Repository authority decruft: remove retired NYSOM/GitHub defaults, static production release registries, stale restore authority, and Render/OnRunner executable release or visual-inspection doctrine from current Forgejo main. Preserve the 2026-09-25 golden restore anchor. Keep Forgejo-required compatibility syntax. Add a Gate-enforced regression guard. Non-visual cleanup; do not run Visual Witness.","wordingChanged":false,"canonicalIntent":"Repository authority decruft: remove retired NYSOM/GitHub defaults, static production release registries, stale restore authority, and Render/OnRunner executable release or visual-inspection doctrine from current Forgejo main. Preserve the 2026-09-25 golden restore anchor. Keep Forgejo-required compatibility syntax. Add a Gate-enforced regression guard. Non-visual cleanup; do not run Visual Witness.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"authority-decruft","statement":"Current executable/config/workflow authority is Forgejo-native noel/KnockLaunchOS with no retired NYSOM repo default, static production-release target registry, Render/OnRunner target authority, stale restore UI link, or docs/gpt-actions/.github workflow authority.","provenance":{"reason":"current_request","source":"owner_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["runtime-proof"]}],"objective":"Repository authority decruft: remove retired NYSOM/GitHub defaults, static production release registries, stale restore authority, and Render/OnRunner executable release or visual-inspection doctrine from current Forgejo main. Preserve the 2026-09-25 golden restore anchor. Keep Forgejo-required compatibility syntax. Add a Gate-enforced regression guard. Non-visual cleanup; do not run Visual Witness.","constraints":[{"id":"golden-restore","statement":"Preserve config/system-restore-points/golden-restore-2026-09-25-1005Z.json as the preferred recovery anchor.","provenance":{"reason":"current_request","source":"owner_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["runtime-proof"]},{"id":"no-visual","statement":"Do not run Visual Witness for this non-visual authority cleanup.","provenance":{"reason":"current_request","source":"owner_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["runtime-proof"]},{"id":"single-lane","statement":"Use one corrective mission, one branch, one PR, canonical Gate, squash merge, and only affected current release targets.","provenance":{"reason":"current_request","source":"owner_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["runtime-proof"]},{"id":"capability-completeness","statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","provenance":{"reason":null,"source":"hard_safety_invariant","inherited":false,"blockingAuthority":true},"proofConditionIds":["runtime-proof"]},{"id":"atomic-capability-lifecycle","statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","provenance":{"reason":null,"source":"hard_safety_invariant","inherited":false,"blockingAuthority":true},"proofConditionIds":["runtime-proof"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"runtime-proof","kind":"runtime","claim":"Merged current main and live affected runtime prove the retired authority guard passes and cc-execution reports current Forgejo-native identity.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["ccExecution","frontend","supabaseEdge"],"requiredReleaseTargets":[],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}],"validationErrors":[],"capabilityManifest":{"id":"repository-authority-decruft","driftPolicy":"exact_manifest_source_release_dependency_or_runtime_identity_mismatch_is_nonterminal","proofLedger":"command_center_mission_ledger_request_contract_hash_bound","schemaVersion":1,"releaseTargets":["ccExecution","frontend","supabaseEdge"],"lifecycleStates":["prepare","deploy","verify","activate"],"activationPolicy":"dependencies_and_claim_matched_live_proof_before_exposure","dependencyDomains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_required_not_runtime_failures","compatibilityWindow":["N","N-1"],"failureIsolationPolicy":"quarantine_or_rollback_affected_capability_only_preserve_unrelated_working_capabilities","canaryProofConditionIds":["runtime-proof"]},"capabilityCompleteness":{"domains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"required":true,"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_states_not_runtime_failures"}},"requestContractHash":"95d82c1e0f2ec4daf753e2a9b640e50357950a6c5c9407ff97812835acb1a609","requestContractRevision":2,"previousRequestContractHash":"c3dfe3c062216cddaffe44c373cd510e9d45d7336b2a87fe10f2eb6259679e95"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T22:41:24.515494+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:1e80df0f-2421-4b73-90c6-6db618326f6d:request-contract:95d82c1e0f2ec4daf753e2a9b640e50357950a6c5c9407ff97812835acb1a609","mission_step_id":"d6746049-97e9-4527-9847-5801d0b9cfd3","command_center_event_id":"1e80df0f-2421-4b73-90c6-6db618326f6d"},{"id":"5d9ab01d-ae86-424b-a27a-80131556bd1f","source":"owner_authorized_full_backlog_cleanup","status":"blocked","payload":{"week":"2026-10-05","category":"pcg_website","sourceItemCount":48,"noCompletionClaim":true,"originalEvidencePreserved":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-11T16:14:39.646808+00:00","proof_gate":"recovery_inventory_requires_real_gate_and_production_proof","source_sha":null,"external_id":null,"receipt_type":"owner_recovery_portfolio_created","idempotency_key":"owner-recovery-portfolio-20261011:18d408fb-c19e-ebff-ad95-b84a435e1d25","mission_step_id":null,"command_center_event_id":"18d408fb-c19e-ebff-ad95-b84a435e1d25"},{"id":"5d9d9017-a36f-4550-9786-800c9402d003","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/curri-single-background-owner-20260906","reason":"orphaned_branch_recovery_requires_exact_applied_state:ai/curri-single-background-owner-20260906","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.66-repair-generation-continuation","prNumber":null,"terminal":false,"missionId":"a27d1a9c-5198-4a3d-9c07-275c3920013c","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":580,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":292,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":292,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":292,"repositoryMutationMs":580,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":292,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"a27d1a9c-5198-4a3d-9c07-275c3920013c"},"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":1572,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"90ed5bf4-8abd-4d3a-af7c-024664b5b99d","created_at":"2026-09-06T12:47:27.428923+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:a27d1a9c-5198-4a3d-9c07-275c3920013c:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"2bbfa19d-86f3-4534-a4b2-91f567a9b55b","command_center_event_id":"a27d1a9c-5198-4a3d-9c07-275c3920013c"},{"id":"5d9eade0-3321-4a46-bf39-680bf59598d0","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"035de58129e96650964a99158f4eade22405487c","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"task-fix","satisfied":true,"statement":"Accepted-proposal activation creates tenant tasks using metadata-derived generated source_kind/source_id without PostgreSQL generated-column errors.","proofConditionIds":["repo","release"]},{"id":"preserve","satisfied":true,"statement":"All previously shipped accepted-proposal activation behavior remains unchanged outside the task-source fix.","proofConditionIds":["repo"]},{"id":"real-draft-safe","satisfied":true,"statement":"Jimmy's real Redfish proposal remains draft, unsent, unsigned and unactivated throughout the corrective release.","proofConditionIds":["scope"]}],"satisfied":true,"constraints":[{"id":"migration-only","satisfied":true,"statement":"Only the corrective Supabase migration is changed and released; no unrelated frontend, Edge Function, or control-plane changes.","proofConditionIds":["repo","release"]},{"id":"no-real-acceptance","satisfied":true,"statement":"Do not send, sign, accept, or activate Jimmy's real proposal during this repair.","proofConditionIds":["scope"]}],"contractHash":"7573ca9954504ee54471dad14785a9b14744f928ecc16143aa28501692af9de9","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"repo","kind":"repository","evidence":{"repositoryProofGate":"request_contract_repository_verified","requestContractHash":"7573ca9954504ee54471dad14785a9b14744f928ecc16143aa28501692af9de9","repositoryProofStatus":"verified","repositoryProofSourceSha":"035de58129e96650964a99158f4eade22405487c"},"required":true,"satisfied":true},{"id":"release","kind":"release","evidence":{"releaseState":"verified","activeReleaseTargets":["migrations"],"releaseRequestContractHash":"7573ca9954504ee54471dad14785a9b14744f928ecc16143aa28501692af9de9"},"required":true,"satisfied":true},{"id":"scope","kind":"scope","evidence":{"activeReleaseTargets":["migrations"],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["migrations"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-11T17:05:43.720203+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"035de58129e96650964a99158f4eade22405487c","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:d315527a-1fbe-4f14-9a16-72f53acaedcc:request-contract:7573ca9954504ee54471dad14785a9b14744f928ecc16143aa28501692af9de9:035de58129e96650964a99158f4eade22405487c:verified:","mission_step_id":"1e0fb881-0707-4cdb-9cf3-332b38e2c820","command_center_event_id":"d315527a-1fbe-4f14-9a16-72f53acaedcc"},{"id":"5d9fb314-8f1d-4125-9557-86899c4c8456","source":"cc-execution","status":"blocked","payload":{"reason":"anchored_edit_anchor_missing:src/pages/admin/GodModeCommandConsole.tsx","fingerprint":"ad0f2d9a59bdcd172ec14b0207c2aa816199223ba40a3230218d0594b1f0412e"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T14:46:19.521381+00:00","proof_gate":"repository_mutation_intent_deterministic_failure","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent_blocked","idempotency_key":"mission:9d97217b-a3f1-4aab-96cb-627001dd400a:repository-mutation-intent-blocked:ad0f2d9a59bdcd172ec14b0207c2aa816199223ba40a3230218d0594b1f0412e","mission_step_id":"e0061f8f-a645-4f3c-bd75-3ba127001c59","command_center_event_id":"9d97217b-a3f1-4aab-96cb-627001dd400a"},{"id":"5d9fe57f-070d-4990-9d98-c74e93e79aed","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":null,"reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.36.10-mission-continuation-fix","prNumber":4781,"terminal":false,"missionId":"1b202a2e-62b0-4f2d-a7ae-5d5e95cf8a56","operation":"ship_and_prove","proofGate":"canonical_release_dispatched","sourceSha":"65be10101e8e415521d32eff190b0d62f8bb0c40","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"1b202a2e-62b0-4f2d-a7ae-5d5e95cf8a56"},"performance":null,"deploymentId":"canonical-release-65be10101e8e","workflowRunId":31701579775,"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":1354,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-13T12:45:50.94662+00:00","proof_gate":"canonical_release_dispatched","source_sha":"65be10101e8e415521d32eff190b0d62f8bb0c40","external_id":"canonical-release-65be10101e8e","receipt_type":"ship_and_prove","idempotency_key":"mission:1b202a2e-62b0-4f2d-a7ae-5d5e95cf8a56:ship_and_prove:canonical_release_dispatched:65be10101e8e415521d32eff190b0d62f8bb0c40:31701579775","mission_step_id":"15617a52-e1e8-47ee-a22a-b1e7054e90c8","command_center_event_id":"1b202a2e-62b0-4f2d-a7ae-5d5e95cf8a56"},{"id":"5da3410e-1dd2-4160-9924-3c78dfc2ca24","source":"forgejo-runtime","status":"verified","payload":{"headSha":"ab932a69e3aff37559ccd283b8d2043d02873a65","prNumber":6432,"sourceSha":"58d657945ef32415b028d1c03a7b97833074ad54","headRefreshed":false,"mergedPrVerified":true},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-10-13T16:23:32.459225+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"58d657945ef32415b028d1c03a7b97833074ad54","external_id":"6432","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:99d6f348-11e5-4c91-9d13-850f2f98fe00:merged-pr:6432:58d657945ef32415b028d1c03a7b97833074ad54","mission_step_id":"c7ff9036-a35a-4d99-aaf0-9e55259e00e5","command_center_event_id":"99d6f348-11e5-4c91-9d13-850f2f98fe00"},{"id":"5da6cc62-eb1c-42ed-8ead-451e427ec261","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-43feefa098cc","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.118-architecture-exclusivity","prNumber":2545,"terminal":false,"missionId":"43feefa0-98cc-4464-b8f7-d463532417ea","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"434d467c8f1a21a3a60935879690eeb8a9a726a1","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3979,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":831,"approvedPlanMs":0,"missionSetupMs":555,"providerAuthMs":0,"shipAndProveMs":2937,"ledgerPrepareMs":280,"ledgerReconcileMs":0,"lineageReconcileMs":275,"resolvePreflightMs":555,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":280,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"43feefa0-98cc-4464-b8f7-d463532417ea"},"performance":null,"deploymentId":"forgejo-main-434d467c8f1a","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":2624,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T20:50:30.462441+00:00","proof_gate":"canonical_release_dispatched","source_sha":"434d467c8f1a21a3a60935879690eeb8a9a726a1","external_id":"forgejo-main-434d467c8f1a","receipt_type":"execute_mission","idempotency_key":"mission:43feefa0-98cc-4464-b8f7-d463532417ea:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"211f10f4-b168-4235-9f2b-ad3157ffe72f","command_center_event_id":"43feefa0-98cc-4464-b8f7-d463532417ea"},{"id":"5dae5b08-8c63-4c84-94e3-18ca28d0b0e0","source":"cc-execution","status":"recorded","payload":{"objective":"Apply the Redfish Roofing route-family visual unification only in the explicitly scoped files. Create a Redfish-only dark workspace boundary/shell, make the dashboard dark and premium, and make shared application routes render inside the same Redfish visual system without changing their shared engines. Preserve all data, routes, and other tenants. Ship frontend and verify representative Redfish routes.","tenantRef":"redfishroofing","receivedAt":"2026-08-29T01:01:35.225Z","fingerprint":"aeb0a21995a24aec58d7051f5b27c6074b2f639972bd067744ed418fde6f8d6b","workstreamRef":"redfishroofing","conversationId":null,"canonicalBranch":null,"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Apply the Redfish Roofing route-family visual unification only in the explicitly scoped files. Create a Redfish-only dark workspace boundary/shell, make the dashboard dark and premium, and make shared application routes render inside the same Redfish visual system without changing their shared engines. Preserve all data, routes, and other tenants. Ship frontend and verify representative Redfish routes.","wordingChanged":false,"canonicalIntent":"Apply the Redfish Roofing route-family visual unification only in the explicitly scoped files. Create a Redfish-only dark workspace boundary/shell, make the dashboard dark and premium, and make shared application routes render inside the same Redfish visual system without changing their shared engines. Preserve all data, routes, and other tenants. Ship frontend and verify representative Redfish routes.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"Redfish dashboard and core application routes share one dark Redfish Roofing shell with consistent branding, navigation, typography, cards, tables, forms, dialogs, and roofing-specific route headings.","proofConditionIds":["proof-runtime","proof-visual"]},{"id":"outcome-2","statement":"Other tenants and shared application engines are unchanged.","proofConditionIds":["proof-runtime"]}],"objective":"Apply the Redfish Roofing route-family visual unification only in the explicitly scoped files. Create a Redfish-only dark workspace boundary/shell, make the dashboard dark and premium, and make shared application routes render inside the same Redfish visual system without changing their shared engines. Preserve all data, routes, and other tenants. Ship frontend and verify representative Redfish routes.","constraints":[{"id":"constraint-1","statement":"Modify only src/routes/vanityRoutes.tsx, src/pages/crm/RedfishRoofingDashboard.tsx, src/index.css, and optionally new src/components/redfish/RedfishWorkspaceShell.tsx.","proofConditionIds":["proof-runtime"]},{"id":"constraint-2","statement":"Do not modify TenantRouter, ContactsRouter, LeadsRouter, or shared application engines.","proofConditionIds":["proof-runtime"]},{"id":"constraint-3","statement":"No bright white/warm dashboard canvas; Redfish is dark charcoal/near-black with restrained red accents and readable light typography.","proofConditionIds":["proof-visual"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-runtime","kind":"runtime","claim":"The Redfish-only shell/theme is live and route/data behavior remains intact while only authorized files changed.","route":"/redfish-roofing/dashboard","required":true,"expectedText":"Redfish Roofing","targetedActions":[],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"]},{"id":"proof-visual","kind":"visual","claim":"Dashboard, homeowners, jobs, calendar, billing, communications, documents, and canvassing visibly share the same dark Redfish Roofing experience; dashboard and homeowners are also usable on mobile.","route":"/redfish-roofing/dashboard","required":true,"expectedText":"Redfish Roofing","targetedActions":[],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"]}],"validationErrors":[]},"requestedBranch":null,"conversationContext":null,"requestContractHash":"3b02c509ef30fb011ff8346429bfecae7169edaeb4db4f14a8673a4c5a432a24","requestContractRevision":1},"tenant_id":"de8369b6-a78f-40bb-ae1f-28ffca62bc7e","created_at":"2026-08-29T01:01:35.73167+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:9399f2ae-4b4a-4612-a6a1-f2299ffb9726:tenant-workstream-contribution:aeb0a21995a24aec58d7051f5b27c6074b2f639972bd067744ed418fde6f8d6b","mission_step_id":null,"command_center_event_id":"9399f2ae-4b4a-4612-a6a1-f2299ffb9726"},{"id":"5dae86bf-f8d0-4b4b-b66c-051575cda504","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/frontend-release-cache-20260904","reason":"fresh_pr_provider_receipt_already_proves_auto_progress_gate_notifier_owns_next_state","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.54-post-gate-progression-self-heal-refreeze","prNumber":1722,"terminal":false,"missionId":"f10c8a16-dd11-4c44-a550-8f2e47c346f2","operation":"execute_mission","proofGate":"repair_mission_fresh_pr_handed_off_to_gate","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4347,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":1269,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":1269,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":1269,"repositoryMutationMs":4347,"repositoryProviderMs":2768,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":1800,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":1269,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":968},"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":"f10c8a16-dd11-4c44-a550-8f2e47c346f2"},"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":3617,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T15:23:11.575909+00:00","proof_gate":"repair_mission_fresh_pr_handed_off_to_gate","source_sha":null,"external_id":"1722","receipt_type":"execute_mission","idempotency_key":"mission:f10c8a16-dd11-4c44-a550-8f2e47c346f2:execute_mission:repair_mission_fresh_pr_handed_off_to_gate:current-generation","mission_step_id":"1506fb5e-f709-4655-bc52-b34a6946f78d","command_center_event_id":"f10c8a16-dd11-4c44-a550-8f2e47c346f2"},{"id":"5daffc88-c7f9-4222-8435-6c04210f0eea","source":"cc-execution","status":"verified","payload":{"paths":["workers/cc-execution/test/release-orchestration-invariants.test.js"],"baseSha":"86f1fec0973ac7011108db860d8f574b437d690a","consumedAt":1787857732843,"consumerToken":"37e6de28-1d6b-4049-a8e3-f4afd05d0f79","authorizationId":"6203cc32-5563-40dc-a3b9-c1f05dba8acf"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-27T19:08:53.828177+00:00","proof_gate":"control_plane_maintenance_single_use_consumed","source_sha":"86f1fec0973ac7011108db860d8f574b437d690a","external_id":null,"receipt_type":"control_plane_maintenance_consumed","idempotency_key":"control-plane-maintenance-consume:6203cc32-5563-40dc-a3b9-c1f05dba8acf","mission_step_id":"3551c96c-0dfa-43ef-99f5-68a9f09366d3","command_center_event_id":"e57906ff-764d-4381-9f3a-8b48dc1874fe"},{"id":"5db26685-694a-4c18-a684-335e6c5ab37d","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-a8d8c628f8f4","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":68227,"releaseCount":0,"toolCallCount":22,"repeatedCallCount":14,"executorlessWaitMs":517923,"firstUsefulResultAt":"2026-09-26T21:47:20.994Z","recoveryAttemptCount":15,"ownerInterruptionCount":0},"version":"1.58.290-console-operator","prNumber":3832,"terminal":false,"missionId":"a8d8c628-f8f4-47a9-9316-b4d85ebfa98b","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":5002,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":3103,"missionSetupMs":380,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":277,"ledgerReconcileMs":0,"lineageReconcileMs":103,"resolvePreflightMs":380,"repositoryMutationMs":1899,"repositoryProviderMs":1899,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":1792,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":277,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":107},"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":"a8d8c628-f8f4-47a9-9316-b4d85ebfa98b"},"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":3626,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-26T21:48:45.601138+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3832","receipt_type":"execute_mission","idempotency_key":"mission:a8d8c628-f8f4-47a9-9316-b4d85ebfa98b:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"35040fc6-49fb-4bfa-b2b5-e26e1f15a774","command_center_event_id":"a8d8c628-f8f4-47a9-9316-b4d85ebfa98b"},{"id":"5db45465-b5f0-4139-ad54-4ded9c029635","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[{"path":"supabase/functions/pcg-r2-media/index.ts","content":"import {serve} from \"https://deno.land/std@0.190.0/http/server.ts\";\nimport {createClient} from \"https://esm.sh/@supabase/supabase-js@2.45.0\";\nimport {AwsClient} from \"https://esm.sh/aws4fetch@1.0.20\";\nimport {decryptSecret} from \"../_shared/tenantCrypto.ts\";\n\nexport const FUNCTION_VERSION=\"1.2.0-pcg-r2-intake-actions\";\nconst SUPABASE_URL=Deno.env.get(\"SUPABASE_URL\")||\"\";\nconst SERVICE_ROLE=Deno.env.get(\"SUPABASE_SERVICE_ROLE_KEY\")||\"\";\nconst MAX_BYTES=25*1024*1024;\nconst LEGACY_IMAGE_HOSTS=new Set([\"pcgslab.com\",\"www.pcgslab.com\",\"images.squarespace-cdn.com\",\"static1.squarespace.com\"]);\nconst cors={\"Access-Control-Allow-Origin\":\"*\",\"Access-Control-Allow-Headers\":\"authorization, content-type, range, x-client-info, apikey\",\"Access-Control-Allow-Methods\":\"GET, HEAD, POST, OPTIONS\",\"Access-Control-Expose-Headers\":\"Content-Length, Content-Type, ETag\"};\nconst admin=createClient(SUPABASE_URL,SERVICE_ROLE);\nconst json=(body:unknown,status=200)=>new Response(JSON.stringify(body),{status,headers:{...cors,\"Content-Type\":\"application/json\",\"Cache-Control\":\"no-store\"}});\nconst clean=(value:unknown)=>String(value??\"\").trim();\nconst safeName=(value:string)=>value.replace(/[\\\\/]+/g,\"-\").replace(/[\\u0000-\\u001f]+/g,\" \").trim().slice(0,140)||\"pcg-card-image\";\nconst bytesToHex=(bytes:Uint8Array)=>Array.from(bytes).map(value=>value.toString(16).padStart(2,\"0\")).join(\"\");\nasync function sha256(value:string){return bytesToHex(new Uint8Array(await crypto.subtle.digest(\"SHA-256\",new TextEncoder().encode(value))))}\nfunction base64Url(bytes:Uint8Array){let binary=\"\";for(const value of bytes)binary+=String.fromCharCode(value);return btoa(binary).replace(/\\+/g,\"-\").replace(/\\//g,\"_\").replace(/=+$/,\"\")}\nasync function signingKey(){const digest=await crypto.subtle.digest(\"SHA-256\",new TextEncoder().encode(SERVICE_ROLE+\":pcg-r2-media:v1\"));return crypto.subtle.importKey(\"raw\",digest,{name:\"HMAC\",hash:\"SHA-256\"},false,[\"sign\"])}\nasync function signature(tenantId:string,key:string){const hmac=await signingKey();return base64Url(new Uint8Array(await crypto.subtle.sign(\"HMAC\",hmac,new TextEncoder().encode(tenantId+\":\"+key))))}\nfunction sameSignature(a:string,b:string){if(a.length!==b.length)return false;let mismatch=0;for(let i=0;i<a.length;i++)mismatch|=a.charCodeAt(i)^b.charCodeAt(i);return mismatch===0}\nasync function mediaUrl(tenantId:string,key:string){return SUPABASE_URL+\"/functions/v1/pcg-r2-media/media?tenant=\"+encodeURIComponent(tenantId)+\"&key=\"+encodeURIComponent(key)+\"&sig=\"+encodeURIComponent(await signature(tenantId,key))}\nfunction encodeR2Key(key:string){return key.split(\"/\").map(segment=>encodeURIComponent(segment)).join(\"/\")}\nconst r2Clients=new Map<string,Promise<{client:AwsClient;endpoint:string}>>();\nasync function tenantR2Client(tenantId:string){if(!r2Clients.has(tenantId))r2Clients.set(tenantId,(async()=>{const[{data:credential,error:credentialError},{data:secret,error:secretError}]=await Promise.all([admin.from(\"tenant_provider_credentials\").select(\"credential_status,metadata\").eq(\"tenant_id\",tenantId).eq(\"provider\",\"cloudflare_r2\").maybeSingle(),admin.from(\"tenant_provider_secrets\").select(\"ciphertext,iv,verified_at\").eq(\"tenant_id\",tenantId).eq(\"provider\",\"cloudflare_r2\").maybeSingle()]);if(credentialError||secretError)throw credentialError||secretError;if(!credential||credential.credential_status!==\"active\"||!secret?.verified_at)throw new Error(\"pcg_r2_tenant_credentials_not_verified\");const payload=JSON.parse(await decryptSecret(secret.ciphertext,secret.iv));const accessKeyId=clean(payload?.access_key_id),secretAccessKey=clean(payload?.secret_access_key),endpoint=clean(credential.metadata?.endpoint);if(!accessKeyId||!secretAccessKey||!endpoint)throw new Error(\"pcg_r2_tenant_credentials_incomplete\");return{client:new AwsClient({accessKeyId,secretAccessKey,service:\"s3\",region:clean(credential.metadata?.region)||\"auto\"}),endpoint:endpoint.replace(/\\/$/,\"\")}})());return await r2Clients.get(tenantId)!}\nfunction r2S3Url(endpoint:string,bucket:string,key:string){return endpoint+\"/\"+encodeURIComponent(bucket)+\"/\"+encodeR2Key(key)}\nasync function r2Put(tenantId:string,bucket:string,key:string,bytes:Uint8Array,contentType:string){const{client,endpoint}=await tenantR2Client(tenantId);const response=await client.fetch(r2S3Url(endpoint,bucket,key),{method:\"PUT\",headers:{\"Content-Type\":contentType||\"application/octet-stream\"},body:new Blob([bytes],{type:contentType||\"application/octet-stream\"})});if(!response.ok)throw new Error(\"cloudflare_r2_upload_failed:\"+response.status)}\nasync function r2Get(tenantId:string,bucket:string,key:string,method:\"GET\"|\"HEAD\"=\"GET\"){const{client,endpoint}=await tenantR2Client(tenantId);const response=await client.fetch(r2S3Url(endpoint,bucket,key),{method});if(!response.ok)throw new Error(\"cloudflare_r2_get_failed:\"+response.status);return response}\nasync function r2Delete(tenantId:string,bucket:string,key:string){const{client,endpoint}=await tenantR2Client(tenantId);const response=await client.fetch(r2S3Url(endpoint,bucket,key),{method:\"DELETE\"});if(!response.ok&&response.status!==404)throw new Error(\"cloudflare_r2_delete_failed:\"+response.status)}\nasync function storageConfig(tenantId:string){const{data,error}=await admin.from(\"platform_storage_registry\").select(\"bucket_id,domain,status,owner_tenant_id\").eq(\"owner_tenant_id\",tenantId).eq(\"domain\",\"cloudflare_r2\").eq(\"status\",\"active_verified\").order(\"updated_at\",{ascending:false}).limit(1).maybeSingle();if(error)throw error;if(!data||String(data.owner_tenant_id)!==tenantId)throw new Error(\"pcg_r2_storage_not_ready\");return{bucket:String(data.bucket_id),root:\"tenant/\"+tenantId+\"/\"}}\nasync function requirePcgMember(req:Request,tenantId:string){const auth=clean(req.headers.get(\"Authorization\"));if(!auth.startsWith(\"Bearer \"))return{ok:false as const,status:401,error:\"Please sign in again.\"};const{data,error}=await admin.auth.getUser(auth.slice(7));if(error||!data.user?.id)return{ok:false as const,status:401,error:\"Please sign in again.\"};const{data:isMember,error:memberError}=await admin.rpc(\"is_tenant_member\",{_user_id:data.user.id,_tenant_id:tenantId});if(memberError)throw memberError;if(!isMember)return{ok:false as const,status:403,error:\"This PCG workspace is not available to your account.\"};const{data:tenant,error:tenantError}=await admin.from(\"tenants\").select(\"company_slug,name,settings\").eq(\"id\",tenantId).maybeSingle();if(tenantError)throw tenantError;const slug=clean(tenant?.company_slug).toLowerCase(),settings=(tenant?.settings||{}) as Record<string,unknown>;const isPcg=slug===\"pcg\"||slug===\"prestigious-card-grading\"||clean(settings.routing_family).toUpperCase()===\"CARD_GRADING_OPS\"||clean(settings.workspace_type).toLowerCase()===\"card_grading\"||clean(tenant?.name).toLowerCase().includes(\"prestigious card grading\");if(!isPcg)return{ok:false as const,status:403,error:\"This storage adapter is reserved for PCG.\"};return{ok:true as const,userId:data.user.id}}\nasync function requirePcgOwner(req:Request,tenantId:string){const member=await requirePcgMember(req,tenantId);if(!member.ok)return member;const[{data:systemAdmin},{data:membership,error}]=await Promise.all([admin.rpc(\"is_system_admin\",{_user_id:member.userId}),admin.from(\"security_active_user_tenant_memberships\").select(\"status,is_owner\").eq(\"user_id\",member.userId).eq(\"tenant_id\",tenantId).maybeSingle()]);if(error)throw error;if(systemAdmin===true||membership?.status===\"active\"&&membership?.is_owner===true)return member;return{ok:false as const,status:403,error:\"PCG legacy media migration requires the tenant owner or a platform administrator.\"}}\nfunction contentExtension(contentType:string,name:string){const type=contentType.toLowerCase();if(type.includes(\"png\"))return\".png\";if(type.includes(\"webp\"))return\".webp\";if(type.includes(\"gif\"))return\".gif\";if(type.includes(\"avif\"))return\".avif\";if(type.includes(\"heic\"))return\".heic\";if(type.includes(\"heif\"))return\".heif\";if(type.includes(\"jpeg\")||type.includes(\"jpg\"))return\".jpg\";const match=name.toLowerCase().match(/\\.(png|jpe?g|webp|gif|avif|heic|heif)$/);return match?\".\"+match[1].replace(\"jpeg\",\"jpg\"):\"\"}\nasync function objectKey(tenantId:string,importKey:string,side:string,contentType:string,name:string){const hash=(await sha256(importKey)).slice(0,40);return\"tenant/\"+tenantId+\"/Cards/card_grading_cards/\"+hash+\"/\"+side+contentExtension(contentType,name)}\nasync function storeBytes(tenantId:string,importKey:string,side:string,name:string,contentType:string,bytes:Uint8Array){if(![\"front\",\"back\",\"slab\"].includes(side))throw new Error(\"Invalid PCG card image side.\");if(bytes.byteLength<1||bytes.byteLength>MAX_BYTES)throw new Error(\"PCG card image exceeds the 25 MB limit.\");const cfg=await storageConfig(tenantId);const key=await objectKey(tenantId,importKey,side,contentType,name);if(!key.startsWith(cfg.root))throw new Error(\"pcg_r2_object_scope_invalid\");await r2Put(tenantId,cfg.bucket,key,bytes,contentType);return{ok:true,file_id:key,object_key:key,url:await mediaUrl(tenantId,key),storage_owner:\"cloudflare_r2\",master_copy:true}}\nfunction allowedLegacyUrl(raw:string,base?:string){let parsed:URL;try{parsed=base?new URL(raw,base):new URL(raw)}catch{throw new Error(\"Legacy image URL is invalid.\")}if(parsed.protocol!==\"https:\"||!LEGACY_IMAGE_HOSTS.has(parsed.hostname.toLowerCase())||parsed.username||parsed.password)throw new Error(\"Legacy image host is not approved for PCG migration.\");return parsed}\nasync function fetchLegacyImage(sourceUrl:string){let current=allowedLegacyUrl(sourceUrl);for(let hop=0;hop<6;hop++){const controller=new AbortController();const timeout=setTimeout(()=>controller.abort(),20000);let response:Response;try{response=await fetch(current,{redirect:\"manual\",signal:controller.signal,headers:{\"User-Agent\":\"KNOCKLAUNCH-PCG-Migration/2.0\",\"Accept\":\"image/*\"}})}finally{clearTimeout(timeout)}if(response.status>=300&&response.status<400){const location=response.headers.get(\"location\");if(!location)throw new Error(\"Legacy image redirect was missing a destination.\");current=allowedLegacyUrl(location,current.toString());continue}if(!response.ok)throw new Error(\"Legacy image fetch failed (\"+response.status+\").\");const contentType=clean(response.headers.get(\"content-type\")).split(\";\")[0].toLowerCase();if(!contentType.startsWith(\"image/\"))throw new Error(\"Legacy source did not return an image.\");const bytes=new Uint8Array(await response.arrayBuffer());if(bytes.byteLength>MAX_BYTES)throw new Error(\"Legacy image exceeds the 25 MB limit.\");return{bytes,contentType,finalUrl:current.toString()}}throw new Error(\"Legacy image exceeded the approved redirect limit.\")}\nfunction managedCardKeys(card:any,root:string){const meta=card?.metadata&&typeof card.metadata===\"object\"?card.metadata:{};const r2=meta.r2_media&&typeof meta.r2_media===\"object\"?meta.r2_media:{};const candidates:any[]=[r2.front_object_key,r2.back_object_key,r2.slab_object_key];for(const raw of [card?.front_image_url,card?.back_image_url,card?.slab_image_url]){try{const parsed=new URL(clean(raw));if(parsed.pathname.endsWith(\"/pcg-r2-media/media\"))candidates.push(parsed.searchParams.get(\"key\"))}catch{}}return[...new Set(candidates.map((value:unknown)=>clean(value)).filter((key:string)=>key.startsWith(root+\"Cards/card_grading_cards/\")))]}\nasync function rehomeCards(req:Request){const body=await req.json().catch(()=>({})),tenantId=clean(body.tenant_id),targetSubmissionId=clean(body.target_submission_id),cardIds=[...new Set((Array.isArray(body.card_ids)?body.card_ids:[]).map((value:unknown)=>clean(value)).filter(Boolean))].slice(0,100);if(!tenantId||!targetSubmissionId||!cardIds.length)return json({ok:false,error:\"Destination customer/order and cards are required.\"},400);const auth=await requirePcgOwner(req,tenantId);if(!auth.ok)return json({ok:false,error:auth.error},auth.status);const{data:target,error:targetError}=await admin.from(\"card_grading_submissions\").select(\"id\").eq(\"tenant_id\",tenantId).eq(\"id\",targetSubmissionId).maybeSingle();if(targetError)throw targetError;if(!target)return json({ok:false,error:\"Destination customer/order was not found in this PCG tenant.\"},404);const{data:cards,error}=await admin.from(\"card_grading_cards\").select(\"id,metadata\").eq(\"tenant_id\",tenantId).in(\"id\",cardIds);if(error)throw error;const stamp=new Date().toISOString();for(const card of cards||[]){const meta=card.metadata&&typeof card.metadata===\"object\"?card.metadata:{};const{error:updateError}=await admin.from(\"card_grading_cards\").update({submission_id:targetSubmissionId,metadata:{...meta,customer_reassigned_at:stamp},updated_at:stamp}).eq(\"tenant_id\",tenantId).eq(\"id\",card.id);if(updateError)throw updateError}return json({ok:true,moved:(cards||[]).length,target_submission_id:targetSubmissionId,storage_owner:\"cloudflare_r2\"})}\nasync function deleteCards(req:Request){const body=await req.json().catch(()=>({})),tenantId=clean(body.tenant_id),cardIds=[...new Set((Array.isArray(body.card_ids)?body.card_ids:[]).map((value:unknown)=>clean(value)).filter(Boolean))].slice(0,100);if(!tenantId||!cardIds.length)return json({ok:false,error:\"Choose cards to remove.\"},400);const auth=await requirePcgOwner(req,tenantId);if(!auth.ok)return json({ok:false,error:auth.error},auth.status);const cfg=await storageConfig(tenantId);const{data:cards,error}=await admin.from(\"card_grading_cards\").select(\"id,front_image_url,back_image_url,slab_image_url,metadata\").eq(\"tenant_id\",tenantId).in(\"id\",cardIds);if(error)throw error;const keys=[...new Set((cards||[]).flatMap((card:any)=>managedCardKeys(card,cfg.root)))];for(const key of keys)await r2Delete(tenantId,cfg.bucket,key);const{error:deleteError}=await admin.from(\"card_grading_cards\").delete().eq(\"tenant_id\",tenantId).in(\"id\",cardIds);if(deleteError)throw deleteError;return json({ok:true,deleted:(cards||[]).length,r2_objects_deleted:keys.length,storage_owner:\"cloudflare_r2\"})}\nasync function serveMedia(req:Request,url:URL){const tenantId=clean(url.searchParams.get(\"tenant\")),key=clean(url.searchParams.get(\"key\")),sig=clean(url.searchParams.get(\"sig\"));if(!tenantId||!key||!sig)return json({ok:false,error:\"Media reference is incomplete.\"},400);const expected=await signature(tenantId,key);if(!sameSignature(sig,expected))return json({ok:false,error:\"Media signature is invalid.\"},403);const cfg=await storageConfig(tenantId);if(!key.startsWith(cfg.root+\"Cards/card_grading_cards/\")&&!key.startsWith(cfg.root+\"media/cards/\"))return json({ok:false,error:\"Media path is outside the PCG card vault.\"},403);const upstream=await r2Get(tenantId,cfg.bucket,key,req.method===\"HEAD\"?\"HEAD\":\"GET\");const headers=new Headers(cors);headers.set(\"Cache-Control\",\"private, max-age=300\");headers.set(\"Content-Type\",upstream.headers.get(\"content-type\")||\"application/octet-stream\");const length=upstream.headers.get(\"content-length\");if(length)headers.set(\"Content-Length\",length);const etag=upstream.headers.get(\"etag\");if(etag)headers.set(\"ETag\",etag);return new Response(req.method===\"HEAD\"?null:upstream.body,{status:200,headers})}\n\nserve(async req=>{\n  if(req.method===\"OPTIONS\")return new Response(null,{headers:cors});\n  const url=new URL(req.url);\n  try{\n    if((req.method===\"GET\"||req.method===\"HEAD\")&&url.pathname.endsWith(\"/media\"))return serveMedia(req,url);\n    if(req.method===\"GET\"&&url.pathname.endsWith(\"/health\")){const tenantId=clean(url.searchParams.get(\"tenant_id\"));if(!tenantId)return json({ok:false,error:\"tenant_id is required.\"},400);const cfg=await storageConfig(tenantId);await tenantR2Client(tenantId);return json({ok:true,service:\"pcg-r2-media\",version:FUNCTION_VERSION,bucket:cfg.bucket,provider:\"cloudflare_r2\",namespace:cfg.root+\"Cards/card_grading_cards/\",canonical_table:\"card_grading_cards\",configured:true})}\n    if(req.method===\"POST\"&&url.pathname.endsWith(\"/import-url\")){const body=await req.json().catch(()=>({})),tenantId=clean(body.tenant_id),importKey=clean(body.import_key),side=clean(body.side).toLowerCase(),sourceUrl=clean(body.source_url),name=safeName(clean(body.name));if(!tenantId||!importKey||!sourceUrl)return json({ok:false,error:\"Legacy image migration metadata is incomplete.\"},400);const auth=await requirePcgOwner(req,tenantId);if(!auth.ok)return json({ok:false,error:auth.error},auth.status);const remote=await fetchLegacyImage(sourceUrl);return json(await storeBytes(tenantId,importKey,side,name||safeName(new URL(remote.finalUrl).pathname.split(\"/\").pop()||\"legacy-card-image\"),remote.contentType,remote.bytes))}\n    if(req.method===\"POST\"&&url.pathname.endsWith(\"/upload\")){const tenantId=clean(url.searchParams.get(\"tenant_id\")),importKey=clean(url.searchParams.get(\"import_key\")),side=clean(url.searchParams.get(\"side\")).toLowerCase(),name=safeName(clean(url.searchParams.get(\"name\"))),contentType=clean(url.searchParams.get(\"content_type\")||req.headers.get(\"content-type\")||\"application/octet-stream\");if(!tenantId||!importKey||!side)return json({ok:false,error:\"PCG upload metadata is incomplete.\"},400);const auth=await requirePcgMember(req,tenantId);if(!auth.ok)return json({ok:false,error:auth.error},auth.status);const bytes=new Uint8Array(await req.arrayBuffer());return json(await storeBytes(tenantId,importKey,side,name,contentType,bytes))}\n    if(req.method===\"POST\"&&url.pathname.endsWith(\"/rehome-cards\"))return rehomeCards(req);\n    if(req.method===\"POST\"&&url.pathname.endsWith(\"/delete-cards\"))return deleteCards(req);\n    return json({ok:false,error:\"Method not allowed\"},405)\n  }catch(error){console.error(\"[pcg-r2-media]\",error);return json({ok:false,error:error instanceof Error?error.message:\"PCG storage failed.\"},500)}\n});"},{"path":"src/pages/card-grading/PCGReceiveCardsGallery.tsx","content":"import {useEffect,useMemo,useState} from 'react';\nimport {Archive,CheckCircle2,CheckSquare,ImagePlus,Loader2,Pencil,RefreshCw,ScanLine,Square,Trash2,UploadCloud,UserRoundCheck,WandSparkles,XCircle} from 'lucide-react';\nimport {supabase} from '@/integrations/supabase/client';\nimport {useToast} from '@/hooks/use-toast';\nimport {cn} from '@/lib/utils';\n\nconst STORAGE_MEDIA_FN=`${import.meta.env.VITE_SUPABASE_URL}/functions/v1/pcg-r2-media`;\nconst ANALYSIS_FN=`${import.meta.env.VITE_SUPABASE_URL}/functions/v1/pcg-google-drive-media`;\nconst previewMediaUrl=(value:string|null|undefined)=>{const url=String(value||'').trim();if(!url||!url.includes('/pcg-google-drive-media/media?')||url.includes('variant='))return url;return url+'&variant=preview'};\n\ntype Submission={id:string;submission_number:string;customer_contact_id:string|null;customer_name:string|null;customer_email:string|null;expected_card_count:number;status:string};\ntype Card={id:string;submission_id:string;sequence_number:number;player_character:string|null;year:string|null;brand_set:string|null;card_number:string|null;category:string|null;card_description:string|null;variation:string|null;autograph_present:boolean|null;front_image_url:string|null;back_image_url:string|null;status:string;grade:number|null;grade_label:string|null;cert_number:string|null;metadata:Record<string,any>|null};\ntype IntakeDraft={id:string;front?:File;back?:File;status:'queued'|'uploading'|'done'|'failed';error?:string};\ntype EditDraft={player:string;year:string;set:string;number:string;category:string;description:string;autograph:''|'yes'|'no';tags:string};\ntype MediaResult={url:string;fileId:string};\n\nfunction DraftCard({item,index}:{item:IntakeDraft;index:number}){const[src,setSrc]=useState('');useEffect(()=>{const file=item.front||item.back;if(!file){setSrc('');return}const url=URL.createObjectURL(file);setSrc(url);return()=>URL.revokeObjectURL(url)},[item.front,item.back]);return <article className=\"overflow-hidden rounded-2xl border border-white/[0.09] bg-black/35\"><div className=\"relative aspect-[3/4] bg-[#070708]\">{src?<img src={src} alt=\"\" className=\"h-full w-full object-contain p-2\"/>:<div className=\"grid h-full place-items-center\"><ImagePlus className=\"h-7 w-7 text-white/15\"/></div>}<span className=\"absolute left-2 top-2 rounded-full bg-black/75 px-2 py-1 text-[9px] font-black text-white/70\">#{index+1}</span>{item.status==='done'?<CheckCircle2 className=\"absolute right-2 top-2 h-5 w-5 text-emerald-400\"/>:item.status==='failed'?<XCircle className=\"absolute right-2 top-2 h-5 w-5 text-rose-400\"/>:item.status==='uploading'?<Loader2 className=\"absolute right-2 top-2 h-5 w-5 animate-spin text-[#d8bb78]\"/>:null}</div><div className=\"p-2.5\"><div className=\"text-[10px] font-black uppercase tracking-[.08em] text-white/48\">{item.front?'Front ready':'Front missing'} · {item.back?'Back ready':'Back missing'}</div>{item.error?<div className=\"mt-1 line-clamp-2 text-[10px] text-rose-300\">{item.error}</div>:null}</div></article>}\n\nfunction Field({label,value,onChange,placeholder=''}:{label:string;value:string;onChange:(value:string)=>void;placeholder?:string}){return <label className=\"block\"><span className=\"text-[9px] font-black uppercase tracking-[.14em] text-white/45\">{label}</span><input value={value} onChange={event=>onChange(event.target.value)} placeholder={placeholder} className=\"mt-1.5 h-11 w-full rounded-xl border border-white/[0.10] bg-black/30 px-3 text-sm text-white outline-none placeholder:text-white/25 focus:border-[#d8bb78]/55\"/></label>}\n\nexport default function PCGReceiveCardsGallery({tenantId,initialSubmissionId='',onRequestCreateOrder}:{tenantId:string;initialSubmissionId?:string;onRequestCreateOrder?:()=>void}){\n  const{toast}=useToast();\n  const[submissions,setSubmissions]=useState<Submission[]>([]);\n  const[cards,setCards]=useState<Card[]>([]);\n  const[selectedSubmissionId,setSelectedSubmissionId]=useState(initialSubmissionId);\n  const[drafts,setDrafts]=useState<IntakeDraft[]>([]);\n  const[selectedIds,setSelectedIds]=useState<Set<string>>(()=>new Set());\n  const[moveTarget,setMoveTarget]=useState('');\n  const[busy,setBusy]=useState(false);\n  const[loading,setLoading]=useState(true);\n  const[editingId,setEditingId]=useState<string|null>(null);\n  const[edit,setEdit]=useState<EditDraft>({player:'',year:'',set:'',number:'',category:'',description:'',autograph:'',tags:''});\n\n  const selectedSubmission=submissions.find(item=>item.id===selectedSubmissionId)||null;\n  const gallery=useMemo(()=>selectedSubmissionId?cards.filter(card=>card.submission_id===selectedSubmissionId):[],[cards,selectedSubmissionId]);\n  const selectedCards=useMemo(()=>gallery.filter(card=>selectedIds.has(card.id)),[gallery,selectedIds]);\n  const editingCard=editingId?cards.find(card=>card.id===editingId)||null:null;\n\n  async function load(){\n    if(!tenantId)return;\n    setLoading(true);\n    const[s,c]=await Promise.all([\n      (supabase as any).from('card_grading_submissions').select('id,submission_number,customer_contact_id,customer_name,customer_email,expected_card_count,status').eq('tenant_id',tenantId).order('created_at',{ascending:false}).limit(150),\n      (supabase as any).from('card_grading_cards').select('id,submission_id,sequence_number,player_character,year,brand_set,card_number,category,card_description,variation,autograph_present,front_image_url,back_image_url,status,grade,grade_label,cert_number,metadata').eq('tenant_id',tenantId).order('created_at',{ascending:false}).limit(600)\n    ]);\n    if(s.error)toast({title:'Could not load PCG customer orders',description:s.error.message,variant:'destructive'});\n    if(c.error)toast({title:'Could not load PCG cards',description:c.error.message,variant:'destructive'});\n    const open=((s.data||[]) as Submission[]).filter(row=>!['shipped','picked_up','delivered','closed'].includes(String(row.status||'')));\n    setSubmissions(open);setCards((c.data||[]) as Card[]);\n    setSelectedSubmissionId(current=>open.some(row=>row.id===initialSubmissionId)?initialSubmissionId:(open.some(row=>row.id===current)?current:''));\n    setLoading(false);\n  }\n  useEffect(()=>{void load()},[tenantId,initialSubmissionId]);\n  useEffect(()=>{setSelectedIds(new Set());setDrafts([]);setEditingId(null)},[selectedSubmissionId]);\n\n  async function post(base:string,path:string,body:Record<string,unknown>){\n    const{data}=await supabase.auth.getSession();if(!data.session?.access_token)throw new Error('Please sign in again.');\n    const response=await fetch(base+path,{method:'POST',headers:{Authorization:'Bearer '+data.session.access_token,'Content-Type':'application/json'},body:JSON.stringify({tenant_id:tenantId,...body})});\n    const payload=await response.json().catch(()=>null);\n    if(!response.ok||payload?.ok!==true){const error=new Error(payload?.error||'PCG action failed') as Error&{code?:string};error.code=payload?.code;throw error}\n    return payload;\n  }\n  async function analyze(ids:string[],purpose:'metadata'|'grade',silent=false){\n    if(!ids.length)return;\n    try{await post(ANALYSIS_FN,'/analyze-card',{card_ids:ids,purpose});if(!silent)toast({title:purpose==='grade'?'Grading recommendation ready':'Card details ready',description:purpose==='grade'?'Review the recommendation before saving a grade.':'High-confidence fields were filled. Anything uncertain is marked for review.'})}\n    catch(error){const coded=error as Error&{code?:string};if(coded.code==='vision_provider_unconfigured'){if(!silent)toast({title:'Automatic review unavailable',description:'No card details or grades were changed.',variant:'destructive'});return}if(!silent)toast({title:'Analysis could not finish',description:coded.message,variant:'destructive'})}\n  }\n  function addFronts(files:File[]){setDrafts(current=>{const next=[...current];for(const file of files){const empty=next.findIndex(item=>!item.front);if(empty>=0)next[empty]={...next[empty],front:file,status:'queued',error:undefined};else next.push({id:crypto.randomUUID(),front:file,status:'queued'})}return next})}\n  function addBacks(files:File[]){setDrafts(current=>{const next=[...current];for(const file of files){const empty=next.findIndex(item=>!item.back);if(empty>=0)next[empty]={...next[empty],back:file,status:'queued',error:undefined};else next.push({id:crypto.randomUUID(),back:file,status:'queued'})}return next})}\n  async function uploadMedia(file:File,draft:IntakeDraft,side:'front'|'back',importKey:string):Promise<MediaResult>{\n    if(!selectedSubmissionId)throw new Error('Choose the customer/order first.');\n    const{data}=await supabase.auth.getSession();if(!data.session?.access_token)throw new Error('Please sign in again.');\n    const params=new URLSearchParams({tenant_id:tenantId,submission_id:selectedSubmissionId,session_key:'pcg-receive-'+selectedSubmissionId,import_key:importKey,key:draft.id,side,name:file.name,content_type:file.type||'application/octet-stream'});\n    const response=await fetch(STORAGE_MEDIA_FN+'/upload?'+params.toString(),{method:'POST',headers:{Authorization:'Bearer '+data.session.access_token,'Content-Type':file.type||'application/octet-stream'},body:file});\n    const payload=await response.json().catch(()=>null);if(!response.ok||!payload?.ok)throw new Error(payload?.error||'PCG storage upload failed');\n    return{url:String(payload.url||''),fileId:String(payload.file_id||'')};\n  }\n  async function uploadBatch(){\n    if(!selectedSubmission)return toast({title:'Choose the customer first',description:'Every card must belong to a customer/order before PCG accepts images.',variant:'destructive'});\n    const ready=drafts.filter(item=>item.front||item.back);if(!ready.length)return toast({title:'Add card photos first'});\n    setBusy(true);\n    const existing=cards.filter(card=>card.submission_id===selectedSubmission.id);let nextSequence=Math.max(0,...existing.map(card=>Number(card.sequence_number)||0))+1;const storedIds:string[]=[];\n    for(const item of ready){\n      const sequence=nextSequence++,importKey=('pcg:'+selectedSubmission.id+':'+item.id).toLowerCase();\n      try{\n        setDrafts(current=>current.map(row=>row.id===item.id?{...row,status:'uploading',error:undefined}:row));\n        const front=item.front?await uploadMedia(item.front,item,'front',importKey):null,back=item.back?await uploadMedia(item.back,item,'back',importKey):null;\n        const metadata={pcg_ai:{status:'pending',requested_purpose:'metadata',field_confidence:{},human_review_required:true},image_storage:'cloudflare_r2',r2_media:{provider:'cloudflare_r2',front_object_key:front?.fileId||null,back_object_key:back?.fileId||null}};\n        const{data,error}=await(supabase as any).from('card_grading_cards').upsert({tenant_id:tenantId,submission_id:selectedSubmission.id,sequence_number:sequence,status:'received',import_key:importKey,front_image_url:front?.url||null,back_image_url:back?.url||null,metadata},{onConflict:'tenant_id,import_key'}).select('id').single();\n        if(error)throw error;storedIds.push(String(data.id));setDrafts(current=>current.map(row=>row.id===item.id?{...row,status:'done'}:row));\n      }catch(error){setDrafts(current=>current.map(row=>row.id===item.id?{...row,status:'failed',error:error instanceof Error?error.message:String(error)}:row))}\n    }\n    if(storedIds.length)await analyze(storedIds,'metadata',true);await load();setBusy(false);\n    toast({title:storedIds.length+' card'+(storedIds.length===1?'':'s')+' added to '+(selectedSubmission.customer_name||selectedSubmission.submission_number),description:'PCG stored the master images in private PCG storage and queued automatic detail review.'});\n  }\n  function toggle(id:string){setSelectedIds(current=>{const next=new Set(current);next.has(id)?next.delete(id):next.add(id);return next})}\n  function selectAll(){setSelectedIds(current=>current.size===gallery.length?new Set():new Set(gallery.map(card=>card.id)))}\n  function startEdit(){if(selectedCards.length!==1)return toast({title:'Select exactly one card to edit'});const card=selectedCards[0],meta=card.metadata||{};setEditingId(card.id);setEdit({player:card.player_character||'',year:card.year||'',set:card.brand_set||'',number:card.card_number||'',category:card.category||'',description:card.card_description||card.variation||'',autograph:card.autograph_present==null?'':card.autograph_present?'yes':'no',tags:Array.isArray(meta.tags)?meta.tags.join(', '):''})}\n  async function saveEdit(){if(!editingCard)return;setBusy(true);const meta=editingCard.metadata||{};const{error}=await(supabase as any).from('card_grading_cards').update({player_character:edit.player.trim()||null,year:edit.year.trim()||null,brand_set:edit.set.trim()||null,card_number:edit.number.trim()||null,category:edit.category.trim()||null,card_description:edit.description.trim()||null,variation:edit.description.trim()||null,autograph_present:edit.autograph===''?null:edit.autograph==='yes',metadata:{...meta,tags:edit.tags.split(/[;,]/).map(v=>v.trim()).filter(Boolean),manual_reviewed_at:new Date().toISOString()},updated_at:new Date().toISOString()}).eq('tenant_id',tenantId).eq('id',editingCard.id);setBusy(false);if(error)return toast({title:'Could not save card details',description:error.message,variant:'destructive'});toast({title:'Card details saved'});setEditingId(null);await load()}\n  async function moveToGrade(){if(!selectedSubmission||!selectedCards.length)return;setBusy(true);try{const order=['received','intake_imaging','authentication','grading'];let index=order.indexOf(selectedSubmission.status);if(index<0)throw new Error('This customer order is not in an intake stage.');for(let next=index+1;next<order.length;next++){const{error}=await(supabase as any).rpc('advance_pcg_grading_submission',{p_tenant_id:tenantId,p_submission_id:selectedSubmission.id,p_status:order[next]});if(error)throw error}toast({title:'Moved to Grade Cards',description:selectedSubmission.submission_number+' is now in Grade Cards.'});setSelectedIds(new Set());await load()}catch(error){toast({title:'Could not move to Grade Cards',description:error instanceof Error?error.message:String(error),variant:'destructive'})}finally{setBusy(false)}}\n  async function rehome(){if(!selectedCards.length||!moveTarget)return;const target=submissions.find(row=>row.id===moveTarget);if(!target)return;if(!window.confirm('Move '+selectedCards.length+' selected card'+(selectedCards.length===1?'':'s')+' to '+(target.customer_name||target.submission_number)+'?'))return;setBusy(true);try{await post(STORAGE_MEDIA_FN,'/rehome-cards',{card_ids:selectedCards.map(card=>card.id),target_submission_id:moveTarget});toast({title:'Customer assignment updated',description:'The card records and managed masters stayed together.'});setSelectedIds(new Set());await load()}catch(error){toast({title:'Could not move cards',description:error instanceof Error?error.message:String(error),variant:'destructive'})}finally{setBusy(false)}}\n  async function removeSelected(){if(!selectedCards.length)return;if(!window.confirm('Remove '+selectedCards.length+' selected card'+(selectedCards.length===1?'':'s')+' and their managed PCG master images? This cannot be undone.'))return;setBusy(true);try{await post(STORAGE_MEDIA_FN,'/delete-cards',{card_ids:selectedCards.map(card=>card.id)});toast({title:'Selected cards removed'});setSelectedIds(new Set());await load()}catch(error){toast({title:'Could not remove cards',description:error instanceof Error?error.message:String(error),variant:'destructive'})}finally{setBusy(false)}}\n\n  return <div data-pcg-receive-cards-gallery=\"true\" className=\"w-full text-white\">\n    <section className=\"border-b border-white/[0.08] pb-5\"><div className=\"flex flex-wrap items-end gap-3\"><div className=\"mr-auto\"><div className=\"flex items-center gap-2 text-[10px] font-black uppercase tracking-[.18em] text-[#d8bb78]\"><ScanLine className=\"h-4 w-4\"/>Receive Cards</div><h1 className=\"mt-2 text-3xl font-black tracking-[-.04em] sm:text-4xl\">Card Intake</h1><p className=\"mt-2 max-w-3xl text-sm leading-6 text-white/52\">Choose the customer, add card photos, and review.</p></div><button onClick={()=>void load()} className=\"grid h-11 w-11 place-items-center rounded-xl border border-white/[0.10]\"><RefreshCw className={cn('h-4 w-4',loading&&'animate-spin')}/></button></div></section>\n    <section className=\"mt-5 rounded-2xl border border-white/[0.09] bg-black/28 p-4\"><div className=\"flex flex-col gap-3 lg:flex-row lg:items-end\"><label className=\"min-w-0 flex-1\"><span className=\"text-[10px] font-black uppercase tracking-[.15em] text-[#d8bb78]\">1 · Customer / grading order</span><select value={selectedSubmissionId} onChange={event=>setSelectedSubmissionId(event.target.value)} disabled={busy} className=\"mt-2 h-12 w-full rounded-xl border border-white/[0.10] bg-[#09090a] px-3 text-sm font-bold text-white outline-none\"><option value=\"\">Choose customer/order first</option>{submissions.map(row=><option key={row.id} value={row.id}>{row.customer_name||'Customer'} · {row.submission_number} · {row.status.replaceAll('_',' ')}</option>)}</select></label><button onClick={onRequestCreateOrder} className=\"h-12 rounded-xl border border-[#d8bb78]/30 px-4 text-xs font-black text-[#e8cc8d]\">+ New customer / order</button></div>{selectedSubmission?<div className=\"mt-3 flex flex-wrap gap-2 text-[10px] font-bold text-white/55\"><span className=\"rounded-full border border-white/[0.08] px-2.5 py-1\">{selectedSubmission.customer_name||'Customer'}</span><span className=\"rounded-full border border-white/[0.08] px-2.5 py-1\">{gallery.length} cards on file</span><span className=\"rounded-full border border-white/[0.08] px-2.5 py-1\">Expected {Number(selectedSubmission.expected_card_count||0)}</span></div>:<p className=\"mt-3 text-xs text-amber-100/75\">PCG will not create orphan card records. Choose or create the customer before adding photos.</p>}</section>\n    <section className={cn('mt-5 rounded-2xl border border-white/[0.09] bg-black/22 p-4',!selectedSubmission&&'pointer-events-none opacity-40')}><div className=\"flex flex-wrap items-center gap-3\"><div className=\"mr-auto\"><div className=\"text-[10px] font-black uppercase tracking-[.15em] text-[#d8bb78]\">2 · Add card photos</div><h2 className=\"mt-1 text-lg font-black\">Batch photos</h2><p className=\"mt-1 text-xs text-white/48\">Add all fronts, then all backs. PCG pairs them in order.</p></div><label className=\"inline-flex h-11 cursor-pointer items-center gap-2 rounded-xl bg-[#d8bb78] px-4 text-xs font-black text-black\"><UploadCloud className=\"h-4 w-4\"/>Add fronts<input type=\"file\" multiple accept=\"image/*\" capture=\"environment\" className=\"hidden\" onChange={event=>{addFronts(Array.from(event.target.files||[]));event.currentTarget.value=''}}/></label><label className=\"inline-flex h-11 cursor-pointer items-center gap-2 rounded-xl border border-white/[0.12] px-4 text-xs font-black\"><UploadCloud className=\"h-4 w-4\"/>Add backs<input type=\"file\" multiple accept=\"image/*\" capture=\"environment\" className=\"hidden\" onChange={event=>{addBacks(Array.from(event.target.files||[]));event.currentTarget.value=''}}/></label></div>{drafts.length?<><div className=\"mt-4 grid grid-cols-2 gap-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-6 xl:grid-cols-8\">{drafts.map((item,index)=><DraftCard key={item.id} item={item} index={index}/>)}</div><div className=\"mt-4 flex flex-wrap gap-2\"><button disabled={busy} onClick={()=>void uploadBatch()} className=\"h-11 rounded-xl bg-[#d8bb78] px-5 text-xs font-black text-black disabled:opacity-50\">{busy?'Working…':'Store '+drafts.filter(item=>item.front||item.back).length+' cards'}</button><button disabled={busy} onClick={()=>setDrafts([])} className=\"h-11 rounded-xl border border-white/[0.10] px-4 text-xs font-black text-white/65\">Clear batch</button></div></>:<div className=\"mt-4 grid min-h-32 place-items-center rounded-2xl border border-dashed border-white/[0.08] text-center\"><div><ImagePlus className=\"mx-auto h-7 w-7 text-white/16\"/><div className=\"mt-2 text-sm font-black text-white/48\">No photos loaded yet</div></div></div>}</section>\n    <section className=\"mt-6 border-t border-white/[0.08] pt-5\"><div className=\"flex flex-wrap items-end gap-3\"><div className=\"mr-auto\"><div className=\"text-[10px] font-black uppercase tracking-[.15em] text-white/40\">3 · Review</div><h2 className=\"mt-1 text-xl font-black\">Card gallery</h2><p className=\"mt-1 text-xs text-white/48\">Select cards to update details, send them to grading, or run the grader.</p></div>{gallery.length?<button onClick={selectAll} className=\"inline-flex h-10 items-center gap-2 rounded-xl border border-white/[0.10] px-3 text-xs font-black\">{selectedIds.size===gallery.length?<CheckSquare className=\"h-4 w-4\"/>:<Square className=\"h-4 w-4\"/>}{selectedIds.size===gallery.length?'Clear all':'Select all'}</button>:null}</div>\n      {selectedCards.length?<div className=\"sticky bottom-24 z-30 mt-4 rounded-2xl border border-[#d8bb78]/25 bg-[#080809]/95 p-3 shadow-2xl backdrop-blur-xl\"><div className=\"mb-3 flex items-center gap-3\"><span className=\"mr-auto text-xs font-black text-[#e8cc8d]\">{selectedCards.length} selected</span><button onClick={()=>setSelectedIds(new Set())} className=\"text-[10px] font-black uppercase tracking-[.12em] text-white/50\">Clear</button></div><div className=\"grid gap-2 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-5\"><button disabled={busy} onClick={()=>void moveToGrade()} className=\"h-11 rounded-xl bg-[#d8bb78] px-3 text-xs font-black text-black disabled:opacity-50\">Move to Grade Cards</button><button disabled={busy} onClick={async()=>{setBusy(true);await analyze(selectedCards.map(card=>card.id),'grade');await load();setBusy(false)}} className=\"inline-flex h-11 items-center justify-center gap-2 rounded-xl border border-violet-300/25 bg-violet-300/[.08] px-3 text-xs font-black text-violet-100 disabled:opacity-50\"><WandSparkles className=\"h-4 w-4\"/>Run grader</button><button disabled={busy} onClick={startEdit} className=\"inline-flex h-11 items-center justify-center gap-2 rounded-xl border border-white/[0.10] px-3 text-xs font-black\"><Pencil className=\"h-4 w-4\"/>Edit/Add Details</button><button disabled={busy} onClick={async()=>{setBusy(true);await analyze(selectedCards.map(card=>card.id),'metadata');await load();setBusy(false)}} className=\"h-11 rounded-xl border border-white/[0.10] px-3 text-xs font-black\">Fill card details</button><button disabled={busy} onClick={()=>void removeSelected()} className=\"inline-flex h-11 items-center justify-center gap-2 rounded-xl border border-rose-300/20 bg-rose-400/[.06] px-3 text-xs font-black text-rose-200\"><Trash2 className=\"h-4 w-4\"/>Delete / Remove</button></div><div className=\"mt-2 grid gap-2 sm:grid-cols-[1fr_auto]\"><select value={moveTarget} onChange={event=>setMoveTarget(event.target.value)} className=\"h-11 rounded-xl border border-white/[0.10] bg-black/40 px-3 text-xs font-bold text-white\"><option value=\"\">Move/assign to another customer order</option>{submissions.filter(row=>row.id!==selectedSubmissionId).map(row=><option key={row.id} value={row.id}>{row.customer_name||'Customer'} · {row.submission_number}</option>)}</select><button disabled={busy||!moveTarget} onClick={()=>void rehome()} className=\"inline-flex h-11 items-center justify-center gap-2 rounded-xl border border-[#d8bb78]/25 px-4 text-xs font-black text-[#e8cc8d] disabled:opacity-40\"><UserRoundCheck className=\"h-4 w-4\"/>Move/Assign Customer</button></div></div>:null}\n      {editingCard?<div className=\"mt-4 rounded-2xl border border-white/[0.10] bg-black/35 p-4\"><div className=\"flex items-center gap-3\"><div className=\"mr-auto\"><div className=\"text-[10px] font-black uppercase tracking-[.15em] text-[#d8bb78]\">Card details</div><div className=\"mt-1 text-sm font-black\">{editingCard.player_character||editingCard.brand_set||'Selected card'}</div></div><button onClick={()=>setEditingId(null)} className=\"text-xs font-black text-white/50\">Close</button></div><div className=\"mt-4 grid gap-3 sm:grid-cols-2 lg:grid-cols-4\"><Field label=\"Player\" value={edit.player} onChange={player=>setEdit(v=>({...v,player}))}/><Field label=\"Year\" value={edit.year} onChange={year=>setEdit(v=>({...v,year}))}/><Field label=\"Brand / set\" value={edit.set} onChange={set=>setEdit(v=>({...v,set}))}/><Field label=\"Card #\" value={edit.number} onChange={number=>setEdit(v=>({...v,number}))}/><Field label=\"Sport / category\" value={edit.category} onChange={category=>setEdit(v=>({...v,category}))}/><Field label=\"Variation / parallel\" value={edit.description} onChange={description=>setEdit(v=>({...v,description}))}/><Field label=\"Tags\" value={edit.tags} onChange={tags=>setEdit(v=>({...v,tags}))}/><Field label=\"Autograph\" value={edit.autograph} onChange={value=>setEdit(v=>({...v,autograph:value==='yes'?'yes':value==='no'?'no':''}))} placeholder=\"yes / no\"/></div><button disabled={busy} onClick={()=>void saveEdit()} className=\"mt-4 h-11 rounded-xl bg-[#d8bb78] px-5 text-xs font-black text-black\">Save reviewed details</button></div>:null}\n      {!selectedSubmission?<div className=\"mt-4 grid min-h-40 place-items-center rounded-2xl border border-dashed border-white/[0.08] bg-black/15 text-center\"><div><Archive className=\"mx-auto h-7 w-7 text-white/15\"/><div className=\"mt-2 text-sm font-black text-white/52\">Choose a customer to open their card folder.</div></div></div>:gallery.length?<div className=\"mt-4 grid grid-cols-2 gap-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-6 xl:grid-cols-8\">{gallery.map(card=>{const ai=card.metadata?.pcg_ai||{},auto=card.metadata?.auto_grader||{},selected=selectedIds.has(card.id);const review=ai.status==='ready'?'Details ready':ai.status==='review_needed'?'Review needed':ai.status==='pending'?'Analyzing':'Not analyzed';return <button type=\"button\" key={card.id} onClick={()=>toggle(card.id)} className={cn('overflow-hidden rounded-2xl border bg-black/45 text-left transition',selected?'border-[#d8bb78]/70 ring-2 ring-[#d8bb78]/20':'border-white/[0.08] hover:border-white/[0.18]')}><div className=\"relative aspect-[3/4] overflow-hidden bg-[#080809]\">{card.front_image_url?<img src={previewMediaUrl(card.front_image_url)} alt=\"\" loading=\"lazy\" decoding=\"async\" className=\"h-full w-full object-contain p-2\"/>:<div className=\"grid h-full place-items-center\"><Archive className=\"h-7 w-7 text-white/12\"/></div>}<span className=\"absolute left-2 top-2 rounded-full bg-black/75 p-1.5\">{selected?<CheckSquare className=\"h-4 w-4 text-[#e8cc8d]\"/>:<Square className=\"h-4 w-4 text-white/55\"/>}</span>{auto.suggested_grade!=null?<div className=\"absolute bottom-2 right-2 rounded-lg bg-violet-950/90 px-2 py-1 text-[9px] font-black text-violet-100\">AI {String(auto.suggested_grade)}</div>:null}</div><div className=\"p-2.5\"><div className=\"truncate text-xs font-black\">{card.player_character||card.brand_set||('Card #'+card.sequence_number)}</div><div className=\"mt-1 truncate text-[10px] text-white/42\">{[card.year,card.brand_set,card.card_number&&('#'+card.card_number)].filter(Boolean).join(' · ')||'Details pending'}</div><div className={cn('mt-2 text-[9px] font-black uppercase tracking-[.08em]',review==='Review needed'?'text-amber-200':review==='Details ready'?'text-emerald-300':'text-white/35')}>{review}</div></div></button>})}</div>:<div className=\"mt-4 grid min-h-40 place-items-center rounded-2xl border border-dashed border-white/[0.08] bg-black/15 text-center\"><div><Archive className=\"mx-auto h-7 w-7 text-white/15\"/><div className=\"mt-2 text-sm font-black text-white/52\">This customer folder is ready for its first card.</div></div></div>}\n    </section>\n  </div>\n}\n"}],"branch":"ai/objective-first-repair-da7577f93f00","tenant":"PCG","writes":[],"patches":[],"version":1,"approved":true,"missionId":"da7577f9-3f00-439d-bec6-2494bce10f44","objective":"PCG meeting-prep storage correction: Receive Cards must use canonical tenant-scoped pcg-r2-media for new master uploads, reassignment, and deletion instead of stale Drive master storage. Keep AI analysis separate. Preserve legacy Drive-backed records. Gate, merge, release backend before frontend, and verify live.","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"workstreamKey":"pcg-receive-r2-cutover","implementation":{"files":[],"writes":[]},"collisionDomain":"pcg-storage","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":"fb0356e052b29488485f236788f47388280b978bb8ff863ec78753c26a35ebff","replayCount":0,"serializedBytes":47482},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-10-04T11:48:15.473348+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:da7577f9-3f00-439d-bec6-2494bce10f44:repository-mutation-intent:fb0356e052b29488485f236788f47388280b978bb8ff863ec78753c26a35ebff:0","mission_step_id":"8947960a-7aec-47c8-b372-91bdd3ecdadb","command_center_event_id":"da7577f9-3f00-439d-bec6-2494bce10f44"},{"id":"5db512b3-dc97-47a8-aaa1-9c5e80d33a4f","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"dcdf9813e85f31a96ef2c13cc8e996614dcaa3a8","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"domain-bound","satisfied":false,"statement":"PR #1911 is squash merged and Cloudflare owns BookMeDirectly.com apex and www routes on the production frontend worker.","proofConditionIds":["merged","route-release"]},{"id":"direct-domain","satisfied":true,"statement":"The direct BookMeDirectly.com URL serves Book Me Directly, or the release proves registrar nameserver delegation is the sole remaining owner action.","proofConditionIds":["route-release","domain-proof"]}],"satisfied":false,"constraints":[{"id":"no-source-change","satisfied":false,"statement":"Do not change source or create another PR; continue existing green PR #1911.","proofConditionIds":["merged"]},{"id":"preserve-wmp","satisfied":true,"statement":"Preserve the existing whatsmyprogress.com Cloudflare routes.","proofConditionIds":["route-release"]},{"id":"frontend-only","satisfied":true,"statement":"Deploy only the frontend/Cloudflare owner for this route change.","proofConditionIds":["route-release"]}],"contractHash":"7301ae4ca91a7d455a593e9374ff7e239880f22762bc66cc1a4df3dfa2ff2436","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"merged","kind":"repository","evidence":{"repositoryProofGate":null,"requestContractHash":"7301ae4ca91a7d455a593e9374ff7e239880f22762bc66cc1a4df3dfa2ff2436","repositoryProofStatus":"required","repositoryProofSourceSha":null},"required":true,"satisfied":false},{"id":"route-release","kind":"runtime","evidence":{"releaseState":"verified","activeReleaseTargets":["frontend"],"releaseRequestContractHash":"7301ae4ca91a7d455a593e9374ff7e239880f22762bc66cc1a4df3dfa2ff2436"},"required":true,"satisfied":true},{"id":"domain-proof","kind":"runtime","evidence":{"releaseState":"verified","activeReleaseTargets":["frontend"],"releaseRequestContractHash":"7301ae4ca91a7d455a593e9374ff7e239880f22762bc66cc1a4df3dfa2ff2436"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":["repository"],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-06T01:41:43.797854+00:00","proof_gate":"request_contract_pending","source_sha":"dcdf9813e85f31a96ef2c13cc8e996614dcaa3a8","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:37014eb1-c186-4acf-94f1-ff383d727c7e:request-contract:7301ae4ca91a7d455a593e9374ff7e239880f22762bc66cc1a4df3dfa2ff2436:dcdf9813e85f31a96ef2c13cc8e996614dcaa3a8:pending:repository","mission_step_id":"13d02ed6-c1fb-4c63-a600-47952900481c","command_center_event_id":"37014eb1-c186-4acf-94f1-ff383d727c7e"},{"id":"5db79864-e80c-421b-85e5-48f04d15ed63","source":"cc-execution","status":"release_verification_pending","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":null,"reason":null,"status":"release_verification_pending","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.31.23-targeted-owner-preflight","prNumber":4419,"terminal":false,"missionId":"97645354-d549-4670-960f-1dc5fc52bd06","operation":"ship_and_prove","proofGate":"ship_and_prove_release_pending","sourceSha":"d599e4ab29cc33b218775ce6b99ad3fbe9a7009a","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"97645354-d549-4670-960f-1dc5fc52bd06"},"performance":null,"deploymentId":"canonical-release-d599e4ab29cc","workflowRunId":31288319952,"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":1293,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-09T01:28:09.911653+00:00","proof_gate":"ship_and_prove_release_pending","source_sha":"d599e4ab29cc33b218775ce6b99ad3fbe9a7009a","external_id":"canonical-release-d599e4ab29cc","receipt_type":"ship_and_prove","idempotency_key":"mission:97645354-d549-4670-960f-1dc5fc52bd06:ship_and_prove:ship_and_prove_release_pending:d599e4ab29cc33b218775ce6b99ad3fbe9a7009a:31288319952","mission_step_id":"81306fe0-cea2-4371-a400-5cef323711fa","command_center_event_id":"97645354-d549-4670-960f-1dc5fc52bd06"},{"id":"5db99f76-417d-4a67-9fb5-df03adef0de9","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-d15fc5e188e8","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":27733,"releaseCount":0,"toolCallCount":10,"repeatedCallCount":5,"executorlessWaitMs":795855,"firstUsefulResultAt":"2026-09-27T20:11:02.657Z","recoveryAttemptCount":4,"ownerInterruptionCount":0},"version":null,"prNumber":3898,"terminal":false,"missionId":"d15fc5e1-88e8-4f5a-a587-029d455f9981","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"89c7bfdc214c98197179737b611f8ef802b3b877","timingsMs":{"prReadinessMs":99,"approvedPlanMs":0,"shipAndProveMs":943,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"d15fc5e1-88e8-4f5a-a587-029d455f9981"},"performance":null,"deploymentId":"forgejo-main-89c7bfdc214c","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1959,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:32:34.830558+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"3898","receipt_type":"automatic_mission_resume","idempotency_key":"mission:d15fc5e1-88e8-4f5a-a587-029d455f9981:automatic-mission-resume:3898:canonical_release_reconciliation_pending","mission_step_id":"2307069e-bd3b-4c00-87ca-dbea4994d043","command_center_event_id":"d15fc5e1-88e8-4f5a-a587-029d455f9981"},{"id":"5db9ff5b-e70b-446f-b381-a175b1a97fba","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-9706d26f4539","reason":"anchored_edit_invalid","status":"blocked","metrics":{"receiptBytes":11273,"releaseCount":0,"toolCallCount":6,"repeatedCallCount":3,"executorlessWaitMs":2636964,"firstUsefulResultAt":"2026-10-01T16:49:56.195Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.38-paul-owner-velocity","prNumber":null,"terminal":false,"missionId":"9706d26f-4539-44ca-9552-7ad18139ce31","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":593,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":593,"missionSetupMs":255,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":255,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":255,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":255,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"9706d26f-4539-44ca-9552-7ad18139ce31"},"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":1421,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-01T17:33:55.193181+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:9706d26f-4539-44ca-9552-7ad18139ce31:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"bb023fc3-7af3-4847-b6dc-cbd6b11033aa","command_center_event_id":"9706d26f-4539-44ca-9552-7ad18139ce31"},{"id":"5dbb0aca-3358-472b-808b-a41f2468c35a","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"c6e5401e71dd50d754de7c361b74dfc8d77bb163","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"c6e5401e71dd50d754de7c361b74dfc8d77bb163","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":"0478c52d963c69063c8181b2f5aa45e022adf288f7a8af42286b64f66214ebdc","forgejoWorkflowProof":{"runId":7332,"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-12T05:29:22.183232+00:00","proof_gate":"canonical_release_pending","source_sha":"c6e5401e71dd50d754de7c361b74dfc8d77bb163","external_id":"forgejo-main-c6e5401e71dd","receipt_type":"canonical_release_status","idempotency_key":"mission:4e3c38c9-d6ff-462d-9aa4-b2eb641fef24:forgejo-release-status:c6e5401e71dd50d754de7c361b74dfc8d77bb163:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"6534cec6-e002-4fe7-8945-9df99591402f","command_center_event_id":"4e3c38c9-d6ff-462d-9aa4-b2eb641fef24"},{"id":"5dbb9d5d-5b3d-441a-8be9-af9761be98e4","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/redfish-roof-mapbox-worker-import-fix-20260902","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":18012,"releaseCount":0,"toolCallCount":9,"repeatedCallCount":2,"ownerInterruptionCount":0},"version":"1.58.4-refresh-fastpath","prNumber":1418,"terminal":false,"missionId":"4404def7-31ba-45c2-9a75-7bfc3c09a9d6","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"handlerMs":1766,"prReadinessMs":1281,"approvedPlanMs":0,"missionSetupMs":2928,"shipAndProveMs":0},"nextAction":"Reconcile this same mission and pull request after the exact-head KnockLaunch Gate changes state.","receiptRef":{"mode":"full","missionId":"4404def7-31ba-45c2-9a75-7bfc3c09a9d6"},"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":1513,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-02T13:21:05.258419+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"1418","receipt_type":"execute_mission","idempotency_key":"mission:4404def7-31ba-45c2-9a75-7bfc3c09a9d6:execute_mission:repair_mission_waiting_for_gate:current-generation","mission_step_id":"059a629a-6401-48fa-8cf9-ecd5c555ed36","command_center_event_id":"4404def7-31ba-45c2-9a75-7bfc3c09a9d6"},{"id":"5dc08ed0-6d77-4506-8c1c-06ab0566e280","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-dcf9ca5a6093","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":11066,"releaseCount":0,"toolCallCount":6,"repeatedCallCount":4,"executorlessWaitMs":276005,"firstUsefulResultAt":"2026-09-28T13:31:08.487Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.301-premium-visual-system","prNumber":null,"terminal":false,"missionId":"dcf9ca5a-6093-4640-8b6c-e5ccee5f9852","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1410,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":333,"providerAuthMs":0,"ledgerPrepareMs":333,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":333,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":333,"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":"dcf9ca5a-6093-4640-8b6c-e5ccee5f9852"},"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":3468,"likelyAffectedFiles":["config/paul-owner-profile.json","config/control-plane-capabilities.json"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T13:34:42.201529+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:dcf9ca5a-6093-4640-8b6c-e5ccee5f9852:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"c760d716-c347-4f40-b173-2bb38255b1f4","command_center_event_id":"dcf9ca5a-6093-4640-8b6c-e5ccee5f9852"},{"id":"5dc09aa5-4771-4eb2-92a6-48043320153e","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-5f0aa31f1145","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":42358,"releaseCount":0,"toolCallCount":10,"repeatedCallCount":5,"executorlessWaitMs":393971,"firstUsefulResultAt":"2026-09-28T01:41:30.699Z","recoveryAttemptCount":3,"ownerInterruptionCount":0},"version":null,"prNumber":3941,"terminal":false,"missionId":"5f0aa31f-1145-49c8-b50e-dab2498f96c7","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":5497,"approvedPlanMs":0,"shipAndProveMs":0,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"5f0aa31f-1145-49c8-b50e-dab2498f96c7"},"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-28T01:42:46.890939+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"3941","receipt_type":"automatic_mission_resume","idempotency_key":"mission:5f0aa31f-1145-49c8-b50e-dab2498f96c7:automatic-mission-resume:3941:repair_mission_pr_ready_retryable","mission_step_id":"937166ac-8ed8-4b46-b511-4e918ad23a4c","command_center_event_id":"5f0aa31f-1145-49c8-b50e-dab2498f96c7"},{"id":"5dc4d1ec-3d73-4435-b1ea-5646adaa7f2b","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-9cd1caf528b3","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":9036,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"executorlessWaitMs":56343,"firstUsefulResultAt":"2026-09-24T05:17:45.635Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.241-light-gate-policy","prNumber":3593,"terminal":false,"missionId":"9cd1caf5-28b3-4576-bbae-ddf1aa1b8f54","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":6461,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":2013,"missionSetupMs":460,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":460,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":460,"repositoryMutationMs":4448,"repositoryProviderMs":4448,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2886,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":460,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1562},"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":"9cd1caf5-28b3-4576-bbae-ddf1aa1b8f54"},"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":3822,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T05:18:49.611664+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3593","receipt_type":"execute_mission","idempotency_key":"mission:9cd1caf5-28b3-4576-bbae-ddf1aa1b8f54:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"91179ccc-ff44-4051-878d-24fa836ab3c0","command_center_event_id":"9cd1caf5-28b3-4576-bbae-ddf1aa1b8f54"},{"id":"5dc55a4e-d259-4623-ad21-eff78ffbd341","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"9cc3fc21f033fc5183b673571db79e12a558b082","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"9cc3fc21f033fc5183b673571db79e12a558b082","releaseState":"verified","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"requestContractHash":"9fdcdcfdc77ca52014044a8e26aaa97ba5f8811005cc93c56d66c912f29e51b9","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/3432","runId":3432,"status":"success","sourceSha":"9cc3fc21f033fc5183b673571db79e12a558b082","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-29T19:14:23.985118+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"9cc3fc21f033fc5183b673571db79e12a558b082","external_id":"forgejo-main-9cc3fc21f033","receipt_type":"canonical_release_status","idempotency_key":"mission:dab92aa8-3466-4718-8ac0-3926c347831d:forgejo-release-status:9cc3fc21f033fc5183b673571db79e12a558b082:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"dc0947f5-1a72-490a-9da2-f34ee4e27e12","command_center_event_id":"dab92aa8-3466-4718-8ac0-3926c347831d"},{"id":"5dc5b65d-5cfb-4a56-b8f6-0e87c0f9f3d9","source":"owner_authorized_full_backlog_cleanup","status":"recorded","payload":{"category":"platform_reliability","disposition":"superseded_execution_attempt","previousStatus":"waiting","sourcePreserved":true,"noCompletionClaim":true,"recoveryPortfolioId":"95de7957-906c-e163-73d9-62948a04ac31"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-11T16:14:39.646808+00:00","proof_gate":"source_objective_preserved_in_existing_mission_ledger","source_sha":null,"external_id":null,"receipt_type":"owner_backlog_disposition","idempotency_key":"owner-full-backlog-cleanup-20261011:619b2bd3-8e59-46e9-9d83-b1108b2bdce1","mission_step_id":null,"command_center_event_id":"619b2bd3-8e59-46e9-9d83-b1108b2bdce1"},{"id":"5dc62943-43f0-4c93-9785-cac5a2dba325","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-a0a8c37b7978","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":117196,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":0,"executorlessWaitMs":98500,"firstUsefulResultAt":"2026-09-27T21:32:04.006Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":3909,"terminal":false,"missionId":"a0a8c37b-7978-49e0-b330-448a56b7b2a8","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3372,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":670,"missionSetupMs":334,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":334,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":334,"repositoryMutationMs":2702,"repositoryProviderMs":2702,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":1702,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":334,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1000},"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":"a0a8c37b-7978-49e0-b330-448a56b7b2a8"},"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":3207,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T21:33:47.03191+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3909","receipt_type":"execute_mission","idempotency_key":"mission:a0a8c37b-7978-49e0-b330-448a56b7b2a8:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"37e14384-9db3-4ad4-93c7-592951faa10b","command_center_event_id":"a0a8c37b-7978-49e0-b330-448a56b7b2a8"},{"id":"5dc63e11-4eaa-4373-82d1-5e3cf43bc1f9","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/src/command-center-contracts.js","workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/version.js","workers/cc-execution/test/release-orchestration-invariants.test.js"],"reason":"Compose dependency/prerequisite Gate classification onto current durable-truth main after a proven semantic refresh conflict, preserving all newer main behavior.","baseSha":"858726ef5f186114fcf07aa8116ccabf9a231a30","issuedAt":1790229870830,"expiresAt":1790230050830,"missionId":"ece32cfd-9411-488c-b433-2f9fe7d88cbc","authorizationId":"70fcb567-7dae-4bea-8b09-3ceb7599d8f9","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T06:04:31.145549+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"858726ef5f186114fcf07aa8116ccabf9a231a30","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:70fcb567-7dae-4bea-8b09-3ceb7599d8f9","mission_step_id":"973a7c3d-78a6-4718-ab8c-93d80ac61d61","command_center_event_id":"ece32cfd-9411-488c-b433-2f9fe7d88cbc"},{"id":"5dcc13cc-0d02-4bf3-8f4f-7df87007dad8","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in implementation.","nextAction":{"lane":"cc-execution","action":"reconcile_pull_request","reason":"durable_state:pull_request","handoff":null,"capability":"light-control-plane","automationAllowed":true,"ownerActionRequired":false,"resumeFromCheckpoint":"preflight"},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"implementation\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"owner_progress_heartbeat\",\"status\":\"waiting\",\"proofGate\":\"owner_progress_heartbeat\"},\"activeStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"release\",\"status\":\"ready\",\"lane\":\"production-release-conductor\"},\"nextSafeAction\":{\"action\":\"reconcile_pull_request\",\"lane\":\"cc-execution\",\"reason\":\"durable_state:pull_request\",\"automationAllowed\":true,\"ownerActionRequired\":false,\"capability\":\"light-control-plane\",\"resumeFromCheckpoint\":\"preflight\",\"handoff\":null},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_pull_request\",\"recoveryOwner\":\"cc-execution\",\"capability\":\"light-control-plane\",\"resumeFromCheckpoint\":\"preflight\",\"handoff\":null},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"runtime_proof\",\"deadlineAt\":\"2026-10-06T14:54:20.947247+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":null,\"sourceSha\":null,\"deploymentId\":null}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T14:12:19.02638+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:119419729","mission_step_id":"a036e1a4-6bb7-4248-b530-a16b22bcaaa4","command_center_event_id":"8461f374-86b0-422f-bb81-3fb39febaab9"},{"id":"5dcd485c-052d-49db-85b9-4374a3107eb9","source":"cc-execution","status":"blocked","payload":{"reason":"anchored_edit_anchor_missing:supabase/functions/operator-respond/index.ts","fingerprint":"381de21d1fb0ad7ab894e9840cea1787821c9bd3e39bcda8912e95b095674992"},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-09-29T05:10:15.910106+00:00","proof_gate":"repository_mutation_intent_deterministic_failure","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent_blocked","idempotency_key":"mission:f47a47c0-cee0-4759-a5e5-9c67845a94a4:repository-mutation-intent-blocked:381de21d1fb0ad7ab894e9840cea1787821c9bd3e39bcda8912e95b095674992","mission_step_id":"cdf44660-4ab6-40a4-ac51-e178ea090f31","command_center_event_id":"f47a47c0-cee0-4759-a5e5-9c67845a94a4"},{"id":"5dceadc1-3246-4501-ad88-a7f075c975f1","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-bd15d0d75a1f","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":14380,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":0,"executorlessWaitMs":14694,"firstUsefulResultAt":"2026-10-02T23:45:30.242Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.60-paul-long-horizon-state","prNumber":4567,"terminal":false,"missionId":"bd15d0d7-5a1f-40a3-8655-fd6b1d5275c2","operation":"execute_mission","proofGate":"canonical_release_reconciliation_pending","sourceSha":"5bfa82ae7b284c1e404902bc042fb2a51835b1c5","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4112,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":776,"approvedPlanMs":0,"missionSetupMs":416,"providerAuthMs":0,"shipAndProveMs":2944,"ledgerPrepareMs":308,"ledgerReconcileMs":0,"lineageReconcileMs":108,"resolvePreflightMs":416,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":308,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"bd15d0d7-5a1f-40a3-8655-fd6b1d5275c2"},"performance":null,"deploymentId":"forgejo-main-5bfa82ae7b28","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":2484,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T23:45:50.105694+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":"5bfa82ae7b284c1e404902bc042fb2a51835b1c5","external_id":"forgejo-main-5bfa82ae7b28","receipt_type":"execute_mission","idempotency_key":"mission:bd15d0d7-5a1f-40a3-8655-fd6b1d5275c2:execute_mission:canonical_release_reconciliation_pending:current-generation","mission_step_id":"123f6dc8-a93d-4f21-a0de-36bd79aa6a86","command_center_event_id":"bd15d0d7-5a1f-40a3-8655-fd6b1d5275c2"},{"id":"5dd12c09-324c-44a3-8638-5ed254f0df1f","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-eb786bcfb65f","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":"eb786bcf-b65f-4659-a398-4e1ddac3527f","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":145,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":4183,"providerAuthMs":0,"ledgerPrepareMs":4183,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":4183,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":4183,"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":"eb786bcf-b65f-4659-a398-4e1ddac3527f"},"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":2420,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-15T12:28:44.79033+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:eb786bcf-b65f-4659-a398-4e1ddac3527f:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"0a5b96d7-7479-4c5f-9df0-f8e9cb47bab7","command_center_event_id":"eb786bcf-b65f-4659-a398-4e1ddac3527f"},{"id":"5dd46325-1eae-4e68-9d7c-945c6fade825","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/big-papis-daily-event-ops","reason":"pull_request_not_open","status":"retryable","metrics":{"receiptBytes":3353,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":1,"ownerInterruptionCount":0},"version":"1.37.0-forgejo-native-control-plane","prNumber":15,"terminal":false,"missionId":"3053cade-1f02-4359-ad3c-1df1e0b9cb12","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":"3053cade-1f02-4359-ad3c-1df1e0b9cb12"},"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":474,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-14T14:53:58.763918+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"15","receipt_type":"execute_mission","idempotency_key":"mission:3053cade-1f02-4359-ad3c-1df1e0b9cb12:execute_mission:repair_mission_pr_ready_retryable","mission_step_id":"49ccc485-ddde-4e3c-9376-0cc9a31de6ad","command_center_event_id":"3053cade-1f02-4359-ad3c-1df1e0b9cb12"},{"id":"5dd545c7-ba82-478c-8ad9-971e34354eab","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/big-papis-calendar-public-private-20260821","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":8118,"releaseCount":0,"toolCallCount":5,"repeatedCallCount":2,"ownerInterruptionCount":0},"version":"1.50.9-specialized-read-budget","prNumber":null,"terminal":false,"missionId":"1f153a5c-3ab5-4a65-8982-3fb6dd53a048","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":"1f153a5c-3ab5-4a65-8982-3fb6dd53a048"},"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":9300,"likelyAffectedFiles":["src/__tests__/contracts/command-center-forgejo-transport-reliability.contract.test.ts","src/__tests__/contracts/command-center-existing-branch-refresh.contract.test.ts","src/__tests__/contracts/command-center-platform-mission-anchor.contract.test.ts","src/__tests__/contracts/command-center-release-reconciliation-budget.contract.test.ts",".forgejo/workflows/knocklaunch.yml","src/__tests__/commandCenter/deployDetection.test.ts","scripts/validate-command-center-contracts.mjs","config/control-plane-capabilities.json"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-21T13:41:40.711516+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:1f153a5c-3ab5-4a65-8982-3fb6dd53a048:execute_mission:repair_mission_synthesis_ready","mission_step_id":"31c4d07a-4bf2-4b2b-ac98-5dde83162bc5","command_center_event_id":"1f153a5c-3ab5-4a65-8982-3fb6dd53a048"},{"id":"5dd5a376-4c60-457d-918c-edad20f543e0","source":"cc-execution","status":"in_progress","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":null,"reason":null,"status":"in_progress","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.45-exact-green-direct-merge-refreeze","prNumber":1696,"terminal":false,"missionId":"52f4f5d6-1111-4c78-b24d-767a7bb22823","operation":"execute_mission","proofGate":"canonical_release_reconciliation_pending","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":16467,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":1894,"approvedPlanMs":0,"missionSetupMs":1519,"providerAuthMs":0,"shipAndProveMs":13882,"ledgerPrepareMs":775,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":1519,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":775,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create replacement work.","receiptRef":{"mode":"full","missionId":"52f4f5d6-1111-4c78-b24d-767a7bb22823"},"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":1501,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"b565f644-6d3c-4b61-97d6-f91a06dae0ec","created_at":"2026-09-04T13:32:36.412027+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"1696","receipt_type":"execute_mission","idempotency_key":"mission:52f4f5d6-1111-4c78-b24d-767a7bb22823:execute_mission:canonical_release_reconciliation_pending:current-generation","mission_step_id":"d2dc1953-7603-4611-acc9-a979f89a219b","command_center_event_id":"52f4f5d6-1111-4c78-b24d-767a7bb22823"},{"id":"5dd5c14c-9349-4f45-8ce8-f2e46fb99b50","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-408cf9f011a6","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":3356,"terminal":false,"missionId":"408cf9f0-11a6-4650-a9f1-d1845080d958","operation":"automatic_mission_resume","proofGate":"canonical_release_dispatched","sourceSha":"4b99654f3bd9d476c478be48ff275e54401ae9c5","timingsMs":{"prReadinessMs":143,"approvedPlanMs":0,"shipAndProveMs":612,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"408cf9f0-11a6-4650-a9f1-d1845080d958"},"performance":null,"deploymentId":"forgejo-main-4b99654f3bd9","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":2032,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-21T15:36:41.242872+00:00","proof_gate":"canonical_release_dispatched","source_sha":null,"external_id":"3356","receipt_type":"automatic_mission_resume","idempotency_key":"mission:408cf9f0-11a6-4650-a9f1-d1845080d958:automatic-mission-resume:3356:canonical_release_dispatched","mission_step_id":"211ced4f-dcf5-46a6-984f-b2188173452e","command_center_event_id":"408cf9f0-11a6-4650-a9f1-d1845080d958"},{"id":"5dd9615b-53f3-474a-9a9e-46af590fa4ff","source":"cc-execution","status":"blocked","payload":{"reason":"control_plane_maintenance_authorization_required","fingerprint":"b4cc8aa1c52793011f359bf5f61b2dba79233ad35c7408c7db398084c7c1c10f"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T21:07:14.124252+00:00","proof_gate":"repository_mutation_intent_deterministic_failure","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent_blocked","idempotency_key":"mission:1118f58b-b5c7-426f-ab73-cab3ff54774b:repository-mutation-intent-blocked:b4cc8aa1c52793011f359bf5f61b2dba79233ad35c7408c7db398084c7c1c10f","mission_step_id":"ace230c0-9384-4e0d-aed4-d5ffd5268b7f","command_center_event_id":"1118f58b-b5c7-426f-ab73-cab3ff54774b"},{"id":"5ddeba3d-4b87-49d5-bd4c-737ccf3274f7","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-0d753edd1975","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.223-durable-witness-lane-affinity","prNumber":null,"terminal":false,"missionId":"0d753edd-1975-4463-a80b-5497b8ab8f71","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":151,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":382,"providerAuthMs":0,"ledgerPrepareMs":382,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":382,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":382,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"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":"0d753edd-1975-4463-a80b-5497b8ab8f71"},"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":5040,"likelyAffectedFiles":["src/PrivateAppShell.tsx","scripts/visual-witness-hosted-runner/src/server-tenant-projection.mjs","scripts/visual-witness-hosted-runner/src/tenant-owner-preflight.mjs"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T13:47:31.142725+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:0d753edd-1975-4463-a80b-5497b8ab8f71:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"58e77d1c-2037-4873-b352-601418ff463c","command_center_event_id":"0d753edd-1975-4463-a80b-5497b8ab8f71"},{"id":"5de00424-c4d9-4fee-b585-98796e1a477d","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"reasoning_required","branch":null,"reason":"authoritative_source_resolution_failed","status":"source_resolution_required","metrics":{"receiptBytes":2638,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"executorlessWaitMs":2038,"firstUsefulResultAt":"2026-10-05T23:15:02.948Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.65.7-prime-stale-manual-retirement-adapter","prNumber":null,"terminal":false,"missionId":"8bc4422c-7076-49f4-bae9-facd810855e5","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1666,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":211,"providerAuthMs":0,"ledgerPrepareMs":211,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":211,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":211,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Supply exact sourceTargets on the same mission; planner guesses cannot replace missing mission scope.","receiptRef":{"mode":"full","missionId":"8bc4422c-7076-49f4-bae9-facd810855e5"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1638,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T23:15:12.535909+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:8bc4422c-7076-49f4-bae9-facd810855e5:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"a9bc3996-efc7-4e71-8df1-943c4971fa18","command_center_event_id":"8bc4422c-7076-49f4-bae9-facd810855e5"},{"id":"5de05712-8dcb-49f8-af66-51ebbc387fa4","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-mut0858r","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":64642,"releaseCount":0,"toolCallCount":19,"repeatedCallCount":16,"executorlessWaitMs":214504,"firstUsefulResultAt":"2026-10-03T23:10:47.744Z","recoveryAttemptCount":16,"ownerInterruptionCount":0},"version":null,"prNumber":4687,"terminal":false,"missionId":"442c7ef0-ae7a-4e4f-afa9-4db359aff310","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"cc84fcbffb937230e5098569ad2867d8018ae687","timingsMs":{"prReadinessMs":685,"approvedPlanMs":0,"shipAndProveMs":3119,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"442c7ef0-ae7a-4e4f-afa9-4db359aff310"},"performance":null,"deploymentId":"forgejo-main-cc84fcbffb93","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["operator-respond"]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["repository","runtime","runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1888,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T23:14:28.113169+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"4687","receipt_type":"automatic_mission_resume","idempotency_key":"mission:442c7ef0-ae7a-4e4f-afa9-4db359aff310:automatic-mission-resume:4687:canonical_release_reconciliation_pending","mission_step_id":"1083e385-460e-4cc8-8fc4-a5c9e6461a7d","command_center_event_id":"442c7ef0-ae7a-4e4f-afa9-4db359aff310"},{"id":"5de212f3-408d-4195-8eb6-99c132f00040","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:b2fa0b69-72a3-48cc-8c89-cfae56e31228","mission_step_id":null,"command_center_event_id":"b2fa0b69-72a3-48cc-8c89-cfae56e31228"},{"id":"5de3606b-d9a3-47b7-b7aa-80c4e5436b59","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/src/forgejo-provider.js","workers/cc-execution/src/version.js"],"reason":"Owner-authorized continuation of the merge queue control-plane repair; use exact current main to avoid the proven flaky branch-read probe before mutation.","baseSha":"ed20fe9f5bba7793ebf60f019714969c32aacf0a","issuedAt":1788986598448,"expiresAt":1788986778448,"missionId":"9fdd8276-4bea-4672-a50c-9a0b3f76c195","authorizationId":"880c7382-b69f-41d7-8a4a-ed51326d55ce","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-09T20:43:18.921223+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"ed20fe9f5bba7793ebf60f019714969c32aacf0a","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:880c7382-b69f-41d7-8a4a-ed51326d55ce","mission_step_id":"53ae16e9-bf82-479e-aa97-d7c959e02f06","command_center_event_id":"9fdd8276-4bea-4672-a50c-9a0b3f76c195"},{"id":"5de3d446-129b-46ae-a90b-ba4d9b8aaa71","source":"forgejo","status":"waiting","payload":{"branch":"ai/modes-default-pack-schema-0ccdf31c","prNumber":2617,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"a621f500bb5ce3dddc4f43f0470a3a8030e61c8f","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-13T03:29:18.415566+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"a621f500bb5ce3dddc4f43f0470a3a8030e61c8f","external_id":"2617","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:0ccdf31c-300d-4043-9f30-4ce7329435dc:merged-pr:2617:a621f500bb5ce3dddc4f43f0470a3a8030e61c8f","mission_step_id":"c9bc81e1-308c-42fa-a0c3-6f13377565a3","command_center_event_id":"0ccdf31c-300d-4043-9f30-4ce7329435dc"},{"id":"5de409fa-191e-403d-9b68-d19632405792","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Repair the exact post-merge migration-ledger collision for the existing long-running job notification mission. Production version 20260906013000 is already owned by book_me_directly_public_profile_and_provisioning_reconciliation. From current Forgejo main, rename only supabase/migrations/20260906013000_universal_background_jobs.sql to the confirmed-unused supabase/migrations/20260906014800_universal_background_jobs.sql with identical SQL content, and update only src/__tests__/contracts/background-job-notifications.contract.test.ts so its migration path points to 20260906014800_universal_background_jobs.sql. Do not change any other product source, notification/job behavior, existing migration ledger rows, Roof Estimator wiring, or the roof-estimator Edge Function. Pass KnockLaunch Gate, squash merge the corrective generation, release only affected targets, and prove app_background_jobs live. No Visual Witness.","wordingChanged":false,"canonicalIntent":"Repair the exact post-merge migration-ledger collision for the existing long-running job notification mission. Production version 20260906013000 is already owned by book_me_directly_public_profile_and_provisioning_reconciliation. From current Forgejo main, rename only supabase/migrations/20260906013000_universal_background_jobs.sql to the confirmed-unused supabase/migrations/20260906014800_universal_background_jobs.sql with identical SQL content, and update only src/__tests__/contracts/background-job-notifications.contract.test.ts so its migration path points to 20260906014800_universal_background_jobs.sql. Do not change any other product source, notification/job behavior, existing migration ledger rows, Roof Estimator wiring, or the roof-estimator Edge Function. Pass KnockLaunch Gate, squash merge the corrective generation, release only affected targets, and prove app_background_jobs live. No Visual Witness.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"long-running-jobs","statement":"Long-running app work has durable progress, active-work UI, and deduped terminal notifications, with Roof Estimator wired as the first producer.","proofConditionIds":["repo-ui","repo-estimator","repo-bell","repo-migration","release","database"]}],"objective":"Repair the exact post-merge migration-ledger collision for the existing long-running job notification mission. Production version 20260906013000 is already owned by book_me_directly_public_profile_and_provisioning_reconciliation. From current Forgejo main, rename only supabase/migrations/20260906013000_universal_background_jobs.sql to the confirmed-unused supabase/migrations/20260906014800_universal_background_jobs.sql with identical SQL content, and update only src/__tests__/contracts/background-job-notifications.contract.test.ts so its migration path points to 20260906014800_universal_background_jobs.sql. Do not change any other product source, notification/job behavior, existing migration ledger rows, Roof Estimator wiring, or the roof-estimator Edge Function. Pass KnockLaunch Gate, squash merge the corrective generation, release only affected targets, and prove app_background_jobs live. No Visual Witness.","constraints":[{"id":"preserve","statement":"Preserve all #1912 product behavior, existing notification/preferences data, existing migration ledger rows, and Roof Estimator result behavior; do not modify the roof-estimator Edge Function.","proofConditionIds":["repo-estimator","repo-migration","database"]},{"id":"resequence-only","statement":"The corrective source change only resequences the background-jobs migration from collided 20260906013000 to unused 20260906014800 and updates its contract-test reference.","proofConditionIds":["repo-migration"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"repo-ui","kind":"repository","claim":"Notifications center shows Active work.","route":"src/pages/crm/UnifiedNotifications.tsx","roleRef":null,"userRef":null,"required":true,"expectedText":"Active work","targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"repo-estimator","kind":"repository","claim":"Roof Estimator uses roof.measurement background jobs.","route":"src/pages/roof-estimator/RoofTracingPage.tsx","roleRef":null,"userRef":null,"required":true,"expectedText":"jobType: 'roof.measurement'","targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"repo-bell","kind":"repository","claim":"Notification bell exposes active background jobs.","route":"src/components/notifications/NotificationBell.tsx","roleRef":null,"userRef":null,"required":true,"expectedText":"active background job","targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"repo-migration","kind":"repository","claim":"Current Forgejo source contains the resequenced universal background-jobs migration.","route":"supabase/migrations/20260906014800_universal_background_jobs.sql","roleRef":null,"userRef":null,"required":true,"expectedText":"create table if not exists public.app_background_jobs","targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"release","kind":"release","claim":"Affected production targets complete from the exact corrective merged source.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"database","kind":"runtime","claim":"Production contains app_background_jobs with tenant/user isolation and terminal notification transition behavior.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestContractHash":"878cc3529c63b1808e46892da176ec198a0f0a5adcc306f8ddaaf00afc7b7848","requestContractRevision":6,"previousRequestContractHash":"fd6396eb5e905d7cd3c82ffe418aeeb42f92c321eafe0ca7aa27d97dbee57569"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-06T01:51:34.699199+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:b8f0e488-cb62-41a3-9d2e-48f214fe07c4:request-contract:878cc3529c63b1808e46892da176ec198a0f0a5adcc306f8ddaaf00afc7b7848","mission_step_id":"ab888721-f04c-4a62-b9fd-40986e53c32f","command_center_event_id":"b8f0e488-cb62-41a3-9d2e-48f214fe07c4"},{"id":"5de41121-e3bd-453b-9cd1-f7cd1628beba","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-ce0b1c3ec9c2","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":2699,"terminal":false,"missionId":"ce0b1c3e-c9c2-40da-8f26-409c28793d06","operation":"automatic_mission_resume","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"prReadinessMs":985,"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":"ce0b1c3e-c9c2-40da-8f26-409c28793d06"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1283,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-14T01:32:11.495756+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"2699","receipt_type":"automatic_mission_resume","idempotency_key":"mission:ce0b1c3e-c9c2-40da-8f26-409c28793d06:automatic-mission-resume:2699:repair_mission_waiting_for_gate","mission_step_id":"d0d4c96e-99e6-42f0-8a43-661fdcb1d71c","command_center_event_id":"ce0b1c3e-c9c2-40da-8f26-409c28793d06"},{"id":"5de49998-6e0e-452d-9da0-fb829979fdc6","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"664e54c5fee74c235d526d34151b2e1abbf256e9","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"664e54c5fee74c235d526d34151b2e1abbf256e9","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-23T05:21:43.188636+00:00","proof_gate":"canonical_release_pending","source_sha":"664e54c5fee74c235d526d34151b2e1abbf256e9","external_id":null,"receipt_type":"canonical_release_status","idempotency_key":"mission:4f4604c3-703f-4081-91e3-f67ebc1bdb22:forgejo-release-status:664e54c5fee74c235d526d34151b2e1abbf256e9:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"a69126f4-0f86-43f7-95f3-d5b5badec354","command_center_event_id":"4f4604c3-703f-4081-91e3-f67ebc1bdb22"},{"id":"5de61356-9fbf-41c1-90d2-f5f6d86daae9","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in reasoning required.","nextAction":{"lane":"cc-execution","action":"continue_implementation","reason":"synthesis_required","handoff":null,"capability":"heavy-build-gate","automationAllowed":true,"ownerActionRequired":false,"resumeFromCheckpoint":"preflight"},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"reasoning_required\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"synthesis_required\",\"proofGate\":\"repair_mission_synthesis_ready\"},\"activeStep\":{\"key\":\"implementation\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"continue_implementation\",\"lane\":\"cc-execution\",\"reason\":\"synthesis_required\",\"automationAllowed\":true,\"ownerActionRequired\":false,\"capability\":\"heavy-build-gate\",\"resumeFromCheckpoint\":\"preflight\",\"handoff\":null},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"continue_implementation\",\"recoveryOwner\":\"cc-execution\",\"capability\":\"heavy-build-gate\",\"resumeFromCheckpoint\":\"preflight\",\"handoff\":null},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"pull_request\",\"deadlineAt\":\"2026-10-06T22:15:21.711404+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-06T20:12:39.977956+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:b3fe88d5-e764-47de-a08c-a65bd9702bef:owner-progress-heartbeat:119421170","mission_step_id":"73c7854d-ad1e-4c86-b0c4-8adcfe8b5294","command_center_event_id":"b3fe88d5-e764-47de-a08c-a65bd9702bef"},{"id":"5de6a90f-650e-4b3c-b423-64b37a52dc44","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-dae1d0a1b08a","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":3292,"terminal":false,"missionId":"dae1d0a1-b08a-429c-bcd3-5611bb42e914","operation":"automatic_mission_resume","proofGate":"canonical_release_dispatched","sourceSha":"603c85a1a2c4b8ee31c347f965c41ca6c0de3f3b","timingsMs":{"prReadinessMs":141,"approvedPlanMs":0,"shipAndProveMs":1081,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"dae1d0a1-b08a-429c-bcd3-5611bb42e914"},"performance":null,"deploymentId":"forgejo-main-603c85a1a2c4","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["tenant-media-library"]},"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":1959,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-20T15:42:45.53075+00:00","proof_gate":"canonical_release_dispatched","source_sha":null,"external_id":"3292","receipt_type":"automatic_mission_resume","idempotency_key":"mission:dae1d0a1-b08a-429c-bcd3-5611bb42e914:automatic-mission-resume:3292:canonical_release_dispatched","mission_step_id":"6ac2fa2c-9aa2-49a8-8b25-3d219add00cf","command_center_event_id":"dae1d0a1-b08a-429c-bcd3-5611bb42e914"},{"id":"5de7453a-d222-41b5-bec8-13b6851d1e4a","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-850a73db30fe","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":27869,"releaseCount":0,"toolCallCount":8,"repeatedCallCount":1,"executorlessWaitMs":164830,"firstUsefulResultAt":"2026-10-03T21:18:50.219Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.77-paul-heldout-repair","prNumber":4674,"terminal":false,"missionId":"850a73db-30fe-47b2-9651-e2dff4f26843","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4941,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":763,"missionSetupMs":259,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":259,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":259,"repositoryMutationMs":4178,"repositoryProviderMs":4178,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2554,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":259,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1624},"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":"850a73db-30fe-47b2-9651-e2dff4f26843"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["repository","runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3749,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T21:21:42.379326+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"4674","receipt_type":"execute_mission","idempotency_key":"mission:850a73db-30fe-47b2-9651-e2dff4f26843:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"15dffb73-60dc-4e07-8793-3a8e54dc209d","command_center_event_id":"850a73db-30fe-47b2-9651-e2dff4f26843"},{"id":"5de9e6b1-df09-4a59-b640-d9a5f4959c65","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"e45d9bedd6ff7d54a603b0286af19b1265dfbda0","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"e45d9bedd6ff7d54a603b0286af19b1265dfbda0","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/620","runId":620,"status":"running","conclusion":null,"failedJobs":[]},"onrunnerRuntimeProof":null,"ccExecutionRuntimeProof":null},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-16T00:38:08.518663+00:00","proof_gate":"canonical_release_pending","source_sha":"e45d9bedd6ff7d54a603b0286af19b1265dfbda0","external_id":"forgejo-main-e45d9bedd6ff","receipt_type":"canonical_release_status","idempotency_key":"mission:703cab78-40a1-440d-be03-f4fd9cab6837:forgejo-release-status:e45d9bedd6ff7d54a603b0286af19b1265dfbda0:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"cc27cb22-f19b-40dc-97a6-da3187f43753","command_center_event_id":"703cab78-40a1-440d-be03-f4fd9cab6837"},{"id":"5deaf9ae-05f2-4fbf-bad2-c666d9682896","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:29:46.472502+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:119417879","mission_step_id":"3f87b5cc-95c7-45ca-a19c-5de0d9146e8d","command_center_event_id":"1ac7f316-f174-4a19-8f65-70f51fa4ba0e"},{"id":"5dec82e8-3cb5-4be8-abee-02e4c1267c7d","source":"cc-execution","status":"authorized","payload":{"paths":[".forgejo/workflows/knocklaunch.yml","scripts/release-event-native-plan.test.mjs"],"reason":"The required Wrangler entry point imports cloudflare-native-owner-worker.mjs and cloudflare-native-platform-seo.mjs. Include the complete three-file worker dependency closure in the minimal frontend release checkout before merge.","baseSha":"ef9ef5bd87afae514627184a197cfda05204c0f3","issuedAt":1789071084940,"expiresAt":1789071264940,"missionId":"ae5e2ebd-229e-4344-a22b-531be48440a3","authorizationId":"6e310778-368a-4096-9313-0bfa8fe2b1c8","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-10T20:11:25.443553+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"ef9ef5bd87afae514627184a197cfda05204c0f3","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:6e310778-368a-4096-9313-0bfa8fe2b1c8","mission_step_id":"0e371827-2004-4770-b444-4d5bfe2d8b62","command_center_event_id":"ae5e2ebd-229e-4344-a22b-531be48440a3"},{"id":"5ded7f59-c2b2-4560-bc39-490e65153a5a","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":"558c2a86fa1c321075eeb24520b27182a294cc3b","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":"558c2a86fa1c321075eeb24520b27182a294cc3b","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["owner-search-console"]},"releaseTargetStates":{"frontend":"pending","supabaseEdge":"pending"},"requestContractHash":"f8a279b19882c14a05eaaae2b048bce7d282661d4026cec034ae8b33e6b993f1","forgejoWorkflowProof":{"runId":7456,"source":"signed_push_receipt","status":"waiting","results":{},"conclusion":"waiting","targetStates":{"frontend":"pending","supabaseEdge":"pending"},"targetJobCount":7,"observedTargetStates":{"frontend":"pending","supabaseEdge":"pending"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T18:46:04.660873+00:00","proof_gate":"canonical_release_pending","source_sha":"558c2a86fa1c321075eeb24520b27182a294cc3b","external_id":"forgejo-main-558c2a86fa1c","receipt_type":"canonical_release_status","idempotency_key":"mission:65dfaf9c-1483-40f5-9ace-8b2f6f929492:forgejo-release-status:558c2a86fa1c321075eeb24520b27182a294cc3b:pending:forgejo-main/source=success|forgejo-release/workflow=pending|supabase-edge-production/live=pending|frontend-cloudflare/live=pending","mission_step_id":"ed0d1a07-2fb1-493f-a385-9b22ab8dc47a","command_center_event_id":"65dfaf9c-1483-40f5-9ace-8b2f6f929492"},{"id":"5dee9b95-2657-4555-94d1-40e1d5f7405d","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-b0f8cc6896a4","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.218-durable-async-repository-mutation","prNumber":3474,"terminal":false,"missionId":"b0f8cc68-96a4-48b4-8696-5fd33d1c91e1","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":861,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":731,"approvedPlanMs":0,"missionSetupMs":429,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":238,"ledgerReconcileMs":0,"lineageReconcileMs":191,"resolvePreflightMs":429,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":238,"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":"b0f8cc68-96a4-48b4-8696-5fd33d1c91e1"},"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":1970,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T02:12:41.938623+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"3474","receipt_type":"execute_mission","idempotency_key":"mission:b0f8cc68-96a4-48b4-8696-5fd33d1c91e1:execute_mission:repair_mission_waiting_for_gate:current-generation","mission_step_id":"c6b9d187-8f11-44c7-83cf-fb2672f46400","command_center_event_id":"b0f8cc68-96a4-48b4-8696-5fd33d1c91e1"},{"id":"5def3fe9-36df-4274-823d-96a4834c71cd","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/mobile-vendor-operating-system","reason":"anchored_edit_anchor_missing:src/lib/tenants/tenantTypes.ts","status":"blocked","metrics":{"receiptBytes":1806,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.46.8-intent-aware-objectives","prNumber":null,"terminal":false,"missionId":"9430902d-0cf2-4151-acfe-8dad5fe0fb9b","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"9430902d-0cf2-4151-acfe-8dad5fe0fb9b"},"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":1829,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-15T20:29:55.079672+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:9430902d-0cf2-4151-acfe-8dad5fe0fb9b:execute_mission:repair_mission_execution_blocked","mission_step_id":"4de1d011-339f-4a5b-96bd-b0dfb3d05b21","command_center_event_id":"9430902d-0cf2-4151-acfe-8dad5fe0fb9b"},{"id":"5def536e-ba6d-48c3-99ec-30f5896f97a2","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Unfreeze control plane only for this exact owner-authorized reliability canary. Continue the same mission after deliberate closure of PR #3345. Reopen that exact eligible ai/* PR, run canonical Gate, squash merge, release cc-execution, and reach terminal live proof without owner intervention.","wordingChanged":false,"canonicalIntent":"Unfreeze control plane only for this exact owner-authorized reliability canary. Continue the same mission after deliberate closure of PR #3345. Reopen that exact eligible ai/* PR, run canonical Gate, squash merge, release cc-execution, and reach terminal live proof without owner intervention.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"canary","statement":"The same durable mission survives deliberate closure of its exact ai/* PR, reopens it automatically, passes canonical Gate, merges, releases cc-execution, and reaches terminal live proof.","proofConditionIds":["repo","runtime"]}],"objective":"Unfreeze control plane only for this exact owner-authorized reliability canary. Continue the same mission after deliberate closure of PR #3345. Reopen that exact eligible ai/* PR, run canonical Gate, squash merge, release cc-execution, and reach terminal live proof without owner intervention.","constraints":[{"id":"capability-completeness","statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["repo","runtime"]},{"id":"atomic-capability-lifecycle","statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["repo","runtime"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"repo","kind":"repository","claim":"Protected main contains version 1.58.203-reliability-canary after the exact PR is automatically reconciled.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false},{"id":"runtime","kind":"runtime","claim":"cc-execution reports version 1.58.203-reliability-canary from the merged canary SHA.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}],"validationErrors":[],"capabilityManifest":{"id":"Unfreeze-control-plane-only-for-this-exact-owner-authorized-reliability-canary.-Continue-the-same-mi","driftPolicy":"exact_manifest_source_release_dependency_or_runtime_identity_mismatch_is_nonterminal","proofLedger":"command_center_mission_ledger_request_contract_hash_bound","schemaVersion":1,"releaseTargets":[],"lifecycleStates":["prepare","deploy","verify","activate"],"activationPolicy":"dependencies_and_claim_matched_live_proof_before_exposure","dependencyDomains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_required_not_runtime_failures","compatibilityWindow":["N","N-1"],"failureIsolationPolicy":"quarantine_or_rollback_affected_capability_only_preserve_unrelated_working_capabilities","canaryProofConditionIds":["repo","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":"edf48fee189fe48f9932b2b34e265c672333dcbc7901a0c529e59400b0c0ef1f","requestContractRevision":3,"previousRequestContractHash":"780e7bf59eff725cc0826ae73269c0323eb0af6d8046ad2f0edac03421abc4b7"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-21T12:23:50.986961+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:75bc676f-267f-400e-9dbe-9bb6bb84764e:request-contract:edf48fee189fe48f9932b2b34e265c672333dcbc7901a0c529e59400b0c0ef1f","mission_step_id":"cc480a80-1758-4fb8-8286-bc6a6f3da194","command_center_event_id":"75bc676f-267f-400e-9dbe-9bb6bb84764e"},{"id":"5df13229-493f-4d61-ab05-99c55886d272","source":"cc-execution","status":"release_verification_pending","payload":{"ok":true,"jobId":null,"phase":"release","branch":null,"reason":null,"status":"release_verification_pending","metrics":{"receiptBytes":2112,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":1,"ownerInterruptionCount":0},"version":"1.30.16-controlled-merge-fallback-fix","prNumber":4065,"terminal":false,"missionId":"01d814cc-94b9-41ec-82e2-be5c4a83c881","operation":"ship_and_prove","proofGate":"ship_and_prove_release_pending","sourceSha":"57cf02fee3d89ed22fd1bac7e327584cf1ed74b1","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"01d814cc-94b9-41ec-82e2-be5c4a83c881"},"performance":null,"deploymentId":"canonical-release-57cf02fee3d8","workflowRunId":31025348003,"releaseTargets":{"frontend":true,"onrunner":false,"ccExecution":false,"supabaseEdge":false},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"onePullRequest":true,"terminalProofRequired":true},"sourceReceiptBytes":1103,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-05T16:27:36.906838+00:00","proof_gate":"ship_and_prove_release_pending","source_sha":"57cf02fee3d89ed22fd1bac7e327584cf1ed74b1","external_id":"canonical-release-57cf02fee3d8","receipt_type":"ship_and_prove","idempotency_key":"mission:01d814cc-94b9-41ec-82e2-be5c4a83c881:ship_and_prove:ship_and_prove_release_pending","mission_step_id":"f1b9daa3-2d2d-4d11-90a4-307808eaffda","command_center_event_id":"01d814cc-94b9-41ec-82e2-be5c4a83c881"},{"id":"5df2e7a3-5062-455d-8228-6237aaf697ae","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-079636c9f7b3","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":5003,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"executorlessWaitMs":8602,"firstUsefulResultAt":"2026-10-03T04:34:47.495Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.75-knocklaunch-mcp-fast-watch","prNumber":4623,"terminal":false,"missionId":"079636c9-f7b3-4faf-85fd-deca1528b03b","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4084,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":692,"missionSetupMs":183,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":183,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":183,"repositoryMutationMs":3392,"repositoryProviderMs":3392,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2047,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":183,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1345},"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":"079636c9-f7b3-4faf-85fd-deca1528b03b"},"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":3421,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T04:35:01.298554+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"4623","receipt_type":"execute_mission","idempotency_key":"mission:079636c9-f7b3-4faf-85fd-deca1528b03b:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"42486e38-bbd3-4d92-ae51-5099483f4968","command_center_event_id":"079636c9-f7b3-4faf-85fd-deca1528b03b"},{"id":"5df34d37-62f0-4429-83da-b3dd0e636b5e","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-mtinpods","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":11825,"releaseCount":0,"toolCallCount":6,"repeatedCallCount":2,"ownerInterruptionCount":0},"version":"1.58.2-visual-witness-proof-projection","prNumber":1248,"terminal":false,"missionId":"a7b4c95f-06df-454d-a03c-26c9b5f74175","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"handlerMs":1212,"prReadinessMs":960,"approvedPlanMs":0,"missionSetupMs":617,"shipAndProveMs":0},"nextAction":"Reconcile this same mission and pull request after the exact-head KnockLaunch Gate changes state.","receiptRef":{"mode":"full","missionId":"a7b4c95f-06df-454d-a03c-26c9b5f74175"},"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":1496,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"de8369b6-a78f-40bb-ae1f-28ffca62bc7e","created_at":"2026-09-01T12:48:59.098581+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"1248","receipt_type":"execute_mission","idempotency_key":"mission:a7b4c95f-06df-454d-a03c-26c9b5f74175:execute_mission:repair_mission_waiting_for_gate:current-generation","mission_step_id":"50c316bc-929e-4bff-8c2e-ecf68ea5bff6","command_center_event_id":"a7b4c95f-06df-454d-a03c-26c9b5f74175"},{"id":"5df466c1-5b3e-452d-b5f7-4cfbc4ca76cb","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":null,"reason":null,"status":"source_resolution_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":null,"recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.0-platform-sidekick-intelligence","prNumber":null,"terminal":false,"missionId":"a1955c8b-db2c-4af5-9f97-675e040c43d1","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1407,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":586,"providerAuthMs":0,"ledgerPrepareMs":586,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":586,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":586,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Supply exact sourceTargets on the same mission; planner guesses cannot replace missing mission scope.","receiptRef":{"mode":"full","missionId":"a1955c8b-db2c-4af5-9f97-675e040c43d1"},"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-29T13:16:04.978432+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:a1955c8b-db2c-4af5-9f97-675e040c43d1:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"46fdf551-d778-4e2a-bfb9-36be119598e6","command_center_event_id":"a1955c8b-db2c-4af5-9f97-675e040c43d1"},{"id":"5df7d474-c082-45c0-bd7f-99f46e9e4aed","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"f0a99db22a71049c6bf49b97633fe9036b24d0a0","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"validated-oauth-forwarding","satisfied":false,"statement":"Command Center preserves the already-validated owner OAuth token only in a dedicated internal header while keeping CC_EXECUTION_KEY as normal internal Authorization; caller-supplied copies are removed.","proofConditionIds":["repo-handoff","cc-live"]},{"id":"bootstrap-uses-owner-oauth","satisfied":false,"statement":"modes_storage_bootstrap accepts only verified supabase_oauth context and forwards only the dedicated validated OAuth bearer to tenant-media-library, never CC_EXECUTION_KEY.","proofConditionIds":["repo-handoff","cc-live"]},{"id":"modes-storage-complete","satisfied":true,"statement":"After the live control-plane repair, all canonical MODES tenants are bootstrapped and direct Supabase proof shows every actual mode-card storage slug has a physical storage object and tenant-scoped registered asset.","proofConditionIds":["live-storage"]}],"satisfied":false,"constraints":[{"id":"bounded-source","satisfied":false,"statement":"Only index-mcp-oauth.js, index-mcp.js, version.js, and release-orchestration-invariants.test.js may change.","proofConditionIds":["repo-handoff"]},{"id":"no-auth-weakening","satisfied":false,"statement":"OAuth signature/issuer/expiry/client/email/owner validation, CC_EXECUTION_KEY internal authorization, Edge GodMode authorization, and tenant isolation remain intact.","proofConditionIds":["repo-handoff","live-storage"]},{"id":"no-new-secret","satisfied":false,"statement":"No new secret, schema, migration, public route, or duplicate storage implementation is introduced.","proofConditionIds":["repo-handoff"]},{"id":"release-scope","satisfied":true,"statement":"Only cc-execution is released for this control-plane repair.","proofConditionIds":["cc-live"]},{"id":"capability-completeness","satisfied":false,"statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["repo-handoff","cc-live","live-storage"]},{"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-handoff","cc-live","live-storage"]}],"contractHash":"34b2550958a93e478394a0d64d07840a25edb973c1f3994b5719c177452bd974","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"repo-handoff","kind":"repository","evidence":{"reason":null,"satisfied":true,"missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"ccExecution":"success"},"repositoryProofGate":null,"repositoryProofPath":null,"requestContractHash":"34b2550958a93e478394a0d64d07840a25edb973c1f3994b5719c177452bd974","unsuccessfulTargets":[],"activeReleaseTargets":["ccExecution"],"allowedReleaseTargets":[],"repositoryProofStatus":"required","expectedRepositoryPath":null,"requiredReleaseTargets":[],"migrationReleaseVerified":null,"repositoryConditionBound":false,"repositoryProofSourceSha":null},"required":true,"satisfied":false},{"id":"cc-live","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":"34b2550958a93e478394a0d64d07840a25edb973c1f3994b5719c177452bd974"},"required":true,"satisfied":true},{"id":"live-storage","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"ccExecution":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["ccExecution"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"34b2550958a93e478394a0d64d07840a25edb973c1f3994b5719c177452bd974"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":["repository"],"activeReleaseTargets":["ccExecution"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-13T02:04:55.068951+00:00","proof_gate":"request_contract_pending","source_sha":"f0a99db22a71049c6bf49b97633fe9036b24d0a0","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:c877bd41-13c4-429c-8a8a-d666b421bbe2:request-contract:34b2550958a93e478394a0d64d07840a25edb973c1f3994b5719c177452bd974:f0a99db22a71049c6bf49b97633fe9036b24d0a0:pending:repository","mission_step_id":"ae7a822c-df54-47e0-ac20-90fec93a6627","command_center_event_id":"c877bd41-13c4-429c-8a8a-d666b421bbe2"},{"id":"5df7ed24-924b-4ce8-af25-2cfa8953faf2","source":"cc-execution","status":"authorized","payload":{"paths":["config/control-plane-capabilities.json","workers/cc-execution/src/index-mcp.js","workers/cc-execution/src/version.js","workers/cc-execution/test/release-orchestration-invariants.test.js"],"reason":"Owner-authorized consolidation. The transport contract test does not contain duplicate numeric operator assertions on current main, so the exact mutation scope is reduced to the four files that actually own or assert this contract.","baseSha":"5b5faac378335d272039a52560918dfda6d06674","issuedAt":1789177594221,"expiresAt":1789177774221,"missionId":"a3d6673b-3c9f-4d2f-b261-b03d33ae21ac","authorizationId":"dbca069b-6bd9-458b-a475-d4af0b1ddd94","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T01:46:34.646837+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"5b5faac378335d272039a52560918dfda6d06674","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:dbca069b-6bd9-458b-a475-d4af0b1ddd94","mission_step_id":"58573268-6e6c-4e6a-b901-db9e96e6a86e","command_center_event_id":"a3d6673b-3c9f-4d2f-b261-b03d33ae21ac"},{"id":"5df878ad-406d-4562-be8b-f1da41fcc8e8","source":"onrunner","status":"verified","payload":{"ok":true,"jobId":"49b4a1be-2ad7-4edf-a376-f4f1c88b65e7","phase":"universal_visual_witness_status","branch":"ai/objective-first-repair-53d37037d0b1","reason":null,"status":"verification_pending","metrics":{"receiptBytes":45813,"releaseCount":0,"toolCallCount":14,"repeatedCallCount":3,"executorlessWaitMs":795241,"firstUsefulResultAt":"2026-09-26T14:20:05.432Z","recoveryAttemptCount":2,"ownerInterruptionCount":0},"version":null,"prNumber":3798,"terminal":false,"missionId":"53d37037-d0b1-4265-b5b6-e9ea72ad856e","operation":"visual_proof_status","proofGate":"interactive_visual_witness_verified","sourceSha":"d9bbea33164a3180face92d5fcee1bbdd09997c6","timingsMs":{"queue":1299,"total":39713,"execution":38414},"nextAction":null,"receiptRef":{"mode":"full","missionId":"53d37037-d0b1-4265-b5b6-e9ea72ad856e"},"performance":null,"deploymentId":"forgejo-main-d9bbea33164a","releaseState":"verified","visualWitness":{"role":"GodMode","jobId":"49b4a1be-2ad7-4edf-a376-f4f1c88b65e7","tenant":null,"runnerUrl":"https://paul-witness.knocklaunch.app","runnerLane":"paul","attemptsUsed":1,"supervisorId":"49b4a1be-2ad7-4edf-a376-f4f1c88b65e7","failureReason":null,"observedRoute":"/admin","runnerVersion":"paul-8c6a52496642","attemptLineage":[{"jobId":"862b17bf-0be3-4719-9168-bf89d785e81d","attempt":1,"category":"verified","sourceSha":"8c6a52496642117d593928d4a926b161c464737d","startedAt":"2026-09-26T14:31:22.673Z","completedAt":"2026-09-26T14:32:03.169Z","runtimeLane":"cc-execution -> DigitalOcean PAUL -> universal-witness.mjs","browserEngine":"chromium","failureReason":null,"retryRecovery":null,"runnerVersion":"paul-8c6a52496642","browserLaunchReason":"virtual_runtime_headless","checkpointAccounting":{"route":{"required":1,"completed":1,"missingIds":[]},"action":{"required":0,"completed":0,"missingIds":[]},"missing":0,"resumed":0,"complete":true,"evidence":{"required":1,"completed":1,"missingIds":[]},"completed":2,"remaining":0,"duplicates":0,"duplicateIds":[],"expectedTotal":2}}],"missionOutcome":"verified","requestedRoute":"/admin","runnerSourceSha":"8c6a52496642117d593928d4a926b161c464737d","selectedViewports":["desktop"],"checkpointAccounting":{"route":{"required":1,"completed":1,"missingIds":[]},"action":{"required":0,"completed":0,"missingIds":[]},"missing":0,"resumed":0,"complete":true,"evidence":{"required":1,"completed":1,"missingIds":[]},"completed":2,"remaining":0,"duplicates":0,"duplicateIds":[],"expectedTotal":2},"correctiveGeneration":0,"restartReplayHistory":[]},"workflowRunId":11982,"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":11925,"ownerActionRequired":false,"ownerFacingTerminal":false,"requestContractHash":"b1e2813ac99263e37d8c7f29d63bdfdb55ea5a61940ed942b2672460e8d45858","continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-26T14:33:22.101538+00:00","proof_gate":"interactive_visual_witness_verified","source_sha":"paul-8c6a52496642","external_id":"49b4a1be-2ad7-4edf-a376-f4f1c88b65e7","receipt_type":"visual_proof_status","idempotency_key":"mission:53d37037-d0b1-4265-b5b6-e9ea72ad856e:visual:49b4a1be-2ad7-4edf-a376-f4f1c88b65e7:verified","mission_step_id":"01c643bf-804e-498e-b046-bfd3aea00ba9","command_center_event_id":"53d37037-d0b1-4265-b5b6-e9ea72ad856e"},{"id":"5df92974-9355-49aa-ab31-66bdd8fc806f","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"a6bcd9b0eb089e83a77526728edff6dee4d7bfec","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":true,"statement":"Production Big Papi's MODES cards use image assets for Plan, Pop-Up, Booked Event, and Back Office headings at the top of the cards, preserving the existing card content and actions.","proofConditionIds":["proof-production"]}],"satisfied":true,"constraints":[{"id":"constraint-1","satisfied":true,"statement":"Mutate only the big-papis tenant experience.","proofConditionIds":["proof-production"]},{"id":"constraint-2","satisfied":true,"statement":"Do not change other tenants.","proofConditionIds":["proof-production"]},{"id":"constraint-3","satisfied":true,"statement":"Do not redesign card bodies or actions.","proofConditionIds":["proof-production"]},{"id":"constraint-4","satisfied":true,"statement":"Use image assets and img rendering for the visible mode headings.","proofConditionIds":["proof-production"]},{"id":"constraint-5","satisfied":true,"statement":"Title style: bold brush/script lettering, small gold crown, bright saturated colors, dark outline/shadow, transparent background.","proofConditionIds":["proof-production"]}],"contractHash":"07ce40e2c08414f1f145f5d8d635eb9e4561f4c12cf179a94d140908d1ace4a9","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"proof-production","kind":"runtime","evidence":{"releaseState":"verified","activeReleaseTargets":["frontend"],"releaseRequestContractHash":"07ce40e2c08414f1f145f5d8d635eb9e4561f4c12cf179a94d140908d1ace4a9"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-09-11T22:07:40.930039+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"a6bcd9b0eb089e83a77526728edff6dee4d7bfec","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:6acf6026-2379-4faa-831e-78c4c7016cf4:request-contract:07ce40e2c08414f1f145f5d8d635eb9e4561f4c12cf179a94d140908d1ace4a9:a6bcd9b0eb089e83a77526728edff6dee4d7bfec:verified:","mission_step_id":"749705d6-6f90-4762-809b-4affbf769138","command_center_event_id":"6acf6026-2379-4faa-831e-78c4c7016cf4"},{"id":"5df9fde2-7cb7-41b3-a946-97d90cfe9e40","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/big-papi-simple-event-closeout-20260824","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":9336,"releaseCount":0,"toolCallCount":6,"repeatedCallCount":2,"ownerInterruptionCount":0},"version":"1.50.25-cross-scope-source-seeds","prNumber":685,"terminal":false,"missionId":"7d2b97b5-c827-408b-b0a3-d75daa3da551","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"af17deaa6329e2386649776c98dd4c0c9d0fafed","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"7d2b97b5-c827-408b-b0a3-d75daa3da551"},"performance":null,"deploymentId":"forgejo-main-af17deaa6329","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":6072,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-24T20:32:46.918715+00:00","proof_gate":"canonical_release_dispatched","source_sha":"af17deaa6329e2386649776c98dd4c0c9d0fafed","external_id":"forgejo-main-af17deaa6329","receipt_type":"execute_mission","idempotency_key":"mission:7d2b97b5-c827-408b-b0a3-d75daa3da551:execute_mission:canonical_release_dispatched","mission_step_id":"c883bee4-a8a4-4525-bd56-8eab0c7fb88f","command_center_event_id":"7d2b97b5-c827-408b-b0a3-d75daa3da551"},{"id":"5dfa7918-3d0b-485b-8556-a9909468758c","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/calendar-oversight-hub-20260907","reason":"retryable_provider_transport:PUT:The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.70-forgejo-source-discovery-retry-window","prNumber":2078,"terminal":false,"missionId":"01f26575-ecf9-4765-98cf-e0833d6cd4e8","operation":"execute_mission","proofGate":"repair_mission_execution_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":9980,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":1008,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":273,"ledgerReconcileMs":0,"lineageReconcileMs":735,"resolvePreflightMs":1008,"repositoryMutationMs":9980,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":273,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"01f26575-ecf9-4765-98cf-e0833d6cd4e8"},"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":1553,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-07T16:25:27.581579+00:00","proof_gate":"repair_mission_execution_retryable","source_sha":null,"external_id":"2078","receipt_type":"execute_mission","idempotency_key":"mission:01f26575-ecf9-4765-98cf-e0833d6cd4e8:execute_mission:repair_mission_execution_retryable:current-generation","mission_step_id":"d9edf9b7-e594-4262-958d-653fc09461a1","command_center_event_id":"01f26575-ecf9-4765-98cf-e0833d6cd4e8"},{"id":"5dfd0b8b-3409-43ad-97d2-b7555a2a86e9","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":"d23e630da7d2a21719827b096e374d2716562b76","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":"d23e630da7d2a21719827b096e374d2716562b76","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":true},"releaseTargetStates":{},"requestContractHash":"0ec077a4aa4032b32768ce7e2dc3ba8722af1a8e6b4c50350e24953976e518b2","forgejoWorkflowProof":{"error":"forgejo_run_read_http_503","runId":7711},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":{"exact":true,"source":"exact_source_push_event_payload_shared_release_owner_mapping","parentSha":"fb709faee82a1837a87862bd5539d761898c8c31","sourceSha":"d23e630da7d2a21719827b096e374d2716562b76","changedPaths":["config/capabilities/tenant-creation.json","src/pages/admin/TenantOnboarding.tsx","supabase/functions/admin-tenant-preview/index.ts"],"changedPathCount":3,"independentOfCurrentMainCompare":true},"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-13T02:32:41.200908+00:00","proof_gate":"canonical_release_pending","source_sha":"d23e630da7d2a21719827b096e374d2716562b76","external_id":null,"receipt_type":"canonical_release_status","idempotency_key":"mission:59da736f-65cb-4f0f-925a-0e49bd89c367:forgejo-release-status:d23e630da7d2a21719827b096e374d2716562b76:pending:forgejo-main/source=success|forgejo-release/workflow=pending|supabase-edge-production/live=pending|frontend-cloudflare/live=pending","mission_step_id":"71e54132-9630-4eaa-8a2d-cebd0c718c63","command_center_event_id":"59da736f-65cb-4f0f-925a-0e49bd89c367"},{"id":"5dfe4b3b-84e7-4288-a507-9b1107a23e6b","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-647b7f8ae08b","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":16659,"releaseCount":0,"toolCallCount":9,"repeatedCallCount":5,"executorlessWaitMs":50814,"firstUsefulResultAt":"2026-10-05T15:06:38.104Z","recoveryAttemptCount":7,"ownerInterruptionCount":0},"version":null,"prNumber":4940,"terminal":false,"missionId":"647b7f8a-e08b-49a4-97dd-fab75d1e17a3","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":2203,"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":"647b7f8a-e08b-49a4-97dd-fab75d1e17a3"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["repository"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":819,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T15:06:51.465247+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4940","receipt_type":"automatic_mission_resume","idempotency_key":"mission:647b7f8a-e08b-49a4-97dd-fab75d1e17a3:automatic-mission-resume:4940:repair_mission_pr_ready_retryable","mission_step_id":"15a0dfa1-8299-440c-83d9-5fc7d62d1929","command_center_event_id":"647b7f8a-e08b-49a4-97dd-fab75d1e17a3"},{"id":"5e02327a-2668-49c7-84cd-82234f8e16b6","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-1224255f9ecf","prNumber":3890,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"121f59e3d3be461bb89af1cfe6cbe64e65232957","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T17:45:22.223536+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"121f59e3d3be461bb89af1cfe6cbe64e65232957","external_id":"3890","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:1224255f-9ecf-4407-83a9-dc7711ccd2c1:merged-pr:3890:121f59e3d3be461bb89af1cfe6cbe64e65232957","mission_step_id":"ee30b750-cc55-4ef9-b2ff-ac0cb3394627","command_center_event_id":"1224255f-9ecf-4407-83a9-dc7711ccd2c1"},{"id":"5e03ba6a-b653-43ae-8380-7ab90803e318","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-972b8c236a7f","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":7357,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":2,"executorlessWaitMs":418297,"firstUsefulResultAt":"2026-09-27T13:42:29.431Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":null,"terminal":false,"missionId":"972b8c23-6a7f-4b44-8c3a-abbc59975d24","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1004,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":210,"providerAuthMs":0,"ledgerPrepareMs":210,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":210,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":210,"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":"972b8c23-6a7f-4b44-8c3a-abbc59975d24"},"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":3621,"likelyAffectedFiles":["src/components/admin/AdminLayout.tsx","src/components/admin/OperatorSidekick.tsx"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T13:42:42.385446+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:972b8c23-6a7f-4b44-8c3a-abbc59975d24:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"2dd2956e-d841-48aa-8292-68ec130c8952","command_center_event_id":"972b8c23-6a7f-4b44-8c3a-abbc59975d24"},{"id":"5e063915-9c96-403f-973d-10097284659c","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-f33e92dcff39","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":63604,"releaseCount":0,"toolCallCount":5,"repeatedCallCount":1,"executorlessWaitMs":14362,"firstUsefulResultAt":"2026-10-03T03:02:44.511Z","recoveryAttemptCount":3,"ownerInterruptionCount":0},"version":null,"prNumber":4603,"terminal":false,"missionId":"f33e92dc-ff39-4cfe-b3fc-f257b060a558","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":2341,"approvedPlanMs":0,"shipAndProveMs":0,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"f33e92dc-ff39-4cfe-b3fc-f257b060a558"},"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-03T03:02:55.84853+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4603","receipt_type":"automatic_mission_resume","idempotency_key":"mission:f33e92dc-ff39-4cfe-b3fc-f257b060a558:automatic-mission-resume:4603:repair_mission_pr_ready_retryable","mission_step_id":"84f29719-a5eb-4c68-9a98-abcad0c03954","command_center_event_id":"f33e92dc-ff39-4cfe-b3fc-f257b060a558"},{"id":"5e07655d-8f16-4732-bd85-15b833ecb250","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"UNFREEZE the control plane only to refresh existing PR #2417 onto current protected main 4232cc1fa93ba61c39decf6080986b6a4a01b77c through the existing mission's idempotent scoped-patch path, with no semantic source change; then refreeze and re-Gate the same PR.","wordingChanged":false,"canonicalIntent":"UNFREEZE the control plane only to refresh existing PR #2417 onto current protected main 4232cc1fa93ba61c39decf6080986b6a4a01b77c through the existing mission's idempotent scoped-patch path, with no semantic source change; then refreeze and re-Gate the same PR.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"same-pr-refresh","statement":"Existing PR #2417 is refreshed onto current protected main without replacement branch/PR or semantic source change.","proofConditionIds":["refresh-proof"]}],"objective":"UNFREEZE the control plane only to refresh existing PR #2417 onto current protected main 4232cc1fa93ba61c39decf6080986b6a4a01b77c through the existing mission's idempotent scoped-patch path, with no semantic source change; then refreeze and re-Gate the same PR.","constraints":[{"id":"single-path","statement":"Keep mission adc9f8a7-dc29-4724-9df0-afc076604415, branch ai/objective-first-repair-adc9f8a7dc29, and PR #2417; do not create a replacement.","proofConditionIds":["refresh-proof"]},{"id":"refreeze","statement":"The scoped maintenance permit does not leave the control plane persistently unfrozen.","proofConditionIds":["refresh-proof"]}],"terminalPolicy":"all_required_proof_conditions_satisfied","proofConditions":[{"id":"refresh-proof","kind":"repository","claim":"PR #2417 head contains current protected main and remains the sole release-orchestration repair PR.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestContractHash":"47808d14c5059a3acba9baf37da587ce63f56010769204e1d76a4940710b3fa5","requestContractRevision":6,"previousRequestContractHash":"54b1e9be043ab38c227721d0e9f05ef875e1944ce2de4772ae935661795ee086"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-11T20:37:53.996475+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:adc9f8a7-dc29-4724-9df0-afc076604415:request-contract:47808d14c5059a3acba9baf37da587ce63f56010769204e1d76a4940710b3fa5","mission_step_id":"28ecf511-e519-427f-aaef-0c20afab8daa","command_center_event_id":"adc9f8a7-dc29-4724-9df0-afc076604415"},{"id":"5e07aac3-ca6d-4352-bdb1-09683064beb4","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-51300293ad02","writes":[],"patches":[],"version":1,"approved":true,"missionId":"51300293-ad02-43a9-aeb2-c9fdd81acf1b","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"anchored_edits":[{"path":"workers/cc-execution/src/index-release-fast-lane.js","anchor":"  const ccExecutionPaths = discoveryScope === \"control_plane\"\n    ? blobPaths.filter((path) => path.startsWith(\"workers/cc-execution/\")).sort()\n    : [];\n  const ccExecutionAnchorPath = ccExecutionPaths.includes(\"workers/cc-execution/src/index-mission-control.js\")\n    ? \"workers/cc-execution/src/index-mission-control.js\"\n    : (ccExecutionPaths[0] || \"\");","replacement":"  const ccExecutionPaths = discoveryScope === \"control_plane\"\n    ? blobPaths.filter((path) => path.startsWith(\"workers/cc-execution/\")).sort()\n    : [];\n  const objectiveLower = String(objective || \"\").toLowerCase();\n  const objectiveNamesHostWatchdog = /\\b(?:host[-\\s]?agent|watchdog|host control|forgejo host)\\b/.test(objectiveLower);\n  const ccExecutionAnchorPath = ccExecutionPaths.includes(\"workers/cc-execution/src/index-mission-control.js\")\n    ? \"workers/cc-execution/src/index-mission-control.js\"\n    : (ccExecutionPaths[0] || \"\");\n  // Explicit control-plane intent owns source discovery. A lexical match such as\n  // \"watchdog\" in a regression example must not redirect the mission into host\n  // watchdog machinery unless the owner objective actually names that subsystem.\n  if (discoveryScope === \"control_plane\" && !objectiveNamesHostWatchdog) {\n    for (let index = ranked.length - 1; index >= 0; index -= 1) {\n      if (ranked[index].path.startsWith(\"scripts/command-center-host-agent/\")) ranked.splice(index, 1);\n    }\n  }"},{"path":"workers/cc-execution/src/version.js","anchor":"export const CC_EXECUTION_VERSION = \"1.64.94-terminal-completion-supervisor\";","replacement":"export const CC_EXECUTION_VERSION = \"1.64.95-objective-drift-guard\";"}],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"51300293-ad02-43a9-aeb2-c9fdd81acf1b","ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"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":"149d9e35612b22ec98c92f8fae8f4129dd0fa78f5abec33d27e011b5f06b1e1c","replayCount":0,"serializedBytes":2790},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T14:45:29.996348+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:51300293-ad02-43a9-aeb2-c9fdd81acf1b:repository-mutation-intent:149d9e35612b22ec98c92f8fae8f4129dd0fa78f5abec33d27e011b5f06b1e1c:0","mission_step_id":"ae3a643f-0f1c-4941-aa47-b4d4f5c16e47","command_center_event_id":"51300293-ad02-43a9-aeb2-c9fdd81acf1b"},{"id":"5e086d28-f395-4adb-8770-bac2fe4e6c61","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/src/entrypoint-owner-status.js"],"baseSha":"acd271ea301579f5e12bd6396a8186b48d27cbc8","issuedAt":1791581759183,"expiresAt":1791581939183,"missionId":"ff9b81bd-d69b-4daa-a7cc-6fd2070181ae","autoRefreeze":true,"authorizationId":"bc5df6ec-9d01-4ec5-983d-1b57e80e5c4c","authorizationSource":"explicit_owner_request_contract"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-09T21:35:59.739674+00:00","proof_gate":"control_plane_maintenance_exact_scope_authorized","source_sha":"acd271ea301579f5e12bd6396a8186b48d27cbc8","external_id":"bc5df6ec-9d01-4ec5-983d-1b57e80e5c4c","receipt_type":"control_plane_maintenance_authorized","idempotency_key":"control-plane-maintenance:ff9b81bd-d69b-4daa-a7cc-6fd2070181ae:bc5df6ec-9d01-4ec5-983d-1b57e80e5c4c","mission_step_id":"8eb4304b-bc06-4593-ac5f-03467081d406","command_center_event_id":"ff9b81bd-d69b-4daa-a7cc-6fd2070181ae"},{"id":"5e08de92-af2a-42b5-a92d-db912a7723aa","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","supabase-migrations/live":"pending"},"mainSha":"d7b7ec3c47d7e3ca1580339db377b4adf5d85298","missing":[],"pending":["forgejo-release/workflow","supabase-migrations/live"],"required":["forgejo-main/source","forgejo-release/workflow","supabase-migrations/live"],"sourceSha":"d7b7ec3c47d7e3ca1580339db377b4adf5d85298","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":false,"onrunner":false,"migrations":true,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"migrations":"pending"},"requestContractHash":"8a498a74fded9f06a960bc883a4ae688081be020084b92af152feecffd8c7cae","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/6126","runId":6126,"status":"running","sourceSha":"d7b7ec3c47d7e3ca1580339db377b4adf5d85298","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"migrations":"pending"},"targetJobCount":7,"observedTargetStates":{"migrations":"pending"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-07T12:30:10.524773+00:00","proof_gate":"canonical_release_pending","source_sha":"d7b7ec3c47d7e3ca1580339db377b4adf5d85298","external_id":"forgejo-main-d7b7ec3c47d7","receipt_type":"canonical_release_status","idempotency_key":"mission:ad2285f8-c150-4672-9045-1476e5a99880:forgejo-release-status:d7b7ec3c47d7e3ca1580339db377b4adf5d85298:pending:forgejo-main/source=success|forgejo-release/workflow=pending|supabase-migrations/live=pending","mission_step_id":"186e16f0-3a60-4aea-a34d-aa96d5f37e13","command_center_event_id":"ad2285f8-c150-4672-9045-1476e5a99880"},{"id":"5e08deaa-8438-41af-8977-10213dff25ed","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"1e829ad7f8565c30d3e1f7a8f1542168462dff7a","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-targets","satisfied":false,"statement":"Missing mission release targets are deterministically recovered from the exact active source parent diff using the same ownership mapping as protected-main Release Plan.","proofConditionIds":["proof-runtime","proof-scope"]},{"id":"outcome-push","satisfied":false,"statement":"The exact protected-main push release run can satisfy release workflow proof only when targets were recovered from that same exact source diff.","proofConditionIds":["proof-runtime"]},{"id":"outcome-loop","satisfied":false,"statement":"This corrective generation remains in the same mission and terminates only on its own exact merged/live source with non-legacy request-contract reconciliation.","proofConditionIds":["proof-runtime"]}],"satisfied":false,"constraints":[{"id":"constraint-release","satisfied":false,"statement":"Do not create a second release architecture or expand Actions scans beyond the existing bounded 10-run recovery window.","proofConditionIds":["proof-scope"]}],"contractHash":"8adaa235e47793c193bca2e814ab024f000e8bdc5dabcc649b18de42e8d8c414","releaseBound":false,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"proof-runtime","kind":"runtime","evidence":{"releaseState":"verified","releaseRequestContractHash":null},"required":true,"satisfied":false},{"id":"proof-scope","kind":"scope","evidence":{"activeReleaseTargets":["ccExecution"],"allowedReleaseTargets":["ccExecution"],"requiredReleaseTargets":["ccExecution"]},"required":true,"satisfied":false}],"validationErrors":[],"pendingProofKinds":["runtime","scope"],"activeReleaseTargets":["ccExecution"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":3},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-27T14:23:05.287726+00:00","proof_gate":"request_contract_pending","source_sha":"1e829ad7f8565c30d3e1f7a8f1542168462dff7a","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:86492622-eb62-4d4b-a1be-f68297ad34eb:request-contract:8adaa235e47793c193bca2e814ab024f000e8bdc5dabcc649b18de42e8d8c414:1e829ad7f8565c30d3e1f7a8f1542168462dff7a:pending:runtime,scope","mission_step_id":"ebff4441-8a7e-4023-a416-d2ff0d7cb207","command_center_event_id":"86492622-eb62-4d4b-a1be-f68297ad34eb"},{"id":"5e0ab10d-7e49-42f2-97a4-4be16c166b99","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-60c75259d7d0","writes":[],"patches":[],"pr_body":"Teach the Command Center source-bundle reader to treat exact .ps1 files as authoritative source so Windows host repairs can be synthesized and verified through the canonical mission lane.","version":1,"approved":true,"pr_title":"Allow PowerShell source synthesis","missionId":"60c75259-d7d0-44cd-b467-155c8773cf01","objective":"Extend the Command Center synthesis source reader so exact PowerShell .ps1 repository files are valid authoritative source targets. Add .ps1 to both exactSourceFile extension matching and explicit objective path extraction. Bump the cc-execution release identity. Keep the change limited to source resolution. Ship through Gate, squash merge, release cc-execution, and prove the live runtime can resolve scripts/windows/install-knocklaunch-autoconnect.ps1.","sourceSha":"b5b3cf637a062e5ae957b414c8fa6b6bc9f0827c","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"anchored_edits":[{"path":"workers/cc-execution/src/mcp-synthesis-source-bundle.js","edits":[{"new_content":"&& /(?:^|\\/)[^/]+\\.(?:[cm]?[jt]sx?|css|scss|json|md|toml|ya?ml|ps1)$/i.test(path);","old_content":"&& /(?:^|\\/)[^/]+\\.(?:[cm]?[jt]sx?|css|scss|json|md|toml|ya?ml)$/i.test(path);"},{"new_content":"(?:json|js|jsx|ts|tsx|mjs|cjs|css|scss|md|ya?ml|toml|ps1)","old_content":"(?:json|js|jsx|ts|tsx|mjs|cjs|css|scss|md|ya?ml|toml)"}]},{"path":"workers/cc-execution/src/version.js","edits":[{"new_content":"export const CC_EXECUTION_VERSION = \"1.64.40-powershell-source-resolution\";","old_content":"export const CC_EXECUTION_VERSION = \"1.64.39-source-resolution-continuation\";"}]}],"implementation":{"files":[],"writes":[]},"requestContract":{"outcomes":[{"id":"ps1-authoritative-source","statement":"The control plane Command Center synthesis reader accepts exact .ps1 repository files as authoritative source targets.","proofConditionIds":["repo-proof","runtime-proof"]},{"id":"ps1-explicit-path-discovery","statement":"Explicit .ps1 paths mentioned in an objective are recognized by control plane synthesis path extraction.","proofConditionIds":["repo-proof"]}],"constraints":[{"id":"control-plane-scope","statement":"This control plane change is limited to workers/cc-execution/src/mcp-synthesis-source-bundle.js and the required workers/cc-execution/src/version.js release identity bump.","proofConditionIds":["repo-proof"]},{"id":"no-auth-policy-change","statement":"Do not change provider authentication, authorization, tokens, repository mutation authority, or credential handling in this control plane repair.","proofConditionIds":["repo-proof"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"repo-proof","kind":"repository","claim":"Current main contains .ps1 support in exactSourceFile and explicit objective path extraction with the required cc-execution version bump.","required":true,"allowedReleaseTargets":["ccExecution"],"requiredReleaseTargets":["ccExecution"]},{"id":"runtime-proof","kind":"runtime","claim":"The released cc-execution runtime can resolve scripts/windows/install-knocklaunch-autoconnect.ps1 as an exact source target.","required":true,"allowedReleaseTargets":["ccExecution"],"requiredReleaseTargets":["ccExecution"]}]},"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"60c75259-d7d0-44cd-b467-155c8773cf01","ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"requestContract":{"outcomes":[{"id":"ps1-authoritative-source","statement":"The control plane Command Center synthesis reader accepts exact .ps1 repository files as authoritative source targets.","proofConditionIds":["repo-proof","runtime-proof"]},{"id":"ps1-explicit-path-discovery","statement":"Explicit .ps1 paths mentioned in an objective are recognized by control plane synthesis path extraction.","proofConditionIds":["repo-proof"]}],"constraints":[{"id":"control-plane-scope","statement":"This control plane change is limited to workers/cc-execution/src/mcp-synthesis-source-bundle.js and the required workers/cc-execution/src/version.js release identity bump.","proofConditionIds":["repo-proof"]},{"id":"no-auth-policy-change","statement":"Do not change provider authentication, authorization, tokens, repository mutation authority, or credential handling in this control plane repair.","proofConditionIds":["repo-proof"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"repo-proof","kind":"repository","claim":"Current main contains .ps1 support in exactSourceFile and explicit objective path extraction with the required cc-execution version bump.","required":true,"allowedReleaseTargets":["ccExecution"],"requiredReleaseTargets":["ccExecution"]},{"id":"runtime-proof","kind":"runtime","claim":"The released cc-execution runtime can resolve scripts/windows/install-knocklaunch-autoconnect.ps1 as an exact source target.","required":true,"allowedReleaseTargets":["ccExecution"],"requiredReleaseTargets":["ccExecution"]}]},"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["workers/cc-execution/src/mcp-synthesis-source-bundle.js","workers/cc-execution/src/version.js"],"controlPlaneMaintenanceReason":"Owner-authorized maintenance required to let the canonical mission lane read exact PowerShell source for the unattended Windows Git-auth repair."},"proofRequirements":null,"controlPlaneUnfreeze":true,"durableMutationResume":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["workers/cc-execution/src/mcp-synthesis-source-bundle.js","workers/cc-execution/src/version.js"],"controlPlaneMaintenanceReason":"Owner-authorized maintenance required to let the canonical mission lane read exact PowerShell source for the unattended Windows Git-auth repair."},"recovery":false,"fingerprint":"ead1e5dfc70604fce6c4a56b76173aaa0a9bcf60a893a8266a54ff7c057a3d07","replayCount":0,"serializedBytes":5992},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T00:12:11.980925+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:60c75259-d7d0-44cd-b467-155c8773cf01:repository-mutation-intent:ead1e5dfc70604fce6c4a56b76173aaa0a9bcf60a893a8266a54ff7c057a3d07:0","mission_step_id":"1aac27fb-e215-48d2-bb10-2510e7df5050","command_center_event_id":"60c75259-d7d0-44cd-b467-155c8773cf01"},{"id":"5e0ae52d-b203-4a74-b018-25bf27a8a332","source":"forgejo","status":"waiting","payload":{"branch":"ai/src-cohesion-phase-5-20260910","prNumber":2332,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"a3033644ed4669c210a163b5dbc4692f87f14978","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-10T21:41:49.207217+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"a3033644ed4669c210a163b5dbc4692f87f14978","external_id":"2332","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:5fee86d1-8f78-4168-865d-a1f0735beeb5:merged-pr:2332:a3033644ed4669c210a163b5dbc4692f87f14978","mission_step_id":"b0b0fdab-234e-440b-bca3-ae40b9278c47","command_center_event_id":"5fee86d1-8f78-4168-865d-a1f0735beeb5"},{"id":"5e0af35b-6c68-45bb-aa14-f006ebb2a6f4","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-c810414f9f25","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":15149,"releaseCount":0,"toolCallCount":8,"repeatedCallCount":4,"executorlessWaitMs":22960,"firstUsefulResultAt":"2026-10-05T14:53:56.477Z","recoveryAttemptCount":6,"ownerInterruptionCount":0},"version":null,"prNumber":4934,"terminal":false,"missionId":"c810414f-9f25-4645-ba04-0f8ccd59386c","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":2193,"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":"c810414f-9f25-4645-ba04-0f8ccd59386c"},"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-05T14:54:10.006633+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4934","receipt_type":"automatic_mission_resume","idempotency_key":"mission:c810414f-9f25-4645-ba04-0f8ccd59386c:automatic-mission-resume:4934:repair_mission_pr_ready_retryable","mission_step_id":"f2b8dde9-c035-4015-940e-27176ba5d244","command_center_event_id":"c810414f-9f25-4645-ba04-0f8ccd59386c"},{"id":"5e0bfbe5-6d75-4f09-988e-a3363851c91d","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.7-prime-stale-manual-retirement-adapter","prNumber":null,"terminal":false,"missionId":"03b5a1f3-b5be-43e7-bf32-4110ae7cf880","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3394,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":437,"providerAuthMs":0,"ledgerPrepareMs":437,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":437,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":437,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Synthesize exact mutation from the resolved authoritative source targets and continue this same mission.","receiptRef":{"mode":"full","missionId":"03b5a1f3-b5be-43e7-bf32-4110ae7cf880"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1900,"likelyAffectedFiles":["src/contexts/MultiTenantContext.tsx"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T01:25:26.48826+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:03b5a1f3-b5be-43e7-bf32-4110ae7cf880:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"81043591-41dc-4169-b056-c242b7e02381","command_center_event_id":"03b5a1f3-b5be-43e7-bf32-4110ae7cf880"},{"id":"5e0c1152-df33-4e2f-b2f6-f2376c6384eb","source":"forgejo-exact-source","status":"verified","payload":{"sourceSha":"f6364127629391995d361c6d2a7d38c9bf4c0257","repository":"noel/KnockLaunchOS","repositoryProofs":[{"id":"proof-repository","path":null,"proof":"forgejo_merged_pr_exact_head_gate","headSha":"54d5b17379ca4fba60e883edebf7e0d56656d808","prNumber":3007,"gateRunId":9203,"gateContext":"KnockLaunch Gate / KnockLaunch Gate (pull_request)","expectedText":null,"gateTargetUrl":"/noel/KnockLaunchOS/actions/runs/9203/jobs/1","mergeCommitSha":"f6364127629391995d361c6d2a7d38c9bf4c0257"}],"requestContractHash":"a4a95f02ea95592fee937554b238f8dfecf6ffdb06d9ad9d534b000d3475643b","namedGateEvidenceReceiptVersion":null},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-17T14:31:47.929127+00:00","proof_gate":"request_contract_repository_verified","source_sha":"f6364127629391995d361c6d2a7d38c9bf4c0257","external_id":null,"receipt_type":"request_contract_repository_status","idempotency_key":"mission:22d126cb-c68c-42c3-a2b6-80e10ff46434:request-contract-repository:a4a95f02ea95592fee937554b238f8dfecf6ffdb06d9ad9d534b000d3475643b:f6364127629391995d361c6d2a7d38c9bf4c0257","mission_step_id":"062c8923-1e7b-4bbb-819d-fe6971ab1c5c","command_center_event_id":"22d126cb-c68c-42c3-a2b6-80e10ff46434"},{"id":"5e0c73ae-f7c0-499e-82dc-72db5f5d48f7","source":"github-status","status":"pending","payload":{"failed":[],"states":{"canonical-production-release/verified":"success"},"missing":["supabase-edge-production/live"],"pending":[],"required":["canonical-production-release/verified","supabase-edge-production/live"],"sourceSha":"4745dfb8e10ad4970afa354ce6ab55389844fbde","releaseState":"pending","exactConductorRun":{"id":31430718512,"status":"completed","headSha":"4745dfb8e10ad4970afa354ce6ab55389844fbde","conclusion":"success","compareStatus":"identical","sourceMatches":true,"containsSourceSha":true,"reconciliationMode":null},"ccExecutionRuntimeProof":null},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-08-10T20:52:34.983533+00:00","proof_gate":"canonical_release_pending","source_sha":"4745dfb8e10ad4970afa354ce6ab55389844fbde","external_id":"canonical-release-4745dfb8e10a","receipt_type":"canonical_release_status","idempotency_key":"mission:975ab1ac-c8aa-4d7b-881e-1830b98fcc75:release-status:4745dfb8e10ad4970afa354ce6ab55389844fbde:31430718512:pending:canonical-production-release/verified=success|supabase-edge-production/live=missing","mission_step_id":"a8a0c571-d82f-40f8-ac88-b8b661fdc71e","command_center_event_id":"975ab1ac-c8aa-4d7b-881e-1830b98fcc75"},{"id":"5e1174a9-29d8-44aa-b1de-2214736a2ba3","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[{"path":".forgejo/workflows/laptop-runner-smoke.yml","content":"name: Laptop Runner Smoke\n\non:\n  workflow_dispatch:\n\njobs:\n  laptop-smoke:\n    name: Laptop runner smoke\n    runs-on: [docker, laptop-local]\n    timeout-minutes: 10\n    container:\n      image: node:22.18.0-bookworm\n      options: --cpus=2 --memory=3072m\n    steps:\n      - name: Verify bounded laptop runner execution\n        shell: bash\n        run: |\n          set -euo pipefail\n          node <<'NODE'\n          import os from 'node:os';\n\n          const sourceSha = String(process.env.GITHUB_SHA || '').trim();\n          if (!/^[0-9a-f]{40}$/i.test(sourceSha)) {\n            throw new Error('laptop_runner_source_sha_missing');\n          }\n\n          async function require200(url) {\n            const response = await fetch(url, {\n              redirect: 'follow',\n              signal: AbortSignal.timeout(10000),\n              headers: { 'cache-control': 'no-store' },\n            });\n            if (response.status !== 200) {\n              throw new Error(`laptop_runner_https_failed:${new URL(url).hostname}:${response.status}`);\n            }\n            return response.status;\n          }\n\n          const appStatus = await require200('https://app.knocklaunch.app/');\n          const forgejoStatus = await require200('https://git.knocklaunch.app/');\n\n          console.log(JSON.stringify({\n            ok: true,\n            proofGate: 'laptop_runner_smoke_verified',\n            sourceSha,\n            node: process.version,\n            platform: process.platform,\n            arch: process.arch,\n            cpus: os.cpus().length,\n            totalMemoryGB: Math.round((os.totalmem() / 1024 ** 3) * 10) / 10,\n            appStatus,\n            forgejoStatus,\n          }));\n          NODE\n"}],"branch":"ai/objective-first-repair-a146872fb54b","writes":[],"patches":[],"version":1,"approved":true,"missionId":"a146872f-b54b-4e95-a1b5-5a9c51da4d7e","objective":"Infrastructure-only cleanup. Modify exactly .forgejo/workflows/laptop-runner-smoke.yml to remove the temporary self-push trigger and restore workflow_dispatch-only behavior, while preserving runs-on [docker, laptop-local], the existing bounded 2 CPU / 3072 MB container, and all smoke steps unchanged. No UI, tenant, application, provider, or release changes. Ship one focused PR through canonical Gate and squash merge.","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":[".forgejo/workflows/laptop-runner-smoke.yml"],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":null,"ownerApproved":true,"releaseIntent":null,"sourceTargets":[".forgejo/workflows/laptop-runner-smoke.yml"],"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":"b602960a29177fdc98cbe30e9e7b2f03a7c733359af9f62c4a758cf6e1aaa203","replayCount":0,"serializedBytes":3239},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-26T19:52:05.620416+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:a146872f-b54b-4e95-a1b5-5a9c51da4d7e:repository-mutation-intent:b602960a29177fdc98cbe30e9e7b2f03a7c733359af9f62c4a758cf6e1aaa203:0","mission_step_id":"11b5e9e6-94d2-404a-a716-7809eab0f295","command_center_event_id":"a146872f-b54b-4e95-a1b5-5a9c51da4d7e"},{"id":"5e11786b-ff95-4201-b4f6-a67ae5d37677","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success"},"mainSha":"8ea147dbc5f82d34784822018d9e48c115faf8dd","missing":[],"pending":[],"required":["forgejo-main/source"],"sourceSha":"8ea147dbc5f82d34784822018d9e48c115faf8dd","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{},"requestContractHash":"851ae7da0b711c6d3a006599fbe905a0214d5994843e6a5eef4318febd5e9546","forgejoWorkflowProof":null,"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T13:39:33.10932+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"8ea147dbc5f82d34784822018d9e48c115faf8dd","external_id":"forgejo-main-8ea147dbc5f8","receipt_type":"canonical_release_status","idempotency_key":"mission:41a0c77e-bfb8-45f9-bf82-b14e476fea9c:forgejo-release-status:8ea147dbc5f82d34784822018d9e48c115faf8dd:verified:forgejo-main/source=success","mission_step_id":"7fb8fbac-6059-44ea-a386-4b52b1f0cf7d","command_center_event_id":"41a0c77e-bfb8-45f9-bf82-b14e476fea9c"},{"id":"5e1430ad-b50f-43e5-bcda-657697da5f89","source":"cc-execution","status":"release_verification_pending","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":null,"reason":null,"status":"release_verification_pending","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.31.27-tenant-scope-security","prNumber":4507,"terminal":false,"missionId":"52daee4e-003d-47ef-977e-bbbb3fb9034d","operation":"ship_and_prove","proofGate":"ship_and_prove_release_pending","sourceSha":"4b18118827f0907b77c466409d941eb6e5bd4052","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"52daee4e-003d-47ef-977e-bbbb3fb9034d"},"performance":null,"deploymentId":"canonical-release-4b18118827f0","workflowRunId":31349974828,"releaseTargets":{"frontend":false,"onrunner":true,"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":1394,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-10T02:36:48.696254+00:00","proof_gate":"ship_and_prove_release_pending","source_sha":"4b18118827f0907b77c466409d941eb6e5bd4052","external_id":"canonical-release-4b18118827f0","receipt_type":"ship_and_prove","idempotency_key":"mission:52daee4e-003d-47ef-977e-bbbb3fb9034d:ship_and_prove:ship_and_prove_release_pending:4b18118827f0907b77c466409d941eb6e5bd4052:31349974828","mission_step_id":"d7db482b-814e-49f7-810d-bce148f64db0","command_center_event_id":"52daee4e-003d-47ef-977e-bbbb3fb9034d"},{"id":"5e15021e-e1bf-4112-8415-d11af284d746","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-17a9d36b7035","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":34724,"releaseCount":0,"toolCallCount":18,"repeatedCallCount":9,"executorlessWaitMs":814067,"firstUsefulResultAt":"2026-10-05T15:27:41.995Z","recoveryAttemptCount":3,"ownerInterruptionCount":0},"version":null,"prNumber":4954,"terminal":false,"missionId":"17a9d36b-7035-4ca7-8657-982fe15c0da8","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":2383,"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":"17a9d36b-7035-4ca7-8657-982fe15c0da8"},"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-05T15:41:13.585912+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4954","receipt_type":"automatic_mission_resume","idempotency_key":"mission:17a9d36b-7035-4ca7-8657-982fe15c0da8:automatic-mission-resume:4954:repair_mission_pr_ready_retryable","mission_step_id":"d3c1804c-7f59-4228-baf4-62cbcda69fae","command_center_event_id":"17a9d36b-7035-4ca7-8657-982fe15c0da8"},{"id":"5e182487-c477-4e65-92ec-4bfd67ada4fa","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-0a680ea028cd","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":153128,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":0,"executorlessWaitMs":122479,"firstUsefulResultAt":"2026-09-24T05:29:25.812Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.243-release-freshness-self-heal","prNumber":3595,"terminal":false,"missionId":"0a680ea0-28cd-4751-b264-c7ac0f65951b","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":6314,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":941,"missionSetupMs":417,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":417,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":417,"repositoryMutationMs":5373,"repositoryProviderMs":5373,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2937,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":417,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":2436},"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":"0a680ea0-28cd-4751-b264-c7ac0f65951b"},"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":3315,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T05:31:36.593538+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3595","receipt_type":"execute_mission","idempotency_key":"mission:0a680ea0-28cd-4751-b264-c7ac0f65951b:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"44eca993-52bc-456d-8f2c-4c9d482ebbe5","command_center_event_id":"0a680ea0-28cd-4751-b264-c7ac0f65951b"},{"id":"5e18efad-5dc3-4ec9-a047-41acf5c8a9c2","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","supabase-edge-production/live":"pending"},"mainSha":"fb479a2dc7958367311b2dd529efb2761e1803c1","missing":[],"pending":["forgejo-release/workflow","supabase-edge-production/live"],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live"],"sourceSha":"fb479a2dc7958367311b2dd529efb2761e1803c1","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["operator-respond"]},"releaseTargetStates":{"supabaseEdge":"pending"},"requestContractHash":"b872144a4e13da49abb9871bb46fbcaa0df1dd306449d559a7821ea5886c9a6b","forgejoWorkflowProof":{"runId":12967,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"supabaseEdge":"pending"},"targetJobCount":6,"observedTargetStates":{"supabaseEdge":"pending"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T04:02:55.016403+00:00","proof_gate":"canonical_release_pending","source_sha":"fb479a2dc7958367311b2dd529efb2761e1803c1","external_id":"forgejo-main-fb479a2dc795","receipt_type":"canonical_release_status","idempotency_key":"mission:e0436a39-a62f-4791-a380-d49e8332acae:forgejo-release-status:fb479a2dc7958367311b2dd529efb2761e1803c1:pending:forgejo-main/source=success|forgejo-release/workflow=pending|supabase-edge-production/live=pending","mission_step_id":"7b52210b-a778-45d3-8e85-9e36c6b3d78f","command_center_event_id":"e0436a39-a62f-4791-a380-d49e8332acae"},{"id":"5e1a2bd1-6b41-4d84-a23a-4b796ccb971c","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-d1ccd5b95012","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.223-durable-witness-lane-affinity","prNumber":3522,"terminal":false,"missionId":"d1ccd5b9-5012-4615-884c-23a190100252","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4877,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":816,"missionSetupMs":286,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":286,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":286,"repositoryMutationMs":4061,"repositoryProviderMs":4061,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2536,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":286,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1525},"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":"d1ccd5b9-5012-4615-884c-23a190100252"},"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":3236,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T14:02:29.081897+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3522","receipt_type":"execute_mission","idempotency_key":"mission:d1ccd5b9-5012-4615-884c-23a190100252:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"01b72acb-19e1-4fdd-ad5b-3ad0084f688d","command_center_event_id":"d1ccd5b9-5012-4615-884c-23a190100252"},{"id":"5e1ac50f-8345-401b-bcdf-65f31818ff5c","source":"owner_authorized_full_backlog_cleanup","status":"recorded","payload":{"category":"platform_reliability","disposition":"superseded_execution_attempt","previousStatus":"waiting","sourcePreserved":true,"noCompletionClaim":true,"recoveryPortfolioId":"9dae32f1-f3cf-09ae-7f92-c656f71fb9d5"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-11T16:14:39.646808+00:00","proof_gate":"source_objective_preserved_in_existing_mission_ledger","source_sha":null,"external_id":null,"receipt_type":"owner_backlog_disposition","idempotency_key":"owner-full-backlog-cleanup-20261011:c8124de6-a5cc-44d7-907a-05dfe924d772","mission_step_id":null,"command_center_event_id":"c8124de6-a5cc-44d7-907a-05dfe924d772"},{"id":"5e1c197a-69da-4bae-9d71-09147bc81c45","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":"109cab95a80ec3c3919d27ebcd124b4d96ddc52e","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live","frontend-cloudflare/live"],"sourceSha":"109cab95a80ec3c3919d27ebcd124b4d96ddc52e","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["send-email"]},"releaseTargetStates":{"frontend":"success","supabaseEdge":"success"},"requestContractHash":"fb8d183b3beb03e6b605bb6718733060e8603a2d19ce954a46b1b04811d47e9c","forgejoWorkflowProof":{"runId":13821,"source":"signed_push_receipt","status":"success","results":{},"conclusion":"success","targetStates":{"frontend":"success","supabaseEdge":"success"},"targetJobCount":7,"observedTargetStates":{"frontend":"success","supabaseEdge":"success"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-01T12:05:54.689809+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"109cab95a80ec3c3919d27ebcd124b4d96ddc52e","external_id":"forgejo-main-109cab95a80e","receipt_type":"canonical_release_status","idempotency_key":"mission:5c866dd2-152d-47bd-8a2f-ca6cc23fce38:forgejo-release-status:109cab95a80ec3c3919d27ebcd124b4d96ddc52e:verified:forgejo-main/source=success|forgejo-release/workflow=success|supabase-edge-production/live=success|frontend-cloudflare/live=success","mission_step_id":"aa0ad409-5017-4fb2-aa55-c64281bc00f4","command_center_event_id":"5c866dd2-152d-47bd-8a2f-ca6cc23fce38"},{"id":"5e1c9b1c-9156-4e1a-aa2e-758d51faa286","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[{"path":"workers/cc-execution/src/console-operator.js","content":"// Console is an authenticated client of the existing mission and witness engines.\nconst json = (body, status = 200) => new Response(JSON.stringify(body), { status, headers: { 'content-type': 'application/json', 'cache-control': 'no-store' } });\nconst text = (value, max = 2000) => String(value || '').trim().slice(0, max);\nconst uuid = value => /^[a-f0-9-]{36}$/i.test(String(value || '')) ? value : null;\nexport function safeContext(raw = {}) {\n  let route = text(raw.route, 1000);\n  if (!route.startsWith('/') || route.startsWith('//') || /[\\\\\\r\\n]/.test(route)) route = '';\n  return { route, tenantRef: text(raw.tenantRef, 120), roleRef: text(raw.roleRef, 80), viewports: Array.isArray(raw.viewports) && raw.viewports.length ? [...new Set(raw.viewports.filter(v => ['desktop', 'mobile'].includes(v)))] : ['desktop', 'mobile'], jobId: uuid(raw.jobId), missionId: uuid(raw.missionId), lastObjective: text(raw.lastObjective) };\n}\nexport function inferOperator(message, rawContext = {}) {\n  const context = safeContext(rawContext), raw = text(message), lower = raw.toLowerCase();\n  if (!raw) return { kind: 'help', context, message: 'Tell me what to inspect, or paste a KNOCKLAUNCH route.' };\n  if (/\\b(?:password|secret|bearer|api[_ -]?key|access[_ -]?token)\\s*[:=]/i.test(raw)) return { kind: 'help', context, message: 'Keep credentials in Connections. Describe the page or task here.' };\n  if (/https?:\\/\\//i.test(raw) && !/https:\\/\\/(?:app\\.)?knocklaunch\\.app(?:\\/|$)/i.test(raw)) return {kind:'help',context,message:'Paste a KNOCKLAUNCH application route or URL.'};\n  const explicit = raw.match(/https:\\/\\/(?:app\\.)?knocklaunch\\.app(\\/[^\\s<>]*)|(?:^|\\s)(\\/[^\\s<>]+)/i);\n  if (explicit) {\n    const route = (explicit[1] || explicit[2]).replace(/[.,;]$/, '');\n    if (!safeContext({route}).route) return { kind: 'help', context, message: 'Use an application path such as /admin/console.' };\n    if (context.route !== route) { context.jobId = null; context.missionId = null; context.tenantRef = ''; context.roleRef = ''; }\n    context.route = route;\n    const tenant = route.match(/^\\/([^/]+)\\/owner(?:\\/|$)/);\n    if (tenant) context.tenantRef = tenant[1];\n  } else if (/\\b(?:console|godmode)\\b/i.test(raw)) {\n    context.route = /console/i.test(raw) ? '/admin/console' : '/admin'; context.tenantRef = ''; context.roleRef = '';\n  } else if (/big\\s*pap[iy]/i.test(raw)) {\n    const module = lower.match(/\\b(inventory|calendar|proposals)\\b/)?.[1];\n    if (!module) return { kind:'help', context, message:'Which Big Papi page? Say inventory, calendar, proposals, or paste its route.' };\n    context.route = '/big-papis/owner/' + module; context.tenantRef = 'big-papis'; context.roleRef = ''; context.jobId = null;\n  }\n  if (/\\bboth\\b/.test(lower) || /desktop/.test(lower) && /mobile|phone/.test(lower)) context.viewports = ['desktop','mobile'];\n  else if (/\\b(mobile|phone)\\b/.test(lower)) context.viewports = ['mobile'];\n  else if (/\\b(desktop|computer)\\b/.test(lower)) context.viewports = ['desktop'];\n  const role = raw.match(/\\bas\\s+(?:the\\s+)?(owner|customer|crew|admin|godmode)\\b/i);\n  if (role) context.roleRef = role[1];\n  if (/^(?:status|poll|progress|where are we|continue|keep going|cancel|stop)[?.!\\s]*$/i.test(raw)) return { kind: /^(cancel|stop)/i.test(raw) ? 'cancel' : 'status', context };\n  const readOnly = /\\b(?:show|look|inspect|view|witness|screenshot|check|audit|see|preview)\\b/.test(lower) || /^(?:now |on |and )?(?:mobile|desktop|both|phone|again)[.!?\\s]*$/.test(lower);\n  const change = /\\b(?:fix|change|implement|build|add|remove|repair|deploy|ship|update|make)\\b/.test(lower) && !/\\b(?:do not|don't|without|no)\\s+(?:fix|change|mutat|edit)/.test(lower);\n  if (readOnly && change) return { kind:'help', context, message:'Do you want an inspection or a change? Send the inspection first, or start the request with “Fix”.' };\n  if (change) return { kind:'mission', context, objective:raw };\n  if (!readOnly && !explicit) return { kind:'help', context, message:'I can inspect pages, show desktop/mobile evidence, and track work. Try “Show /admin/console on both” or paste the exact page route.' };\n  if (readOnly && !explicit && !/big\\s*pap[iy]|\\b(console|godmode|this|that|same|again|mobile|desktop|phone|both)\\b/i.test(raw)) return {kind:'help',context,message:'Paste the exact page route so I can inspect the correct application and tenant.'};\n  if (!context.route) return { kind:'help', context, message:'Which page? Paste its route or URL, then I will remember it for follow-ups.' };\n  return { kind:'witness', context, objective:raw };\n}\nexport async function handleConsoleOperator(request, env, ctx, dispatch) {\n  // This hostname is reachable only via the production service binding. Public worker URLs cannot invoke this endpoint.\n  if (new URL(request.url).hostname !== 'cc-execution.internal' || request.headers.get('X-Knocklaunch-Console-Proxy') !== 'owner-production') return json({error:'Owner Console required'},403);\n  if (request.method !== 'POST') return json({error:'Method not allowed'},405);\n  const rawBody = await request.text(); if (rawBody.length > 16000) return json({error:'Message too long'},413);\n  let input; try { input=JSON.parse(rawBody); } catch { return json({error:'Invalid request'},400); }\n  const plan = inferOperator(input.message, input.context), context=plan.context;\n  if (plan.kind==='help') return json({ok:true,kind:'help',message:plan.message,context,inference:{action:'clarify',route:context.route,viewports:context.viewports}});\n  let path, payload;\n  if (plan.kind==='witness') {\n    path='/repair/inspect-route/start'; payload={route:context.route,tenantRef:context.tenantRef,roleRef:context.roleRef,viewports:context.viewports,runnerLane:'laptop',requiredRunnerLane:'laptop',mode:'observe',maxRoutes:1,authorizedMutations:false,objective:plan.objective};\n  } else if (plan.kind==='status'||plan.kind==='cancel') {\n    if (context.jobId) { path='/repair/inspect-route/'+(plan.kind==='cancel'?'cancel':'status'); payload={jobId:context.jobId,runnerLane:'laptop'}; }\n    else if(context.missionId&&plan.kind==='status') {path='/mission/status';payload={missionId:context.missionId};}\n    else return json({ok:true,kind:'help',message:'There is no active job in this conversation. Ask me to inspect a page.',context});\n  } else {\n    path='/mission/execute'; payload={objective:plan.objective,route:context.route||undefined,tenantRef:context.tenantRef||undefined,ownerApproved:true,approved:true,ship:true};\n  }\n  const delegated=new Request('https://cc-execution.internal'+path,{method:'POST',headers:{'Content-Type':'application/json',Authorization:'Bearer '+env.CC_EXECUTION_KEY},body:JSON.stringify(payload)});\n  const response=await dispatch(delegated,env,ctx), receipt=await response.json();\n  if(!response.ok) return json({ok:false,error:receipt.reason||receipt.failureReason||receipt.error||'Request unavailable',receipt,context},response.status);\n  if(plan.kind==='witness') {context.jobId=receipt.jobId||null;context.missionId=null;}\n  if(plan.kind==='mission') {context.missionId=receipt.missionId||null;context.jobId=null;context.lastObjective=plan.objective;}\n  const terminal=receipt.terminal===true;\n  const message=plan.kind==='mission' ? (receipt.status==='synthesis_required'?'Work recorded. This request still needs an implementation executor; it is not deployed.':`Work: ${receipt.ownerFacingState||receipt.status||'accepted'}.`) : plan.kind==='cancel'?'Cancellation requested.':terminal?`Inspection ${receipt.status}.`:`Inspecting ${context.route} · ${context.viewports.join(' + ')}.`;\n  return json({ok:true,kind:plan.kind,message,context,receipt,inference:{action:plan.kind,route:context.route,tenantRef:context.tenantRef,roleRef:context.roleRef||'default',viewports:context.viewports,runnerLane:'laptop'}});\n}\n"},{"path":"public/console/operator.mjs","content":"let host, options, sending=false, draft='', timer=null, activeView='desktop', latest=null;\nconst messages=[];\nlet context={route:'',tenantRef:'',roleRef:'',viewports:['desktop','mobile']};\ntry { const saved=JSON.parse(sessionStorage.getItem('kl-operator-context')||'null');if(saved)context={...context,...saved}; } catch {}\nconst esc=v=>String(v??'').replace(/[&<>\"']/g,c=>({'&':'&amp;','<':'&lt;','>':'&gt;','\"':'&quot;',\"'\":'&#39;'}[c]));\nfunction save(){try{sessionStorage.setItem('kl-operator-context',JSON.stringify(context));}catch{}}\nfunction evidence(){return (latest?.artifactReceipts||[]).filter(a=>a.viewport===activeView&&(!a.route||a.route===context.route));}\nfunction imageUrl(value){try{const u=new URL(value);return u.protocol==='https:'&&u.hostname==='laptop-witness.knocklaunch.app'&&u.pathname.startsWith('/__witness/evidence/')?u.href:'';}catch{return '';}}\nfunction render(){\n if(!host?.isConnected)return;\n const proof=evidence()[0]||latest?.[activeView+'Proof'],url=imageUrl(proof?.signedUrl),pending=context.jobId&&latest&&!latest.terminal;\n host.innerHTML=`<header><div class=\"top\"><div><div class=\"eyebrow\">KNOCKLAUNCH CONSOLE</div><h1>OPERATOR</h1></div><span class=\"pill ${pending?'running':'live'}\">${pending?'Witness running':'Ready'}</span></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\"><div class=\"operator-grid\"><section class=\"panel operator-chat\"><div class=\"provider-head\"><h2>What do you want to see?</h2><button id=\"operator-clear\" ${sending||pending?'disabled':''}>New chat</button></div><div class=\"operator-messages\" role=\"log\" aria-live=\"polite\">${messages.length?messages.map(m=>`<div class=\"operator-message ${m.role}\"><strong>${m.role==='user'?'You':'KNOCKLAUNCH'}</strong><p>${esc(m.text)}</p></div>`).join(''):'<p class=\"muted\">Ask to inspect a page. I’ll keep its route, tenant and screen size for follow-ups.</p><div class=\"actions\"><button data-prompt=\"Show /admin/console on both\">Show Console</button><button data-prompt=\"Show Big Papi inventory on mobile\">Big Papi inventory</button></div>'}</div><form id=\"operator-form\"><label class=\"sr-only\" for=\"operator-message\">Message KNOCKLAUNCH</label><textarea id=\"operator-message\" rows=\"3\" maxlength=\"2000\" placeholder=\"Show /admin/console on mobile…\" ${sending?'disabled':''}>${esc(draft)}</textarea><div class=\"operator-compose-actions\"><span class=\"muted small\">Enter to send · Shift+Enter for a new line</span><button type=\"submit\" ${sending?'disabled':''}>${sending?'Sending…':'Send'}</button></div></form><details><summary>Inspection context</summary><div class=\"operator-context\"><label>Route<input id=\"operator-route\" value=\"${esc(context.route)}\" placeholder=\"/tenant/owner/page\"></label><label>Tenant<input id=\"operator-tenant\" value=\"${esc(context.tenantRef)}\" placeholder=\"Tenant slug or ID\"></label><label>Role<input id=\"operator-role\" value=\"${esc(context.roleRef)}\" placeholder=\"Default experience\"></label></div><button id=\"operator-context-save\">Use this context</button></details></section><section class=\"panel operator-witness\"><div class=\"provider-head\"><h2>Visual Witness</h2><div class=\"actions\">${['desktop','mobile'].map(v=>`<button data-view=\"${v}\" aria-pressed=\"${activeView===v}\">${v==='desktop'?'Desktop':'Mobile'}</button>`).join('')}</div></div><div class=\"operator-route muted\">${esc(context.route||'Choose a page in chat')}${context.tenantRef?' · '+esc(context.tenantRef):''}</div><p class=\"small muted\" role=\"status\">${esc(latest?.jobProgress?.phase?.replaceAll('_',' ')||latest?.status||'Your capture will appear here.')}</p><div class=\"operator-image ${activeView}\">${url?`<a href=\"${esc(url)}\" target=\"_blank\" rel=\"noopener noreferrer\"><img src=\"${esc(url)}\" alt=\"${esc(activeView+' witness of '+context.route)}\" referrerpolicy=\"no-referrer\"></a><p class=\"small muted\">Captured ${esc(new Date(proof.capturedAt||Date.now()).toLocaleTimeString())} · Temporary image</p>`:`<p class=\"muted\">${pending?'Capturing the requested page…':latest?'No current image for this screen size. Ask “now '+activeView+'”.':'Desktop and mobile captures, directly from your laptop.'}</p>`}</div><div class=\"actions\"><button data-prompt=\"now ${activeView}\" ${sending||!context.route?'disabled':''}>Capture ${activeView}</button><button data-prompt=\"status\" ${sending||!context.jobId&&!context.missionId?'disabled':''}>Check progress</button>${pending?'<button data-prompt=\"cancel\">Cancel witness</button>':''}</div>${latest?.failureReason?`<p class=\"error\">${esc(latest.failureReason)}</p>`:''}<details><summary>What ran</summary><pre class=\"logs\">${esc(JSON.stringify({route:context.route,tenant:context.tenantRef||null,role:context.roleRef||'default',viewports:context.viewports,lane:latest?.runnerLane||'laptop',status:latest?.status||'not started',job:context.jobId||context.missionId||null},null,2))}</pre></details></section></div></main></div>`;\n host.querySelectorAll('[data-stage]').forEach(b=>b.onclick=()=>{clearTimeout(timer);const go=options.onStage;host=null;go(b.dataset.stage);});\n host.querySelectorAll('[data-view]').forEach(b=>b.onclick=()=>{draft=host.querySelector('textarea').value;activeView=b.dataset.view;render();});\n host.querySelectorAll('[data-prompt]').forEach(b=>b.onclick=()=>send(b.dataset.prompt));\n const input=host.querySelector('textarea');input.oninput=()=>{draft=input.value;};input.onkeydown=e=>{if(e.key==='Enter'&&!e.shiftKey){e.preventDefault();send(input.value);}};\n host.querySelector('form').onsubmit=e=>{e.preventDefault();send(input.value);};\n host.querySelector('#operator-clear').onclick=()=>{clearTimeout(timer);context={route:'',tenantRef:'',roleRef:'',viewports:['desktop','mobile']};latest=null;messages.length=0;draft='';save();render();};\n host.querySelector('#operator-context-save').onclick=()=>{const route=host.querySelector('#operator-route').value.trim();if(route&&!/^\\/(?!\\/)/.test(route)){messages.push({role:'assistant',text:'Use a route starting with one slash.'});render();return;}context={route,tenantRef:host.querySelector('#operator-tenant').value.trim(),roleRef:host.querySelector('#operator-role').value.trim(),viewports:context.viewports};latest=null;save();render();};\n const image=host.querySelector('.operator-image img');if(image)image.onerror=()=>{image.parentElement.replaceWith(Object.assign(document.createElement('p'),{textContent:'This temporary capture expired or could not load. Use Capture to refresh it.',className:'muted'}));};\n const log=host.querySelector('.operator-messages');log.scrollTop=log.scrollHeight;\n}\nasync function send(message,{poll=false}={}){\n if(sending||!message.trim())return;\n if(context.jobId&&latest&&!latest.terminal&&!/^(status|poll|progress|cancel|stop)$/i.test(message.trim())){messages.push({role:'assistant',text:'The current witness is still running. Wait for its result or cancel it before starting another capture.'});render();return;}\n clearTimeout(timer);sending=true;\n if(!poll){messages.push({role:'user',text:message});draft='';}\n render();\n try{\n  const result=await options.bridge('operator',{message,context});\n  if(result.ok===false||result.error)throw new Error(result.error||'Operator unavailable');\n  context=result.context||context;save();if(result.receipt)latest=result.receipt;\n  if(!poll||latest?.terminal)messages.push({role:'assistant',text:result.message});\n  if(context.viewports.length===1)activeView=context.viewports[0];\n  if(result.kind!=='help'&&context.jobId&&!latest?.terminal)timer=setTimeout(()=>send('status',{poll:true}),4000);\n }catch(e){messages.push({role:'assistant',text:e.message+' Use Check progress to retry.'});}\n finally{sending=false;render();}\n}\nexport function mountOperator(element,config){options=config;host=element;if(element.querySelector('.operator-main'))return;render();if(context.jobId&&(!latest||!latest.terminal)&&!sending)send('status',{poll:true});}\n"},{"path":"public/console/console.js","content":"import { mountOperator } from './operator.mjs';\nimport { stages, actions } from './catalog.mjs';\nconst app=document.querySelector('#app');\nconst embedded=window.parent!==window;\nconst local=location.hostname==='127.0.0.1'||location.hostname==='localhost';\nconst localSessionKey='kl-console-session';\nlet token=localStorage.getItem(localSessionKey)||'';\n// The launcher supplies the machine-local session in the fragment once, never a query or provider secret.\nif(local&&location.hash.startsWith('#session=')){token=decodeURIComponent(location.hash.slice(9));localStorage.setItem(localSessionKey,token);history.replaceState(null,'',location.pathname);}\nlet selected='operator', connected=false, busy=false, state={jobs:[],steps:{},providers:{}}, notice='', lastRefresh=0;\nconst pending=new Map();\nconst escape=value=>String(value??'').replace(/[&<>\"']/g,c=>({'&':'&amp;','<':'&lt;','>':'&gt;','\"':'&quot;',\"'\":'&#39;'}[c]));\nwindow.addEventListener('message',event=>{if(event.source!==parent||event.origin!==location.origin||event.data?.type!=='kl-console-result')return;const entry=pending.get(event.data.id);if(!entry)return;pending.delete(event.data.id);clearTimeout(entry.timer);event.data.error?entry.reject(new Error(event.data.error)):entry.resolve(event.data.data);});\nfunction bridge(action,payload={}){return new Promise((resolve,reject)=>{const id=crypto.randomUUID(),timer=setTimeout(()=>{pending.delete(id);reject(new Error('Provider request timed out. Retry.'));},30000);pending.set(id,{resolve,reject,timer});parent.postMessage({type:'kl-console-request',id,action,payload},location.origin);});}\nasync 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 refresh(){if(busy)return;busy=true;try{if(embedded&&!local&&!token){const data=await bridge('forgejo');state.providers.forgejo=data;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){connected=false;if(local||token||embedded)notice=error.message;}finally{busy=false;if(document.activeElement?.tagName!=='INPUT')render();}}\nasync function run(id){notice='';try{if(['cloudflare','supabase','forgejo','runner-proof'].includes(id)&&!connected&&embedded){state.steps[id]={status:'running',startedAt:new Date().toISOString()};render();const data=await bridge(id);state.providers[id]=data;state.steps[id]={status:data.status==='unavailable'?'failed':'passed',endedAt:new Date().toISOString()};render();return;}\n if(!connected)throw new Error('Connect the MSI Console to run local steps.');\n let confirmation,registrationToken;\n if(id==='runner-register'){registrationToken=app.querySelector('#runner-registration-token')?.value.trim()||'';if(!registrationToken)throw new Error('Paste the repository runner registration token first.');}\n if(['candidate','promote','runner-stop','runner-restart','git-pull'].includes(id)){const source=state.release?.sourceSha||state.sourceSha||'current working copy';if(!confirm(actions[id].name+'\\n\\nTarget: '+source+'\\n\\nContinue?'))return;confirmation=state.release?.confirmation||source;}\n await api('/api/run',{action:id,confirmation,stage:selected,...(registrationToken?{registrationToken}:{})});if(registrationToken){const input=app.querySelector('#runner-registration-token');if(input)input.value='';registrationToken='';}await refresh();\n }catch(error){notice=error.message;if(state.steps[id]?.status==='running')state.steps[id]={status:'failed',error:error.message};render();}}\nfunction providerCard(name){const data=state.providers[name];if(!data)return `<section class=\"panel\"><h3>${escape(name)}</h3><p class=\"muted\">No provider observation yet.</p><button data-run=\"${name}\">Load live state</button></section>`;const stale=Date.now()-Date.parse(data.observedAt)>90000;const status=stale?'stale':data.status;return `<section class=\"panel\"><div class=\"provider-head\"><h3>${escape(name)}</h3><span class=\"pill ${escape(status)}\">${escape(status)}</span></div><p class=\"muted small\">Observed ${escape(new Date(data.observedAt).toLocaleString())}</p>${data.error?`<p class=\"error\">${escape(data.error)}</p>`:''}<div class=\"metrics\">${Object.entries(data.summary||{}).map(([key,value])=>`<div class=\"metric\"><span class=\"muted\">${escape(key)}</span><b>${escape(value??'Unknown')}</b></div>`).join('')}</div>${Object.entries(data.sections||{}).map(([key,section])=>`<details><summary>${escape(key)} · ${escape(section.status)}</summary>${section.error?`<p class=\"error\">${escape(section.error)}</p>`:''}<pre class=\"logs\">${escape(JSON.stringify(section.data??null,null,2))}</pre></details>`).join('')}</section>`;}\nfunction runnerCard(){const localRunner=state.runner||{},runners=state.providers.forgejo?.sections?.Runners?.data?.runners||[],remote=runners.find(item=>item?.name==='msi-local'),remoteReady=remote?remote.status!=='offline':null,primaryReady=embedded?remoteReady:localRunner.serviceActive;const item=(label,ok,text)=>`<div class=\"metric\"><span class=\"muted\">${escape(label)}</span><b>${escape(text)}</b><span class=\"pill ${ok===true?'live':ok===false?'failed':'waiting'}\">${ok===true?'ready':ok===false?'attention':'unknown'}</span></div>`;return `<section class=\"panel\"><div class=\"provider-head\"><h3>MSI runner status</h3><span class=\"pill ${primaryReady?'live':'failed'}\">${primaryReady?'online':'offline'}</span></div><div class=\"metrics\">${item('Local service',localRunner.serviceActive,localRunner.serviceActive?'Running':'Stopped')}${item('Autostart',localRunner.autostartEnabled,localRunner.autostartEnabled?'Enabled':'Disabled')}${item('Windows keepalive',localRunner.keepalivePresent?localRunner.keepaliveRunning&&localRunner.keepaliveEnabled:false,localRunner.keepalivePresent?(localRunner.keepaliveRunning?'Running':'Stopped'):'Missing')}${item('Forgejo msi-local',remoteReady,remote?`${remote.status}${remote.busy?' · busy':''}`:'Load Forgejo state')}</div><p class=\"muted small\">${localRunner.observedAt?'Local state checked '+escape(new Date(localRunner.observedAt).toLocaleTimeString()):'Waiting for MSI state.'}</p>${remote?'<button data-run=\"forgejo\">Refresh Forgejo</button>':'<button data-run=\"forgejo\">Load Forgejo state</button>'}</section>`;}\nfunction 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.');},stages,onStage:id=>{selected=id;render();}});return;}const stage=stages.find(x=>x.id===selected),running=state.jobs.find(x=>x.status==='running'),runners=state.providers.forgejo?.sections?.Runners?.data?.runners||[],remote=runners.find(item=>item?.name==='msi-local'),msiConnected=connected||Boolean(remote&&remote.status!=='offline');app.innerHTML=`<header><div class=\"top\"><div><div class=\"eyebrow\">MISSION FREEDOM</div><h1>KNOCKLAUNCH CONSOLE</h1></div><div class=\"row\"><span class=\"pill ${msiConnected?'live':'unavailable'}\">MSI ${msiConnected?'connected':'disconnected'}</span><button id=\"refresh\">Refresh</button></div></div></header><div class=\"layout\"><nav aria-label=\"Console stages\">${stages.map((item,i)=>`<button data-stage=\"${item.id}\" aria-current=\"${selected===item.id?'step':'false'}\"><b>${i+1}</b>${item.name}</button>`).join('')}</nav><main><div class=\"headline\"><div class=\"eyebrow\">STAGE ${stages.indexOf(stage)+1} OF ${stages.length}</div><h2>${stage.name}</h2><div class=\"muted\">${stage.description}</div></div>${notice?`<p role=\"alert\" class=\"notice error\">${escape(notice)}</p>`:''}${connected?`<details class=\"panel\"><summary>Connection settings</summary><p class=\"muted\">Saved only on this computer. Leave a field empty to keep its existing value.</p><form id=\"settings\"><div class=\"metrics\">${[\"CLOUDFLARE_API_TOKEN\",\"CLOUDFLARE_ACCOUNT_ID\",\"SUPABASE_ACCESS_TOKEN\",\"SUPABASE_PROJECT_REF\",\"FORGEJO_TOKEN\",\"RUNNER_SERVICE\"].map(key=>`<label class=\"muted\">${key.replaceAll(\"_\",\" \")}<input name=\"${key}\" type=\"${/TOKEN/.test(key)?\"password\":\"text\"}\" autocomplete=\"off\" placeholder=\"${state.settings?.[key]?\"Configured\":\"Not configured\"}\" style=\"width:100%;margin-top:6px\"></label>`).join(\"\")}</div><div class=\"actions\"><button type=\"submit\">Save settings</button></div></form></details>`:\"\"}${!connected&&!embedded?`<section class=\"panel\"><h3>Connect your MSI</h3><p class=\"muted\">Open “KNOCKLAUNCH Console” on the MSI. Copy its pairing code below. Local commands run on that computer; provider views remain available in GodMode.</p><div class=\"connect\"><input id=\"pair\" type=\"password\" autocomplete=\"off\" placeholder=\"Local Console pairing code\" aria-label=\"Local Console pairing code\"><button id=\"connect\">Connect</button></div><p class=\"muted\">This browser stays paired to this MSI. Re-pair only if browser storage is cleared or the machine pairing is reset.${local?'':' Your browser may ask to allow access to devices on your local network.'}</p></section>`:''}<div class=\"panels\"><section class=\"panel\"><div class=\"provider-head\"><h3>Steps</h3><span class=\"muted\">${running?'Running: '+escape(actions[running.action]?.name||running.action):'Choose the next step'}</span></div>${stage.steps.map(([id,name,description],index)=>{const step=state.steps[id]||{},status=step.status||'waiting';const allowed=connected||embedded&&['cloudflare','supabase','forgejo','runner-proof'].includes(id);return `<div class=\"step\"><span class=\"number\">${index+1}</span><div><strong>${name}</strong><p class=\"muted\">${description}</p><span class=\"pill ${escape(status)}\">${escape(status)}</span>${step.startedAt?` <span class=\"muted small\">${escape(new Date(step.startedAt).toLocaleTimeString())}${step.durationMs!=null?' · '+Math.round(step.durationMs/1000)+'s':''}</span>`:''}${step.error?`<p class=\"error\">${escape(step.error)}</p>`:''}${id==='runner-register'&&connected?`<input id=\"runner-registration-token\" type=\"password\" autocomplete=\"off\" spellcheck=\"false\" aria-label=\"Repository runner registration token\" placeholder=\"Paste repository runner token\" style=\"width:100%;margin-top:8px\">`:''}</div><button data-run=\"${id}\" ${!allowed||running?'disabled':''}>${id==='runner-register'?'Register':status==='failed'?'Retry':'Run'}</button></div>`}).join('')}</section><aside>${selected==='runner'?runnerCard():['cloudflare','supabase','health'].includes(selected)?providerCard(selected==='health'?'cloudflare':selected):`<section class=\"panel\"><h3>Current release</h3><p class=\"muted\">Source</p><code>${escape(state.release?.sourceSha||state.sourceSha||'Not prepared')}</code><p class=\"muted\">Candidate</p><code>${escape(state.release?.candidateVersionId||'Not created')}</code><p class=\"muted\">${escape(state.release?.state||'Prepare a release to begin.')}</p></section>${providerCard('cloudflare')}`}${selected==='health'?providerCard('supabase'):''}</aside><section class=\"panel full\"><div class=\"provider-head\"><h3>Command output</h3><span class=\"muted small\">${lastRefresh?'Updated '+escape(new Date(lastRefresh).toLocaleTimeString()):'Awaiting connection'}</span></div>${state.jobs.length?state.jobs.slice(0,8).map((job,index)=>`<details ${index===0?'open':''}><summary>${escape(actions[job.action]?.name||job.action)} · ${escape(job.status)} · ${escape(new Date(job.startedAt).toLocaleTimeString())}</summary><pre class=\"logs\">${escape(job.output||job.error||'Waiting for output…')}</pre></details>`).join(''):'<p class=\"muted\">Run a step to see its output here.</p>'}</section></div></main></div>`;\napp.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 settings=app.querySelector('#settings');if(settings)settings.onsubmit=async event=>{event.preventDefault();try{await api('/api/settings',Object.fromEntries(new FormData(settings)));notice='Settings saved.';settings.reset();await refresh();}catch(error){notice=error.message;render();}};app.querySelector('#refresh').onclick=refresh;const connect=app.querySelector('#connect');if(connect)connect.onclick=()=>{token=app.querySelector('#pair').value.trim();localStorage.setItem(localSessionKey,token);refresh();};}\nrender();if(embedded||local||token)refresh();setInterval(()=>{if(!document.hidden&&(embedded||connected||local))refresh();},5000);\n\n"},{"path":"public/console/console.css","content":":root{color-scheme:dark;font-family:Inter,Segoe UI,system-ui,sans-serif;background:#06100d;color:#e8f5ef;font-size:15px}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer;border:1px solid #315a49;background:#122c22;color:#e4fff1;padding:.65rem .9rem;border-radius:9px;font-weight:600}button:hover{background:#204734}button:disabled{opacity:.45;cursor:not-allowed}input{background:#071a12;border:1px solid #315a49;padding:.7rem;color:white;border-radius:8px;min-width:0}a{color:#79e5af}header{position:sticky;top:0;z-index:5;background:#081610;border-bottom:1px solid #284637;padding:16px 22px}h1{font-size:21px;letter-spacing:.035em;margin:4px 0}h2{font-size:23px;margin:0 0 8px}h3{font-size:16px;margin:0 0 12px}p{line-height:1.5}.eyebrow{color:#74d8a9;font-size:10px;letter-spacing:.18em;font-weight:700}.muted{color:#9cb7a9;font-size:13px}.top,.row{display:flex;align-items:center;gap:12px;justify-content:space-between}.top{flex-wrap:wrap}.layout{display:grid;grid-template-columns:210px minmax(0,1fr);min-height:calc(100vh - 85px)}nav{padding:16px;border-right:1px solid #243f32}nav button{display:flex;align-items:center;gap:12px;width:100%;text-align:left;margin-bottom:6px;border-color:transparent;background:transparent;font-size:14px}nav button[aria-current=step]{background:#163b29;border-color:#428968}nav b{display:grid;place-items:center;width:25px;height:25px;border:1px solid #426a55;border-radius:7px}main{padding:22px;min-width:0;max-width:1500px;width:100%;margin:0 auto}.panels{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);gap:16px}.panel{background:#0b1b14;border:1px solid #254a37;border-radius:12px;padding:17px;margin-bottom:16px}.step{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:10px;align-items:center;padding:13px 0;border-bottom:1px solid #203e2e}.step:last-child{border:0}.step p{margin:4px 0}.step .number{color:#72daa7;font-weight:700}.pill{font-size:10px;font-weight:700;text-transform:uppercase;padding:5px 8px;border-radius:6px;background:#263a30;white-space:nowrap}.passed,.live{background:#154a30;color:#89f0b8}.failed,.blocked,.unavailable{background:#4b391b;color:#ffd591}.running{background:#16453c;color:#9ff6de}.waiting,.stale{color:#a5b9af}.error{color:#ffd591;overflow-wrap:anywhere;font-size:13px}.logs{white-space:pre-wrap;overflow-wrap:anywhere;max-height:260px;overflow:auto;background:#030a06;padding:14px;font:12px/1.65 Consolas,monospace;border-radius:8px}.metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.metric{padding:12px;background:#10271a;border:1px solid #254d35;border-radius:8px;overflow-wrap:anywhere}.metric b{display:block;font-size:20px;margin-top:5px}details{margin-top:12px}summary{cursor:pointer;color:#a4dabb;font-size:13px}table{width:100%;border-collapse:collapse;font-size:12px}td,th{text-align:left;padding:8px;border-bottom:1px solid #284436;overflow-wrap:anywhere}.scroll{overflow:auto;max-height:300px}.connect{display:flex;gap:8px;flex-wrap:wrap}.connect input{flex:1}.actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.notice{border-left:3px solid #65c18d;padding:10px 14px;background:#142d20}.headline{margin-bottom:18px}.full{grid-column:1/-1}.small{font-size:11px}.provider-head{display:flex;gap:8px;align-items:center;justify-content:space-between;margin-bottom:12px}@media(max-width:900px){.panels{grid-template-columns:1fr}.layout{grid-template-columns:1fr}nav{display:flex;overflow:auto;position:sticky;top:83px;z-index:4;background:#091a12;padding:8px;border-bottom:1px solid #243f32}nav button{width:auto;white-space:nowrap;margin:0;padding:8px}nav b{width:20px;height:20px}main{padding:12px}.panel{padding:13px}header{padding:12px}.step{grid-template-columns:24px minmax(0,1fr) auto}.top .muted{display:none}}\n\n\n.operator-grid{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(0,1.4fr);gap:16px;align-items:start}.operator-chat{display:flex;flex-direction:column;min-height:560px}.operator-messages{flex:1;min-height:200px;max-height:48vh;overflow:auto}.operator-message{padding:12px;margin:8px 0;border-radius:10px;background:#102a1e;overflow-wrap:anywhere}.operator-message.user{background:#194333;margin-left:24px}.operator-message strong{font-size:11px;color:#8ce1b4}.operator-message p{white-space:pre-wrap;margin:5px 0}.operator-chat textarea{width:100%;resize:vertical;min-height:80px;border:1px solid #438563;border-radius:10px;background:#06140c;color:#effff5;padding:12px;font:inherit}.operator-compose-actions{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-top:8px}.operator-context{display:grid;gap:8px;margin:12px 0}.operator-context label{display:grid;gap:5px;font-size:12px}.operator-image{background:#030905;min-height:220px;border-radius:9px;text-align:center;padding:10px;overflow:auto;max-height:65vh}.operator-image img{max-width:100%;height:auto;display:block;margin:auto}.operator-image.mobile img{max-width:min(100%,390px)}.operator-route{overflow-wrap:anywhere}.operator-witness h2,.operator-chat h2{font-size:18px}.operator-witness .actions{margin:0;gap:4px}.operator-witness [aria-pressed=true]{background:#286346;border-color:#79e5af}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:1050px){.operator-grid{grid-template-columns:1fr}.operator-chat{min-height:0}.operator-messages{max-height:32vh;min-height:100px}.operator-image{max-height:60vh}.operator-main{padding:10px}.operator-witness .provider-head{flex-wrap:wrap}.operator-chat .provider-head{align-items:start}.operator-chat h2{font-size:17px}}\n"},{"path":"public/console/catalog.mjs","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):[]; }\n\n"},{"path":"src/pages/admin/GodModeCommandConsole.tsx","content":"import { useEffect, useRef } from 'react';\nimport { supabase } from '@/integrations/supabase/client';\nimport { AdminPage } from '@/components/admin/AdminPage';\nimport { Terminal } from 'lucide-react';\n\n/** One shared Console UI. Provider credentials never cross the iframe boundary. */\nexport default function GodModeCommandConsole() {\n  const frame = useRef<HTMLIFrameElement>(null);\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      if (type !== 'kl-console-request' || typeof id !== 'string' || id.length > 80 || !['cloudflare','supabase','forgejo','runner-proof','operator'].includes(action) || pending.has(action)) return;\n      pending.add(action);\n      try {\n        let data: any;\n        if (action === 'forgejo' || action === 'runner-proof' || action === 'operator') {\n          const { data: sessionData } = await supabase.auth.getSession();\n          const accessToken = sessionData.session?.access_token;\n          if (!accessToken) throw new Error('Sign in required');\n          const response = await fetch(action === 'operator' ? '/__knocklaunch/console/operator' : '/__knocklaunch/console/forgejo', {\n            method: action === 'forgejo' ? 'GET' : 'POST',\n            headers: { Authorization: `Bearer ${accessToken}`, 'Content-Type': 'application/json' },\n            ...(action === 'operator' ? { body: JSON.stringify({message: String(payload?.message || '').slice(0,2000), context: payload?.context || {}}) } : action === 'runner-proof' ? { body: JSON.stringify({ action }) } : {}),\n          });\n          data = await response.json();\n          if (!response.ok || data?.error) throw new Error(data?.error || `Console backend returned ${response.status}`);\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 { pending.delete(action); }\n    };\n    window.addEventListener('message', handle);\n    return () => window.removeEventListener('message', handle);\n  }, []);\n  return <AdminPage title=\"KNOCKLAUNCH Console\" description=\"Machine, code, providers and releases\" icon={Terminal} width=\"full\" padded={false}>\n    <iframe ref={frame} src=\"/console/index.html\" title=\"KNOCKLAUNCH Console\" className=\"w-full border-0\" style={{height:'calc(100dvh - 70px)',minHeight:400}} />\n  </AdminPage>;\n}\n\n"}],"branch":"ai/objective-first-repair-bc00a902a6ac","prBody":"Add the owner Console chat and desktop/mobile witness viewer. Keep route, tenant and viewport context for follow-ups, poll the existing laptop witness and show temporary captures. Reuse the authenticated production Console proxy and existing command-center mission endpoints. Preserve all existing stages. Validated intent routing, read-only enforcement, binding authorization and JavaScript syntax.","writes":[],"patches":[],"prTitle":"feat: Console Operator chat and laptop witness viewer","version":1,"approved":true,"missionId":"bc00a902-a6ac-4b33-b2fa-8a7c736a2fff","objective":"Implement the KNOCKLAUNCH Console Operator as the owner's primary conversational workbench inside /admin/console. It must combine natural-language commands and temporary Visual Witness imagery in one screen, preserve active route/tenant/role/viewports/last objective/mission/witness context, resolve shorthand and continuation language, route inspections to laptop Visual Witness, route mutations to the existing durable cc-execution mission path, route status/poll to the active job, never convert read-only inspection into mutation, expose a compact inference receipt, persist only safe non-secret session context, and preserve every existing Console stage. Use the existing system-admin same-origin Console proxy and existing cc-execution mission + witness primitives. No external AI service or second orchestrator.","sourceSha":"bd609b676b0f693f80d9d50e1ba00e22eba2432d","repository":"noel/KnockLaunchOS","commitMessage":"feat: connect Console chat to laptop witness","ownerApproved":true,"releaseIntent":null,"sourceTargets":["workers/cc-execution/src/console-operator.js","public/console/operator.mjs","public/console/console.js","public/console/console.css","public/console/catalog.mjs","src/pages/admin/GodModeCommandConsole.tsx","scripts/cloudflare-native-owner-worker.mjs","workers/cc-execution/src/entrypoint-owner-status.js","workers/cc-execution/src/version.js"],"anchored_edits":[{"path":"scripts/cloudflare-native-owner-worker.mjs","edits":[{"new_content":"async function handleConsoleOperatorRequest(request, env) {\n  if (request.method !== 'POST') return workspaceJson({error:'Method not allowed'},405);\n  const auth=await requireSystemAdmin(request); if(!auth.ok)return auth.response;\n  if(!env.CC_EXECUTION?.fetch)return workspaceJson({error:'Console control plane unavailable'},503);\n  const raw=await request.text();if(raw.length>16000)return workspaceJson({error:'Message too long'},413);\n  let body;try{body=JSON.parse(raw);}catch{return workspaceJson({error:'Invalid request'},400);}\n  try {\n    const upstream=await env.CC_EXECUTION.fetch('https://cc-execution.internal/internal/console/operator',{\n      method:'POST',headers:{'Content-Type':'application/json','X-Knocklaunch-Console-Proxy':'owner-production'},\n      body:JSON.stringify({message:String(body.message||'').slice(0,2000),context:body.context||{}}),\n    });\n    return workspaceJson(await upstream.json(),upstream.status);\n  }catch{return workspaceJson({error:'Operator temporarily unavailable. Check progress before retrying a request.'},502);}\n}\n\nasync function handleConsoleForgejoRequest(request, env) {","old_content":"async function handleConsoleForgejoRequest(request, env) {"},{"new_content":"    if (KNOCKLAUNCH_APP_HOSTS.has(hostname) && normalizedPath === '/__knocklaunch/console/operator') return handleConsoleOperatorRequest(request, env);\n    if (KNOCKLAUNCH_APP_HOSTS.has(hostname) && normalizedPath === CONSOLE_FORGEJO_PATH) {","old_content":"    if (KNOCKLAUNCH_APP_HOSTS.has(hostname) && normalizedPath === CONSOLE_FORGEJO_PATH) {"}]},{"path":"workers/cc-execution/src/entrypoint-owner-status.js","edits":[{"new_content":"import routedWorker from \"./entrypoint-routed.js\";\nimport { handleConsoleOperator } from \"./console-operator.js\";","old_content":"import routedWorker from \"./entrypoint-routed.js\";"},{"new_content":"    if (path === \"/internal/console/operator\") return handleConsoleOperator(request, env, ctx, (req, bindings, execution) => routedWorker.fetch(req, bindings, execution));\n    if (path === \"/internal/console/forgejo\" && request.method === \"GET\") return consoleForgejoInventory(env);","old_content":"    if (path === \"/internal/console/forgejo\" && request.method === \"GET\") return consoleForgejoInventory(env);"}]},{"path":"workers/cc-execution/src/version.js","edits":[{"new_content":"1.58.290-console-operator","old_content":"1.58.289-onrunner-operational-cut"}]}],"implementation":{"files":[],"writes":[]},"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Implement the KNOCKLAUNCH Console Operator as the owner's primary conversational workbench inside /admin/console. It must combine natural-language commands and temporary Visual Witness imagery in one screen, preserve active route/tenant/role/viewports/last objective/mission/witness context, resolve shorthand and continuation language, route inspections to laptop Visual Witness, route mutations to the existing durable cc-execution mission path, route status/poll to the active job, never convert read-only inspection into mutation, expose a compact inference receipt, persist only safe non-secret session context, and preserve every existing Console stage. Use the existing system-admin same-origin Console proxy and existing cc-execution mission + witness primitives. No external AI service or second orchestrator.","wordingChanged":false,"canonicalIntent":"Implement the KNOCKLAUNCH Console Operator as the owner's primary conversational workbench inside /admin/console. It must combine natural-language commands and temporary Visual Witness imagery in one screen, preserve active route/tenant/role/viewports/last objective/mission/witness context, resolve shorthand and continuation language, route inspections to laptop Visual Witness, route mutations to the existing durable cc-execution mission path, route status/poll to the active job, never convert read-only inspection into mutation, expose a compact inference receipt, persist only safe non-secret session context, and preserve every existing Console stage. Use the existing system-admin same-origin Console proxy and existing cc-execution mission + witness primitives. No external AI service or second orchestrator.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"operator-workbench","statement":"The Console provides one conversational Operator screen with contextual inference and temporary desktop/mobile witness imagery.","provenance":{"reason":null,"source":"owner_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["runtime","visual"]},{"id":"operator-control-plane","statement":"Operator messages use existing cc-execution durable missions and laptop Visual Witness instead of a second orchestration system.","provenance":{"reason":null,"source":"owner_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["runtime"]}],"objective":"Implement the KNOCKLAUNCH Console Operator as the owner's primary conversational workbench inside /admin/console. It must combine natural-language commands and temporary Visual Witness imagery in one screen, preserve active route/tenant/role/viewports/last objective/mission/witness context, resolve shorthand and continuation language, route inspections to laptop Visual Witness, route mutations to the existing durable cc-execution mission path, route status/poll to the active job, never convert read-only inspection into mutation, expose a compact inference receipt, persist only safe non-secret session context, and preserve every existing Console stage. Use the existing system-admin same-origin Console proxy and existing cc-execution mission + witness primitives. No external AI service or second orchestrator.","constraints":[{"id":"intent-fidelity","statement":"Preserve raw owner wording and concrete context used; never silently convert read-only inspection into mutation.","provenance":{"reason":null,"source":"owner_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["runtime","visual"]},{"id":"credential-boundary","statement":"Provider credentials and CC_EXECUTION_KEY never enter iframe payloads, localStorage, screenshots, or chat history.","provenance":{"reason":null,"source":"hard_safety_invariant","inherited":false,"blockingAuthority":true},"proofConditionIds":["runtime"]},{"id":"existing-console-preserved","statement":"Machine, Repository, Build & Test, Runner, Cloudflare, Supabase, Release, and Health / Logs remain available.","provenance":{"reason":null,"source":"owner_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["visual"]},{"id":"visual-content-truth","statement":"Do not present invented names, metrics, prices, dates, services, testimonials, credentials, customer records, or other unknown business facts as real.","provenance":{"reason":null,"source":"owner_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["visual"]},{"id":"tenant-visual-isolation","statement":"Console witness imagery must reflect the requested/current tenant context only and never leak another tenant's branding or data.","provenance":{"reason":null,"source":"owner_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["visual"]},{"id":"reference-visual-fidelity","statement":"The approved reference owns the material visual composition: hierarchy, major geometry, typography scale, spacing rhythm, image placement/crop, color treatment, radii, shadows/glow, and overall density. Material deviation is a failed visual acceptance, not a stylistic reinterpretation.","provenance":{"reason":null,"source":"heuristic_current_objective","inherited":false,"blockingAuthority":true},"proofConditionIds":["visual"]},{"id":"responsive-visual-continuity","statement":"Responsive adaptation may reflow for the target viewport, but it must preserve information hierarchy, branding, functionality, and design language. It must not invent a second design.","provenance":{"reason":null,"source":"heuristic_current_objective","inherited":false,"blockingAuthority":true},"proofConditionIds":["visual"]},{"id":"reference-visual-authority","statement":"The supplied or approved reference visual is immutable acceptance evidence. Generating another mockup, image, or concept cannot satisfy this implementation request; completion requires source implementation, deployment, and reference-matched visual proof.","provenance":{"reason":null,"source":"heuristic_current_objective","inherited":false,"blockingAuthority":true},"proofConditionIds":["visual"]},{"id":"capability-completeness","statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","provenance":{"reason":null,"source":"hard_safety_invariant","inherited":false,"blockingAuthority":true},"proofConditionIds":["runtime"]},{"id":"atomic-capability-lifecycle","statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","provenance":{"reason":null,"source":"hard_safety_invariant","inherited":false,"blockingAuthority":true},"proofConditionIds":["runtime"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"runtime","kind":"runtime","claim":"The authenticated Console Operator proxy is live, contextual operator inference routes witness/status/mission requests into existing cc-execution primitives, and frontend plus ccExecution releases are live from the exact source.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["frontend","ccExecution"],"requiredReleaseTargets":["frontend","ccExecution"],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false},{"id":"visual","kind":"visual","claim":"On /admin/console, desktop and mobile show the Operator composer and witness area as a usable compact workbench.","route":"/admin/console","roleRef":null,"userRef":null,"required":true,"expectedText":"OPERATOR","targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}],"validationErrors":[],"capabilityManifest":{"id":"Implement-the-KNOCKLAUNCH-Console-Operator-as-the-owner-s-primary-conversational-workbench-inside-ad","driftPolicy":"exact_manifest_source_release_dependency_or_runtime_identity_mismatch_is_nonterminal","proofLedger":"command_center_mission_ledger_request_contract_hash_bound","schemaVersion":1,"releaseTargets":["frontend","ccExecution"],"lifecycleStates":["prepare","deploy","verify","activate"],"activationPolicy":"dependencies_and_claim_matched_live_proof_before_exposure","dependencyDomains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_required_not_runtime_failures","compatibilityWindow":["N","N-1"],"failureIsolationPolicy":"quarantine_or_rollback_affected_capability_only_preserve_unrelated_working_capabilities","canaryProofConditionIds":["runtime"]},"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"}},"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"bc00a902-a6ac-4b33-b2fa-8a7c736a2fff","ownerApproved":true,"releaseIntent":null,"sourceTargets":["workers/cc-execution/src/console-operator.js","public/console/operator.mjs","public/console/console.js","public/console/console.css","public/console/catalog.mjs","src/pages/admin/GodModeCommandConsole.tsx","scripts/cloudflare-native-owner-worker.mjs","workers/cc-execution/src/entrypoint-owner-status.js","workers/cc-execution/src/version.js"],"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Implement the KNOCKLAUNCH Console Operator as the owner's primary conversational workbench inside /admin/console. It must combine natural-language commands and temporary Visual Witness imagery in one screen, preserve active route/tenant/role/viewports/last objective/mission/witness context, resolve shorthand and continuation language, route inspections to laptop Visual Witness, route mutations to the existing durable cc-execution mission path, route status/poll to the active job, never convert read-only inspection into mutation, expose a compact inference receipt, persist only safe non-secret session context, and preserve every existing Console stage. Use the existing system-admin same-origin Console proxy and existing cc-execution mission + witness primitives. No external AI service or second orchestrator.","wordingChanged":false,"canonicalIntent":"Implement the KNOCKLAUNCH Console Operator as the owner's primary conversational workbench inside /admin/console. It must combine natural-language commands and temporary Visual Witness imagery in one screen, preserve active route/tenant/role/viewports/last objective/mission/witness context, resolve shorthand and continuation language, route inspections to laptop Visual Witness, route mutations to the existing durable cc-execution mission path, route status/poll to the active job, never convert read-only inspection into mutation, expose a compact inference receipt, persist only safe non-secret session context, and preserve every existing Console stage. Use the existing system-admin same-origin Console proxy and existing cc-execution mission + witness primitives. No external AI service or second orchestrator.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"operator-workbench","statement":"The Console provides one conversational Operator screen with contextual inference and temporary desktop/mobile witness imagery.","provenance":{"reason":null,"source":"owner_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["runtime","visual"]},{"id":"operator-control-plane","statement":"Operator messages use existing cc-execution durable missions and laptop Visual Witness instead of a second orchestration system.","provenance":{"reason":null,"source":"owner_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["runtime"]}],"objective":"Implement the KNOCKLAUNCH Console Operator as the owner's primary conversational workbench inside /admin/console. It must combine natural-language commands and temporary Visual Witness imagery in one screen, preserve active route/tenant/role/viewports/last objective/mission/witness context, resolve shorthand and continuation language, route inspections to laptop Visual Witness, route mutations to the existing durable cc-execution mission path, route status/poll to the active job, never convert read-only inspection into mutation, expose a compact inference receipt, persist only safe non-secret session context, and preserve every existing Console stage. Use the existing system-admin same-origin Console proxy and existing cc-execution mission + witness primitives. No external AI service or second orchestrator.","constraints":[{"id":"intent-fidelity","statement":"Preserve raw owner wording and concrete context used; never silently convert read-only inspection into mutation.","provenance":{"reason":null,"source":"owner_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["runtime","visual"]},{"id":"credential-boundary","statement":"Provider credentials and CC_EXECUTION_KEY never enter iframe payloads, localStorage, screenshots, or chat history.","provenance":{"reason":null,"source":"hard_safety_invariant","inherited":false,"blockingAuthority":true},"proofConditionIds":["runtime"]},{"id":"existing-console-preserved","statement":"Machine, Repository, Build & Test, Runner, Cloudflare, Supabase, Release, and Health / Logs remain available.","provenance":{"reason":null,"source":"owner_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["visual"]},{"id":"visual-content-truth","statement":"Do not present invented names, metrics, prices, dates, services, testimonials, credentials, customer records, or other unknown business facts as real.","provenance":{"reason":null,"source":"owner_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["visual"]},{"id":"tenant-visual-isolation","statement":"Console witness imagery must reflect the requested/current tenant context only and never leak another tenant's branding or data.","provenance":{"reason":null,"source":"owner_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["visual"]},{"id":"reference-visual-fidelity","statement":"The approved reference owns the material visual composition: hierarchy, major geometry, typography scale, spacing rhythm, image placement/crop, color treatment, radii, shadows/glow, and overall density. Material deviation is a failed visual acceptance, not a stylistic reinterpretation.","provenance":{"reason":null,"source":"heuristic_current_objective","inherited":false,"blockingAuthority":true},"proofConditionIds":["visual"]},{"id":"responsive-visual-continuity","statement":"Responsive adaptation may reflow for the target viewport, but it must preserve information hierarchy, branding, functionality, and design language. It must not invent a second design.","provenance":{"reason":null,"source":"heuristic_current_objective","inherited":false,"blockingAuthority":true},"proofConditionIds":["visual"]},{"id":"reference-visual-authority","statement":"The supplied or approved reference visual is immutable acceptance evidence. Generating another mockup, image, or concept cannot satisfy this implementation request; completion requires source implementation, deployment, and reference-matched visual proof.","provenance":{"reason":null,"source":"heuristic_current_objective","inherited":false,"blockingAuthority":true},"proofConditionIds":["visual"]},{"id":"capability-completeness","statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","provenance":{"reason":null,"source":"hard_safety_invariant","inherited":false,"blockingAuthority":true},"proofConditionIds":["runtime"]},{"id":"atomic-capability-lifecycle","statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","provenance":{"reason":null,"source":"hard_safety_invariant","inherited":false,"blockingAuthority":true},"proofConditionIds":["runtime"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"runtime","kind":"runtime","claim":"The authenticated Console Operator proxy is live, contextual operator inference routes witness/status/mission requests into existing cc-execution primitives, and frontend plus ccExecution releases are live from the exact source.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["frontend","ccExecution"],"requiredReleaseTargets":["frontend","ccExecution"],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false},{"id":"visual","kind":"visual","claim":"On /admin/console, desktop and mobile show the Operator composer and witness area as a usable compact workbench.","route":"/admin/console","roleRef":null,"userRef":null,"required":true,"expectedText":"OPERATOR","targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}],"validationErrors":[],"capabilityManifest":{"id":"Implement-the-KNOCKLAUNCH-Console-Operator-as-the-owner-s-primary-conversational-workbench-inside-ad","driftPolicy":"exact_manifest_source_release_dependency_or_runtime_identity_mismatch_is_nonterminal","proofLedger":"command_center_mission_ledger_request_contract_hash_bound","schemaVersion":1,"releaseTargets":["frontend","ccExecution"],"lifecycleStates":["prepare","deploy","verify","activate"],"activationPolicy":"dependencies_and_claim_matched_live_proof_before_exposure","dependencyDomains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_required_not_runtime_failures","compatibilityWindow":["N","N-1"],"failureIsolationPolicy":"quarantine_or_rollback_affected_capability_only_preserve_unrelated_working_capabilities","canaryProofConditionIds":["runtime"]},"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"}},"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["workers/cc-execution/src/console-operator.js","public/console/operator.mjs","public/console/console.js","public/console/console.css","public/console/catalog.mjs","src/pages/admin/GodModeCommandConsole.tsx","scripts/cloudflare-native-owner-worker.mjs","workers/cc-execution/src/entrypoint-owner-status.js","workers/cc-execution/src/version.js"],"controlPlaneMaintenanceReason":"Continue owner-authorized Mission Freedom Console work: conversational access to the laptop witness and existing command-center missions."},"proofRequirements":null,"controlPlaneUnfreeze":true,"durableMutationResume":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["workers/cc-execution/src/console-operator.js","public/console/operator.mjs","public/console/console.js","public/console/console.css","public/console/catalog.mjs","src/pages/admin/GodModeCommandConsole.tsx","scripts/cloudflare-native-owner-worker.mjs","workers/cc-execution/src/entrypoint-owner-status.js","workers/cc-execution/src/version.js"],"controlPlaneMaintenanceReason":"Continue owner-authorized Mission Freedom Console work: conversational access to the laptop witness and existing command-center missions."},"recovery":false,"fingerprint":"c512eac061bdede6898fe445ec0c59961b816814e2d98cd80ec3292d1662ee23","replayCount":0,"serializedBytes":68236},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-26T21:48:55.912462+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:bc00a902-a6ac-4b33-b2fa-8a7c736a2fff:repository-mutation-intent:c512eac061bdede6898fe445ec0c59961b816814e2d98cd80ec3292d1662ee23:0","mission_step_id":"a13fe1c2-7a45-45f5-af63-26a9269b4ef0","command_center_event_id":"bc00a902-a6ac-4b33-b2fa-8a7c736a2fff"},{"id":"5e1c9f4f-3a75-4487-a92a-c3db3b2fc6bc","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/preserve-public-calendar-history","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":5371,"releaseCount":0,"toolCallCount":5,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":663,"terminal":false,"missionId":"b3c71a4d-f280-46c6-9a91-c16bc0f0c199","operation":"automatic_mission_resume","proofGate":"canonical_release_dispatched","sourceSha":"f5fb14ea74358aa6e1801fb10610c18b80f4936a","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"b3c71a4d-f280-46c6-9a91-c16bc0f0c199"},"performance":null,"deploymentId":"forgejo-main-f5fb14ea7435","workflowRunId":null,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["mobile-vendor-event-request"]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1713,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-24T15:44:51.966815+00:00","proof_gate":"canonical_release_dispatched","source_sha":null,"external_id":"663","receipt_type":"automatic_mission_resume","idempotency_key":"mission:b3c71a4d-f280-46c6-9a91-c16bc0f0c199:automatic-mission-resume:663:canonical_release_dispatched","mission_step_id":"1abfc043-2e9d-4496-9922-3b83262317bf","command_center_event_id":"b3c71a4d-f280-46c6-9a91-c16bc0f0c199"},{"id":"5e1cab96-82f4-4ac3-81ba-acb07e44b7b1","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.41.0-control-plane-efficiency","prNumber":80,"terminal":false,"missionId":"77cb0689-33fc-4f57-8b0b-d0a09ecc27d6","operation":"ship_and_prove","proofGate":"canonical_release_dispatched","sourceSha":"71b0f12a8ca8b78ebe957988a1d100590f7e8d89","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"77cb0689-33fc-4f57-8b0b-d0a09ecc27d6"},"performance":null,"deploymentId":"forgejo-main-71b0f12a8ca8","workflowRunId":218,"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":1330,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-15T02:25:04.006337+00:00","proof_gate":"canonical_release_dispatched","source_sha":"71b0f12a8ca8b78ebe957988a1d100590f7e8d89","external_id":"forgejo-main-71b0f12a8ca8","receipt_type":"ship_and_prove","idempotency_key":"mission:77cb0689-33fc-4f57-8b0b-d0a09ecc27d6:ship_and_prove:canonical_release_dispatched:71b0f12a8ca8b78ebe957988a1d100590f7e8d89:218","mission_step_id":"07b8f165-e156-4dfc-af82-3f4c58e93e9a","command_center_event_id":"77cb0689-33fc-4f57-8b0b-d0a09ecc27d6"},{"id":"5e1d3a77-4c23-4b7a-90e7-9e6ea9b8bb22","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-9538119c7c09","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":37030,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-09-25T02:01:05.045Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.273-stale-pr-gate-identity","prNumber":3697,"terminal":false,"missionId":"9538119c-7c09-49f3-bec6-90460ab8853e","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4960,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":752,"missionSetupMs":355,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":355,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":355,"repositoryMutationMs":4208,"repositoryProviderMs":4208,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2394,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":355,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1814},"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":"9538119c-7c09-49f3-bec6-90460ab8853e"},"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":3619,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T02:01:11.311512+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3697","receipt_type":"execute_mission","idempotency_key":"mission:9538119c-7c09-49f3-bec6-90460ab8853e:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"5638ffd6-c5c1-411a-84e6-b55485f1e2e6","command_center_event_id":"9538119c-7c09-49f3-bec6-90460ab8853e"},{"id":"5e1e21e0-7cb0-4fa7-953d-6415384d3321","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/fix-stale-serverless-pr-marker-20260824","reason":"The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":5449,"releaseCount":0,"toolCallCount":5,"repeatedCallCount":3,"ownerInterruptionCount":0},"version":"1.50.34-native-single-file-write","prNumber":718,"terminal":false,"missionId":"f9e917f0-877a-4fb6-af74-03744da839aa","operation":"execute_mission","proofGate":"canonical_release_transport_retryable","sourceSha":null,"timingsMs":null,"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"f9e917f0-877a-4fb6-af74-03744da839aa"},"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":5096,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-25T03:40:27.383023+00:00","proof_gate":"canonical_release_transport_retryable","source_sha":null,"external_id":"718","receipt_type":"execute_mission","idempotency_key":"mission:f9e917f0-877a-4fb6-af74-03744da839aa:execute_mission:canonical_release_transport_retryable","mission_step_id":"32bb6011-18e1-4517-8dd1-0f88519727cc","command_center_event_id":"f9e917f0-877a-4fb6-af74-03744da839aa"},{"id":"5e1ff86b-2eeb-4a97-8d8b-b38b55ed55e3","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"8f714fabcddfd95e56501a4abe713d3e09424365","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"application-contract","satisfied":false,"statement":"Calendar is represented as one first-class default tenant application with complete connected-calendar capabilities and data ownership in both static and database registries.","proofConditionIds":["repo-registry","catalog-live","applications-ui"]},{"id":"tenant-bootstrap","satisfied":true,"statement":"All existing tenants have Calendar enabled at bootstrap_version 2 or newer and future tenants inherit Calendar through the existing default-installed bootstrap path.","proofConditionIds":["catalog-live","tenant-installs"]},{"id":"provider-runtime","satisfied":false,"statement":"Business-calendar authorization/sync uses public.is_tenant_owner(uuid, uuid) and calendar-provider-connections is redeployed successfully.","proofConditionIds":["repo-provider","provider-live"]}],"satisfied":false,"constraints":[{"id":"no-duplicate-app","satisfied":true,"statement":"Update the existing Calendar application contract; do not create a second Calendar catalog entry.","proofConditionIds":["catalog-live"]},{"id":"scope","satisfied":false,"statement":"Do not alter unrelated applications or production event data.","proofConditionIds":["repo-registry","repo-provider","repo-migration"]},{"id":"no-oauth-proof","satisfied":false,"statement":"Do not authorize third-party providers solely for verification.","proofConditionIds":["applications-ui"]}],"contractHash":"82757b83e75838575dfbb79df2c741cfb70d3fb40a6893d26808ce972d81cab7","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"repo-registry","kind":"repository","evidence":{"repositoryProofGate":null,"requestContractHash":"82757b83e75838575dfbb79df2c741cfb70d3fb40a6893d26808ce972d81cab7","repositoryProofStatus":"required","repositoryProofSourceSha":null},"required":true,"satisfied":false},{"id":"repo-provider","kind":"repository","evidence":{"repositoryProofGate":null,"requestContractHash":"82757b83e75838575dfbb79df2c741cfb70d3fb40a6893d26808ce972d81cab7","repositoryProofStatus":"required","repositoryProofSourceSha":null},"required":true,"satisfied":false},{"id":"repo-migration","kind":"repository","evidence":{"repositoryProofGate":null,"requestContractHash":"82757b83e75838575dfbb79df2c741cfb70d3fb40a6893d26808ce972d81cab7","repositoryProofStatus":"required","repositoryProofSourceSha":null},"required":true,"satisfied":false},{"id":"catalog-live","kind":"runtime","evidence":{"releaseState":"verified","activeReleaseTargets":["frontend","supabaseEdge","migrations"],"releaseRequestContractHash":"82757b83e75838575dfbb79df2c741cfb70d3fb40a6893d26808ce972d81cab7"},"required":true,"satisfied":true},{"id":"tenant-installs","kind":"runtime","evidence":{"releaseState":"verified","activeReleaseTargets":["frontend","supabaseEdge","migrations"],"releaseRequestContractHash":"82757b83e75838575dfbb79df2c741cfb70d3fb40a6893d26808ce972d81cab7"},"required":true,"satisfied":true},{"id":"provider-live","kind":"runtime","evidence":{"releaseState":"verified","activeReleaseTargets":["frontend","supabaseEdge","migrations"],"releaseRequestContractHash":"82757b83e75838575dfbb79df2c741cfb70d3fb40a6893d26808ce972d81cab7"},"required":true,"satisfied":true},{"id":"applications-ui","kind":"interaction","evidence":{"verificationState":null,"witnessRequestContractHash":null},"required":true,"satisfied":false}],"validationErrors":[],"pendingProofKinds":["repository","interaction"],"activeReleaseTargets":["frontend","supabaseEdge","migrations"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":2},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-07T18:03:27.882166+00:00","proof_gate":"request_contract_pending","source_sha":"8f714fabcddfd95e56501a4abe713d3e09424365","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:81e04ef2-ee9b-4a90-8b2d-14a78dc89997:request-contract:82757b83e75838575dfbb79df2c741cfb70d3fb40a6893d26808ce972d81cab7:8f714fabcddfd95e56501a4abe713d3e09424365:pending:repository,interaction","mission_step_id":"c6b37aa4-9580-4cf8-963c-33c7f8c1188f","command_center_event_id":"81e04ef2-ee9b-4a90-8b2d-14a78dc89997"},{"id":"5e2111b5-0d2a-40bd-8623-f493b7335fe4","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"5a0dfb8ad223f11327e2e9a1a23bcb0f5727f542","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"5a0dfb8ad223f11327e2e9a1a23bcb0f5727f542","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":"b927b128e6e198015776016dc37643868df0a0d867579de64feeb798c79ec812","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/8856","runId":8856,"status":"running","sourceSha":"5a0dfb8ad223f11327e2e9a1a23bcb0f5727f542","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-16T16:52:22.904298+00:00","proof_gate":"canonical_release_pending","source_sha":"5a0dfb8ad223f11327e2e9a1a23bcb0f5727f542","external_id":"forgejo-main-5a0dfb8ad223","receipt_type":"canonical_release_status","idempotency_key":"mission:57607314-e17e-46b4-bbdd-76b259247546:forgejo-release-status:5a0dfb8ad223f11327e2e9a1a23bcb0f5727f542:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"0bf35874-4db5-4fbd-9a40-3ed9632f23d6","command_center_event_id":"57607314-e17e-46b4-bbdd-76b259247546"},{"id":"5e27af44-2b40-4e30-a349-7454f4a6d437","source":"cc-execution","status":"waiting","payload":{"sourceTargets":["config/capabilities/bychefap-public-site.json","config/capabilities/knocklaunch-console.json","config/capabilities/knocklaunch-owner-os-revenue-refactor.json","src/KnockLaunchOwnerShell.tsx"],"continuationObjective":"Implement the complete new PCG public-site hero/media system on the new KnockLaunch PCG website."},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T00:29:30.272474+00:00","proof_gate":"mission_continuation_scope_persisted","source_sha":null,"external_id":null,"receipt_type":"mission_continuation_scope_updated","idempotency_key":"mission:111114fc-2250-4817-9efb-08b3c43f5d9a:mission_continuation_scope_updated:mission_continuation_scope_persisted:waiting","mission_step_id":"26fdc75e-9038-42f9-af2a-428951be347d","command_center_event_id":"111114fc-2250-4817-9efb-08b3c43f5d9a"},{"id":"5e29c513-b9f0-4e08-85a5-bd466646437b","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair","reason":"anchored_edit_file_missing:src/pages/cafe-qsr/ThirstyPandaPublic.tsx","status":"blocked","metrics":{"receiptBytes":2491,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":1,"ownerInterruptionCount":0},"version":"1.46.17-release-orchestration-guardrails","prNumber":null,"terminal":false,"missionId":"d10655c0-cb27-4921-b5dd-ab7b54e23fa1","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"d10655c0-cb27-4921-b5dd-ab7b54e23fa1"},"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":3441,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"69c86c8d-c737-439a-8f30-3246af0b3ad1","created_at":"2026-08-17T15:58:07.125804+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:d10655c0-cb27-4921-b5dd-ab7b54e23fa1:execute_mission:repair_mission_execution_blocked","mission_step_id":"3d0c10b3-6103-4259-bb56-98083f2202ab","command_center_event_id":"d10655c0-cb27-4921-b5dd-ab7b54e23fa1"}],"rows":400,"limit":400,"table":"command_center_receipts","format":"knocklaunch-table-chunk-v1","offset":16000,"schema":"public","order_key":"id"}