{"data":[{"id":"f52fd949-0eda-4810-bb46-2b8e1b99d110","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-b5ce70fb0983","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":78672,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":0,"executorlessWaitMs":13785,"firstUsefulResultAt":"2026-09-27T16:23:10.249Z","recoveryAttemptCount":1,"ownerInterruptionCount":0},"version":null,"prNumber":3886,"terminal":false,"missionId":"b5ce70fb-0983-4b28-a7dc-000b8eef2396","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":5471,"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":"b5ce70fb-0983-4b28-a7dc-000b8eef2396"},"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-27T16:23:24.21181+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"3886","receipt_type":"automatic_mission_resume","idempotency_key":"mission:b5ce70fb-0983-4b28-a7dc-000b8eef2396:automatic-mission-resume:3886:repair_mission_pr_ready_retryable","mission_step_id":"accb9cab-9199-4b44-8cbd-2d2b6f2a0879","command_center_event_id":"b5ce70fb-0983-4b28-a7dc-000b8eef2396"},{"id":"51a77df1-a45d-4fd2-a8c1-634018b237b7","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-b5ce70fb0983","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":80251,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":1,"executorlessWaitMs":20244,"firstUsefulResultAt":"2026-09-27T16:23:10.249Z","recoveryAttemptCount":2,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":3886,"terminal":false,"missionId":"b5ce70fb-0983-4b28-a7dc-000b8eef2396","operation":"execute_mission","proofGate":"canonical_release_reconciliation_pending","sourceSha":"0e10db082682454ff4a91727d18607880c74262c","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3621,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":458,"approvedPlanMs":0,"missionSetupMs":428,"providerAuthMs":0,"shipAndProveMs":2671,"ledgerPrepareMs":327,"ledgerReconcileMs":0,"lineageReconcileMs":101,"resolvePreflightMs":428,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":327,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"b5ce70fb-0983-4b28-a7dc-000b8eef2396"},"performance":null,"deploymentId":"forgejo-main-0e10db082682","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2549,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T16:25:54.389344+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":"0e10db082682454ff4a91727d18607880c74262c","external_id":"forgejo-main-0e10db082682","receipt_type":"execute_mission","idempotency_key":"mission:b5ce70fb-0983-4b28-a7dc-000b8eef2396:execute_mission:canonical_release_reconciliation_pending:current-generation","mission_step_id":"f45255f3-46d3-4839-a352-4ea10e832c81","command_center_event_id":"b5ce70fb-0983-4b28-a7dc-000b8eef2396"},{"id":"0f435b3e-22b9-4dce-8e77-6fb98b57f3a9","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-b5ce70fb0983","prNumber":3886,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"0e10db082682454ff4a91727d18607880c74262c","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T16:26:10.337799+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"0e10db082682454ff4a91727d18607880c74262c","external_id":"3886","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:b5ce70fb-0983-4b28-a7dc-000b8eef2396:merged-pr:3886:0e10db082682454ff4a91727d18607880c74262c","mission_step_id":"f45255f3-46d3-4839-a352-4ea10e832c81","command_center_event_id":"b5ce70fb-0983-4b28-a7dc-000b8eef2396"},{"id":"a2002242-54c0-47c8-a206-5d985c5a3f20","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"0e10db082682454ff4a91727d18607880c74262c","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"0e10db082682454ff4a91727d18607880c74262c","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":"62306bfc637ebf4f9a878fe0ac9bd9de975c0f9963419779f423b27567be1065","forgejoWorkflowProof":{"runId":12233,"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-27T16:29:35.432634+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"0e10db082682454ff4a91727d18607880c74262c","external_id":"forgejo-main-0e10db082682","receipt_type":"canonical_release_status","idempotency_key":"mission:b5ce70fb-0983-4b28-a7dc-000b8eef2396:forgejo-release-status:0e10db082682454ff4a91727d18607880c74262c:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"799f4ebb-9cfb-44d4-9bd3-47c55e466bd6","command_center_event_id":"b5ce70fb-0983-4b28-a7dc-000b8eef2396"},{"id":"c99822e2-8bab-484d-9661-19c1fcc60970","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"0e10db082682454ff4a91727d18607880c74262c","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"repair-worker","satisfied":true,"statement":"scripts/cloudflare-native-owner-worker.mjs is syntactically complete again, retains the merged lane-aware Console Witness behavior, and scripts/cloudflare-native-artifact-guard.mjs fails Gate if the owner worker is unparsable.","proofConditionIds":["proof-live"]}],"satisfied":true,"constraints":[{"id":"scope","satisfied":true,"statement":"Change only scripts/cloudflare-native-owner-worker.mjs and scripts/cloudflare-native-artifact-guard.mjs. No schema, tenant data, cc-execution, Witness runtime, or unrelated UI changes.","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":"62306bfc637ebf4f9a878fe0ac9bd9de975c0f9963419779f423b27567be1065","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":{"frontend":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["frontend"],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"],"migrationReleaseVerified":null,"releaseRequestContractHash":"62306bfc637ebf4f9a878fe0ac9bd9de975c0f9963419779f423b27567be1065"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T16:29:37.009879+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"0e10db082682454ff4a91727d18607880c74262c","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:b5ce70fb-0983-4b28-a7dc-000b8eef2396:request-contract:62306bfc637ebf4f9a878fe0ac9bd9de975c0f9963419779f423b27567be1065:0e10db082682454ff4a91727d18607880c74262c:verified:","mission_step_id":"799f4ebb-9cfb-44d4-9bd3-47c55e466bd6","command_center_event_id":"b5ce70fb-0983-4b28-a7dc-000b8eef2396"},{"id":"821cff08-4ba2-4d35-aa03-a45de04991ac","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\":\"pull_request\",\"status\":\"retryable\",\"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-09-27T19:23:09.718928+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-b5ce70fb0983\",\"prNumber\":3886,\"sourceSha\":\"0e10db082682454ff4a91727d18607880c74262c\",\"deploymentId\":\"forgejo-main-0e10db082682\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T16:27:07.381096+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:b5ce70fb-0983-4b28-a7dc-000b8eef2396:owner-progress-heartbeat:119368428","mission_step_id":"20da2e31-855b-4025-86c6-5451af6a0ce8","command_center_event_id":"b5ce70fb-0983-4b28-a7dc-000b8eef2396"},{"id":"7fb157f5-1831-4174-8b11-70ca636ef764","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\":\"pull_request\",\"status\":\"retryable\",\"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-09-27T19:23:09.718928+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-b5ce70fb0983\",\"prNumber\":3886,\"sourceSha\":\"0e10db082682454ff4a91727d18607880c74262c\",\"deploymentId\":\"forgejo-main-0e10db082682\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T16:26:27.390952+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:b5ce70fb-0983-4b28-a7dc-000b8eef2396:owner-progress-heartbeat:119368425","mission_step_id":"20da2e31-855b-4025-86c6-5451af6a0ce8","command_center_event_id":"b5ce70fb-0983-4b28-a7dc-000b8eef2396"},{"id":"cce8efd7-40b4-4e9c-bd28-18c59ff2aebe","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"0e10db082682454ff4a91727d18607880c74262c","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"0e10db082682454ff4a91727d18607880c74262c","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":"62306bfc637ebf4f9a878fe0ac9bd9de975c0f9963419779f423b27567be1065","forgejoWorkflowProof":{"runId":12233,"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-27T16:26:11.296865+00:00","proof_gate":"canonical_release_pending","source_sha":"0e10db082682454ff4a91727d18607880c74262c","external_id":"forgejo-main-0e10db082682","receipt_type":"canonical_release_status","idempotency_key":"mission:b5ce70fb-0983-4b28-a7dc-000b8eef2396:forgejo-release-status:0e10db082682454ff4a91727d18607880c74262c:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"f45255f3-46d3-4839-a352-4ea10e832c81","command_center_event_id":"b5ce70fb-0983-4b28-a7dc-000b8eef2396"},{"id":"f383f3df-b23e-421e-8c95-b0764f0b36cb","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-29a78e00e80b","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":84754,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-09-27T16:39:14.583Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":3887,"terminal":false,"missionId":"29a78e00-e80b-4f8f-81aa-aba19badaafb","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3549,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":748,"missionSetupMs":281,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":281,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":281,"repositoryMutationMs":2801,"repositoryProviderMs":2801,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":1751,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":281,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1050},"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":"29a78e00-e80b-4f8f-81aa-aba19badaafb"},"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":3418,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T16:39:19.743503+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3887","receipt_type":"execute_mission","idempotency_key":"mission:29a78e00-e80b-4f8f-81aa-aba19badaafb:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"4e329a6d-8d34-4cb0-b156-ca07f3a5f736","command_center_event_id":"29a78e00-e80b-4f8f-81aa-aba19badaafb"},{"id":"22d00fde-f685-4a11-bd88-5e089fe5481a","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-29a78e00e80b","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":91550,"releaseCount":0,"toolCallCount":5,"repeatedCallCount":2,"executorlessWaitMs":139031,"firstUsefulResultAt":"2026-09-27T16:39:14.583Z","recoveryAttemptCount":3,"ownerInterruptionCount":0},"version":null,"prNumber":3887,"terminal":false,"missionId":"29a78e00-e80b-4f8f-81aa-aba19badaafb","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":5452,"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":"29a78e00-e80b-4f8f-81aa-aba19badaafb"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime","visual","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-27T16:39:30.355905+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"3887","receipt_type":"automatic_mission_resume","idempotency_key":"mission:29a78e00-e80b-4f8f-81aa-aba19badaafb:automatic-mission-resume:3887:repair_mission_pr_ready_retryable","mission_step_id":"0c977534-335d-4e95-93e5-01f2c1321d12","command_center_event_id":"29a78e00-e80b-4f8f-81aa-aba19badaafb"},{"id":"241ada96-7b58-43ea-9065-3e23b4febf55","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-29a78e00e80b","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":107491,"releaseCount":0,"toolCallCount":15,"repeatedCallCount":5,"executorlessWaitMs":363668,"firstUsefulResultAt":"2026-09-27T16:39:14.583Z","recoveryAttemptCount":4,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":3888,"terminal":false,"missionId":"29a78e00-e80b-4f8f-81aa-aba19badaafb","operation":"execute_mission","proofGate":"canonical_release_reconciliation_pending","sourceSha":"27a42020a78e42d6e08c9423a9f2b93209071065","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3487,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":465,"approvedPlanMs":0,"missionSetupMs":388,"providerAuthMs":0,"shipAndProveMs":2500,"ledgerPrepareMs":289,"ledgerReconcileMs":0,"lineageReconcileMs":99,"resolvePreflightMs":388,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":289,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"29a78e00-e80b-4f8f-81aa-aba19badaafb"},"performance":null,"deploymentId":"forgejo-main-27a42020a78e","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":true,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["visual"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2550,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T16:42:26.903465+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":"c764f31364f79ec7992570690f88b1f9a9ab34e0","external_id":"forgejo-main-c764f31364f7","receipt_type":"execute_mission","idempotency_key":"mission:29a78e00-e80b-4f8f-81aa-aba19badaafb:execute_mission:canonical_release_reconciliation_pending:current-generation","mission_step_id":"c84f09d9-895b-4500-82b5-ccb5fb6c0087","command_center_event_id":"29a78e00-e80b-4f8f-81aa-aba19badaafb"},{"id":"6232f9e1-de8d-4e52-9ab3-a0e80c61d582","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":"c764f31364f79ec7992570690f88b1f9a9ab34e0","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live","supabase-migrations/live"],"sourceSha":"c764f31364f79ec7992570690f88b1f9a9ab34e0","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"onrunner":false,"migrations":true,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"pending","migrations":"success"},"requestContractHash":"0b051acfce07e8e4a010a4fc82fa24273dc569e821396fca0ac4c4d75b155618","forgejoWorkflowProof":{"runId":12235,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"frontend":"pending","migrations":"success"},"targetJobCount":7,"observedTargetStates":{"frontend":"pending","migrations":"success"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T16:42:48.702953+00:00","proof_gate":"canonical_release_pending","source_sha":"c764f31364f79ec7992570690f88b1f9a9ab34e0","external_id":"forgejo-main-c764f31364f7","receipt_type":"canonical_release_status","idempotency_key":"mission:29a78e00-e80b-4f8f-81aa-aba19badaafb:forgejo-release-status:c764f31364f79ec7992570690f88b1f9a9ab34e0:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending|supabase-migrations/live=success","mission_step_id":"c84f09d9-895b-4500-82b5-ccb5fb6c0087","command_center_event_id":"29a78e00-e80b-4f8f-81aa-aba19badaafb"},{"id":"c313198d-b43f-43d5-9afe-03b209944b8f","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success","supabase-migrations/live":"success"},"mainSha":"c764f31364f79ec7992570690f88b1f9a9ab34e0","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live","supabase-migrations/live"],"sourceSha":"c764f31364f79ec7992570690f88b1f9a9ab34e0","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"onrunner":false,"migrations":true,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"success","migrations":"success"},"requestContractHash":"0b051acfce07e8e4a010a4fc82fa24273dc569e821396fca0ac4c4d75b155618","forgejoWorkflowProof":{"runId":12235,"source":"signed_push_receipt","status":"success","results":{},"conclusion":"success","targetStates":{"frontend":"success","migrations":"success"},"targetJobCount":7,"observedTargetStates":{"frontend":"success","migrations":"success"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T16:43:45.344304+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"c764f31364f79ec7992570690f88b1f9a9ab34e0","external_id":"forgejo-main-c764f31364f7","receipt_type":"canonical_release_status","idempotency_key":"mission:29a78e00-e80b-4f8f-81aa-aba19badaafb:forgejo-release-status:c764f31364f79ec7992570690f88b1f9a9ab34e0:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success|supabase-migrations/live=success","mission_step_id":"1ce1182e-8649-4534-bc56-38997cd15e2e","command_center_event_id":"29a78e00-e80b-4f8f-81aa-aba19badaafb"},{"id":"dacacc9e-c319-46a9-8adb-a129304fe1a6","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"c764f31364f79ec7992570690f88b1f9a9ab34e0","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"durable-chat","satisfied":false,"statement":"Every Sidekick v3 turn is durably appended to the existing Command Center session ledger and survives refresh/reopen.","proofConditionIds":["proof-storage","proof-ui"]},{"id":"session-archive","satisfied":false,"statement":"The Console exposes current sessions plus searchable past chats with restored chat history and searchable Command Center runs/proof.","proofConditionIds":["proof-ui","proof-search"]},{"id":"resume","satisfied":false,"statement":"Selecting a past chat restores its transcript/context and selecting a route-bearing Witness/run entry reopens the Witness around that historical route.","proofConditionIds":["proof-ui"]}],"satisfied":false,"constraints":[{"id":"reuse-ledger","satisfied":true,"statement":"Reuse command_center_events, command_center_messages, and command_center_receipts; do not create a parallel session-history table.","proofConditionIds":["proof-storage"]},{"id":"owner-only","satisfied":true,"statement":"All history/search/append RPCs are system-admin gated and browser access is least-privilege.","proofConditionIds":["proof-storage"]},{"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-ui"]},{"id":"tenant-visual-isolation","satisfied":false,"statement":"Visual work is isolated to requested tenant. Do not import another tenant's logo, colors, imagery, copy, shell, customer data, business facts, or visual identity unless explicitly requested.","proofConditionIds":["proof-ui"]},{"id":"reference-visual-fidelity","satisfied":false,"statement":"Preserve the approved Console composition and current full-canvas Witness/Sidekick hierarchy while adding the session drawer.","proofConditionIds":["proof-ui"]},{"id":"responsive-visual-continuity","satisfied":false,"statement":"Session archive remains usable on desktop and mobile without replacing the existing Console/Witness information hierarchy.","proofConditionIds":["proof-ui"]},{"id":"reference-visual-authority","satisfied":false,"statement":"The supplied or approved reference visual is immutable acceptance evidence. Generating another mockup, image, or concept cannot satisfy this implementation request; completion requires source implementation, deployment, and reference-matched visual proof.","proofConditionIds":["proof-ui"]},{"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-storage","proof-search"]},{"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-storage","proof-search"]}],"contractHash":"0b051acfce07e8e4a010a4fc82fa24273dc569e821396fca0ac4c4d75b155618","releaseBound":true,"witnessBound":false,"visualRequested":true,"visualSatisfied":false,"conditionResults":[{"id":"proof-storage","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":true,"releaseTargetStates":{"frontend":"success","migrations":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["frontend","migrations"],"allowedReleaseTargets":["migrations","frontend"],"requiredReleaseTargets":["migrations","frontend"],"migrationReleaseVerified":true,"releaseRequestContractHash":"0b051acfce07e8e4a010a4fc82fa24273dc569e821396fca0ac4c4d75b155618"},"required":true,"satisfied":true},{"id":"proof-ui","kind":"visual","evidence":{"modeBound":true,"claimBound":false,"routeBound":false,"witnessMode":null,"witnessRoute":null,"currentSourceSha":"c764f31364f79ec7992570690f88b1f9a9ab34e0","witnessSourceSha":null,"verificationState":null,"witnessRequestContractHash":null},"required":true,"satisfied":false},{"id":"proof-search","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":true,"releaseTargetStates":{"frontend":"success","migrations":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["frontend","migrations"],"allowedReleaseTargets":["migrations","frontend"],"requiredReleaseTargets":["migrations","frontend"],"migrationReleaseVerified":true,"releaseRequestContractHash":"0b051acfce07e8e4a010a4fc82fa24273dc569e821396fca0ac4c4d75b155618"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":["visual"],"activeReleaseTargets":["frontend","migrations"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T16:43:46.584615+00:00","proof_gate":"request_contract_pending","source_sha":"c764f31364f79ec7992570690f88b1f9a9ab34e0","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:29a78e00-e80b-4f8f-81aa-aba19badaafb:request-contract:0b051acfce07e8e4a010a4fc82fa24273dc569e821396fca0ac4c4d75b155618:c764f31364f79ec7992570690f88b1f9a9ab34e0:pending:visual","mission_step_id":"1ce1182e-8649-4534-bc56-38997cd15e2e","command_center_event_id":"29a78e00-e80b-4f8f-81aa-aba19badaafb"},{"id":"ee0cfa39-5231-4b2c-9823-fd754bb5a951","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"visual_proof","branch":"ai/objective-first-repair-29a78e00e80b","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":105413,"releaseCount":0,"toolCallCount":14,"repeatedCallCount":5,"executorlessWaitMs":272984,"firstUsefulResultAt":"2026-09-27T16:39:14.583Z","recoveryAttemptCount":4,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":3888,"terminal":false,"missionId":"29a78e00-e80b-4f8f-81aa-aba19badaafb","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3705,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":652,"missionSetupMs":503,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":503,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":503,"repositoryMutationMs":3053,"repositoryProviderMs":3053,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":1955,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":503,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1098},"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":"29a78e00-e80b-4f8f-81aa-aba19badaafb"},"performance":null,"deploymentId":null,"releaseState":"verified","workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["visual"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3158,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T16:45:18.281099+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3888","receipt_type":"execute_mission","idempotency_key":"mission:29a78e00-e80b-4f8f-81aa-aba19badaafb:execute_mission:repair_mission_pr_handed_off_to_supervisor:generation-1","mission_step_id":"4e329a6d-8d34-4cb0-b156-ca07f3a5f736","command_center_event_id":"29a78e00-e80b-4f8f-81aa-aba19badaafb"},{"id":"9ad6b2a3-fd60-4c6b-bd2c-1da2b82bcf63","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success","supabase-migrations/live":"success"},"mainSha":"27a42020a78e42d6e08c9423a9f2b93209071065","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live","supabase-migrations/live"],"sourceSha":"27a42020a78e42d6e08c9423a9f2b93209071065","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"onrunner":false,"migrations":true,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"success","migrations":"success"},"requestContractHash":"0b051acfce07e8e4a010a4fc82fa24273dc569e821396fca0ac4c4d75b155618","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/12237","runId":12237,"status":"success","sourceSha":"27a42020a78e42d6e08c9423a9f2b93209071065","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"frontend":"success","migrations":"success"},"targetJobCount":7,"observedTargetStates":{"frontend":"pending","migrations":"success"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T16:49:09.007278+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"27a42020a78e42d6e08c9423a9f2b93209071065","external_id":"forgejo-main-27a42020a78e","receipt_type":"canonical_release_status","idempotency_key":"mission:29a78e00-e80b-4f8f-81aa-aba19badaafb:forgejo-release-status:27a42020a78e42d6e08c9423a9f2b93209071065:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success|supabase-migrations/live=success","mission_step_id":"1ce1182e-8649-4534-bc56-38997cd15e2e","command_center_event_id":"29a78e00-e80b-4f8f-81aa-aba19badaafb"},{"id":"ba40f539-0c91-401f-b4ba-158c2f7f1202","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"27a42020a78e42d6e08c9423a9f2b93209071065","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"durable-chat","satisfied":false,"statement":"Every Sidekick v3 turn is durably appended to the existing Command Center session ledger and survives refresh/reopen.","proofConditionIds":["proof-storage","proof-ui"]},{"id":"session-archive","satisfied":false,"statement":"The Console exposes current sessions plus searchable past chats with restored chat history and searchable Command Center runs/proof.","proofConditionIds":["proof-ui","proof-search"]},{"id":"resume","satisfied":false,"statement":"Selecting a past chat restores its transcript/context and selecting a route-bearing Witness/run entry reopens the Witness around that historical route.","proofConditionIds":["proof-ui"]}],"satisfied":false,"constraints":[{"id":"reuse-ledger","satisfied":true,"statement":"Reuse command_center_events, command_center_messages, and command_center_receipts; do not create a parallel session-history table.","proofConditionIds":["proof-storage"]},{"id":"owner-only","satisfied":true,"statement":"All history/search/append RPCs are system-admin gated and browser access is least-privilege.","proofConditionIds":["proof-storage"]},{"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-ui"]},{"id":"tenant-visual-isolation","satisfied":false,"statement":"Visual work is isolated to requested tenant. Do not import another tenant's logo, colors, imagery, copy, shell, customer data, business facts, or visual identity unless explicitly requested.","proofConditionIds":["proof-ui"]},{"id":"reference-visual-fidelity","satisfied":false,"statement":"Preserve the approved Console composition and current full-canvas Witness/Sidekick hierarchy while adding the session drawer.","proofConditionIds":["proof-ui"]},{"id":"responsive-visual-continuity","satisfied":false,"statement":"Session archive remains usable on desktop and mobile without replacing the existing Console/Witness information hierarchy.","proofConditionIds":["proof-ui"]},{"id":"reference-visual-authority","satisfied":false,"statement":"The supplied or approved reference visual is immutable acceptance evidence. Generating another mockup, image, or concept cannot satisfy this implementation request; completion requires source implementation, deployment, and reference-matched visual proof.","proofConditionIds":["proof-ui"]},{"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-storage","proof-search"]},{"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-storage","proof-search"]}],"contractHash":"0b051acfce07e8e4a010a4fc82fa24273dc569e821396fca0ac4c4d75b155618","releaseBound":true,"witnessBound":false,"visualRequested":true,"visualSatisfied":false,"conditionResults":[{"id":"proof-storage","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":true,"releaseTargetStates":{"frontend":"success","migrations":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["frontend","migrations"],"allowedReleaseTargets":["migrations","frontend"],"requiredReleaseTargets":["migrations","frontend"],"migrationReleaseVerified":true,"releaseRequestContractHash":"0b051acfce07e8e4a010a4fc82fa24273dc569e821396fca0ac4c4d75b155618"},"required":true,"satisfied":true},{"id":"proof-ui","kind":"visual","evidence":{"modeBound":true,"claimBound":false,"routeBound":false,"witnessMode":null,"witnessRoute":null,"currentSourceSha":"27a42020a78e42d6e08c9423a9f2b93209071065","witnessSourceSha":null,"verificationState":null,"witnessRequestContractHash":null},"required":true,"satisfied":false},{"id":"proof-search","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":true,"releaseTargetStates":{"frontend":"success","migrations":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["frontend","migrations"],"allowedReleaseTargets":["migrations","frontend"],"requiredReleaseTargets":["migrations","frontend"],"migrationReleaseVerified":true,"releaseRequestContractHash":"0b051acfce07e8e4a010a4fc82fa24273dc569e821396fca0ac4c4d75b155618"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":["visual"],"activeReleaseTargets":["frontend","migrations"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T16:49:10.32522+00:00","proof_gate":"request_contract_pending","source_sha":"27a42020a78e42d6e08c9423a9f2b93209071065","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:29a78e00-e80b-4f8f-81aa-aba19badaafb:request-contract:0b051acfce07e8e4a010a4fc82fa24273dc569e821396fca0ac4c4d75b155618:27a42020a78e42d6e08c9423a9f2b93209071065:pending:visual","mission_step_id":"1ce1182e-8649-4534-bc56-38997cd15e2e","command_center_event_id":"29a78e00-e80b-4f8f-81aa-aba19badaafb"},{"id":"fca52dac-c1f7-4cae-9f97-67cc44bc7205","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in visual proof.","nextAction":{"lane":"onrunner","action":"verify_visual","reason":"release_verified_visual_proof_pending","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"visual_proof\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"request_contract_reconciliation\",\"status\":\"pending\",\"proofGate\":\"request_contract_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"retryable\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"verify_visual\",\"lane\":\"onrunner\",\"reason\":\"release_verified_visual_proof_pending\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"verify_visual\",\"recoveryOwner\":\"onrunner\"},\"acceptance\":{\"total\":3,\"verified\":0,\"pending\":3,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-storage\",\"proof-ui\",\"proof-search\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"visual_proof\",\"deadlineAt\":\"2026-09-27T20:39:14.099961+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-29a78e00e80b\",\"prNumber\":3888,\"sourceSha\":\"27a42020a78e42d6e08c9423a9f2b93209071065\",\"deploymentId\":\"forgejo-main-27a42020a78e\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T16:50:41.75225+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:29a78e00-e80b-4f8f-81aa-aba19badaafb:owner-progress-heartbeat:119368522","mission_step_id":"4f648a34-7589-4272-bced-575908a1f27c","command_center_event_id":"29a78e00-e80b-4f8f-81aa-aba19badaafb"},{"id":"6a31c230-d2f8-4333-af8e-208be6df48b5","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in visual proof.","nextAction":{"lane":"onrunner","action":"verify_visual","reason":"release_verified_visual_proof_pending","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"visual_proof\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"request_contract_reconciliation\",\"status\":\"pending\",\"proofGate\":\"request_contract_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"retryable\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"verify_visual\",\"lane\":\"onrunner\",\"reason\":\"release_verified_visual_proof_pending\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"verify_visual\",\"recoveryOwner\":\"onrunner\"},\"acceptance\":{\"total\":3,\"verified\":0,\"pending\":3,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-storage\",\"proof-ui\",\"proof-search\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"visual_proof\",\"deadlineAt\":\"2026-09-27T20:39:14.099961+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-29a78e00e80b\",\"prNumber\":3888,\"sourceSha\":\"27a42020a78e42d6e08c9423a9f2b93209071065\",\"deploymentId\":\"forgejo-main-27a42020a78e\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T16:51:01.24835+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:29a78e00-e80b-4f8f-81aa-aba19badaafb:owner-progress-heartbeat:119368524","mission_step_id":"4f648a34-7589-4272-bced-575908a1f27c","command_center_event_id":"29a78e00-e80b-4f8f-81aa-aba19badaafb"},{"id":"9dc0dbdb-e10f-4d6a-b2b3-ed9f4da4ba8c","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"visual_proof","branch":"ai/objective-first-repair-29a78e00e80b","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":140355,"releaseCount":1,"toolCallCount":32,"repeatedCallCount":17,"executorlessWaitMs":707446,"firstUsefulResultAt":"2026-09-27T16:39:14.583Z","recoveryAttemptCount":4,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":3888,"terminal":false,"missionId":"29a78e00-e80b-4f8f-81aa-aba19badaafb","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"27a42020a78e42d6e08c9423a9f2b93209071065","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3032,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":95,"approvedPlanMs":0,"missionSetupMs":337,"providerAuthMs":0,"shipAndProveMs":1085,"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":"29a78e00-e80b-4f8f-81aa-aba19badaafb"},"performance":null,"deploymentId":"forgejo-main-27a42020a78e","releaseState":"verified","workflowRunId":12239,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":true,"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":2806,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T16:49:28.210123+00:00","proof_gate":"canonical_release_dispatched","source_sha":"27a42020a78e42d6e08c9423a9f2b93209071065","external_id":"forgejo-main-27a42020a78e","receipt_type":"execute_mission","idempotency_key":"mission:29a78e00-e80b-4f8f-81aa-aba19badaafb:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"c84f09d9-895b-4500-82b5-ccb5fb6c0087","command_center_event_id":"29a78e00-e80b-4f8f-81aa-aba19badaafb"},{"id":"eb413c4d-4916-4042-b9c3-f2c09579ecf2","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in visual proof.","nextAction":{"lane":"onrunner","action":"verify_visual","reason":"release_verified_visual_proof_pending","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"visual_proof\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"request_contract_reconciliation\",\"status\":\"pending\",\"proofGate\":\"request_contract_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"retryable\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"verify_visual\",\"lane\":\"onrunner\",\"reason\":\"release_verified_visual_proof_pending\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"verify_visual\",\"recoveryOwner\":\"onrunner\"},\"acceptance\":{\"total\":3,\"verified\":0,\"pending\":3,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-storage\",\"proof-ui\",\"proof-search\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"visual_proof\",\"deadlineAt\":\"2026-09-27T20:39:14.099961+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-29a78e00e80b\",\"prNumber\":3888,\"sourceSha\":\"27a42020a78e42d6e08c9423a9f2b93209071065\",\"deploymentId\":\"forgejo-main-27a42020a78e\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T16:52:45.23291+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:29a78e00-e80b-4f8f-81aa-aba19badaafb:owner-progress-heartbeat:119368530","mission_step_id":"4f648a34-7589-4272-bced-575908a1f27c","command_center_event_id":"29a78e00-e80b-4f8f-81aa-aba19badaafb"},{"id":"4c801fff-8a5a-4243-93a3-814f140d3271","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in visual proof.","nextAction":{"lane":"onrunner","action":"verify_visual","reason":"release_verified_visual_proof_pending","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"visual_proof\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"request_contract_reconciliation\",\"status\":\"pending\",\"proofGate\":\"request_contract_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"retryable\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"verify_visual\",\"lane\":\"onrunner\",\"reason\":\"release_verified_visual_proof_pending\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"verify_visual\",\"recoveryOwner\":\"onrunner\"},\"acceptance\":{\"total\":3,\"verified\":0,\"pending\":3,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-storage\",\"proof-ui\",\"proof-search\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"visual_proof\",\"deadlineAt\":\"2026-09-27T20:39:14.099961+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-29a78e00e80b\",\"prNumber\":3888,\"sourceSha\":\"27a42020a78e42d6e08c9423a9f2b93209071065\",\"deploymentId\":\"forgejo-main-27a42020a78e\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T16:53:08.671211+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:29a78e00-e80b-4f8f-81aa-aba19badaafb:owner-progress-heartbeat:119368532","mission_step_id":"4f648a34-7589-4272-bced-575908a1f27c","command_center_event_id":"29a78e00-e80b-4f8f-81aa-aba19badaafb"},{"id":"70837542-fded-4b4c-bcdb-3720ba42df00","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.293-scheduler-v2","prNumber":null,"terminal":false,"missionId":"2e6c7b55-8ffb-4512-b43d-017105e65516","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1517,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":537,"providerAuthMs":0,"ledgerPrepareMs":537,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":537,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":537,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Supply exact sourceTargets on the same mission; planner guesses cannot replace missing mission scope.","receiptRef":{"mode":"full","missionId":"2e6c7b55-8ffb-4512-b43d-017105e65516"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1175,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T17:25:30.968091+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:2e6c7b55-8ffb-4512-b43d-017105e65516:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"a21b9f11-66b6-4fbc-8724-98251fadb023","command_center_event_id":"2e6c7b55-8ffb-4512-b43d-017105e65516"},{"id":"2d8dfd94-53e8-429e-9fba-312b781e4511","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-2e6c7b558ffb","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":3720,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"executorlessWaitMs":11774,"firstUsefulResultAt":"2026-09-27T17:25:30.874Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":null,"terminal":false,"missionId":"2e6c7b55-8ffb-4512-b43d-017105e65516","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1310,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":357,"providerAuthMs":0,"ledgerPrepareMs":357,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":357,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":357,"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":"2e6c7b55-8ffb-4512-b43d-017105e65516"},"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":3591,"likelyAffectedFiles":["src/PrivateAppShell.tsx","src/App.css","src/__tests__/contracts/mobile-tenant-avatar-navigation.contract.test.ts"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T17:25:42.74379+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:2e6c7b55-8ffb-4512-b43d-017105e65516:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"a21b9f11-66b6-4fbc-8724-98251fadb023","command_center_event_id":"2e6c7b55-8ffb-4512-b43d-017105e65516"},{"id":"3fd8f07c-dec9-4282-832d-6cf1aa5e6693","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"route":"https://app.knocklaunch.app/admin/console","branch":"ai/objective-first-repair-2e6c7b558ffb","writes":[],"patches":[],"version":1,"approved":true,"viewport":"mobile","missionId":"2e6c7b55-8ffb-4512-b43d-017105e65516","proofRoute":"https://app.knocklaunch.app/admin/console","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/PrivateAppShell.tsx","src/App.css"],"anchored_edits":[{"path":"src/PrivateAppShell.tsx","new_string":"const sync=()=>{const utilityHeight=Math.ceil(footer.getBoundingClientRect().height);footer.setAttribute('data-kl-platform-utility-nav','true');document.documentElement.style.setProperty('--kl-platform-mobile-nav-h',`${utilityHeight}px`);document.documentElement.style.setProperty('--kl-mobile-bottom-stack-h',`${utilityHeight}px`);const primary=selectors.map((selector)=>document.querySelector<HTMLElement>(selector)).find(Boolean);if(!primary)return;const tenantHeight=Math.ceil(primary.getBoundingClientRect().height);document.documentElement.style.setProperty('--kl-tenant-mobile-nav-h',`${tenantHeight}px`);document.documentElement.style.setProperty('--kl-mobile-bottom-stack-h',`${utilityHeight+tenantHeight}px`);const style=window.getComputedStyle(primary);","old_string":"const sync=()=>{const primary=selectors.map((selector)=>document.querySelector<HTMLElement>(selector)).find(Boolean);if(!primary)return;const style=window.getComputedStyle(primary);"},{"path":"src/PrivateAppShell.tsx","new_string":"document.documentElement.style.setProperty('--kl-platform-mobile-nav-h',`${utilityHeight}px`)","old_string":"document.documentElement.style.setProperty('--kl-platform-mobile-nav-h',`${Math.ceil(footer.getBoundingClientRect().height)}px`);document.documentElement.style.setProperty('--kl-platform-mobile-nav-h',`${Math.ceil(footer.getBoundingClientRect().height)}px`)"}],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"2e6c7b55-8ffb-4512-b43d-017105e65516","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/PrivateAppShell.tsx","src/App.css"],"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":"0ebb7347af1736ed4f6797a0662d08ebaaaa2204f29e08fe343efbc6c0b88f19","replayCount":0,"serializedBytes":2581},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T17:27:56.729452+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:2e6c7b55-8ffb-4512-b43d-017105e65516:repository-mutation-intent:0ebb7347af1736ed4f6797a0662d08ebaaaa2204f29e08fe343efbc6c0b88f19:0","mission_step_id":"6daf8817-2cc6-4ee4-b9ef-765b3ecf9711","command_center_event_id":"2e6c7b55-8ffb-4512-b43d-017105e65516"},{"id":"2e5b217e-b534-42ff-9b01-915a913a57a7","source":"cc-execution","status":"blocked","payload":{"reason":"anchored_edit_invalid","fingerprint":"0ebb7347af1736ed4f6797a0662d08ebaaaa2204f29e08fe343efbc6c0b88f19"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T17:27:58.257658+00:00","proof_gate":"repository_mutation_intent_deterministic_failure","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent_blocked","idempotency_key":"mission:2e6c7b55-8ffb-4512-b43d-017105e65516:repository-mutation-intent-blocked:0ebb7347af1736ed4f6797a0662d08ebaaaa2204f29e08fe343efbc6c0b88f19","mission_step_id":"6daf8817-2cc6-4ee4-b9ef-765b3ecf9711","command_center_event_id":"2e6c7b55-8ffb-4512-b43d-017105e65516"},{"id":"3bc9568d-748c-487d-8bab-3f51e1461f8d","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"route":"https://app.knocklaunch.app/admin/console","branch":"ai/objective-first-repair-3e83ce1ea08d","writes":[],"patches":[],"version":1,"approved":true,"viewport":"mobile","missionId":"3e83ce1e-a08d-43a8-9855-584af134ff96","objective":"Platform-wide mobile shell fix. On mobile, the Back/Home/Refresh/Messages utility bar must be the absolute bottom-most in-app bar, below the regular tenant mobile nav. The tenant nav must stack immediately above it, iOS safe-area must be respected, and shared page content must reserve the combined bottom-stack height so controls/content never sit underneath either bar. Preserve desktop. Verify on https://app.knocklaunch.app/admin/console mobile.","proofRoute":"https://app.knocklaunch.app/admin/console","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/App.css"],"anchored_edits":[{"path":"src/App.css","anchor":".read-the-docs {\n  color: #888;\n}\n\n@media (max-width: 767px) {","replacement":".read-the-docs {\n  color: #888;\n}\n\n@media (max-width: 767px) {\n  .kl-responsive-tenant-runtime {\n    box-sizing: border-box;\n    padding-bottom: calc(var(--kl-mobile-bottom-stack-h, var(--kl-platform-mobile-nav-h, 0px)) + env(safe-area-inset-bottom)) !important;\n  }"}],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":null,"ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/App.css"],"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":"b60471ea1e760f8f90500e8d174d4fff603e97294cd027cd9b27402e5b0d9001","replayCount":0,"serializedBytes":1922},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T17:29:32.680265+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:3e83ce1e-a08d-43a8-9855-584af134ff96:repository-mutation-intent:b60471ea1e760f8f90500e8d174d4fff603e97294cd027cd9b27402e5b0d9001:0","mission_step_id":"e5740e52-8be2-407d-9e43-1a3b5cc01e24","command_center_event_id":"3e83ce1e-a08d-43a8-9855-584af134ff96"},{"id":"a2cdfb97-aae3-49a2-a698-645b8bc02472","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-2e6c7b558ffb","reason":"anchored_edit_invalid","status":"blocked","metrics":{"receiptBytes":13687,"releaseCount":0,"toolCallCount":7,"repeatedCallCount":2,"executorlessWaitMs":222862,"firstUsefulResultAt":"2026-09-27T17:25:30.874Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":null,"terminal":false,"missionId":"2e6c7b55-8ffb-4512-b43d-017105e65516","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":517,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":517,"missionSetupMs":234,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":234,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":234,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":234,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"2e6c7b55-8ffb-4512-b43d-017105e65516"},"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":1422,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T17:27:58.237259+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:2e6c7b55-8ffb-4512-b43d-017105e65516:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"6daf8817-2cc6-4ee4-b9ef-765b3ecf9711","command_center_event_id":"2e6c7b55-8ffb-4512-b43d-017105e65516"},{"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":"3ed6ec8e-80fe-4ead-95cb-e0b7fe46ada8","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-3e83ce1ea08d","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":4144,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"executorlessWaitMs":4479,"firstUsefulResultAt":"2026-09-27T17:29:32.657Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":3889,"terminal":false,"missionId":"3e83ce1e-a08d-43a8-9855-584af134ff96","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3415,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":1067,"missionSetupMs":468,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":362,"ledgerReconcileMs":0,"lineageReconcileMs":106,"resolvePreflightMs":468,"repositoryMutationMs":2348,"repositoryProviderMs":2348,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2242,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":362,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":106},"nextAction":"Canonical KnockLaunch Gate notifier and durable mission supervisor own Gate, merge, release, and proof progression from this exact PR head outside the owner response path.","receiptRef":{"mode":"full","missionId":"3e83ce1e-a08d-43a8-9855-584af134ff96"},"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":3033,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T17:29:37.207186+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3889","receipt_type":"execute_mission","idempotency_key":"mission:3e83ce1e-a08d-43a8-9855-584af134ff96:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"e5740e52-8be2-407d-9e43-1a3b5cc01e24","command_center_event_id":"3e83ce1e-a08d-43a8-9855-584af134ff96"},{"id":"1f6a9c33-7aca-49ea-8418-6fe392f6fa8a","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":null,"reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":null,"recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":3888,"terminal":false,"missionId":"7b0e2b66-fbec-4beb-ac33-2020cfbccc8a","operation":"execute_mission","proofGate":"canonical_release_reconciliation_pending","sourceSha":"27a42020a78e42d6e08c9423a9f2b93209071065","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":827,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":94,"approvedPlanMs":0,"missionSetupMs":380,"providerAuthMs":0,"shipAndProveMs":367,"ledgerPrepareMs":380,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":380,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":380,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"7b0e2b66-fbec-4beb-ac33-2020cfbccc8a"},"performance":null,"deploymentId":"forgejo-main-27a42020a78e","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":true,"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":2610,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T17:36:38.745308+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":"27a42020a78e42d6e08c9423a9f2b93209071065","external_id":"forgejo-main-27a42020a78e","receipt_type":"execute_mission","idempotency_key":"mission:7b0e2b66-fbec-4beb-ac33-2020cfbccc8a:execute_mission:canonical_release_reconciliation_pending:current-generation","mission_step_id":"2c7d486a-14a0-4720-9a97-cfb7aace3cbd","command_center_event_id":"7b0e2b66-fbec-4beb-ac33-2020cfbccc8a"},{"id":"641e6724-2146-445f-ac50-77e91f1b906d","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-2c4584136845","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":null,"recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":null,"terminal":false,"missionId":"2c458413-6845-4e8d-8a0d-4446ecbc567c","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1307,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":422,"providerAuthMs":0,"ledgerPrepareMs":422,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":422,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":422,"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":"2c458413-6845-4e8d-8a0d-4446ecbc567c"},"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":4133,"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-09-27T17:41:01.404433+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:2c458413-6845-4e8d-8a0d-4446ecbc567c:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"4afeb7a8-9f9e-41c6-bf2f-c5d12ca5753a","command_center_event_id":"2c458413-6845-4e8d-8a0d-4446ecbc567c"},{"id":"e7606646-5115-40ab-9513-ef26daa20b1b","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-1224255f9ecf","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":null,"recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":3890,"terminal":false,"missionId":"1224255f-9ecf-4407-83a9-dc7711ccd2c1","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4033,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":731,"missionSetupMs":354,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":354,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":354,"repositoryMutationMs":3302,"repositoryProviderMs":3302,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2236,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":354,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1066},"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":"1224255f-9ecf-4407-83a9-dc7711ccd2c1"},"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":3759,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T17:41:51.709913+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3890","receipt_type":"execute_mission","idempotency_key":"mission:1224255f-9ecf-4407-83a9-dc7711ccd2c1:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"e50c1e6c-73d8-4014-b4e4-1cd037bc9479","command_center_event_id":"1224255f-9ecf-4407-83a9-dc7711ccd2c1"},{"id":"a169f1f1-24e7-4bc3-9636-d31911cc3c2d","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-1224255f9ecf","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":6758,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":2,"executorlessWaitMs":111616,"firstUsefulResultAt":"2026-09-27T17:41:51.669Z","recoveryAttemptCount":3,"ownerInterruptionCount":0},"version":null,"prNumber":3890,"terminal":false,"missionId":"1224255f-9ecf-4407-83a9-dc7711ccd2c1","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":5421,"approvedPlanMs":0,"shipAndProveMs":0,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"1224255f-9ecf-4407-83a9-dc7711ccd2c1"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime","visual"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":819,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T17:42:05.802104+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"3890","receipt_type":"automatic_mission_resume","idempotency_key":"mission:1224255f-9ecf-4407-83a9-dc7711ccd2c1:automatic-mission-resume:3890:repair_mission_pr_ready_retryable","mission_step_id":"27fd1a9f-2834-4a73-b1c5-13e9940fc10f","command_center_event_id":"1224255f-9ecf-4407-83a9-dc7711ccd2c1"},{"id":"29d35025-8565-45b3-a5e4-2fb02c5cb727","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-1224255f9ecf","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":8346,"releaseCount":0,"toolCallCount":5,"repeatedCallCount":3,"executorlessWaitMs":117789,"firstUsefulResultAt":"2026-09-27T17:41:51.669Z","recoveryAttemptCount":4,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":3890,"terminal":false,"missionId":"1224255f-9ecf-4407-83a9-dc7711ccd2c1","operation":"execute_mission","proofGate":"canonical_release_reconciliation_pending","sourceSha":"121f59e3d3be461bb89af1cfe6cbe64e65232957","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3421,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":467,"approvedPlanMs":0,"missionSetupMs":395,"providerAuthMs":0,"shipAndProveMs":2500,"ledgerPrepareMs":287,"ledgerReconcileMs":0,"lineageReconcileMs":108,"resolvePreflightMs":395,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":287,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"1224255f-9ecf-4407-83a9-dc7711ccd2c1"},"performance":null,"deploymentId":"forgejo-main-121f59e3d3be","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":true,"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":2721,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T17:44:50.768251+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":"121f59e3d3be461bb89af1cfe6cbe64e65232957","external_id":"forgejo-main-121f59e3d3be","receipt_type":"execute_mission","idempotency_key":"mission:1224255f-9ecf-4407-83a9-dc7711ccd2c1:execute_mission:canonical_release_reconciliation_pending:current-generation","mission_step_id":"ee30b750-cc55-4ef9-b2ff-ac0cb3394627","command_center_event_id":"1224255f-9ecf-4407-83a9-dc7711ccd2c1"},{"id":"68bf4762-ece8-49dc-bbbc-770d2ee8b3fd","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending","cc-execution/runtime-proof":"pending"},"mainSha":"121f59e3d3be461bb89af1cfe6cbe64e65232957","missing":[],"pending":["forgejo-release/workflow","cc-execution/runtime-proof","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof","frontend-cloudflare/live"],"sourceSha":"121f59e3d3be461bb89af1cfe6cbe64e65232957","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"pending","ccExecution":"pending"},"requestContractHash":"c662adec588cad16f82b58bb1b319e37de927144f0b977a0a3f5acd16243bf08","forgejoWorkflowProof":{"runId":12244,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"frontend":"pending","ccExecution":"pending"},"targetJobCount":7,"observedTargetStates":{"frontend":"pending","ccExecution":"pending"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"29788369be45a7b04d28a1dcfccd62d8dd834c14","deploymentId":"forgejo-main-29788369be45a7b04d28a1dcfccd62d8dd834c14","compareStatus":null,"identitySource":"local_build_metadata","runtimeVersion":"1.58.293-scheduler-v2","containsSourceSha":false},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T17:45:23.427292+00:00","proof_gate":"canonical_release_pending","source_sha":"121f59e3d3be461bb89af1cfe6cbe64e65232957","external_id":"forgejo-main-121f59e3d3be","receipt_type":"canonical_release_status","idempotency_key":"mission:1224255f-9ecf-4407-83a9-dc7711ccd2c1:forgejo-release-status:121f59e3d3be461bb89af1cfe6cbe64e65232957:pending:forgejo-main/source=success|forgejo-release/workflow=pending|cc-execution/runtime-proof=pending|frontend-cloudflare/live=pending","mission_step_id":"ee30b750-cc55-4ef9-b2ff-ac0cb3394627","command_center_event_id":"1224255f-9ecf-4407-83a9-dc7711ccd2c1"},{"id":"eb57c375-db8c-46c1-9012-200616e069d7","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-3e83ce1ea08d","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":10928,"releaseCount":0,"toolCallCount":6,"repeatedCallCount":3,"executorlessWaitMs":989933,"firstUsefulResultAt":"2026-09-27T17:29:32.657Z","recoveryAttemptCount":3,"ownerInterruptionCount":0},"version":null,"prNumber":3889,"terminal":false,"missionId":"3e83ce1e-a08d-43a8-9855-584af134ff96","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":5667,"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":"3e83ce1e-a08d-43a8-9855-584af134ff96"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime","visual"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":819,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T17:36:20.455003+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"3889","receipt_type":"automatic_mission_resume","idempotency_key":"mission:3e83ce1e-a08d-43a8-9855-584af134ff96:automatic-mission-resume:3889:repair_mission_pr_ready_retryable","mission_step_id":"d6d47b68-4082-4691-befd-d616d2b2530a","command_center_event_id":"3e83ce1e-a08d-43a8-9855-584af134ff96"},{"id":"e967ce45-c2ac-4c35-b1a1-bd670a63a82c","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.293-scheduler-v2","prNumber":null,"terminal":false,"missionId":"b10be993-a4e0-4f5c-bd3c-965855d6668a","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1340,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":438,"providerAuthMs":0,"ledgerPrepareMs":438,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":438,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":438,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Supply exact sourceTargets on the same mission; planner guesses cannot replace missing mission scope.","receiptRef":{"mode":"full","missionId":"b10be993-a4e0-4f5c-bd3c-965855d6668a"},"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-27T17:55:59.266502+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:b10be993-a4e0-4f5c-bd3c-965855d6668a:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"5bc64578-642e-45f8-9455-a6fb6b545d54","command_center_event_id":"b10be993-a4e0-4f5c-bd3c-965855d6668a"},{"id":"d302aba7-2480-4a86-9a98-9f9b42a9ee3f","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-b10be993a4e0","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":1677,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-09-27T17:55:59.236Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":null,"terminal":false,"missionId":"b10be993-a4e0-4f5c-bd3c-965855d6668a","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1129,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":310,"providerAuthMs":0,"ledgerPrepareMs":310,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":310,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":310,"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":"b10be993-a4e0-4f5c-bd3c-965855d6668a"},"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":4037,"likelyAffectedFiles":[".forgejo/workflows/knocklaunch.yml"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T17:56:16.185773+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:b10be993-a4e0-4f5c-bd3c-965855d6668a:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"5bc64578-642e-45f8-9455-a6fb6b545d54","command_center_event_id":"b10be993-a4e0-4f5c-bd3c-965855d6668a"},{"id":"f9c84f6e-5fa5-4144-9569-4db2a76792b9","source":"forgejo-runtime","status":"failed","payload":{"failed":["forgejo-release/workflow"],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"failure","frontend-cloudflare/live":"pending","cc-execution/runtime-proof":"success"},"mainSha":"121f59e3d3be461bb89af1cfe6cbe64e65232957","missing":[],"pending":["frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof","frontend-cloudflare/live"],"sourceSha":"121f59e3d3be461bb89af1cfe6cbe64e65232957","releaseState":"failed","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"pending","ccExecution":"success"},"requestContractHash":"c662adec588cad16f82b58bb1b319e37de927144f0b977a0a3f5acd16243bf08","forgejoWorkflowProof":{"runId":12244,"source":"signed_push_receipt","status":"failure","results":{},"conclusion":"failure","fingerprint":"failure||","failureClass":"code_failure","targetStates":{"frontend":"pending","ccExecution":"failure"},"safeAutoRetry":false,"targetJobCount":7,"observedTargetStates":{"frontend":"pending","ccExecution":"failure"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"121f59e3d3be461bb89af1cfe6cbe64e65232957","proofGate":"cc_execution_target_aware_runtime_identity_verified","deploymentId":"forgejo-main-121f59e3d3be461bb89af1cfe6cbe64e65232957","compareStatus":"identical","workflowRunId":12244,"identitySource":"local_build_metadata","runtimeVersion":"1.58.293-scheduler-v2","workflowFailed":true,"containsSourceSha":true},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T17:56:33.269657+00:00","proof_gate":"canonical_release_terminal_failed","source_sha":"121f59e3d3be461bb89af1cfe6cbe64e65232957","external_id":"forgejo-main-121f59e3d3be","receipt_type":"canonical_release_status","idempotency_key":"mission:1224255f-9ecf-4407-83a9-dc7711ccd2c1:forgejo-release-status:121f59e3d3be461bb89af1cfe6cbe64e65232957:failed:forgejo-main/source=success|forgejo-release/workflow=failure|cc-execution/runtime-proof=success|frontend-cloudflare/live=pending","mission_step_id":"ee30b750-cc55-4ef9-b2ff-ac0cb3394627","command_center_event_id":"1224255f-9ecf-4407-83a9-dc7711ccd2c1"},{"id":"ce6181e9-ee41-4f16-9ee2-5441730fe9a3","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-1ce721d69683","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":null,"recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":null,"terminal":false,"missionId":"1ce721d6-9683-4da7-bf0f-9210f07d6a87","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1115,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":386,"providerAuthMs":0,"ledgerPrepareMs":386,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":386,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":386,"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":"1ce721d6-9683-4da7-bf0f-9210f07d6a87"},"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":4890,"likelyAffectedFiles":[".forgejo/workflows/knocklaunch.yml"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T17:59:51.904603+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:1ce721d6-9683-4da7-bf0f-9210f07d6a87:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"914aa39a-aa02-4759-a4ef-065594108f1e","command_center_event_id":"1ce721d6-9683-4da7-bf0f-9210f07d6a87"},{"id":"416ed0d0-09a8-4e3f-8264-7df970afa5bb","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-b10be993a4e0","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":11969,"releaseCount":0,"toolCallCount":6,"repeatedCallCount":0,"executorlessWaitMs":242637,"firstUsefulResultAt":"2026-09-27T17:55:59.236Z","recoveryAttemptCount":1,"ownerInterruptionCount":0},"version":null,"prNumber":3891,"terminal":false,"missionId":"b10be993-a4e0-4f5c-bd3c-965855d6668a","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":5549,"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":"b10be993-a4e0-4f5c-bd3c-965855d6668a"},"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-27T18:00:01.930515+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"3891","receipt_type":"automatic_mission_resume","idempotency_key":"mission:b10be993-a4e0-4f5c-bd3c-965855d6668a:automatic-mission-resume:3891:repair_mission_pr_ready_retryable","mission_step_id":"916bb5a4-4d65-49bc-ac9c-e8aed8f67e0b","command_center_event_id":"b10be993-a4e0-4f5c-bd3c-965855d6668a"},{"id":"4d2b2259-a7a7-4805-846b-16147731566f","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-b10be993a4e0","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":7881,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":0,"executorlessWaitMs":229669,"firstUsefulResultAt":"2026-09-27T17:55:59.236Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":3891,"terminal":false,"missionId":"b10be993-a4e0-4f5c-bd3c-965855d6668a","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4379,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":1543,"missionSetupMs":264,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":264,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":264,"repositoryMutationMs":2836,"repositoryProviderMs":2836,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":1843,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":264,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":993},"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":"b10be993-a4e0-4f5c-bd3c-965855d6668a"},"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":3398,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T17:59:54.232528+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3891","receipt_type":"execute_mission","idempotency_key":"mission:b10be993-a4e0-4f5c-bd3c-965855d6668a:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"34ac0be8-2ffd-4022-b1fb-5fb4d044ae89","command_center_event_id":"b10be993-a4e0-4f5c-bd3c-965855d6668a"},{"id":"f3c99a73-ca99-4056-bc59-a248f6f77926","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-b10be993a4e0","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":13549,"releaseCount":0,"toolCallCount":7,"repeatedCallCount":1,"executorlessWaitMs":249047,"firstUsefulResultAt":"2026-09-27T17:55:59.236Z","recoveryAttemptCount":2,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":3891,"terminal":false,"missionId":"b10be993-a4e0-4f5c-bd3c-965855d6668a","operation":"execute_mission","proofGate":"canonical_release_reconciliation_pending","sourceSha":"ce04e45d675794393fadfaaed9107bd18d5e1a72","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3702,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":517,"approvedPlanMs":0,"missionSetupMs":385,"providerAuthMs":0,"shipAndProveMs":2727,"ledgerPrepareMs":270,"ledgerReconcileMs":0,"lineageReconcileMs":115,"resolvePreflightMs":385,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":270,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"b10be993-a4e0-4f5c-bd3c-965855d6668a"},"performance":null,"deploymentId":"forgejo-main-ce04e45d6757","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2525,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T18:00:26.611187+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":"ce04e45d675794393fadfaaed9107bd18d5e1a72","external_id":"forgejo-main-ce04e45d6757","receipt_type":"execute_mission","idempotency_key":"mission:b10be993-a4e0-4f5c-bd3c-965855d6668a:execute_mission:canonical_release_reconciliation_pending:current-generation","mission_step_id":"713eb6be-8617-4c56-a72d-ef4404e23b5d","command_center_event_id":"b10be993-a4e0-4f5c-bd3c-965855d6668a"},{"id":"b0b0ebde-7df6-4a74-adb8-eb641fd092fa","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-1ce721d69683","reason":"control_plane_maintenance_authorization_required","status":"blocked","metrics":{"receiptBytes":1828,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-09-27T17:59:51.861Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":null,"terminal":false,"missionId":"1ce721d6-9683-4da7-bf0f-9210f07d6a87","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":296,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":296,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":296,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":296,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"1ce721d6-9683-4da7-bf0f-9210f07d6a87"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime","runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1439,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T18:00:35.334692+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:1ce721d6-9683-4da7-bf0f-9210f07d6a87:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"26ce72c3-c308-421b-8faa-48dfc66edcb6","command_center_event_id":"1ce721d6-9683-4da7-bf0f-9210f07d6a87"},{"id":"d42f35ad-68e7-4de1-a24a-a91ab96c16e4","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.293-scheduler-v2","prNumber":null,"terminal":false,"missionId":"ad521726-5005-4ffb-97fb-21390e2a3628","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1366,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":452,"providerAuthMs":0,"ledgerPrepareMs":452,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":452,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":452,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Supply exact sourceTargets on the same mission; planner guesses cannot replace missing mission scope.","receiptRef":{"mode":"full","missionId":"ad521726-5005-4ffb-97fb-21390e2a3628"},"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-27T18:08:06.143303+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:ad521726-5005-4ffb-97fb-21390e2a3628:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"5ed00f1d-ef9a-4913-a7ce-1f602c81cc2e","command_center_event_id":"ad521726-5005-4ffb-97fb-21390e2a3628"},{"id":"744fd005-be6c-4cf8-9f9b-96de4ce1bfbd","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-ad5217265005","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":3649,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"executorlessWaitMs":14134,"firstUsefulResultAt":"2026-09-27T18:08:06.106Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":null,"terminal":false,"missionId":"ad521726-5005-4ffb-97fb-21390e2a3628","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1202,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":400,"providerAuthMs":0,"ledgerPrepareMs":400,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":400,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":400,"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":"ad521726-5005-4ffb-97fb-21390e2a3628"},"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":3571,"likelyAffectedFiles":["src/PrivateAppShell.tsx","src/App.css","src/__tests__/contracts/installed-app-navigation.contract.test.ts"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T18:08:20.280901+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:ad521726-5005-4ffb-97fb-21390e2a3628:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"5ed00f1d-ef9a-4913-a7ce-1f602c81cc2e","command_center_event_id":"ad521726-5005-4ffb-97fb-21390e2a3628"},{"id":"1673eea4-b53b-4863-b5f5-6d152e6ec08a","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-ad5217265005","reason":"anchored_edit_invalid","status":"blocked","metrics":{"receiptBytes":5591,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":1,"executorlessWaitMs":171215,"firstUsefulResultAt":"2026-09-27T18:08:06.106Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":null,"terminal":false,"missionId":"ad521726-5005-4ffb-97fb-21390e2a3628","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":696,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":430,"missionSetupMs":782,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":782,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":782,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":782,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"ad521726-5005-4ffb-97fb-21390e2a3628"},"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":1421,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T18:11:03.877643+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:ad521726-5005-4ffb-97fb-21390e2a3628:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"4bd4d80c-48ff-48f0-88c3-244ff0676823","command_center_event_id":"ad521726-5005-4ffb-97fb-21390e2a3628"},{"id":"1764c65f-406e-4172-a439-bca661bfb26e","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-ad5217265005","writes":[],"patches":[],"version":1,"approved":true,"missionId":"ad521726-5005-4ffb-97fb-21390e2a3628","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/PrivateAppShell.tsx","src/App.css","src/__tests__/contracts/installed-app-navigation.contract.test.ts"],"anchored_edits":[{"path":"src/PrivateAppShell.tsx","anchor":"function readInstalledAppSafeInsets()","replacement":"function readInstalledAppSafeInsets()"}],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"ad521726-5005-4ffb-97fb-21390e2a3628","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/PrivateAppShell.tsx","src/App.css","src/__tests__/contracts/installed-app-navigation.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":"179d4d14d747d90231c650cab9d99f90a7141a21af072df4cc59f9de238b4d46","replayCount":0,"serializedBytes":1297},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T18:11:08.780185+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:ad521726-5005-4ffb-97fb-21390e2a3628:repository-mutation-intent:179d4d14d747d90231c650cab9d99f90a7141a21af072df4cc59f9de238b4d46:0","mission_step_id":"4bd4d80c-48ff-48f0-88c3-244ff0676823","command_center_event_id":"ad521726-5005-4ffb-97fb-21390e2a3628"},{"id":"ab6d8e8e-1bde-4c5b-9726-3c5b2bac96d1","source":"cc-execution","status":"no_change","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-ad5217265005","reason":null,"status":"no_change","metrics":{"receiptBytes":8858,"releaseCount":0,"toolCallCount":5,"repeatedCallCount":1,"executorlessWaitMs":182596,"firstUsefulResultAt":"2026-09-27T18:08:06.106Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":null,"terminal":false,"missionId":"ad521726-5005-4ffb-97fb-21390e2a3628","operation":"execute_mission","proofGate":"repair_mission_prepared","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":517,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":295,"providerAuthMs":0,"ledgerPrepareMs":295,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":295,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":295,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"pull_request_required","receiptRef":{"mode":"full","missionId":"ad521726-5005-4ffb-97fb-21390e2a3628"},"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":1383,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T18:11:10.1097+00:00","proof_gate":"repair_mission_prepared","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:ad521726-5005-4ffb-97fb-21390e2a3628:execute_mission:repair_mission_prepared:current-generation","mission_step_id":"5ed00f1d-ef9a-4913-a7ce-1f602c81cc2e","command_center_event_id":"ad521726-5005-4ffb-97fb-21390e2a3628"},{"id":"229c2cd3-5ce8-444c-9f23-fd44bdef6dc3","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-ad5217265005","writes":[],"patches":[],"version":1,"approved":true,"missionId":"ad521726-5005-4ffb-97fb-21390e2a3628","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/PrivateAppShell.tsx","src/App.css","src/__tests__/contracts/installed-app-navigation.contract.test.ts"],"anchored_edits":[{"path":"src/PrivateAppShell.tsx","anchor":"const[mobile,setMobile]=React.useState(()=>!publicRecipientRoute&&typeof window!=='undefined'&&window.matchMedia('(max-width: 767px)').matches);React.useEffect(()=>{","replacement":"const[mobile,setMobile]=React.useState(()=>!publicRecipientRoute&&typeof window!=='undefined'&&window.matchMedia('(max-width: 767px)').matches);const[stackRevision,setStackRevision]=React.useState(0);React.useEffect(()=>{"},{"path":"src/PrivateAppShell.tsx","anchor":"document.documentElement.style.setProperty('--kl-platform-mobile-nav-h',`${Math.ceil(footer.getBoundingClientRect().height)}px`);document.documentElement.style.setProperty('--kl-platform-mobile-nav-h',`${Math.ceil(footer.getBoundingClientRect().height)}px`)};","replacement":"document.documentElement.style.setProperty('--kl-platform-mobile-nav-h',`${Math.ceil(footer.getBoundingClientRect().height)}px`)};"},{"path":"src/PrivateAppShell.tsx","anchor":"}).sort((a,b)=>b.getBoundingClientRect().width-a.getBoundingClientRect().width)[0];if(!primary)return;const stackCandidates=Array.from","replacement":"}).sort((a,b)=>b.getBoundingClientRect().width-a.getBoundingClientRect().width)[0];if(!primary){const utilityRoot=document.querySelector<HTMLElement>('.kl-responsive-tenant-runtime');const previousUtilityRootPadding=utilityRoot?.style.paddingBottom||'';const previousPlatformNavHeight=document.documentElement.style.getPropertyValue('--kl-platform-mobile-nav-h');const previousStackHeight=document.documentElement.style.getPropertyValue('--kl-mobile-bottom-stack-h');const syncUtilityOnly=()=>{const utilityHeight=Math.ceil(footer.getBoundingClientRect().height);footer.style.setProperty('bottom','0px','important');document.documentElement.style.setProperty('--kl-platform-mobile-nav-h',`${utilityHeight}px`);document.documentElement.style.setProperty('--kl-mobile-bottom-stack-h',`${utilityHeight}px`);if(utilityRoot)utilityRoot.style.setProperty('padding-bottom',`${utilityHeight}px`,'important')};syncUtilityOnly();let lateMounted=false;const lateMountObserver=new MutationObserver(()=>{if(lateMounted)return;const mounted=selectors.some((selector)=>Boolean(document.querySelector<HTMLElement>(selector)));if(!mounted)return;lateMounted=true;setStackRevision((revision)=>revision+1)});lateMountObserver.observe(document.body,{childList:true,subtree:true,attributes:true,attributeFilter:['class','style','aria-current']});window.addEventListener('resize',syncUtilityOnly,{passive:true});return()=>{lateMountObserver.disconnect();window.removeEventListener('resize',syncUtilityOnly);if(utilityRoot){if(previousUtilityRootPadding)utilityRoot.style.paddingBottom=previousUtilityRootPadding;else utilityRoot.style.removeProperty('padding-bottom')}if(previousPlatformNavHeight)document.documentElement.style.setProperty('--kl-platform-mobile-nav-h',previousPlatformNavHeight);else document.documentElement.style.removeProperty('--kl-platform-mobile-nav-h');if(previousStackHeight)document.documentElement.style.setProperty('--kl-mobile-bottom-stack-h',previousStackHeight);else document.documentElement.style.removeProperty('--kl-mobile-bottom-stack-h')}}const stackCandidates=Array.from"},{"path":"src/PrivateAppShell.tsx","anchor":"const previousRootPadding=root?.style.paddingBottom||'';const syncStack=()=>{const utilityHeight=Math.ceil(footer.getBoundingClientRect().height);footer.style.setProperty('bottom','0px','important');let offset=utilityHeight;for(const element of ordered){element.style.setProperty('bottom',`${offset}px`,'important');offset+=Math.ceil(element.getBoundingClientRect().height)}if(root)root.style.setProperty('padding-bottom',`${offset}px`,'important')};","replacement":"const previousRootPadding=root?.style.paddingBottom||'';const previousPlatformNavHeight=document.documentElement.style.getPropertyValue('--kl-platform-mobile-nav-h');const previousStackHeight=document.documentElement.style.getPropertyValue('--kl-mobile-bottom-stack-h');const previousPrimaryNavHeight=document.documentElement.style.getPropertyValue('--kl-mobile-primary-nav-h');const syncStack=()=>{const utilityHeight=Math.ceil(footer.getBoundingClientRect().height);footer.style.setProperty('bottom','0px','important');document.documentElement.style.setProperty('--kl-platform-mobile-nav-h',`${utilityHeight}px`);document.documentElement.style.setProperty('--kl-mobile-primary-nav-h',`${Math.ceil(primary.getBoundingClientRect().height)}px`);let offset=utilityHeight;for(const element of ordered){element.style.setProperty('bottom',`${offset}px`,'important');offset+=Math.ceil(element.getBoundingClientRect().height)}document.documentElement.style.setProperty('--kl-mobile-bottom-stack-h',`${offset}px`);if(root)root.style.setProperty('padding-bottom',`${offset}px`,'important')};"},{"path":"src/PrivateAppShell.tsx","anchor":"if(root){if(previousRootPadding)root.style.paddingBottom=previousRootPadding;else root.style.removeProperty('padding-bottom')}}},[mobile,activeTenant?.id]);if(!mobile","replacement":"if(root){if(previousRootPadding)root.style.paddingBottom=previousRootPadding;else root.style.removeProperty('padding-bottom')}if(previousPlatformNavHeight)document.documentElement.style.setProperty('--kl-platform-mobile-nav-h',previousPlatformNavHeight);else document.documentElement.style.removeProperty('--kl-platform-mobile-nav-h');if(previousStackHeight)document.documentElement.style.setProperty('--kl-mobile-bottom-stack-h',previousStackHeight);else document.documentElement.style.removeProperty('--kl-mobile-bottom-stack-h');if(previousPrimaryNavHeight)document.documentElement.style.setProperty('--kl-mobile-primary-nav-h',previousPrimaryNavHeight);else document.documentElement.style.removeProperty('--kl-mobile-primary-nav-h')}},[mobile,activeTenant?.id,location.pathname,location.search,stackRevision]);if(!mobile"},{"path":"src/PrivateAppShell.tsx","anchor":"<style>{`@media (max-width:767px){.kl-responsive-tenant-runtime{--kl-mobile-primary-nav-h:64px;--kl-mobile-utility-footer-h:56px;box-sizing:border-box;padding-bottom:calc(env(safe-area-inset-bottom) + var(--kl-mobile-primary-nav-h) + var(--kl-mobile-utility-footer-h))!important}.kl-responsive-tenant-runtime [data-big-papis-mobile-nav=\"true\"],.kl-responsive-tenant-runtime [data-tenant-modes-mobile-nav=\"true\"],.kl-responsive-tenant-runtime [data-tenant-modes-mobile-landing-nav=\"true\"],.kl-responsive-tenant-runtime [data-mobile-bottom-nav=\"true\"],.kl-responsive-tenant-runtime [data-tenant-mobile-nav=\"true\"]{bottom:calc(env(safe-area-inset-bottom) + var(--kl-mobile-utility-footer-h))!important;padding-bottom:0!important}}`}</style>","replacement":"<style>{`@media (max-width:767px){.kl-responsive-tenant-runtime{--kl-mobile-primary-nav-h:64px;--kl-mobile-utility-footer-h:56px;box-sizing:border-box}}`}</style>"},{"path":"src/__tests__/contracts/installed-app-navigation.contract.test.ts","anchor":"  it('is fixed above the primary mobile nav and contains only explicit utility actions', () => {\n    expect(shellSource).toContain('data-platform-mobile-utility-footer=\"true\"');\n    expect(shellSource).toContain(\"matchMedia('(max-width: 767px)')\");\n    expect(shellSource).toContain('bottom-[calc(env(safe-area-inset-bottom)+var(--kl-mobile-primary-nav-h,64px))]');\n    expect(shellSource).toContain('grid-cols-4');\n    expect(shellSource).toContain('data-installed-app-navigation-action=\"back\"');\n    expect(shellSource).toContain('data-installed-app-navigation-action=\"home\"');\n    expect(shellSource).toContain('data-installed-app-navigation-action=\"reload\"');\n    expect(shellSource).toContain('data-installed-app-navigation-action=\"messages\"');\n    expect(shellSource).toContain(\"window.dispatchEvent(new CustomEvent('knocklaunch:messages-open'))\");\n    expect(shellSource).not.toContain('data-installed-app-navigation-trigger=\"true\"');\n    expect(shellSource).not.toContain('kl-installed-app-nav-position-v1');\n  });","replacement":"  it('keeps the platform utility footer bottom-most and preserves explicit utility actions', () => {\n    expect(shellSource).toContain('data-platform-mobile-utility-footer=\"true\"');\n    expect(shellSource).toContain(\"matchMedia('(max-width: 767px)')\");\n    expect(shellSource).toContain('className=\"fixed inset-x-0 bottom-0 z-[10050]');\n    expect(shellSource).toContain('grid-cols-4');\n    expect(shellSource).toContain('data-installed-app-navigation-action=\"back\"');\n    expect(shellSource).toContain('data-installed-app-navigation-action=\"home\"');\n    expect(shellSource).toContain('data-installed-app-navigation-action=\"reload\"');\n    expect(shellSource).toContain('data-installed-app-navigation-action=\"messages\"');\n    expect(shellSource).toContain(\"window.dispatchEvent(new CustomEvent('knocklaunch:messages-open'))\");\n    expect(shellSource).not.toContain('data-installed-app-navigation-trigger=\"true\"');\n    expect(shellSource).not.toContain('kl-installed-app-nav-position-v1');\n  });"},{"path":"src/__tests__/contracts/installed-app-navigation.contract.test.ts","anchor":"  it('reserves the complete two-bar mobile footer stack in the route canvas', () => {\n    expect(shellSource).toContain('--kl-mobile-primary-nav-h:64px');\n    expect(shellSource).toContain('--kl-mobile-utility-footer-h:56px');\n    expect(shellSource).toContain('padding-bottom:calc(env(safe-area-inset-bottom) + var(--kl-mobile-primary-nav-h) + var(--kl-mobile-utility-footer-h))!important');\n    expect(modesSource).toContain('pb-[calc(120px+env(safe-area-inset-bottom))] lg:pb-0');\n    expect(modesSource).toContain('pb-[calc(142px+env(safe-area-inset-bottom))] lg:pb-8');\n  });","replacement":"  it('re-detects late-mounted tenant navs and reserves the measured complete bottom stack', () => {\n    expect(shellSource).toContain('const[stackRevision,setStackRevision]=React.useState(0)');\n    expect(shellSource).toContain('data-tenant-modes-mobile-nav=\\\\\"true\\\\\"');\n    expect(shellSource).toContain('data-tenant-modes-mobile-landing-nav=\\\\\"true\\\\\"');\n    expect(shellSource).toContain('const lateMountObserver=new MutationObserver');\n    expect(shellSource).toContain(\"lateMountObserver.observe(document.body,{childList:true,subtree:true,attributes:true\");\n    expect(shellSource).toContain(\"document.documentElement.style.setProperty('--kl-mobile-bottom-stack-h',`${offset}px`)\");\n    expect(shellSource).toContain(\"document.documentElement.style.setProperty('--kl-platform-mobile-nav-h',`${utilityHeight}px`)\");\n    expect(shellSource).toContain(\"root.style.setProperty('padding-bottom',`${offset}px`,'important')\");\n    expect(modesSource).toContain('data-tenant-modes-mobile-landing-nav=\"true\"');\n    expect(modesSource).toContain('data-tenant-modes-mobile-nav=\"true\"');\n  });"}],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"ad521726-5005-4ffb-97fb-21390e2a3628","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/PrivateAppShell.tsx","src/App.css","src/__tests__/contracts/installed-app-navigation.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":"ed00b75f2ba7b957476d29c064ec7ecb67acae323c1cfe4b647a4cac078eb9a0","replayCount":0,"serializedBytes":11960},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T18:12:00.648845+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:ad521726-5005-4ffb-97fb-21390e2a3628:repository-mutation-intent:ed00b75f2ba7b957476d29c064ec7ecb67acae323c1cfe4b647a4cac078eb9a0:0","mission_step_id":"4bd4d80c-48ff-48f0-88c3-244ff0676823","command_center_event_id":"ad521726-5005-4ffb-97fb-21390e2a3628"},{"id":"ea524dc6-a7bd-4c5b-b805-5963ec066fa5","source":"onrunner","status":"verified","payload":{"ok":true,"jobId":"6d635e9d-b091-4e36-a723-d68d22bd2580","phase":"universal_visual_witness_status","branch":"ai/objective-first-repair-ad5217265005","reason":null,"status":"verification_pending","metrics":{"receiptBytes":55322,"releaseCount":0,"toolCallCount":26,"repeatedCallCount":12,"executorlessWaitMs":580252,"firstUsefulResultAt":"2026-09-27T18:08:06.106Z","recoveryAttemptCount":4,"ownerInterruptionCount":0},"version":null,"prNumber":3892,"terminal":false,"missionId":"ad521726-5005-4ffb-97fb-21390e2a3628","operation":"visual_proof_status","proofGate":"interactive_visual_witness_verified","sourceSha":"e0cc5db94104663b9a2d295efbd5b6cba7d42429","timingsMs":{"queue":1230,"total":12615,"execution":11385},"nextAction":null,"receiptRef":{"mode":"full","missionId":"ad521726-5005-4ffb-97fb-21390e2a3628"},"performance":null,"deploymentId":"forgejo-main-e0cc5db94104","releaseState":"verified","visualWitness":{"role":"GodMode","jobId":"6d635e9d-b091-4e36-a723-d68d22bd2580","tenant":null,"runnerUrl":"https://laptop-witness.knocklaunch.app","runnerLane":"laptop","attemptsUsed":1,"supervisorId":"6d635e9d-b091-4e36-a723-d68d22bd2580","failureReason":null,"observedRoute":"/speedy-panda-party-rentals","runnerVersion":"laptop-121f59e3d3be","attemptLineage":[{"jobId":"96a3d6b1-186b-459b-9d5a-0428e329f01c","attempt":1,"category":"verified","sourceSha":"121f59e3d3be461bb89af1cfe6cbe64e65232957","startedAt":"2026-09-27T18:17:16.204Z","completedAt":"2026-09-27T18:17:27.783Z","runtimeLane":"cc-execution -> Local Laptop -> universal-witness.mjs","browserEngine":"chromium","failureReason":null,"retryRecovery":null,"runnerVersion":"laptop-121f59e3d3be","browserLaunchReason":"display_unavailable_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":"/speedy-panda-party-rentals","runnerSourceSha":"121f59e3d3be461bb89af1cfe6cbe64e65232957","selectedViewports":["mobile"],"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":12257,"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":15360,"ownerActionRequired":false,"ownerFacingTerminal":false,"requestContractHash":"8f6e88d76654df62a5ce5da4e0250ba714330b77b95fc39a38a27a1b14acfbd7","continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T18:17:47.491988+00:00","proof_gate":"interactive_visual_witness_verified","source_sha":"laptop-121f59e3d3be","external_id":"6d635e9d-b091-4e36-a723-d68d22bd2580","receipt_type":"visual_proof_status","idempotency_key":"mission:ad521726-5005-4ffb-97fb-21390e2a3628:visual:6d635e9d-b091-4e36-a723-d68d22bd2580:verified","mission_step_id":"837746b2-5597-4690-acab-21abec3ba174","command_center_event_id":"ad521726-5005-4ffb-97fb-21390e2a3628"},{"id":"a34de35c-00db-425a-aa00-3a2f6bda4579","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-ad5217265005","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":22581,"releaseCount":0,"toolCallCount":7,"repeatedCallCount":1,"executorlessWaitMs":234493,"firstUsefulResultAt":"2026-09-27T18:08:06.106Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":3892,"terminal":false,"missionId":"ad521726-5005-4ffb-97fb-21390e2a3628","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3819,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":659,"missionSetupMs":415,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":415,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":415,"repositoryMutationMs":3160,"repositoryProviderMs":3160,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2021,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":415,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1139},"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":"ad521726-5005-4ffb-97fb-21390e2a3628"},"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":3269,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T18:12:05.594714+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3892","receipt_type":"execute_mission","idempotency_key":"mission:ad521726-5005-4ffb-97fb-21390e2a3628:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"4bd4d80c-48ff-48f0-88c3-244ff0676823","command_center_event_id":"ad521726-5005-4ffb-97fb-21390e2a3628"},{"id":"4ae38dd3-2716-49e8-b839-a18d9f6695e3","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-d7b9731a6802","reason":"anchored_edit_anchor_missing:src/shells/modesTenantShell.ts","status":"blocked","metrics":{"receiptBytes":14605,"releaseCount":0,"toolCallCount":8,"repeatedCallCount":4,"executorlessWaitMs":391268,"firstUsefulResultAt":"2026-09-27T19:28:05.110Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":null,"terminal":false,"missionId":"d7b9731a-6802-410f-b812-b0d19b355634","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":671,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":671,"missionSetupMs":267,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":267,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":267,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":267,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"d7b9731a-6802-410f-b812-b0d19b355634"},"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":1497,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T19:34:27.784341+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:d7b9731a-6802-410f-b812-b0d19b355634:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"79e82e95-2a0c-4af0-9aa0-f1c6525434d8","command_center_event_id":"d7b9731a-6802-410f-b812-b0d19b355634"},{"id":"51636c0e-ab78-4cca-8de6-44cafc3dc238","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-ad5217265005","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":29395,"releaseCount":0,"toolCallCount":11,"repeatedCallCount":3,"executorlessWaitMs":371509,"firstUsefulResultAt":"2026-09-27T18:08:06.106Z","recoveryAttemptCount":3,"ownerInterruptionCount":0},"version":null,"prNumber":3892,"terminal":false,"missionId":"ad521726-5005-4ffb-97fb-21390e2a3628","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":5469,"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":"ad521726-5005-4ffb-97fb-21390e2a3628"},"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-27T18:13:16.829907+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"3892","receipt_type":"automatic_mission_resume","idempotency_key":"mission:ad521726-5005-4ffb-97fb-21390e2a3628:automatic-mission-resume:3892:repair_mission_pr_ready_retryable","mission_step_id":"71f567e6-16bb-4357-9937-c204838ccdec","command_center_event_id":"ad521726-5005-4ffb-97fb-21390e2a3628"},{"id":"e359f922-5ff3-48a3-a843-e4e11864cad2","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-ad5217265005","prNumber":3892,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"a6ee7ea2df31d49266371d97c1057645428f976c","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T18:16:20.419897+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"a6ee7ea2df31d49266371d97c1057645428f976c","external_id":"3892","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:ad521726-5005-4ffb-97fb-21390e2a3628:merged-pr:3892:a6ee7ea2df31d49266371d97c1057645428f976c","mission_step_id":"876ff925-8e10-43cf-850b-ba08af12c24c","command_center_event_id":"ad521726-5005-4ffb-97fb-21390e2a3628"},{"id":"3fefced9-49b7-446c-aaa4-fb119e073bb8","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"a6ee7ea2df31d49266371d97c1057645428f976c","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":false,"statement":"Repair the actual platform-wide mobile bottom-stack primitive that PR #3889 failed to fix. Current production main is b21dcdad08ab4154a1625ba5232dfce319d51655 and #3889 changed only src/App.css, but the authoritative behavior lives in InstalledAppNavigationRecovery inside src/PrivateAppShell.tsx. Fix the causal lifecycle bug: the current stacking effect resolves the tenant primary nav once and returns permanently if that nav is not mounted yet; it also never authoritatively maintains --kl-mobile-bottom-stack-h. Make the platform utility footer (Back/Home/Refresh/Messages) always the absolute bottom-most in-app bar on mobile at bottom:0, place any recognized tenant/MODES mobile nav immediately above it, and reserve the exact measured total stack height so the rest of the tenant viewport/content fits above both bars instead of being covered. The stack manager must re-resolve when nav elements mount/unmount/change across route transitions, handle Speedy Panda's data-tenant-modes-mobile-landing-nav and data-tenant-modes-mobile-nav plus the existing recognized selectors, work even when tenant nav is a sibling/portal rather than a descendant, clean up previous inline offsets on route/she","proofConditionIds":["proof-production","proof-visual"]}],"satisfied":false,"constraints":[{"id":"capability-completeness","satisfied":true,"statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["proof-production"]},{"id":"atomic-capability-lifecycle","satisfied":true,"statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["proof-production"]}],"contractHash":"8f6e88d76654df62a5ce5da4e0250ba714330b77b95fc39a38a27a1b14acfbd7","releaseBound":true,"witnessBound":false,"visualRequested":true,"visualSatisfied":false,"conditionResults":[{"id":"proof-production","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"frontend":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["frontend"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"8f6e88d76654df62a5ce5da4e0250ba714330b77b95fc39a38a27a1b14acfbd7"},"required":true,"satisfied":true},{"id":"proof-visual","kind":"visual","evidence":{"modeBound":true,"claimBound":true,"routeBound":true,"witnessMode":"observe","witnessRoute":"https://app.knocklaunch.app/speedy-panda-party-rentals","currentSourceSha":"a6ee7ea2df31d49266371d97c1057645428f976c","witnessSourceSha":"a6ee7ea2df31d49266371d97c1057645428f976c","verificationState":null,"witnessRequestContractHash":"8f6e88d76654df62a5ce5da4e0250ba714330b77b95fc39a38a27a1b14acfbd7"},"required":true,"satisfied":false}],"validationErrors":[],"pendingProofKinds":["visual"],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T18:17:14.411595+00:00","proof_gate":"request_contract_pending","source_sha":"a6ee7ea2df31d49266371d97c1057645428f976c","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:ad521726-5005-4ffb-97fb-21390e2a3628:request-contract:8f6e88d76654df62a5ce5da4e0250ba714330b77b95fc39a38a27a1b14acfbd7:a6ee7ea2df31d49266371d97c1057645428f976c:pending:visual","mission_step_id":"2cd15214-2a80-45f7-95a7-a76211bec5e7","command_center_event_id":"ad521726-5005-4ffb-97fb-21390e2a3628"},{"id":"acab9eb6-49dd-44e5-a8d7-e6dd2590a564","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-d7b9731a6802","writes":[],"patches":[],"version":1,"approved":true,"missionId":"d7b9731a-6802-410f-b812-b0d19b355634","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/shells/modesTenantShell.ts"],"anchored_edits":[{"path":"src/shells/modesTenantShell.ts","anchor":"const DEFAULT_ACCENTS","replacement":"const DEFAULT_ACCENTS"}],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"d7b9731a-6802-410f-b812-b0d19b355634","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/shells/modesTenantShell.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":"a66d05a452a944244398b315409d0fc54da42807c97d1dcf9431655de44a125c","replayCount":0,"serializedBytes":1122},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T19:34:36.406+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:d7b9731a-6802-410f-b812-b0d19b355634:repository-mutation-intent:a66d05a452a944244398b315409d0fc54da42807c97d1dcf9431655de44a125c:0","mission_step_id":"79e82e95-2a0c-4af0-9aa0-f1c6525434d8","command_center_event_id":"d7b9731a-6802-410f-b812-b0d19b355634"},{"id":"943ac880-925f-455a-9d9a-6b297817af0b","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":"6d635e9d-b091-4e36-a723-d68d22bd2580","phase":"visual_proof","branch":"ai/objective-first-repair-ad5217265005","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":49057,"releaseCount":0,"toolCallCount":24,"repeatedCallCount":10,"executorlessWaitMs":557500,"firstUsefulResultAt":"2026-09-27T18:08:06.106Z","recoveryAttemptCount":4,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":3892,"terminal":false,"missionId":"ad521726-5005-4ffb-97fb-21390e2a3628","operation":"execute_mission","proofGate":"canonical_release_reconciliation_pending","sourceSha":"e0cc5db94104663b9a2d295efbd5b6cba7d42429","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1261,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":90,"approvedPlanMs":0,"missionSetupMs":259,"providerAuthMs":0,"shipAndProveMs":649,"ledgerPrepareMs":259,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":259,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":259,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"ad521726-5005-4ffb-97fb-21390e2a3628"},"performance":null,"deploymentId":"forgejo-main-e0cc5db94104","releaseState":"verified","visualWitness":{"role":null,"jobId":"6d635e9d-b091-4e36-a723-d68d22bd2580","tenant":null,"runnerUrl":null,"runnerLane":null,"attemptsUsed":null,"supervisorId":null,"failureReason":null,"observedRoute":null,"runnerVersion":null,"attemptLineage":[],"missionOutcome":null,"requestedRoute":null,"runnerSourceSha":null,"selectedViewports":[],"checkpointAccounting":null,"correctiveGeneration":0,"restartReplayHistory":[]},"workflowRunId":12257,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["visual"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2813,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T18:15:27.184001+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":"a6ee7ea2df31d49266371d97c1057645428f976c","external_id":"forgejo-main-a6ee7ea2df31","receipt_type":"execute_mission","idempotency_key":"mission:ad521726-5005-4ffb-97fb-21390e2a3628:execute_mission:canonical_release_reconciliation_pending:current-generation","mission_step_id":"876ff925-8e10-43cf-850b-ba08af12c24c","command_center_event_id":"ad521726-5005-4ffb-97fb-21390e2a3628"},{"id":"1dd47979-ea89-421d-b8f9-80645081b56f","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-3a41e0b64f88","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":21640,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-09-27T18:16:18.926Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":3893,"terminal":false,"missionId":"3a41e0b6-4f88-499d-b3a7-dca593fd3dc6","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3487,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":632,"missionSetupMs":240,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":240,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":240,"repositoryMutationMs":2855,"repositoryProviderMs":2855,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":1778,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":240,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1077},"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":"3a41e0b6-4f88-499d-b3a7-dca593fd3dc6"},"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":3275,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T18:16:23.359332+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3893","receipt_type":"execute_mission","idempotency_key":"mission:3a41e0b6-4f88-499d-b3a7-dca593fd3dc6:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"56a725d1-c54c-47fe-b822-c4586db40fba","command_center_event_id":"3a41e0b6-4f88-499d-b3a7-dca593fd3dc6"},{"id":"333a7cd7-e5dc-4da8-9671-0e6454ca7d77","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-3a41e0b64f88","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":25268,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":0,"executorlessWaitMs":14963,"firstUsefulResultAt":"2026-09-27T18:16:18.926Z","recoveryAttemptCount":1,"ownerInterruptionCount":0},"version":null,"prNumber":3893,"terminal":false,"missionId":"3a41e0b6-4f88-499d-b3a7-dca593fd3dc6","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":5454,"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":"3a41e0b6-4f88-499d-b3a7-dca593fd3dc6"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime","runtime","runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":819,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T18:16:33.92937+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"3893","receipt_type":"automatic_mission_resume","idempotency_key":"mission:3a41e0b6-4f88-499d-b3a7-dca593fd3dc6:automatic-mission-resume:3893:repair_mission_pr_ready_retryable","mission_step_id":"aa9292fe-4d3c-406b-ad4c-71720e53e892","command_center_event_id":"3a41e0b6-4f88-499d-b3a7-dca593fd3dc6"},{"id":"e8a84014-3c08-4e65-9c16-d719d5b2b934","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-3a41e0b64f88","prNumber":3894,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"919217e2aaa8bf9f428883252d0642f7c059f3f0","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T18:19:28.017813+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"919217e2aaa8bf9f428883252d0642f7c059f3f0","external_id":"3894","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:3a41e0b6-4f88-499d-b3a7-dca593fd3dc6:merged-pr:3894:919217e2aaa8bf9f428883252d0642f7c059f3f0","mission_step_id":"0a1315f6-3271-4ad6-9330-99cb56e98b50","command_center_event_id":"3a41e0b6-4f88-499d-b3a7-dca593fd3dc6"},{"id":"9a0cae7f-68e9-451b-b1a4-053d34f6da9a","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-3a41e0b64f88","prNumber":3893,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"e0cc5db94104663b9a2d295efbd5b6cba7d42429","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T18:17:51.159842+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"e0cc5db94104663b9a2d295efbd5b6cba7d42429","external_id":"3893","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:3a41e0b6-4f88-499d-b3a7-dca593fd3dc6:merged-pr:3893:e0cc5db94104663b9a2d295efbd5b6cba7d42429","mission_step_id":"0a1315f6-3271-4ad6-9330-99cb56e98b50","command_center_event_id":"3a41e0b6-4f88-499d-b3a7-dca593fd3dc6"},{"id":"59e02bac-008e-48b0-a922-80a0f8cbcc55","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-3a41e0b64f88","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":35654,"releaseCount":0,"toolCallCount":10,"repeatedCallCount":2,"executorlessWaitMs":192972,"firstUsefulResultAt":"2026-09-27T18:16:18.926Z","recoveryAttemptCount":2,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":3895,"terminal":false,"missionId":"3a41e0b6-4f88-499d-b3a7-dca593fd3dc6","operation":"execute_mission","proofGate":"canonical_release_reconciliation_pending","sourceSha":"e89962ba561d6e196286970b21f497b0b9b2601e","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3913,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":514,"approvedPlanMs":0,"missionSetupMs":405,"providerAuthMs":0,"shipAndProveMs":2657,"ledgerPrepareMs":301,"ledgerReconcileMs":0,"lineageReconcileMs":104,"resolvePreflightMs":405,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":301,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"3a41e0b6-4f88-499d-b3a7-dca593fd3dc6"},"performance":null,"deploymentId":"forgejo-main-e89962ba561d","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime","runtime","runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2531,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T18:17:10.507635+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":"e0cc5db94104663b9a2d295efbd5b6cba7d42429","external_id":"forgejo-main-e0cc5db94104","receipt_type":"execute_mission","idempotency_key":"mission:3a41e0b6-4f88-499d-b3a7-dca593fd3dc6:execute_mission:canonical_release_reconciliation_pending:current-generation","mission_step_id":"0a1315f6-3271-4ad6-9330-99cb56e98b50","command_center_event_id":"3a41e0b6-4f88-499d-b3a7-dca593fd3dc6"},{"id":"cb8549d6-26c8-4802-bd42-fca184962c88","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-3a41e0b64f88","prNumber":3895,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"e89962ba561d6e196286970b21f497b0b9b2601e","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T18:36:11.750973+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"e89962ba561d6e196286970b21f497b0b9b2601e","external_id":"3895","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:3a41e0b6-4f88-499d-b3a7-dca593fd3dc6:merged-pr:3895:e89962ba561d6e196286970b21f497b0b9b2601e","mission_step_id":"0a1315f6-3271-4ad6-9330-99cb56e98b50","command_center_event_id":"3a41e0b6-4f88-499d-b3a7-dca593fd3dc6"},{"id":"e4779600-1a96-4f36-8d38-6aa695c95d27","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"e0cc5db94104663b9a2d295efbd5b6cba7d42429","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"a6ee7ea2df31d49266371d97c1057645428f976c","releaseState":"verified","sourceInMain":true,"compareStatus":"known_exact_protected_main_push_history","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"success"},"requestContractHash":"8f6e88d76654df62a5ce5da4e0250ba714330b77b95fc39a38a27a1b14acfbd7","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/12254","runId":12254,"status":"success","sourceSha":"a6ee7ea2df31d49266371d97c1057645428f976c","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-27T18:17:12.883744+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"a6ee7ea2df31d49266371d97c1057645428f976c","external_id":"forgejo-main-a6ee7ea2df31","receipt_type":"canonical_release_status","idempotency_key":"mission:ad521726-5005-4ffb-97fb-21390e2a3628:forgejo-release-status:a6ee7ea2df31d49266371d97c1057645428f976c:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"2cd15214-2a80-45f7-95a7-a76211bec5e7","command_center_event_id":"ad521726-5005-4ffb-97fb-21390e2a3628"},{"id":"0b4f6e5c-2783-4dd2-931e-cae05b63f894","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"e0cc5db94104663b9a2d295efbd5b6cba7d42429","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":false,"statement":"Repair the actual platform-wide mobile bottom-stack primitive that PR #3889 failed to fix. Current production main is b21dcdad08ab4154a1625ba5232dfce319d51655 and #3889 changed only src/App.css, but the authoritative behavior lives in InstalledAppNavigationRecovery inside src/PrivateAppShell.tsx. Fix the causal lifecycle bug: the current stacking effect resolves the tenant primary nav once and returns permanently if that nav is not mounted yet; it also never authoritatively maintains --kl-mobile-bottom-stack-h. Make the platform utility footer (Back/Home/Refresh/Messages) always the absolute bottom-most in-app bar on mobile at bottom:0, place any recognized tenant/MODES mobile nav immediately above it, and reserve the exact measured total stack height so the rest of the tenant viewport/content fits above both bars instead of being covered. The stack manager must re-resolve when nav elements mount/unmount/change across route transitions, handle Speedy Panda's data-tenant-modes-mobile-landing-nav and data-tenant-modes-mobile-nav plus the existing recognized selectors, work even when tenant nav is a sibling/portal rather than a descendant, clean up previous inline offsets on route/she","proofConditionIds":["proof-production","proof-visual"]}],"satisfied":false,"constraints":[{"id":"capability-completeness","satisfied":true,"statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["proof-production"]},{"id":"atomic-capability-lifecycle","satisfied":true,"statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["proof-production"]}],"contractHash":"8f6e88d76654df62a5ce5da4e0250ba714330b77b95fc39a38a27a1b14acfbd7","releaseBound":true,"witnessBound":false,"visualRequested":true,"visualSatisfied":false,"conditionResults":[{"id":"proof-production","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"frontend":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["frontend"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"8f6e88d76654df62a5ce5da4e0250ba714330b77b95fc39a38a27a1b14acfbd7"},"required":true,"satisfied":true},{"id":"proof-visual","kind":"visual","evidence":{"modeBound":true,"claimBound":true,"routeBound":true,"witnessMode":"observe","witnessRoute":"https://app.knocklaunch.app/speedy-panda-party-rentals","currentSourceSha":"e0cc5db94104663b9a2d295efbd5b6cba7d42429","witnessSourceSha":"a6ee7ea2df31d49266371d97c1057645428f976c","verificationState":"verified","witnessRequestContractHash":"8f6e88d76654df62a5ce5da4e0250ba714330b77b95fc39a38a27a1b14acfbd7"},"required":true,"satisfied":false}],"validationErrors":[],"pendingProofKinds":["visual"],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T18:17:46.391264+00:00","proof_gate":"request_contract_pending","source_sha":"e0cc5db94104663b9a2d295efbd5b6cba7d42429","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:ad521726-5005-4ffb-97fb-21390e2a3628:request-contract:8f6e88d76654df62a5ce5da4e0250ba714330b77b95fc39a38a27a1b14acfbd7:e0cc5db94104663b9a2d295efbd5b6cba7d42429:pending:visual","mission_step_id":"2cd15214-2a80-45f7-95a7-a76211bec5e7","command_center_event_id":"ad521726-5005-4ffb-97fb-21390e2a3628"},{"id":"e76b791b-b123-4bbf-9408-05b3a6b99893","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"release","branch":"ai/objective-first-repair-3a41e0b64f88","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":33565,"releaseCount":0,"toolCallCount":9,"repeatedCallCount":2,"executorlessWaitMs":189044,"firstUsefulResultAt":"2026-09-27T18:16:18.926Z","recoveryAttemptCount":2,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":3895,"terminal":false,"missionId":"3a41e0b6-4f88-499d-b3a7-dca593fd3dc6","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3245,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":589,"missionSetupMs":1185,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":301,"ledgerReconcileMs":0,"lineageReconcileMs":884,"resolvePreflightMs":1185,"repositoryMutationMs":2656,"repositoryProviderMs":2656,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":1677,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":301,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":979},"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":"3a41e0b6-4f88-499d-b3a7-dca593fd3dc6"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime","runtime","runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3129,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T18:19:31.955628+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3895","receipt_type":"execute_mission","idempotency_key":"mission:3a41e0b6-4f88-499d-b3a7-dca593fd3dc6:execute_mission:repair_mission_pr_handed_off_to_supervisor:generation-2","mission_step_id":"56a725d1-c54c-47fe-b822-c4586db40fba","command_center_event_id":"3a41e0b6-4f88-499d-b3a7-dca593fd3dc6"},{"id":"9019ebf6-39ca-4c28-97cc-4d49331faaca","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"e89962ba561d6e196286970b21f497b0b9b2601e","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"laptop","satisfied":true,"statement":"MSI laptop automatically starts KNOCKLAUNCH WSL/runner/Witness services and Remote Desktop Commander at logon, with task restart-on-failure.","proofConditionIds":["laptop-job","laptop-live"]},{"id":"desktop-path","satisfied":true,"statement":"The same installer supports the MSI desktop through an msi-local bootstrap job.","proofConditionIds":["desktop-path"]}],"satisfied":true,"constraints":[{"id":"no-secret-rotation","satisfied":true,"statement":"Do not expose, replace, or rotate Desktop Commander device auth, Forgejo runner tokens, or host credentials.","proofConditionIds":["laptop-job","desktop-path"]},{"id":"host-only","satisfied":true,"statement":"Scope changes to the two owner MSI hosts and KNOCKLAUNCH connectivity startup only.","proofConditionIds":["laptop-job","desktop-path"]},{"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":["laptop-job","laptop-live","desktop-path"]},{"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":["laptop-job","laptop-live","desktop-path"]}],"contractHash":"556a15b09ef44d53ac5948a49ebcd0196ffc84e9f45effdd1a4f211f307d1ab4","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"laptop-job","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{},"unsuccessfulTargets":[],"activeReleaseTargets":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"556a15b09ef44d53ac5948a49ebcd0196ffc84e9f45effdd1a4f211f307d1ab4"},"required":true,"satisfied":true},{"id":"laptop-live","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{},"unsuccessfulTargets":[],"activeReleaseTargets":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"556a15b09ef44d53ac5948a49ebcd0196ffc84e9f45effdd1a4f211f307d1ab4"},"required":true,"satisfied":true},{"id":"desktop-path","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{},"unsuccessfulTargets":[],"activeReleaseTargets":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"556a15b09ef44d53ac5948a49ebcd0196ffc84e9f45effdd1a4f211f307d1ab4"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":[]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T18:36:14.809528+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"e89962ba561d6e196286970b21f497b0b9b2601e","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:3a41e0b6-4f88-499d-b3a7-dca593fd3dc6:request-contract:556a15b09ef44d53ac5948a49ebcd0196ffc84e9f45effdd1a4f211f307d1ab4:e89962ba561d6e196286970b21f497b0b9b2601e:verified:","mission_step_id":"9f0f01f5-d496-496d-b4be-113a75f77c29","command_center_event_id":"3a41e0b6-4f88-499d-b3a7-dca593fd3dc6"},{"id":"4782806a-e5ec-41f7-9c4d-63cfd8057362","source":"cc-execution","status":"pending","payload":{"ok":true,"jobId":"6d635e9d-b091-4e36-a723-d68d22bd2580","phase":"universal_visual_witness_supervised","branch":"ai/objective-first-repair-ad5217265005","reason":null,"status":"pending","metrics":{"receiptBytes":42482,"releaseCount":0,"toolCallCount":19,"repeatedCallCount":7,"executorlessWaitMs":548267,"firstUsefulResultAt":"2026-09-27T18:08:06.106Z","recoveryAttemptCount":4,"ownerInterruptionCount":0},"version":null,"prNumber":3892,"terminal":false,"missionId":"ad521726-5005-4ffb-97fb-21390e2a3628","operation":"visual_proof_started","proofGate":"universal_visual_witness_pending","sourceSha":"a6ee7ea2df31d49266371d97c1057645428f976c","timingsMs":{"queue":270,"total":382,"execution":112},"nextAction":"Execution is pending; poll inspect_route_status only when fresh progress is expected, or cancel with inspect_route_cancel.","receiptRef":{"mode":"full","missionId":"ad521726-5005-4ffb-97fb-21390e2a3628"},"performance":null,"deploymentId":"forgejo-main-a6ee7ea2df31","releaseState":"verified","visualWitness":{"role":"GodMode","jobId":"6d635e9d-b091-4e36-a723-d68d22bd2580","tenant":null,"runnerUrl":"https://laptop-witness.knocklaunch.app","runnerLane":"laptop","attemptsUsed":0,"supervisorId":"6d635e9d-b091-4e36-a723-d68d22bd2580","failureReason":null,"observedRoute":null,"runnerVersion":null,"attemptLineage":[],"missionOutcome":null,"requestedRoute":"/speedy-panda-party-rentals","runnerSourceSha":null,"selectedViewports":["mobile"],"checkpointAccounting":null,"correctiveGeneration":0,"restartReplayHistory":[]},"workflowRunId":12254,"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":1768,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T18:17:15.645413+00:00","proof_gate":"post_release_visual_proof_started","source_sha":"a6ee7ea2df31d49266371d97c1057645428f976c","external_id":"6d635e9d-b091-4e36-a723-d68d22bd2580","receipt_type":"visual_proof_started","idempotency_key":"mission:ad521726-5005-4ffb-97fb-21390e2a3628:visual-start:6d635e9d-b091-4e36-a723-d68d22bd2580","mission_step_id":"837746b2-5597-4690-acab-21abec3ba174","command_center_event_id":"ad521726-5005-4ffb-97fb-21390e2a3628"},{"id":"9f6f4e2e-4797-4a4a-827b-64bac3a3196f","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success"},"mainSha":"e89962ba561d6e196286970b21f497b0b9b2601e","missing":[],"pending":[],"required":["forgejo-main/source"],"sourceSha":"e89962ba561d6e196286970b21f497b0b9b2601e","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{},"requestContractHash":"556a15b09ef44d53ac5948a49ebcd0196ffc84e9f45effdd1a4f211f307d1ab4","forgejoWorkflowProof":null,"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T18:36:12.889053+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"e89962ba561d6e196286970b21f497b0b9b2601e","external_id":"forgejo-main-e89962ba561d","receipt_type":"canonical_release_status","idempotency_key":"mission:3a41e0b6-4f88-499d-b3a7-dca593fd3dc6:forgejo-release-status:e89962ba561d6e196286970b21f497b0b9b2601e:verified:forgejo-main/source=success","mission_step_id":"9f0f01f5-d496-496d-b4be-113a75f77c29","command_center_event_id":"3a41e0b6-4f88-499d-b3a7-dca593fd3dc6"},{"id":"ba7b67dc-61d5-48f6-a396-15b4ddfcc15f","source":"cc-execution","status":"pending","payload":{"ok":true,"jobId":"4747da28-7f10-4eba-b1e2-ae64e2bad91d","phase":"universal_visual_witness_supervised","branch":"ai/objective-first-repair-ad5217265005","reason":null,"status":"pending","metrics":{"receiptBytes":62357,"releaseCount":0,"toolCallCount":28,"repeatedCallCount":13,"executorlessWaitMs":582728,"firstUsefulResultAt":"2026-09-27T18:08:06.106Z","recoveryAttemptCount":4,"ownerInterruptionCount":0},"version":null,"prNumber":3892,"terminal":false,"missionId":"ad521726-5005-4ffb-97fb-21390e2a3628","operation":"visual_proof_started","proofGate":"universal_visual_witness_pending","sourceSha":"e0cc5db94104663b9a2d295efbd5b6cba7d42429","timingsMs":{"queue":211,"total":318,"execution":107},"nextAction":"Execution is pending; poll inspect_route_status only when fresh progress is expected, or cancel with inspect_route_cancel.","receiptRef":{"mode":"full","missionId":"ad521726-5005-4ffb-97fb-21390e2a3628"},"performance":null,"deploymentId":"forgejo-main-e0cc5db94104","releaseState":"verified","visualWitness":{"role":"GodMode","jobId":"4747da28-7f10-4eba-b1e2-ae64e2bad91d","tenant":null,"runnerUrl":"https://laptop-witness.knocklaunch.app","runnerLane":"laptop","attemptsUsed":0,"supervisorId":"4747da28-7f10-4eba-b1e2-ae64e2bad91d","failureReason":null,"observedRoute":null,"runnerVersion":null,"attemptLineage":[],"missionOutcome":null,"requestedRoute":"/speedy-panda-party-rentals","runnerSourceSha":null,"selectedViewports":["mobile"],"checkpointAccounting":null,"correctiveGeneration":0,"restartReplayHistory":[]},"workflowRunId":12257,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":"verified","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1768,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T18:17:50.103769+00:00","proof_gate":"post_release_visual_proof_started","source_sha":"e0cc5db94104663b9a2d295efbd5b6cba7d42429","external_id":"4747da28-7f10-4eba-b1e2-ae64e2bad91d","receipt_type":"visual_proof_started","idempotency_key":"mission:ad521726-5005-4ffb-97fb-21390e2a3628:visual-start:4747da28-7f10-4eba-b1e2-ae64e2bad91d","mission_step_id":"837746b2-5597-4690-acab-21abec3ba174","command_center_event_id":"ad521726-5005-4ffb-97fb-21390e2a3628"},{"id":"fa9ae3d0-a419-4bda-94b3-5bc7e52f8d57","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"release","branch":"ai/objective-first-repair-3a41e0b64f88","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":29173,"releaseCount":0,"toolCallCount":6,"repeatedCallCount":1,"executorlessWaitMs":92195,"firstUsefulResultAt":"2026-09-27T18:16:18.926Z","recoveryAttemptCount":2,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":3894,"terminal":false,"missionId":"3a41e0b6-4f88-499d-b3a7-dca593fd3dc6","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3235,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":572,"missionSetupMs":875,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":179,"ledgerReconcileMs":0,"lineageReconcileMs":696,"resolvePreflightMs":875,"repositoryMutationMs":2663,"repositoryProviderMs":2663,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":1609,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":179,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1054},"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":"3a41e0b6-4f88-499d-b3a7-dca593fd3dc6"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime","runtime","runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3141,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T18:17:54.942826+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3894","receipt_type":"execute_mission","idempotency_key":"mission:3a41e0b6-4f88-499d-b3a7-dca593fd3dc6:execute_mission:repair_mission_pr_handed_off_to_supervisor:generation-1","mission_step_id":"56a725d1-c54c-47fe-b822-c4586db40fba","command_center_event_id":"3a41e0b6-4f88-499d-b3a7-dca593fd3dc6"},{"id":"e88cb43d-0132-447c-adcc-d35f0523a759","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.293-scheduler-v2","prNumber":null,"terminal":false,"missionId":"996f5b8e-bafb-4797-87e6-4c7dc1e357a6","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1456,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":422,"providerAuthMs":0,"ledgerPrepareMs":422,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":422,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":422,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Supply exact sourceTargets on the same mission; planner guesses cannot replace missing mission scope.","receiptRef":{"mode":"full","missionId":"996f5b8e-bafb-4797-87e6-4c7dc1e357a6"},"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-27T19:26:42.706202+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:996f5b8e-bafb-4797-87e6-4c7dc1e357a6:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"cb6cebdd-0e6b-453d-9298-794f00a4a717","command_center_event_id":"996f5b8e-bafb-4797-87e6-4c7dc1e357a6"},{"id":"50617e39-f41c-4356-9c46-2b117a72b180","source":"cc-execution","status":"blocked","payload":{"reason":"anchored_edit_anchor_missing:src/shells/modesTenantShell.ts","fingerprint":"a66d05a452a944244398b315409d0fc54da42807c97d1dcf9431655de44a125c"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T19:34:37.929446+00:00","proof_gate":"repository_mutation_intent_deterministic_failure","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent_blocked","idempotency_key":"mission:d7b9731a-6802-410f-b812-b0d19b355634:repository-mutation-intent-blocked:a66d05a452a944244398b315409d0fc54da42807c97d1dcf9431655de44a125c","mission_step_id":"79e82e95-2a0c-4af0-9aa0-f1c6525434d8","command_center_event_id":"d7b9731a-6802-410f-b812-b0d19b355634"},{"id":"dfccaa71-b951-44de-bf2d-1529bdef9eac","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-d7b9731a6802","reason":null,"status":"source_resolution_required","metrics":{"receiptBytes":4042,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":1,"executorlessWaitMs":18160,"firstUsefulResultAt":"2026-09-27T19:28:05.110Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":null,"terminal":false,"missionId":"d7b9731a-6802-410f-b812-b0d19b355634","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1356,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":1149,"providerAuthMs":0,"ledgerPrepareMs":1149,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":1149,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":1149,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Supply exact sourceTargets on the same mission; planner guesses cannot replace missing mission scope.","receiptRef":{"mode":"full","missionId":"d7b9731a-6802-410f-b812-b0d19b355634"},"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":1180,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T19:30:03.521898+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:d7b9731a-6802-410f-b812-b0d19b355634:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"ff9a670e-a7f6-4687-9702-6f6cb7d304f2","command_center_event_id":"d7b9731a-6802-410f-b812-b0d19b355634"},{"id":"1e1de634-49c1-4223-b36f-59ed7fa000d4","source":"onrunner","status":"waiting","payload":{"ok":false,"jobId":"839108dc-be3f-4001-bbc2-0b75b230cabd","phase":"universal_visual_witness_status","branch":"ai/objective-first-repair-aa1ae1505687","reason":null,"status":"completed_unverified","metrics":{"receiptBytes":43543,"releaseCount":0,"toolCallCount":29,"repeatedCallCount":16,"executorlessWaitMs":455762,"firstUsefulResultAt":"2026-09-27T19:53:28.049Z","recoveryAttemptCount":6,"ownerInterruptionCount":0},"version":null,"prNumber":3897,"terminal":true,"missionId":"aa1ae150-5687-45d8-a79a-e385379c6dfc","operation":"visual_proof_status","proofGate":"visual_witness_objective_acceptance_unproven","sourceSha":"7741265580fd56a43e5e5f07fc97385f07b33039","timingsMs":{"queue":1181,"total":59948,"execution":58767},"nextAction":null,"receiptRef":{"mode":"full","missionId":"aa1ae150-5687-45d8-a79a-e385379c6dfc"},"performance":null,"deploymentId":"forgejo-main-7741265580fd","releaseState":"verified","visualWitness":{"role":"GodMode","jobId":"839108dc-be3f-4001-bbc2-0b75b230cabd","tenant":null,"runnerUrl":"https://paul-witness.knocklaunch.app","runnerLane":"paul","attemptsUsed":1,"supervisorId":"839108dc-be3f-4001-bbc2-0b75b230cabd","failureReason":null,"observedRoute":"/dj","runnerVersion":"paul-9dc4fd1c93c0","attemptLineage":[{"jobId":"69136936-0f1a-4367-9de4-b8f490d74439","attempt":1,"category":"completed_with_findings","sourceSha":"9dc4fd1c93c0834eec199a0147375ceaaaba8457","startedAt":"2026-09-27T19:59:50.615Z","completedAt":"2026-09-27T20:00:51.171Z","runtimeLane":"cc-execution -> DigitalOcean PAUL -> universal-witness.mjs","browserEngine":"chromium","failureReason":null,"retryRecovery":null,"runnerVersion":"paul-9dc4fd1c93c0","browserLaunchReason":"virtual_runtime_headless","checkpointAccounting":{"route":{"required":2,"completed":2,"missingIds":[]},"action":{"required":0,"completed":0,"missingIds":[]},"missing":0,"resumed":0,"complete":true,"evidence":{"required":2,"completed":2,"missingIds":[]},"completed":4,"remaining":0,"duplicates":0,"duplicateIds":[],"expectedTotal":4}}],"missionOutcome":"completed_with_findings","requestedRoute":"/dj","runnerSourceSha":"9dc4fd1c93c0834eec199a0147375ceaaaba8457","selectedViewports":["desktop","mobile"],"checkpointAccounting":{"route":{"required":2,"completed":2,"missingIds":[]},"action":{"required":0,"completed":0,"missingIds":[]},"missing":0,"resumed":0,"complete":true,"evidence":{"required":2,"completed":2,"missingIds":[]},"completed":4,"remaining":0,"duplicates":0,"duplicateIds":[],"expectedTotal":4},"correctiveGeneration":0,"restartReplayHistory":[]},"workflowRunId":12269,"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":29899,"ownerActionRequired":false,"ownerFacingTerminal":false,"requestContractHash":"70d0cdef18feacb348a1af7a1f1c708d53a706dbbcfa2e2871e86f6469265a60","continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:01:06.751522+00:00","proof_gate":"visual_witness_infrastructure_retry_required","source_sha":"paul-9dc4fd1c93c0","external_id":"839108dc-be3f-4001-bbc2-0b75b230cabd","receipt_type":"visual_proof_status","idempotency_key":"mission:aa1ae150-5687-45d8-a79a-e385379c6dfc:visual:839108dc-be3f-4001-bbc2-0b75b230cabd:waiting","mission_step_id":"ab2e471b-eb2c-4dc9-bf91-a308468cfb55","command_center_event_id":"aa1ae150-5687-45d8-a79a-e385379c6dfc"},{"id":"bf04f4bc-821f-4d9d-b335-88db3b8aa0b7","source":"cc-execution","status":"verified","payload":{"ownerWaitSloMs":{"merge_to_live_ms":null,"owner_action_to_pr_ms":null,"green_gate_to_merge_ms":null,"owner_action_to_useful_response_ms":null},"ownerWaitLiveAt":"2026-09-27T20:02:11.368Z"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T19:59:55.104807+00:00","proof_gate":"owner_wait_live_milestone_recorded","source_sha":null,"external_id":null,"receipt_type":"owner_wait_live_milestone","idempotency_key":"mission:aa1ae150-5687-45d8-a79a-e385379c6dfc:owner-wait-live","mission_step_id":"673bbbea-02f1-4a22-b126-2f36716d16c7","command_center_event_id":"aa1ae150-5687-45d8-a79a-e385379c6dfc"},{"id":"6509c109-b50d-4695-951d-8ffbb4aa43fc","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-6471ecb01c79","writes":[],"patches":[],"version":1,"approved":true,"missionId":"6471ecb0-1c79-45b0-9e5e-30afa2549a70","objective":"Add the reusable KNOCKLAUNCH Entertainment / DJ operating archetype on current protected main. This focused change establishes a first-class tenant classification, canonical business operating recipe, and MODES presentation for Creative, Professional, Fanbase, and Office. It must remain generic and reusable: no DJ business name, no fake customer data, no hard-coded pricing or loyalty reward promise. Creative and Professional must remain separate operating lanes; Fanbase must be a first-class growth lane. Preserve all existing tenant behavior.","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["supabase/functions/_shared/tenantTypeRegistry.json","config/business-operating-recipes.json","src/shells/modesTenantShell.ts"],"anchored_edits":[{"path":"supabase/functions/_shared/tenantTypeRegistry.json","anchor":"    {\n      \"key\": \"professional-service\",","replacement":"    {\n      \"key\": \"entertainment\",\n      \"label\": \"Entertainment / DJ\",\n      \"defaultApplications\": [\n        \"contacts\",\n        \"booking\",\n        \"calendar\",\n        \"tasks\",\n        \"communications\",\n        \"opportunity-radar\",\n        \"creative-studio\",\n        \"proposals\",\n        \"invoices\",\n        \"payments\",\n        \"documents\",\n        \"analytics\",\n        \"qr-suite\"\n      ],\n      \"defaultTraits\": [\n        \"modes\",\n        \"public-funnel\",\n        \"booking-scheduling\",\n        \"customer-portal\",\n        \"business-documents\",\n        \"payments\"\n      ]\n    },\n    {\n      \"key\": \"professional-service\","},{"path":"supabase/functions/_shared/tenantTypeRegistry.json","anchor":"    \"EVENT_RENTAL\": \"events-booking\",\n    \"BARBER\": \"events-booking\",","replacement":"    \"EVENT_RENTAL\": \"events-booking\",\n    \"ENTERTAINMENT\": \"entertainment\",\n    \"ENTERTAINMENT_DJ\": \"entertainment\",\n    \"DJ\": \"entertainment\",\n    \"DISC_JOCKEY\": \"entertainment\",\n    \"MOBILE_DJ\": \"entertainment\",\n    \"WEDDING_DJ\": \"entertainment\",\n    \"BARBER\": \"events-booking\","},{"path":"config/business-operating-recipes.json","anchor":"    \"PARTY_RENTAL\": \"event-rental\",\n    \"HANDYMAN\": \"handyman-field-service\",","replacement":"    \"PARTY_RENTAL\": \"event-rental\",\n    \"ENTERTAINMENT\": \"entertainment-dj\",\n    \"ENTERTAINMENT_DJ\": \"entertainment-dj\",\n    \"DJ\": \"entertainment-dj\",\n    \"DISC_JOCKEY\": \"entertainment-dj\",\n    \"MOBILE_DJ\": \"entertainment-dj\",\n    \"WEDDING_DJ\": \"entertainment-dj\",\n    \"HANDYMAN\": \"handyman-field-service\","},{"path":"config/business-operating-recipes.json","anchor":"  \"recipes\": [\n    {\n      \"id\": \"event-rental\"","replacement":"  \"recipes\": [\n    {\n      \"id\": \"entertainment-dj\",\n      \"version\": 1,\n      \"label\": \"Entertainment / DJ\",\n      \"businessTypeKey\": \"ENTERTAINMENT_DJ\",\n      \"operatingModel\": \"dual_lane_entertainment_business\",\n      \"primaryArchetype\": \"entertainment\",\n      \"requiredTraits\": [\n        \"modes\",\n        \"public-funnel\",\n        \"booking-scheduling\",\n        \"customer-portal\",\n        \"business-documents\",\n        \"payments\"\n      ],\n      \"applications\": [\n        \"contacts\",\n        \"booking\",\n        \"calendar\",\n        \"tasks\",\n        \"communications\",\n        \"opportunity-radar\",\n        \"creative-studio\",\n        \"proposals\",\n        \"invoices\",\n        \"payments\",\n        \"documents\",\n        \"analytics\",\n        \"qr-suite\"\n      ],\n      \"capabilities\": [\n        \"booking-scheduling\",\n        \"business-documents\",\n        \"payments\",\n        \"customer-portal\",\n        \"public-funnel\",\n        \"business-operating-recipe\"\n      ],\n      \"customerLifecycle\": {\n        \"stages\": [\n          \"capture\",\n          \"qualify\",\n          \"hold\",\n          \"confirmed\",\n          \"prepare\",\n          \"perform\",\n          \"settle\",\n          \"retain\",\n          \"rebook\"\n        ],\n        \"relationship\": {\n          \"customerRole\": \"audience-or-client\",\n          \"fulfillmentUnit\": \"gig-or-event\"\n        }\n      },\n      \"resourceManagement\": {\n        \"kinds\": [\n          \"creative-bookings\",\n          \"professional-events\",\n          \"venues\",\n          \"promoters\",\n          \"fanbase\",\n          \"equipment\",\n          \"loadouts\",\n          \"campaigns\"\n        ],\n        \"applicationIds\": [\n          \"booking\",\n          \"calendar\",\n          \"contacts\",\n          \"tasks\"\n        ]\n      },\n      \"documents\": {\n        \"outputs\": [\n          \"professional-proposal\",\n          \"event-agreement\",\n          \"show-sheet\",\n          \"invoice\",\n          \"payment-receipt\"\n        ],\n        \"applicationIds\": [\n          \"proposals\",\n          \"documents\",\n          \"invoices\"\n        ]\n      },\n      \"connections\": {\n        \"registry\": \"shared-connections\",\n        \"requiredProviders\": [],\n        \"optionalProviders\": [\n          \"google_workspace\",\n          \"stripe\",\n          \"square\"\n        ]\n      },\n      \"customerFacingPresence\": {\n        \"surfaces\": [\n          \"lead-capture\",\n          \"booking-request\",\n          \"customer-progress\",\n          \"fan-capture\",\n          \"referral-capture\"\n        ]\n      },\n      \"monetization\": {\n        \"model\": \"dual_lane_performance_and_event_booking\",\n        \"milestones\": [\n          \"hold\",\n          \"deposit\",\n          \"balance\",\n          \"guarantee\",\n          \"settlement\"\n        ],\n        \"transactionReadyDefinition\": [\n          \"capture\",\n          \"booking\",\n          \"proposal\",\n          \"deposit\",\n          \"fulfillment\",\n          \"settlement\",\n          \"retention\"\n        ]\n      },\n      \"launchGates\": [\n        {\n          \"id\": \"growth-capture-ready\",\n          \"evidenceKey\": \"growthCaptureReady\",\n          \"requiredApplicationIds\": [\n            \"contacts\",\n            \"opportunity-radar\",\n            \"qr-suite\"\n          ],\n          \"requiredCapabilityIds\": [\n            \"public-funnel\"\n          ]\n        },\n        {\n          \"id\": \"booking-ready\",\n          \"evidenceKey\": \"bookingReady\",\n          \"requiredApplicationIds\": [\n            \"booking\",\n            \"calendar\"\n          ],\n          \"requiredCapabilityIds\": [\n            \"booking-scheduling\"\n          ]\n        },\n        {\n          \"id\": \"documents-ready\",\n          \"evidenceKey\": \"documentsReady\",\n          \"requiredApplicationIds\": [\n            \"proposals\",\n            \"documents\"\n          ],\n          \"requiredCapabilityIds\": [\n            \"business-documents\"\n          ]\n        },\n        {\n          \"id\": \"payments-ready\",\n          \"evidenceKey\": \"paymentsReady\",\n          \"requiredApplicationIds\": [\n            \"invoices\",\n            \"payments\"\n          ],\n          \"requiredCapabilityIds\": [\n            \"payments\"\n          ]\n        },\n        {\n          \"id\": \"retention-ready\",\n          \"evidenceKey\": \"retentionReady\",\n          \"requiredApplicationIds\": [\n            \"contacts\",\n            \"communications\",\n            \"analytics\"\n          ],\n          \"requiredCapabilityIds\": []\n        }\n      ],\n      \"ownerAttentionSignals\": [\n        \"promoter-followup-due\",\n        \"venue-rebook-window\",\n        \"proposal-followup-due\",\n        \"schedule-conflict\",\n        \"event-readiness-gap\",\n        \"fan-reactivation-due\",\n        \"referral-followup-due\",\n        \"review-request-due\",\n        \"promo-content-due\"\n      ],\n      \"successMetrics\": [\n        {\n          \"id\": \"creative_bookings_per_month\",\n          \"unit\": \"count\",\n          \"goal\": \"maximize\"\n        },\n        {\n          \"id\": \"professional_booking_conversion_rate\",\n          \"unit\": \"ratio\",\n          \"goal\": \"maximize\"\n        },\n        {\n          \"id\": \"fan_capture_rate\",\n          \"unit\": \"ratio\",\n          \"goal\": \"maximize\"\n        },\n        {\n          \"id\": \"repeat_attendance_rate\",\n          \"unit\": \"ratio\",\n          \"goal\": \"maximize\"\n        },\n        {\n          \"id\": \"referral_conversion_rate\",\n          \"unit\": \"ratio\",\n          \"goal\": \"maximize\"\n        },\n        {\n          \"id\": \"promoter_rebook_rate\",\n          \"unit\": \"ratio\",\n          \"goal\": \"maximize\"\n        },\n        {\n          \"id\": \"average_booking_value\",\n          \"unit\": \"currency_minor\",\n          \"goal\": \"maximize\"\n        }\n      ],\n      \"optimizationSignals\": [\n        {\n          \"id\": \"fan_capture_rate\",\n          \"unit\": \"ratio\",\n          \"goal\": \"maximize\"\n        },\n        {\n          \"id\": \"repeat_attendance_rate\",\n          \"unit\": \"ratio\",\n          \"goal\": \"maximize\"\n        },\n        {\n          \"id\": \"promoter_rebook_rate\",\n          \"unit\": \"ratio\",\n          \"goal\": \"maximize\"\n        },\n        {\n          \"id\": \"professional_booking_conversion_rate\",\n          \"unit\": \"ratio\",\n          \"goal\": \"maximize\"\n        }\n      ]\n    },\n    {\n      \"id\": \"event-rental\""},{"path":"src/shells/modesTenantShell.ts","anchor":"assertEventRentalModePrimitive();\n\nconst HANDYMAN_MODE_SHELL_PRESET: Record<string, TenantTypeModePreset> = {","replacement":"assertEventRentalModePrimitive();\n\nconst ENTERTAINMENT_MODE_SHELL_PRESET: Record<string, TenantTypeModePreset> = {\n  creative: { title: 'Creative', headline: 'Book the room. Build the crowd.', subtitle: 'Club sets, promoters, promotion, content & rebook momentum', primary_applications: ['booking', 'calendar', 'creative-studio', 'communications', 'opportunity-radar'] },\n  professional: { title: 'Professional', headline: 'Deliver the event without dropping a cue', subtitle: 'Clients, proposals, planning, show readiness & payment', primary_applications: ['booking', 'proposals', 'calendar', 'documents', 'payments'] },\n  fanbase: { title: 'Fanbase', headline: 'Turn every crowd into the next booking', subtitle: 'Fans, VIPs, capture, referrals, outreach & retention', primary_applications: ['contacts', 'communications', 'qr-suite', 'opportunity-radar', 'analytics'] },\n  office: { title: 'Office', headline: 'Run the business behind the booth', subtitle: 'Invoices, payments, documents, reporting & next actions', primary_applications: ['invoices', 'payments', 'documents', 'analytics', 'tasks'] },\n};\n\nconst ENTERTAINMENT_CREATIVE_APPLICATIONS: Readonly<Record<string, TenantModeApplicationPresentation>> = {\n  booking: { title: 'Bookings & Holds', description: 'Run pitches, holds, confirmed sets, promoters, venues, fees, guest lists, and rebook windows.' },\n  calendar: { title: 'Set Calendar', description: 'See door times, set times, travel, conflicts, and upcoming Creative commitments.' },\n  'creative-studio': { title: 'Promo & Content', description: 'Build flyers, promo assets, set content, and the material that keeps the artist visible.' },\n  communications: { title: 'Promoters & Venues', description: 'Keep promoter, talent-buyer, venue, and collaboration conversations tied to the booking.' },\n  'opportunity-radar': { title: 'Booking Radar', description: 'Work new rooms, promoter follow-up, venue rebooks, holds, and Creative opportunities.' },\n};\n\nconst ENTERTAINMENT_PROFESSIONAL_APPLICATIONS: Readonly<Record<string, TenantModeApplicationPresentation>> = {\n  booking: { title: 'Client Events', description: 'Run weddings, corporate events, private parties, schools, galas, and formal event bookings.' },\n  proposals: { title: 'Proposals & Agreements', description: 'Build the offer, terms, agreement, package, and approval path for each Professional event.' },\n  calendar: { title: 'Event Calendar', description: 'See event timing, setup, breakdown, travel, and readiness deadlines.' },\n  documents: { title: 'Show Sheets & Documents', description: 'Keep timelines, venue notes, music plans, cue sheets, files, and event proof together.' },\n  payments: { title: 'Deposits & Balances', description: 'Track deposits, remaining balances, settlement, and payment status.' },\n};\n\nconst ENTERTAINMENT_FANBASE_APPLICATIONS: Readonly<Record<string, TenantModeApplicationPresentation>> = {\n  contacts: { title: 'Fans & VIPs', description: 'Keep supporters, VIPs, ambassadors, referrals, attendance history, and relationship context together.' },\n  communications: { title: 'Fan Outreach', description: 'Reach opted-in supporters with invitations, updates, reactivation, and follow-up.' },\n  'qr-suite': { title: 'Fan Capture', description: 'Create event-specific QR entry points for guest list, fan club, referral, and campaign attribution.' },\n  'opportunity-radar': { title: 'Growth Radar', description: 'Turn fan engagement, referrals, promoter relationships, and repeat attendance into the next booking.' },\n  analytics: { title: 'Fanbase Pulse', description: 'Measure growth, repeat attendance, referrals, reactivation, and fan-to-booking conversion.' },\n};\n\nconst ENTERTAINMENT_OFFICE_APPLICATIONS: Readonly<Record<string, TenantModeApplicationPresentation>> = {\n  invoices: { title: 'Invoices', description: 'Keep Professional billing and Creative settlements visible without mixing the operating lanes.' },\n  payments: { title: 'Payments', description: 'Track deposits, balances, guarantees, and collected revenue.' },\n  documents: { title: 'Business Documents', description: 'Keep business records, agreements, templates, and reusable operating documents organized.' },\n  analytics: { title: 'Business Performance', description: 'See Creative revenue, Professional revenue, total business, booking conversion, and growth signals.' },\n  tasks: { title: 'Next Moves', description: 'Keep promoter follow-up, proposal follow-up, rebooks, reviews, referrals, and content due in one queue.' },\n};\n\nconst ENTERTAINMENT_MODE_APPLICATION_PRESENTATION: Readonly<Record<string, Readonly<Record<string, TenantModeApplicationPresentation>>>> = {\n  creative: ENTERTAINMENT_CREATIVE_APPLICATIONS,\n  professional: ENTERTAINMENT_PROFESSIONAL_APPLICATIONS,\n  fanbase: ENTERTAINMENT_FANBASE_APPLICATIONS,\n  office: ENTERTAINMENT_OFFICE_APPLICATIONS,\n};\n\nfunction isEntertainmentBusinessType(tenant: any): boolean {\n  const settings = record(tenant?.settings);\n  const classification = record(settings.tenant_classification);\n  const manifest = record(settings.tenant_manifest);\n  const blueprint = record(settings.business_operating_blueprint || manifest.businessOperatingBlueprint);\n  const primaryArchetype = modeToken(classification.primary_archetype);\n  const businessType = modeToken(\n    blueprint.businessTypeKey\n      || blueprint.business_type_key\n      || settings.declared_business_type\n      || settings.business_type\n      || tenant?.tenant_type,\n  );\n  return primaryArchetype === 'entertainment' || ['entertainment', 'entertainment-dj', 'dj', 'disc-jockey', 'mobile-dj', 'wedding-dj'].includes(businessType);\n}\n\nexport function applyEntertainmentModeShellPreset(tenant: any, cards: readonly TenantModeCardConfig[]): TenantModeCardConfig[] {\n  if (!isEntertainmentBusinessType(tenant)) return [...cards];\n  return cards.map((card) => {\n    const preset = ENTERTAINMENT_MODE_SHELL_PRESET[modeToken(card.key)];\n    return preset ? { ...card, ...preset, primary_applications: [...preset.primary_applications] } : card;\n  });\n}\n\nfunction applyEntertainmentApplicationPresentation(\n  tenant: any,\n  mode: TenantModeCardConfig,\n  application: TenantModeApplicationConfig,\n): TenantModeApplicationConfig {\n  if (!isEntertainmentBusinessType(tenant)) return application;\n  const presentation = ENTERTAINMENT_MODE_APPLICATION_PRESENTATION[modeToken(mode.key)]?.[modeToken(application.key)];\n  return presentation ? { ...application, ...presentation } : application;\n}\n\nfunction assertEntertainmentModePrimitive(): void {\n  const expected: Record<string, readonly string[]> = {\n    creative: ['booking', 'calendar', 'creative-studio', 'communications', 'opportunity-radar'],\n    professional: ['booking', 'proposals', 'calendar', 'documents', 'payments'],\n    fanbase: ['contacts', 'communications', 'qr-suite', 'opportunity-radar', 'analytics'],\n    office: ['invoices', 'payments', 'documents', 'analytics', 'tasks'],\n  };\n  const banned = /\\b(redfish|roof|roofing|icee|coquito|party rental|crm)\\b/i;\n  for (const [modeKey, applicationIds] of Object.entries(expected)) {\n    const preset = ENTERTAINMENT_MODE_SHELL_PRESET[modeKey];\n    if (!preset || JSON.stringify(preset.primary_applications) !== JSON.stringify(applicationIds)) {\n      throw new Error(`Entertainment mode ${modeKey} requires its canonical five-app set.`);\n    }\n    const presentation = ENTERTAINMENT_MODE_APPLICATION_PRESENTATION[modeKey];\n    for (const applicationKey of applicationIds) {\n      const copy = presentation?.[applicationKey];\n      if (!copy) throw new Error(`Entertainment mode ${modeKey} is missing contextual presentation for ${applicationKey}.`);\n      if (banned.test(`${copy.title} ${copy.description}`)) {\n        throw new Error(`Entertainment mode ${modeKey} contains donor-shell business terminology in ${applicationKey}.`);\n      }\n    }\n  }\n}\nassertEntertainmentModePrimitive();\n\nconst HANDYMAN_MODE_SHELL_PRESET: Record<string, TenantTypeModePreset> = {"},{"path":"src/shells/modesTenantShell.ts","anchor":"  const tenantTypePreset = applyHandymanModeShellPreset(tenant, applyEventRentalModeShellPreset(tenant, configured));","replacement":"  const tenantTypePreset = applyHandymanModeShellPreset(tenant, applyEntertainmentModeShellPreset(tenant, applyEventRentalModeShellPreset(tenant, configured)));"},{"path":"src/shells/modesTenantShell.ts","anchor":"      .map((entry) => applyHandymanApplicationPresentation(tenant, mode, applyEventRentalApplicationPresentation(tenant, mode, entry)))","replacement":"      .map((entry) => applyEntertainmentApplicationPresentation(tenant, mode, applyHandymanApplicationPresentation(tenant, mode, applyEventRentalApplicationPresentation(tenant, mode, entry))))"},{"path":"src/shells/modesTenantShell.ts","anchor":"      .slice(0, isEventRentalBusinessType(tenant) || isHandymanBusinessType(tenant) ? 5 : 6);","replacement":"      .slice(0, isEventRentalBusinessType(tenant) || isHandymanBusinessType(tenant) || isEntertainmentBusinessType(tenant) ? 5 : 6);"},{"path":"src/shells/modesTenantShell.ts","anchor":"  const explicit = applyCurriModeShellPreset(tenant, applyHandymanModeShellPreset(tenant, applyEventRentalModeShellPreset(tenant, configuredModeCards(tenant))));","replacement":"  const explicit = applyCurriModeShellPreset(tenant, applyHandymanModeShellPreset(tenant, applyEntertainmentModeShellPreset(tenant, applyEventRentalModeShellPreset(tenant, configuredModeCards(tenant)))));"}],"implementation":{"files":[],"writes":[]},"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":1,"rawUtterance":"Add the reusable KNOCKLAUNCH Entertainment / DJ operating archetype on current protected main. This focused change establishes a first-class tenant classification, canonical business operating recipe, and MODES presentation for Creative, Professional, Fanbase, and Office. It must remain generic and reusable: no DJ business name, no fake customer data, no hard-coded pricing or loyalty reward promise. Creative and Professional must remain separate operating lanes; Fanbase must be a first-class growth lane. Preserve all existing tenant behavior.","wordingChanged":false,"canonicalIntent":"Add the reusable KNOCKLAUNCH Entertainment / DJ operating archetype on current protected main. This focused change establishes a first-class tenant classification, canonical business operating recipe, and MODES presentation for Creative, Professional, Fanbase, and Office. It must remain generic and reusable: no DJ business name, no fake customer data, no hard-coded pricing or loyalty reward promise. Creative and Professional must remain separate operating lanes; Fanbase must be a first-class growth lane. Preserve all existing tenant behavior.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"entertainment-archetype","statement":"KNOCKLAUNCH has a reusable Entertainment / DJ tenant archetype, business operating recipe, and contextual MODES presets for Creative, Professional, Fanbase, and Office.","provenance":{"reason":null,"source":"explicit_owner_request","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-source"]}],"objective":"Add the reusable KNOCKLAUNCH Entertainment / DJ operating archetype on current protected main. This focused change establishes a first-class tenant classification, canonical business operating recipe, and MODES presentation for Creative, Professional, Fanbase, and Office. It must remain generic and reusable: no DJ business name, no fake customer data, no hard-coded pricing or loyalty reward promise. Creative and Professional must remain separate operating lanes; Fanbase must be a first-class growth lane. Preserve all existing tenant behavior.","constraints":[{"id":"tenant-isolation","statement":"Do not alter existing Event Rental, Handyman, Curri, Big Papi, Speedy Panda, or other tenant behavior except through additive reusable archetype registration.","provenance":{"reason":null,"source":"explicit_owner_request","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-source"]},{"id":"fanbase-first-class","statement":"Fanbase is a top-level DJ operating mode with fan/VIP capture, outreach, QR, growth-radar and analytics application context; it must not be collapsed into generic contacts.","provenance":{"reason":null,"source":"explicit_owner_request","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-source"]},{"id":"creative-professional-separation","statement":"Creative and Professional are distinct top-level modes with distinct curated application sets and copy.","provenance":{"reason":null,"source":"explicit_owner_request","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-source"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-source","kind":"runtime","claim":"The released frontend/shared runtime contains the additive Entertainment/DJ archetype and contextual four-mode primitive without breaking existing tenant type registries.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}],"validationErrors":[]},"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":null,"ownerApproved":true,"releaseIntent":null,"sourceTargets":["supabase/functions/_shared/tenantTypeRegistry.json","config/business-operating-recipes.json","src/shells/modesTenantShell.ts"],"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":1,"rawUtterance":"Add the reusable KNOCKLAUNCH Entertainment / DJ operating archetype on current protected main. This focused change establishes a first-class tenant classification, canonical business operating recipe, and MODES presentation for Creative, Professional, Fanbase, and Office. It must remain generic and reusable: no DJ business name, no fake customer data, no hard-coded pricing or loyalty reward promise. Creative and Professional must remain separate operating lanes; Fanbase must be a first-class growth lane. Preserve all existing tenant behavior.","wordingChanged":false,"canonicalIntent":"Add the reusable KNOCKLAUNCH Entertainment / DJ operating archetype on current protected main. This focused change establishes a first-class tenant classification, canonical business operating recipe, and MODES presentation for Creative, Professional, Fanbase, and Office. It must remain generic and reusable: no DJ business name, no fake customer data, no hard-coded pricing or loyalty reward promise. Creative and Professional must remain separate operating lanes; Fanbase must be a first-class growth lane. Preserve all existing tenant behavior.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"entertainment-archetype","statement":"KNOCKLAUNCH has a reusable Entertainment / DJ tenant archetype, business operating recipe, and contextual MODES presets for Creative, Professional, Fanbase, and Office.","provenance":{"reason":null,"source":"explicit_owner_request","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-source"]}],"objective":"Add the reusable KNOCKLAUNCH Entertainment / DJ operating archetype on current protected main. This focused change establishes a first-class tenant classification, canonical business operating recipe, and MODES presentation for Creative, Professional, Fanbase, and Office. It must remain generic and reusable: no DJ business name, no fake customer data, no hard-coded pricing or loyalty reward promise. Creative and Professional must remain separate operating lanes; Fanbase must be a first-class growth lane. Preserve all existing tenant behavior.","constraints":[{"id":"tenant-isolation","statement":"Do not alter existing Event Rental, Handyman, Curri, Big Papi, Speedy Panda, or other tenant behavior except through additive reusable archetype registration.","provenance":{"reason":null,"source":"explicit_owner_request","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-source"]},{"id":"fanbase-first-class","statement":"Fanbase is a top-level DJ operating mode with fan/VIP capture, outreach, QR, growth-radar and analytics application context; it must not be collapsed into generic contacts.","provenance":{"reason":null,"source":"explicit_owner_request","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-source"]},{"id":"creative-professional-separation","statement":"Creative and Professional are distinct top-level modes with distinct curated application sets and copy.","provenance":{"reason":null,"source":"explicit_owner_request","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-source"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-source","kind":"runtime","claim":"The released frontend/shared runtime contains the additive Entertainment/DJ archetype and contextual four-mode primitive without breaking existing tenant type registries.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}],"validationErrors":[]},"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":false,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"proofRequirements":null,"controlPlaneUnfreeze":false,"durableMutationResume":true,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"recovery":false,"fingerprint":"1e24696c6beed7131e4391a63a496f1eea91a9cc62922a3ab305309bb2216947","replayCount":0,"serializedBytes":28198},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T19:40:07.607831+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:6471ecb0-1c79-45b0-9e5e-30afa2549a70:repository-mutation-intent:1e24696c6beed7131e4391a63a496f1eea91a9cc62922a3ab305309bb2216947:0","mission_step_id":"7074e987-1508-4889-90dd-15092fe54ddf","command_center_event_id":"6471ecb0-1c79-45b0-9e5e-30afa2549a70"},{"id":"6f6f6940-5335-4976-9739-23723e74d42b","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-d7b9731a6802","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":9644,"releaseCount":0,"toolCallCount":5,"repeatedCallCount":3,"executorlessWaitMs":130341,"firstUsefulResultAt":"2026-09-27T19:28:05.110Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":null,"terminal":false,"missionId":"d7b9731a-6802-410f-b812-b0d19b355634","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1034,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":245,"providerAuthMs":0,"ledgerPrepareMs":245,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":245,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":245,"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":"d7b9731a-6802-410f-b812-b0d19b355634"},"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":3345,"likelyAffectedFiles":["src/shells/modesTenantShell.ts"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T19:28:05.134111+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:d7b9731a-6802-410f-b812-b0d19b355634:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"ff9a670e-a7f6-4687-9702-6f6cb7d304f2","command_center_event_id":"d7b9731a-6802-410f-b812-b0d19b355634"},{"id":"82ccff8f-403d-4ed8-9a93-4066d1b1c5f0","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-6471ecb01c79","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":28345,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-09-27T19:40:07.501Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":3896,"terminal":false,"missionId":"6471ecb0-1c79-45b0-9e5e-30afa2549a70","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3748,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":622,"missionSetupMs":354,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":354,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":354,"repositoryMutationMs":3126,"repositoryProviderMs":3126,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2072,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":354,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1054},"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":"6471ecb0-1c79-45b0-9e5e-30afa2549a70"},"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":3357,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T19:40:12.315138+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3896","receipt_type":"execute_mission","idempotency_key":"mission:6471ecb0-1c79-45b0-9e5e-30afa2549a70:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"7074e987-1508-4889-90dd-15092fe54ddf","command_center_event_id":"6471ecb0-1c79-45b0-9e5e-30afa2549a70"},{"id":"297166a0-4134-463e-ba4e-11bd5a2f8db1","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-6471ecb01c79","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":36701,"releaseCount":0,"toolCallCount":6,"repeatedCallCount":3,"executorlessWaitMs":37932,"firstUsefulResultAt":"2026-09-27T19:40:07.501Z","recoveryAttemptCount":4,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":3896,"terminal":false,"missionId":"6471ecb0-1c79-45b0-9e5e-30afa2549a70","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":5565,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":5463,"approvedPlanMs":0,"missionSetupMs":413,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":297,"ledgerReconcileMs":0,"lineageReconcileMs":116,"resolvePreflightMs":413,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":297,"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":"6471ecb0-1c79-45b0-9e5e-30afa2549a70"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1522,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T19:40:56.642282+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"3896","receipt_type":"execute_mission","idempotency_key":"mission:6471ecb0-1c79-45b0-9e5e-30afa2549a70:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"7074e987-1508-4889-90dd-15092fe54ddf","command_center_event_id":"6471ecb0-1c79-45b0-9e5e-30afa2549a70"},{"id":"ff18a187-9c80-436a-8c94-043be3dae63a","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-3bd6deb207c2","writes":[],"patches":[],"version":1,"approved":true,"missionId":"3bd6deb2-07c2-44f3-a32b-54074f260b25","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/shells/TenantModesShell.tsx"],"anchored_edits":[{"path":"src/shells/TenantModesShell.tsx","anchor":"type DjPulse={ok?:boolean;config?:{public_capture_enabled?:boolean};metrics?:{fans?:number;vips?:number;lapsed?:number;referrals?:number};analytics?:{repeat_rate?:number};next_creative?:any;next_professional?:any};\nfunction DjCockpitLanding({tenant,cards,homePath,businessName}:{tenant:any;cards:TenantModeCardConfig[];homePath:string;businessName:string}){const[pulse,setPulse]=useState<DjPulse|null>(null);const[error,setError]=useState('');const slug=String(tenant?.company_slug||'').trim();useEffect(()=>{if(!slug)return;let live=true;void supabase.functions.invoke('entertainment-fanbase',{body:{tenant_slug:slug,action:'owner_status'}}).then(({data,error})=>{if(!live)return;if(error||!data?.ok){setError(error?.message||data?.error||'Fanbase pulse unavailable');return}setPulse(data);setError('')}).catch((e)=>{if(live)setError(e instanceof Error?e.message:'Fanbase pulse unavailable')});return()=>{live=false}},[slug]);const m=pulse?.metrics;const repeat=Math.round(Number(pulse?.analytics?.repeat_rate||0)*100);const event=(row:any)=>row?String(row.event_name||row.venue_name||'Upcoming booking'):'Nothing booked yet';const meta=(row:any)=>row?[row.event_date,row.start_time,row.venue_name].filter(Boolean).join(' · ')||'Details need confirmation':'Create the next opportunity from this lane.';const moves=[pulse&&pulse.config?.public_capture_enabled!==true?['Configure fan capture','fanbase','Choose the loyalty rules before public QR capture goes live.']:null,pulse&&!pulse.next_creative?['Pitch the next room','creative','Work promoters, venues, holds, and rebook windows.']:null,pulse&&!pulse.next_professional?['Fill the Professional calendar','professional','Work inquiries, proposals, deposits, and follow-up.']:null,Number(m?.lapsed||0)>0?['Reactivate supporters','fanbase',String(m?.lapsed||0)+' lapsed supporters are ready for a comeback touch.']:null].filter(Boolean) as string[][];return <main data-entertainment-dj-cockpit=\"true\" className=\"min-h-0 flex-1 overflow-y-auto p-2.5 pb-[calc(130px+env(safe-area-inset-bottom))] sm:p-4 lg:p-5 lg:pb-5\"><div className=\"mx-auto flex w-full max-w-[1600px] flex-col gap-3\"><header className=\"rounded-[24px] border border-cyan-300/20 bg-black/35 p-4 backdrop-blur-2xl sm:p-5\"><div className=\"text-[9px] font-black uppercase tracking-[.24em] text-cyan-200/70\">DJ Cockpit · Palm Bay 32909</div><h1 className=\"mt-1 text-2xl font-black tracking-[-.04em] text-white sm:text-4xl\">{businessName}</h1><p className=\"mt-2 text-xs font-semibold text-white/58 sm:text-sm\">Get booked. Run the show. Keep the crowd. Turn Creative momentum and Professional execution into the next event.</p></header><section className=\"grid grid-cols-2 gap-2 sm:grid-cols-4\">{[['Fans',m?.fans],['Repeat',pulse?repeat+'%':undefined],['VIPs',m?.vips],['Referrals',m?.referrals]].map(([label,value])=><div key={String(label)} className=\"rounded-[18px] border border-white/10 bg-black/30 p-3\"><div className=\"text-[8px] font-black uppercase tracking-[.18em] text-white/42\">{label}</div><div className=\"mt-1 text-2xl font-black text-white\">{value===undefined?'—':String(value)}</div></div>)}</section>{error?<div className=\"rounded-[16px] border border-amber-300/20 bg-amber-300/[.07] p-3 text-xs font-semibold text-amber-100\">Fanbase pulse is temporarily unavailable; the operating lanes remain usable.</div>:null}<section className=\"grid gap-2.5 md:grid-cols-2\">{[['creative','Next Creative',pulse?.next_creative,'#8B5CF6'],['professional','Next Professional',pulse?.next_professional,'#F59E0B']].map(([mode,label,row,accent]:any)=><Link key={mode} to={withMode(homePath,homePath,mode)} className=\"rounded-[22px] border bg-black/30 p-4\" style={{borderColor:accent}}><div className=\"text-[9px] font-black uppercase tracking-[.2em] text-white/50\">{label}</div><h2 className=\"mt-2 text-xl font-black text-white\">{event(row)}</h2><p className=\"mt-1 text-xs font-semibold text-white/52\">{meta(row)}</p><div className=\"mt-4 flex items-center justify-between text-xs font-black text-white/80\"><span>Open lane</span><ArrowUpRight className=\"h-4 w-4\"/></div></Link>)}</section><section className=\"rounded-[22px] border border-cyan-300/20 bg-black/28 p-3.5\"><div className=\"flex items-center justify-between\"><div><div className=\"text-[9px] font-black uppercase tracking-[.2em] text-cyan-100/60\">Growth engine</div><h2 className=\"mt-1 text-lg font-black text-white\">Next moves</h2></div><Radar className=\"h-5 w-5 text-cyan-300\"/></div><div className=\"mt-3 grid gap-2 sm:grid-cols-2 xl:grid-cols-4\">{(moves.length?moves:[['Cockpit clear','office','No immediate growth prerequisite is being flagged.']]).map(([label,mode,detail])=><Link key={label} to={withMode(homePath,homePath,mode)} className=\"rounded-[16px] border border-white/10 bg-white/[.04] p-3\"><div className=\"text-sm font-black text-white\">{label}</div><div className=\"mt-1 text-[11px] font-semibold leading-4 text-white/48\">{detail}</div></Link>)}</div></section><section className=\"grid grid-cols-2 gap-2.5 lg:grid-cols-4\">{cards.slice(0,4).map((card,index)=>{const Icon=iconForMode(card);const accent=card.color||DEFAULT_ACCENTS[index%DEFAULT_ACCENTS.length];return <Link key={card.key} to={withMode(homePath,homePath,card.key)} data-tenant-mode-card={card.key} className=\"kl-mode-neon-card relative min-h-[160px] overflow-hidden rounded-[22px] border bg-[#0a1018] p-3\" style={{'--kl-mode-neon':accent,borderColor:accent} as CSSProperties}><div className=\"absolute inset-0\" style={{background:modesCardOverlayBackground(accent)}}/><div className=\"relative z-10 flex h-full flex-col justify-end\"><Icon className=\"h-5 w-5\" style={{color:accent}}/><h2 className=\"mt-2 text-lg font-black text-white sm:text-xl\">{card.title}</h2><p className=\"mt-1 line-clamp-2 text-[10px] font-semibold text-white/62 sm:text-xs\">{card.subtitle}</p></div></Link>})}</section></div></main>}\n","replacement":"type DjPulse={\n  ok?:boolean;\n  config?:{public_capture_enabled?:boolean;program_state?:string;repeat_visit_threshold?:number;lapsed_days?:number;reward_label?:string|null};\n  metrics?:Record<string,number>;\n  analytics?:{repeat_rate?:number;referral_conversion_rate?:number;creative_stages?:Record<string,number>;professional_stages?:Record<string,number>;join_sources?:Array<{source:string;count:number}>};\n  money?:{creative_booked?:number;professional_booked?:number;total_booked?:number;creative_outstanding?:number;professional_outstanding?:number;total_outstanding?:number;proposal_pipeline?:number;invoice_outstanding?:number};\n  next_creative?:any;next_professional?:any;\n  next_actions?:Array<{id:string;mode:string;priority:string;label:string;detail:string}>;\n  launch_runway?:Array<{id:string;label:string;complete:boolean;mode:string}>;\n  fan_segments?:Record<string,number>;\n  milestones?:Record<string,boolean>;\n  relationships?:{total?:number;promoters?:number;venues?:number};\n};\nconst DJ_MONEY=new Intl.NumberFormat('en-US',{style:'currency',currency:'USD',maximumFractionDigits:0});\nfunction djCurrency(value:unknown){return DJ_MONEY.format(Number(value||0))}\nfunction djEventLabel(event:any){return event?String(event.event_name||event.venue_name||'Upcoming booking'):'Nothing booked yet'}\nfunction djEventMeta(event:any){if(!event)return 'Create the next opportunity from this lane.';return [event.event_date,event.start_time,event.venue_name].filter(Boolean).join(' · ')||'Details need confirmation'}\nfunction stageEntries(value:Record<string,number>|undefined){return Object.entries(value||{}).sort((a,b)=>b[1]-a[1])}\nfunction DjCockpitLanding({tenant,cards,homePath,businessName}:{tenant:any;cards:TenantModeCardConfig[];homePath:string;businessName:string}){\n  const[pulse,setPulse]=useState<DjPulse|null>(null);\n  const[error,setError]=useState('');\n  const[savingProgram,setSavingProgram]=useState(false);\n  const[programMessage,setProgramMessage]=useState('');\n  const[showProgram,setShowProgram]=useState(false);\n  const[programDraft,setProgramDraft]=useState({public_capture_enabled:false,repeat_visit_threshold:2,lapsed_days:60,reward_label:''});\n  const slug=String(tenant?.company_slug||'').trim();\n  useEffect(()=>{if(!slug)return;let live=true;setError('');void supabase.functions.invoke('entertainment-fanbase',{body:{tenant_slug:slug,action:'owner_status'}}).then(({data,error})=>{if(!live)return;if(error||!data?.ok){setPulse(null);setError(error?.message||data?.error||'Cockpit intelligence unavailable');return}setPulse(data);setProgramDraft({public_capture_enabled:data?.config?.public_capture_enabled===true,repeat_visit_threshold:Number(data?.config?.repeat_visit_threshold||2),lapsed_days:Number(data?.config?.lapsed_days||60),reward_label:String(data?.config?.reward_label||'')})}).catch((e)=>{if(live){setPulse(null);setError(e instanceof Error?e.message:'Cockpit intelligence unavailable')}});return()=>{live=false}},[slug]);\n  const m=pulse?.metrics||{};\n  const money=pulse?.money||{};\n  const runway=pulse?.launch_runway||[];\n  const actions=pulse?.next_actions||[];\n  const segments=pulse?.fan_segments||{};\n  const milestones=pulse?.milestones||{};\n  const completeRunway=runway.filter((item)=>item.complete).length;\n  const runwayPct=runway.length?Math.round((completeRunway/runway.length)*100):0;\n  const repeatPct=Math.round(Number(pulse?.analytics?.repeat_rate||0)*100);\n  const referralPct=Math.round(Number(pulse?.analytics?.referral_conversion_rate||0)*100);\n  const saveProgram=async()=>{setSavingProgram(true);setProgramMessage('');try{const{data,error}=await supabase.functions.invoke('entertainment-fanbase',{body:{tenant_slug:slug,action:'save_program',program_state:programDraft.public_capture_enabled?'active':'configure',public_capture_enabled:programDraft.public_capture_enabled,loyalty_model:'owner_configured',repeat_visit_threshold:programDraft.repeat_visit_threshold,lapsed_days:programDraft.lapsed_days,reward_label:programDraft.reward_label.trim()||null}});if(error||!data?.ok)throw new Error(error?.message||data?.error||'Could not save fan program');setPulse((current)=>current?{...current,config:{...current.config,...data.config}}:current);setProgramMessage('Fan program saved.');}catch(e){setProgramMessage(e instanceof Error?e.message:'Could not save fan program');}finally{setSavingProgram(false)}};\n  const statCards=[\n    ['Fans',m.fans??0,'total opted-in supporters'],\n    ['New 7d',m.new_fans_7d??0,'fan growth velocity'],\n    ['Repeat',repeatPct+'%','returning supporters'],\n    ['VIPs',m.vips??0,'highest-value supporters'],\n    ['Creative',m.creative_upcoming??0,'upcoming sets'],\n    ['Professional',m.professional_upcoming??0,'upcoming events'],\n    ['Booked',djCurrency(money.total_booked),'Creative + Professional'],\n    ['Outstanding',djCurrency(money.total_outstanding),'remaining balances'],\n  ];\n  const milestoneLabels:Record<string,string>={first_fan:'First fan',twenty_five_fans:'25 fans',one_hundred_fans:'100 fans',first_creative_booking:'First Creative booking',first_professional_booking:'First Professional event',first_referral:'First referral',first_repeat_fan:'First repeat fan'};\n  return <main data-entertainment-dj-cockpit=\"true\" data-entertainment-cockpit-version=\"2\" className=\"min-h-0 flex-1 overflow-y-auto p-2.5 pb-[calc(132px+env(safe-area-inset-bottom))] sm:p-4 lg:p-5 lg:pb-5\">\n    <div className=\"mx-auto flex w-full max-w-[1680px] flex-col gap-3 sm:gap-4\">\n      <header className=\"relative overflow-hidden rounded-[26px] border border-cyan-300/20 bg-[radial-gradient(circle_at_85%_0%,rgba(34,211,238,.13),transparent_34%),linear-gradient(135deg,rgba(7,13,23,.96),rgba(3,7,12,.90))] p-4 shadow-[0_28px_80px_rgba(0,0,0,.30)] sm:p-5\">\n        <div className=\"relative z-10 flex flex-col gap-4 xl:flex-row xl:items-end xl:justify-between\">\n          <div className=\"min-w-0\">\n            <div className=\"flex flex-wrap items-center gap-2 text-[9px] font-black uppercase tracking-[.22em] text-cyan-100/66\"><span>DJ Cockpit</span><span className=\"h-1 w-1 rounded-full bg-cyan-300\"/><span>Palm Bay 32909</span></div>\n            <h1 className=\"mt-1.5 text-[clamp(1.7rem,5vw,3.2rem)] font-black leading-none tracking-[-.055em] text-white\">{businessName}</h1>\n            <p className=\"mt-2 max-w-3xl text-xs font-semibold leading-5 text-white/58 sm:text-sm\">Book the room. Own the event. Capture the crowd. Turn every good night into the next paid opportunity.</p>\n          </div>\n          <div className=\"grid grid-cols-4 gap-1.5 sm:flex sm:flex-wrap\">\n            {[['creative','Creative'],['professional','Professional'],['fanbase','Fanbase'],['office','Office']].map(([mode,label])=><Link key={mode} to={withMode(homePath,homePath,mode)} className=\"min-h-11 rounded-xl border border-white/10 bg-white/[.055] px-2.5 py-2 text-center text-[9px] font-black uppercase tracking-[.12em] text-white/76 transition hover:bg-white/[.10] sm:px-3\">{label}</Link>)}\n          </div>\n        </div>\n      </header>\n\n      {error?<div className=\"rounded-[18px] border border-amber-300/20 bg-amber-300/[.07] px-4 py-3 text-xs font-semibold text-amber-100\"><div className=\"flex items-start gap-2\"><CircleAlert className=\"mt-0.5 h-4 w-4 shrink-0\"/><span>{error}. The operating lanes remain usable while cockpit intelligence recovers.</span></div></div>:null}\n\n      <section aria-label=\"DJ business pulse\" className=\"grid grid-cols-2 gap-2 sm:grid-cols-4 xl:grid-cols-8\">\n        {statCards.map(([label,value,detail])=><div key={String(label)} className=\"rounded-[18px] border border-white/10 bg-black/30 p-3 backdrop-blur-xl\">\n          <div className=\"text-[8px] font-black uppercase tracking-[.17em] text-white/40\">{label}</div>\n          <div className=\"mt-1 text-xl font-black tracking-[-.04em] text-white sm:text-2xl\">{String(value)}</div>\n          <div className=\"mt-1 text-[9px] font-semibold leading-3.5 text-white/36\">{detail}</div>\n        </div>)}\n      </section>\n\n      <section className=\"grid gap-3 xl:grid-cols-[1.18fr_.82fr]\">\n        <div className=\"rounded-[24px] border border-cyan-300/18 bg-black/30 p-4 backdrop-blur-xl\">\n          <div className=\"flex items-start justify-between gap-3\"><div><div className=\"text-[9px] font-black uppercase tracking-[.2em] text-cyan-100/56\">Growth command queue</div><h2 className=\"mt-1 text-xl font-black tracking-[-.03em] text-white\">What creates the next booking?</h2></div><Radar className=\"h-5 w-5 text-cyan-300\"/></div>\n          <div className=\"mt-3 grid gap-2 lg:grid-cols-2\">\n            {(actions.length?actions:[{id:'clear',mode:'office',priority:'low',label:'No urgent growth blocker',detail:'Keep the pipeline moving and the fanbase active.'}]).slice(0,8).map((action,index)=><Link key={action.id||index} to={withMode(homePath,homePath,action.mode||'office')} className=\"group rounded-[17px] border border-white/9 bg-white/[.035] p-3 transition hover:border-cyan-300/24 hover:bg-white/[.065]\">\n              <div className=\"flex items-center gap-2\"><span className={`h-2 w-2 rounded-full ${action.priority==='critical'?'bg-red-400':action.priority==='high'?'bg-amber-300':action.priority==='medium'?'bg-cyan-300':'bg-white/30'}`}/><span className=\"text-sm font-black text-white\">{action.label}</span></div>\n              <p className=\"mt-1 text-[11px] font-semibold leading-4 text-white/48\">{action.detail}</p>\n            </Link>)}\n          </div>\n        </div>\n\n        <div className=\"rounded-[24px] border border-white/10 bg-black/30 p-4 backdrop-blur-xl\">\n          <div className=\"flex items-center justify-between gap-3\"><div><div className=\"text-[9px] font-black uppercase tracking-[.2em] text-white/44\">Launch runway</div><h2 className=\"mt-1 text-xl font-black text-white\">{completeRunway}/{runway.length||8} launch steps</h2></div><div className=\"text-2xl font-black text-cyan-200\">{runwayPct}%</div></div>\n          <div className=\"mt-3 h-2 overflow-hidden rounded-full bg-white/8\"><div className=\"h-full rounded-full bg-cyan-300 transition-all\" style={{width:`${runwayPct}%`}}/></div>\n          <div className=\"mt-3 grid gap-1.5\">\n            {(runway.length?runway:[{id:'loading',label:'Loading launch runway',complete:false,mode:'office'}]).map((item)=><Link key={item.id} to={withMode(homePath,homePath,item.mode)} className=\"flex min-h-10 items-center justify-between rounded-xl border border-white/8 bg-white/[.025] px-3 py-2\">\n              <span className=\"text-[11px] font-bold text-white/72\">{item.label}</span><span className={item.complete?'text-emerald-300':'text-white/28'}>{item.complete?'✓':'○'}</span>\n            </Link>)}\n          </div>\n        </div>\n      </section>\n\n      <section className=\"grid gap-3 lg:grid-cols-2\">\n        {[['creative','Next Creative',pulse?.next_creative,'#8B5CF6','Nightlife · clubs · festivals · promoters'],['professional','Next Professional',pulse?.next_professional,'#F59E0B','Weddings · corporate · private · formal']].map(([mode,label,row,accent,descriptor]:any)=><Link key={mode} to={withMode(homePath,homePath,mode)} className=\"rounded-[24px] border bg-[linear-gradient(145deg,rgba(0,0,0,.34),rgba(0,0,0,.20))] p-4 transition hover:-translate-y-0.5\" style={{borderColor:accent}}>\n          <div className=\"flex items-center justify-between gap-3\"><div><div className=\"text-[9px] font-black uppercase tracking-[.2em] text-white/46\">{label}</div><div className=\"mt-1 text-[10px] font-bold uppercase tracking-[.12em]\" style={{color:accent}}>{descriptor}</div></div><ArrowUpRight className=\"h-4 w-4 text-white/55\"/></div>\n          <h2 className=\"mt-3 text-xl font-black tracking-[-.03em] text-white\">{djEventLabel(row)}</h2><p className=\"mt-1 text-xs font-semibold text-white/48\">{djEventMeta(row)}</p>\n          <div className=\"mt-4 flex flex-wrap gap-1.5\">{stageEntries(mode==='creative'?pulse?.analytics?.creative_stages:pulse?.analytics?.professional_stages).slice(0,6).map(([stage,count])=><span key={stage} className=\"rounded-full border border-white/9 bg-white/[.04] px-2.5 py-1 text-[9px] font-black uppercase tracking-[.1em] text-white/55\">{stage} · {count}</span>)}{!stageEntries(mode==='creative'?pulse?.analytics?.creative_stages:pulse?.analytics?.professional_stages).length?<span className=\"text-[10px] font-semibold text-white/34\">Pipeline is empty — that is the next problem to solve.</span>:null}</div>\n        </Link>)}\n      </section>\n\n      <section className=\"grid gap-3 xl:grid-cols-[1.05fr_.95fr]\">\n        <div className=\"rounded-[24px] border border-cyan-300/18 bg-[linear-gradient(145deg,rgba(8,33,42,.26),rgba(2,7,12,.78))] p-4\">\n          <div className=\"flex flex-wrap items-start justify-between gap-3\"><div><div className=\"text-[9px] font-black uppercase tracking-[.2em] text-cyan-100/58\">Fanbase engine</div><h2 className=\"mt-1 text-xl font-black text-white\">Crowd → relationship → referral → booking</h2></div><button type=\"button\" onClick={()=>setShowProgram((value)=>!value)} className=\"min-h-11 rounded-xl border border-cyan-300/20 bg-cyan-300/[.08] px-3 text-[10px] font-black uppercase tracking-[.12em] text-cyan-100\">{showProgram?'Close setup':'Fan program'}</button></div>\n          <div className=\"mt-3 grid grid-cols-3 gap-2 sm:grid-cols-4 xl:grid-cols-8\">{[['New 7d',segments.new_7d??0],['New 30d',segments.new_30d??0],['Repeat',segments.repeat??0],['VIP',segments.vip??0],['Ambassador',segments.ambassador??0],['Lapsed',segments.lapsed??0],['Email',segments.email??0],['SMS',segments.sms??0]].map(([label,value])=><div key={String(label)} className=\"rounded-[14px] border border-white/8 bg-black/24 p-2.5\"><div className=\"text-[7px] font-black uppercase tracking-[.12em] text-white/38\">{label}</div><div className=\"mt-1 text-lg font-black text-white\">{String(value)}</div></div>)}</div>\n          <div className=\"mt-3 flex flex-wrap gap-2 text-[10px] font-bold text-white/52\"><span>Referral conversion: {referralPct}%</span><span>•</span><span>Promoter relationships: {m.promoters??0}</span><span>•</span><span>Venue relationships: {m.venues??0}</span></div>\n          {showProgram?<div className=\"mt-4 rounded-[18px] border border-cyan-300/18 bg-black/28 p-3.5\">\n            <div className=\"grid gap-3 sm:grid-cols-2\">\n              <label className=\"flex items-center justify-between gap-3 rounded-xl border border-white/8 bg-white/[.025] px-3 py-2.5\"><span><span className=\"block text-xs font-black text-white\">Public fan capture</span><span className=\"block text-[10px] font-semibold text-white/40\">Allow event QR / fan-list signup</span></span><input type=\"checkbox\" checked={programDraft.public_capture_enabled} onChange={(e)=>setProgramDraft((d)=>({...d,public_capture_enabled:e.target.checked}))} className=\"h-5 w-5\"/></label>\n              <label className=\"block\"><span className=\"text-[9px] font-black uppercase tracking-[.14em] text-white/40\">Repeat fan after visits</span><input type=\"number\" min={2} max={50} value={programDraft.repeat_visit_threshold} onChange={(e)=>setProgramDraft((d)=>({...d,repeat_visit_threshold:Math.max(2,Math.min(50,Number(e.target.value||2)))}))} className=\"mt-1 min-h-11 w-full rounded-xl border border-white/10 bg-black/30 px-3 text-sm font-bold text-white outline-none\"/></label>\n              <label className=\"block\"><span className=\"text-[9px] font-black uppercase tracking-[.14em] text-white/40\">Lapsed after days</span><input type=\"number\" min={14} max={365} value={programDraft.lapsed_days} onChange={(e)=>setProgramDraft((d)=>({...d,lapsed_days:Math.max(14,Math.min(365,Number(e.target.value||60)))}))} className=\"mt-1 min-h-11 w-full rounded-xl border border-white/10 bg-black/30 px-3 text-sm font-bold text-white outline-none\"/></label>\n              <label className=\"block\"><span className=\"text-[9px] font-black uppercase tracking-[.14em] text-white/40\">Optional reward label</span><input value={programDraft.reward_label} onChange={(e)=>setProgramDraft((d)=>({...d,reward_label:e.target.value}))} placeholder=\"No reward promised unless you enter one\" className=\"mt-1 min-h-11 w-full rounded-xl border border-white/10 bg-black/30 px-3 text-sm font-bold text-white outline-none placeholder:text-white/22\"/></label>\n            </div>\n            <div className=\"mt-3 flex flex-wrap items-center gap-2\"><button type=\"button\" disabled={savingProgram} onClick={saveProgram} className=\"min-h-11 rounded-xl bg-cyan-300 px-4 text-xs font-black text-[#031016] disabled:opacity-50\">{savingProgram?'Saving…':'Save fan program'}</button><span className=\"text-[10px] font-semibold text-white/45\">{programMessage||'Rewards stay off unless you explicitly define them.'}</span></div>\n          </div>:null}\n        </div>\n\n        <div className=\"rounded-[24px] border border-emerald-300/16 bg-black/30 p-4\">\n          <div className=\"text-[9px] font-black uppercase tracking-[.2em] text-emerald-100/52\">Money cockpit</div><h2 className=\"mt-1 text-xl font-black text-white\">Creative and Professional stay financially separate</h2>\n          <div className=\"mt-3 grid grid-cols-2 gap-2\">{[['Creative booked',money.creative_booked],['Professional booked',money.professional_booked],['Proposal pipeline',money.proposal_pipeline],['Outstanding',money.total_outstanding]].map(([label,value])=><div key={String(label)} className=\"rounded-[16px] border border-white/8 bg-white/[.025] p-3\"><div className=\"text-[8px] font-black uppercase tracking-[.13em] text-white/38\">{label}</div><div className=\"mt-1 text-xl font-black text-white\">{djCurrency(value)}</div></div>)}</div>\n          <Link to={withMode(homePath,homePath,'office')} className=\"mt-3 flex min-h-11 items-center justify-between rounded-xl border border-white/9 bg-white/[.035] px-3 text-xs font-black text-white/72\"><span>Open Office money & reporting</span><ArrowUpRight className=\"h-4 w-4\"/></Link>\n        </div>\n      </section>\n\n      <section className=\"rounded-[24px] border border-white/10 bg-black/26 p-4\">\n        <div className=\"flex items-center justify-between gap-3\"><div><div className=\"text-[9px] font-black uppercase tracking-[.2em] text-white/42\">Compounding milestones</div><h2 className=\"mt-1 text-lg font-black text-white\">Build proof that the flywheel is working</h2></div><ClipboardCheck className=\"h-5 w-5 text-emerald-300\"/></div>\n        <div className=\"mt-3 grid grid-cols-2 gap-2 sm:grid-cols-4 xl:grid-cols-7\">{Object.entries(milestoneLabels).map(([key,label])=><div key={key} className={`rounded-[15px] border p-3 ${milestones[key]?'border-emerald-300/25 bg-emerald-300/[.08]':'border-white/8 bg-white/[.025]'}`}><div className={`text-lg font-black ${milestones[key]?'text-emerald-300':'text-white/22'}`}>{milestones[key]?'✓':'○'}</div><div className=\"mt-1 text-[10px] font-black text-white/66\">{label}</div></div>)}</div>\n      </section>\n\n      <section className=\"grid grid-cols-2 gap-2.5 lg:grid-cols-4\">{cards.slice(0,4).map((card,index)=>{const Icon=iconForMode(card);const accent=card.color||DEFAULT_ACCENTS[index%DEFAULT_ACCENTS.length];return <Link key={card.key} to={withMode(homePath,homePath,card.key)} data-tenant-mode-card={card.key} className=\"kl-mode-neon-card relative min-h-[168px] overflow-hidden rounded-[22px] border bg-[#0a1018] p-3 transition hover:-translate-y-0.5\" style={{'--kl-mode-neon':accent,borderColor:accent} as CSSProperties}><div className=\"absolute inset-0\" style={{background:modesCardOverlayBackground(accent)}}/><div className=\"relative z-10 flex h-full flex-col justify-end\"><Icon className=\"h-5 w-5\" style={{color:accent}}/><div className=\"mt-2 text-[8px] font-black uppercase tracking-[.16em] text-white/38\">Operating lane {index+1}</div><h2 className=\"mt-0.5 text-lg font-black text-white sm:text-xl\">{card.title}</h2><p className=\"mt-1 line-clamp-2 text-[10px] font-semibold leading-4 text-white/58 sm:text-xs\">{card.subtitle}</p></div></Link>})}</section>\n    </div>\n  </main>\n}\n"}],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"3bd6deb2-07c2-44f3-a32b-54074f260b25","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/shells/TenantModesShell.tsx"],"requestContract":null,"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":false,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"proofRequirements":null,"controlPlaneUnfreeze":false,"durableMutationResume":true,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"recovery":false,"fingerprint":"9b7e9d269262458158c4071f6ce14db5db5972c5770a254846867ccdc470c5dc","replayCount":0,"serializedBytes":27237},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:24:19.399946+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:3bd6deb2-07c2-44f3-a32b-54074f260b25:repository-mutation-intent:9b7e9d269262458158c4071f6ce14db5db5972c5770a254846867ccdc470c5dc:0","mission_step_id":"40ade9da-a51d-47f0-8395-07bd1578c633","command_center_event_id":"3bd6deb2-07c2-44f3-a32b-54074f260b25"},{"id":"d5b15869-0e26-47ee-97be-eeb057d6f55b","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-3bd6deb207c2","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":37606,"releaseCount":0,"toolCallCount":7,"repeatedCallCount":3,"executorlessWaitMs":124949,"firstUsefulResultAt":"2026-09-27T20:23:19.909Z","recoveryAttemptCount":4,"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_ready_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":5553,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":5448,"approvedPlanMs":0,"missionSetupMs":359,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":248,"ledgerReconcileMs":0,"lineageReconcileMs":111,"resolvePreflightMs":359,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":248,"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":"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":1523,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:25:34.670601+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"3899","receipt_type":"execute_mission","idempotency_key":"mission:3bd6deb2-07c2-44f3-a32b-54074f260b25:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"40ade9da-a51d-47f0-8395-07bd1578c633","command_center_event_id":"3bd6deb2-07c2-44f3-a32b-54074f260b25"},{"id":"17b8d62c-c010-4014-9ebb-d78a095c4b44","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-6471ecb01c79","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":40229,"releaseCount":0,"toolCallCount":8,"repeatedCallCount":4,"executorlessWaitMs":152170,"firstUsefulResultAt":"2026-09-27T19:40:07.501Z","recoveryAttemptCount":6,"ownerInterruptionCount":0},"version":null,"prNumber":3896,"terminal":false,"missionId":"6471ecb0-1c79-45b0-9e5e-30afa2549a70","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":5447,"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":"6471ecb0-1c79-45b0-9e5e-30afa2549a70"},"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-27T19:40:20.464289+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"3896","receipt_type":"automatic_mission_resume","idempotency_key":"mission:6471ecb0-1c79-45b0-9e5e-30afa2549a70:automatic-mission-resume:3896:repair_mission_pr_ready_retryable","mission_step_id":"e190090b-3254-4760-a137-2964654bfdb4","command_center_event_id":"6471ecb0-1c79-45b0-9e5e-30afa2549a70"},{"id":"17ef2e38-85c2-4787-8910-efa93f5ad8b6","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-6471ecb01c79","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":41809,"releaseCount":0,"toolCallCount":9,"repeatedCallCount":5,"executorlessWaitMs":158450,"firstUsefulResultAt":"2026-09-27T19:40:07.501Z","recoveryAttemptCount":7,"ownerInterruptionCount":0},"version":null,"prNumber":3896,"terminal":false,"missionId":"6471ecb0-1c79-45b0-9e5e-30afa2549a70","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"f6f31728e972b6fc47239781891baece348296d2","timingsMs":{"prReadinessMs":438,"approvedPlanMs":0,"shipAndProveMs":2523,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"6471ecb0-1c79-45b0-9e5e-30afa2549a70"},"performance":null,"deploymentId":"forgejo-main-f6f31728e972","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"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":1923,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T19:42:54.63336+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"3896","receipt_type":"automatic_mission_resume","idempotency_key":"mission:6471ecb0-1c79-45b0-9e5e-30afa2549a70:automatic-mission-resume:3896:canonical_release_reconciliation_pending","mission_step_id":"e190090b-3254-4760-a137-2964654bfdb4","command_center_event_id":"6471ecb0-1c79-45b0-9e5e-30afa2549a70"},{"id":"c374e246-fba4-46e3-ad6c-b43086f9d010","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":"f6f31728e972b6fc47239781891baece348296d2","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":"f6f31728e972b6fc47239781891baece348296d2","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"pending","supabaseEdge":"pending"},"requestContractHash":"70977ff851c8cfc3ae666119098b7fc45cfb8c6c738aa6fe2c142c5a55dc0f9d","forgejoWorkflowProof":{"runId":12265,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","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-27T19:42:55.585819+00:00","proof_gate":"canonical_release_pending","source_sha":"f6f31728e972b6fc47239781891baece348296d2","external_id":"forgejo-main-f6f31728e972","receipt_type":"canonical_release_status","idempotency_key":"mission:6471ecb0-1c79-45b0-9e5e-30afa2549a70:forgejo-release-status:f6f31728e972b6fc47239781891baece348296d2:pending:forgejo-main/source=success|forgejo-release/workflow=pending|supabase-edge-production/live=pending|frontend-cloudflare/live=pending","mission_step_id":"0a17304a-692c-470d-b891-9311e50eb340","command_center_event_id":"6471ecb0-1c79-45b0-9e5e-30afa2549a70"},{"id":"960ff5fe-6c35-41a7-ad90-f36a0f98b446","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":"f6f31728e972b6fc47239781891baece348296d2","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live","frontend-cloudflare/live"],"sourceSha":"f6f31728e972b6fc47239781891baece348296d2","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"pending","supabaseEdge":"success"},"requestContractHash":"70977ff851c8cfc3ae666119098b7fc45cfb8c6c738aa6fe2c142c5a55dc0f9d","forgejoWorkflowProof":{"runId":12265,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"frontend":"pending","supabaseEdge":"success"},"targetJobCount":7,"observedTargetStates":{"frontend":"pending","supabaseEdge":"success"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T19:43:49.606181+00:00","proof_gate":"canonical_release_pending","source_sha":"f6f31728e972b6fc47239781891baece348296d2","external_id":"forgejo-main-f6f31728e972","receipt_type":"canonical_release_status","idempotency_key":"mission:6471ecb0-1c79-45b0-9e5e-30afa2549a70:forgejo-release-status:f6f31728e972b6fc47239781891baece348296d2:pending:forgejo-main/source=success|forgejo-release/workflow=pending|supabase-edge-production/live=success|frontend-cloudflare/live=pending","mission_step_id":"0a17304a-692c-470d-b891-9311e50eb340","command_center_event_id":"6471ecb0-1c79-45b0-9e5e-30afa2549a70"},{"id":"ba9c8a52-20de-42a9-a534-43279cc857fe","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-6471ecb01c79","prNumber":3896,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"f6f31728e972b6fc47239781891baece348296d2","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T19:43:08.983583+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"f6f31728e972b6fc47239781891baece348296d2","external_id":"3896","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:6471ecb0-1c79-45b0-9e5e-30afa2549a70:merged-pr:3896:f6f31728e972b6fc47239781891baece348296d2","mission_step_id":"0a17304a-692c-470d-b891-9311e50eb340","command_center_event_id":"6471ecb0-1c79-45b0-9e5e-30afa2549a70"},{"id":"e12f2a7a-25ae-4978-8510-c59b0c4618d3","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":"f6f31728e972b6fc47239781891baece348296d2","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live","frontend-cloudflare/live"],"sourceSha":"f6f31728e972b6fc47239781891baece348296d2","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"success","supabaseEdge":"success"},"requestContractHash":"70977ff851c8cfc3ae666119098b7fc45cfb8c6c738aa6fe2c142c5a55dc0f9d","forgejoWorkflowProof":{"runId":12265,"source":"signed_push_receipt","status":"success","results":{},"conclusion":"success","targetStates":{"frontend":"success","supabaseEdge":"success"},"targetJobCount":7,"observedTargetStates":{"frontend":"success","supabaseEdge":"success"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T19:45:26.605744+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"f6f31728e972b6fc47239781891baece348296d2","external_id":"forgejo-main-f6f31728e972","receipt_type":"canonical_release_status","idempotency_key":"mission:6471ecb0-1c79-45b0-9e5e-30afa2549a70:forgejo-release-status:f6f31728e972b6fc47239781891baece348296d2:verified:forgejo-main/source=success|forgejo-release/workflow=success|supabase-edge-production/live=success|frontend-cloudflare/live=success","mission_step_id":"e9fb4998-8f08-4431-bea3-7cfb10592286","command_center_event_id":"6471ecb0-1c79-45b0-9e5e-30afa2549a70"},{"id":"09682b66-5bab-4bb3-957f-0dccaa3b3a3c","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"f6f31728e972b6fc47239781891baece348296d2","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"entertainment-archetype","satisfied":true,"statement":"KNOCKLAUNCH has a reusable Entertainment / DJ tenant archetype, business operating recipe, and contextual MODES presets for Creative, Professional, Fanbase, and Office.","proofConditionIds":["proof-source"]}],"satisfied":true,"constraints":[{"id":"tenant-isolation","satisfied":true,"statement":"Do not alter existing Event Rental, Handyman, Curri, Big Papi, Speedy Panda, or other tenant behavior except through additive reusable archetype registration.","proofConditionIds":["proof-source"]},{"id":"fanbase-first-class","satisfied":true,"statement":"Fanbase is a top-level DJ operating mode with fan/VIP capture, outreach, QR, growth-radar and analytics application context; it must not be collapsed into generic contacts.","proofConditionIds":["proof-source"]},{"id":"creative-professional-separation","satisfied":true,"statement":"Creative and Professional are distinct top-level modes with distinct curated application sets and copy.","proofConditionIds":["proof-source"]},{"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-source"]},{"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-source"]}],"contractHash":"70977ff851c8cfc3ae666119098b7fc45cfb8c6c738aa6fe2c142c5a55dc0f9d","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"proof-source","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"frontend":"success","supabaseEdge":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["frontend","supabaseEdge"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"70977ff851c8cfc3ae666119098b7fc45cfb8c6c738aa6fe2c142c5a55dc0f9d"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["frontend","supabaseEdge"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T19:45:27.820832+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"f6f31728e972b6fc47239781891baece348296d2","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:6471ecb0-1c79-45b0-9e5e-30afa2549a70:request-contract:70977ff851c8cfc3ae666119098b7fc45cfb8c6c738aa6fe2c142c5a55dc0f9d:f6f31728e972b6fc47239781891baece348296d2:verified:","mission_step_id":"e9fb4998-8f08-4431-bea3-7cfb10592286","command_center_event_id":"6471ecb0-1c79-45b0-9e5e-30afa2549a70"},{"id":"de397445-631c-4b59-b5b0-0fe4bbf1310c","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-aa1ae1505687","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":null,"recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":null,"terminal":false,"missionId":"aa1ae150-5687-45d8-a79a-e385379c6dfc","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1294,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":498,"providerAuthMs":0,"ledgerPrepareMs":498,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":498,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":498,"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":"aa1ae150-5687-45d8-a79a-e385379c6dfc"},"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":3910,"likelyAffectedFiles":["src/shells/TenantModesShell.tsx"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T19:53:28.068656+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:aa1ae150-5687-45d8-a79a-e385379c6dfc:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"439ff93b-0c4b-4eb7-a736-4340f810131e","command_center_event_id":"aa1ae150-5687-45d8-a79a-e385379c6dfc"},{"id":"9fd091f3-9e37-48be-b6f5-6044daa83d60","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-aa1ae1505687","writes":[],"patches":[],"version":1,"approved":true,"missionId":"aa1ae150-5687-45d8-a79a-e385379c6dfc","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/shells/TenantModesShell.tsx"],"anchored_edits":[{"path":"src/shells/TenantModesShell.tsx","anchor":"import { useMultiTenant } from '@/contexts/MultiTenantContext';","replacement":"import { useMultiTenant } from '@/contexts/MultiTenantContext';\nimport { supabase } from '@/integrations/supabase/client';"}],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"aa1ae150-5687-45d8-a79a-e385379c6dfc","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/shells/TenantModesShell.tsx"],"requestContract":null,"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":false,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"proofRequirements":null,"controlPlaneUnfreeze":false,"durableMutationResume":true,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"recovery":false,"fingerprint":"32351bd3956481eeed5de74b261169271e41163f852e007bb88c441f0cebd183","replayCount":0,"serializedBytes":1269},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T19:54:07.418439+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:aa1ae150-5687-45d8-a79a-e385379c6dfc:repository-mutation-intent:32351bd3956481eeed5de74b261169271e41163f852e007bb88c441f0cebd183:0","mission_step_id":"70255b83-58a2-47d0-a0a9-e78f3e8b3182","command_center_event_id":"aa1ae150-5687-45d8-a79a-e385379c6dfc"},{"id":"6ce703c1-8784-4690-a805-00b382ac2c66","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.293-scheduler-v2","prNumber":null,"terminal":false,"missionId":"1d8ac2e7-19de-44e5-88ee-aa800e96f91b","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1127,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":529,"providerAuthMs":0,"ledgerPrepareMs":529,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":529,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":529,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Supply exact sourceTargets on the same mission; planner guesses cannot replace missing mission scope.","receiptRef":{"mode":"full","missionId":"1d8ac2e7-19de-44e5-88ee-aa800e96f91b"},"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-27T19:54:15.914826+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:1d8ac2e7-19de-44e5-88ee-aa800e96f91b:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"e24389bf-d86c-4c70-8844-01f4944f7ab0","command_center_event_id":"1d8ac2e7-19de-44e5-88ee-aa800e96f91b"},{"id":"b583a5d5-085f-4934-b418-fed30f69b092","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-1d8ac2e719de","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":1677,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-09-27T19:54:15.896Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":null,"terminal":false,"missionId":"1d8ac2e7-19de-44e5-88ee-aa800e96f91b","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1138,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":295,"providerAuthMs":0,"ledgerPrepareMs":295,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":295,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":295,"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":"1d8ac2e7-19de-44e5-88ee-aa800e96f91b"},"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":4969,"likelyAffectedFiles":["src/PrivateAppShell.tsx","config/capabilities/tenant-bootstrap.json","config/capabilities/tenant-brand-character.json","config/capabilities/tenant-type-platform-primitive.json","config/capabilities/platform-application-registry.json","config/capabilities/tenant-type-registry.json","config/capabilities/tenant-workspace-experience.json","config/capabilities/tenant-workspace-search.json","config/capabilities/tenant-workspace-ui-contract-v2.json","config/platform-standards.json","scripts/check-route-registry.mjs","scripts/visual-witness-hosted-runner/src/observe-route-contract.mjs"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T19:54:25.725817+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:1d8ac2e7-19de-44e5-88ee-aa800e96f91b:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"e24389bf-d86c-4c70-8844-01f4944f7ab0","command_center_event_id":"1d8ac2e7-19de-44e5-88ee-aa800e96f91b"},{"id":"085ab4c0-576c-4f7a-b09e-227aa4d5787d","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-aa1ae1505687","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":10554,"releaseCount":0,"toolCallCount":6,"repeatedCallCount":2,"executorlessWaitMs":80269,"firstUsefulResultAt":"2026-09-27T19:53:28.049Z","recoveryAttemptCount":2,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":3897,"terminal":false,"missionId":"aa1ae150-5687-45d8-a79a-e385379c6dfc","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":2581,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":815,"missionSetupMs":288,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":183,"ledgerReconcileMs":0,"lineageReconcileMs":105,"resolvePreflightMs":288,"repositoryMutationMs":1766,"repositoryProviderMs":1766,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":1661,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":183,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":105},"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":"aa1ae150-5687-45d8-a79a-e385379c6dfc"},"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":3052,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T19:54:11.847544+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3897","receipt_type":"execute_mission","idempotency_key":"mission:aa1ae150-5687-45d8-a79a-e385379c6dfc:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"70255b83-58a2-47d0-a0a9-e78f3e8b3182","command_center_event_id":"aa1ae150-5687-45d8-a79a-e385379c6dfc"},{"id":"25fadb1c-43cf-45df-90a6-702ebad62b1d","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-aa1ae1505687","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":17364,"releaseCount":0,"toolCallCount":10,"repeatedCallCount":6,"executorlessWaitMs":217256,"firstUsefulResultAt":"2026-09-27T19:53:28.049Z","recoveryAttemptCount":5,"ownerInterruptionCount":0},"version":null,"prNumber":3897,"terminal":false,"missionId":"aa1ae150-5687-45d8-a79a-e385379c6dfc","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":5462,"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":"aa1ae150-5687-45d8-a79a-e385379c6dfc"},"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-27T19:54:20.545693+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"3897","receipt_type":"automatic_mission_resume","idempotency_key":"mission:aa1ae150-5687-45d8-a79a-e385379c6dfc:automatic-mission-resume:3897:repair_mission_pr_ready_retryable","mission_step_id":"46573166-ad91-4aa5-aaa2-5250588bc92b","command_center_event_id":"aa1ae150-5687-45d8-a79a-e385379c6dfc"},{"id":"1a78d7d2-ba9b-419e-8873-48f963652e94","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-aa1ae1505687","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":18954,"releaseCount":0,"toolCallCount":11,"repeatedCallCount":7,"executorlessWaitMs":223412,"firstUsefulResultAt":"2026-09-27T19:53:28.049Z","recoveryAttemptCount":6,"ownerInterruptionCount":0},"version":null,"prNumber":3897,"terminal":false,"missionId":"aa1ae150-5687-45d8-a79a-e385379c6dfc","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"7741265580fd56a43e5e5f07fc97385f07b33039","timingsMs":{"prReadinessMs":471,"approvedPlanMs":0,"shipAndProveMs":2709,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"aa1ae150-5687-45d8-a79a-e385379c6dfc"},"performance":null,"deploymentId":"forgejo-main-7741265580fd","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":1806,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T19:58:20.596041+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"3897","receipt_type":"automatic_mission_resume","idempotency_key":"mission:aa1ae150-5687-45d8-a79a-e385379c6dfc:automatic-mission-resume:3897:canonical_release_reconciliation_pending","mission_step_id":"46573166-ad91-4aa5-aaa2-5250588bc92b","command_center_event_id":"aa1ae150-5687-45d8-a79a-e385379c6dfc"},{"id":"2174147b-8da2-4a05-aba8-2f76f597ae54","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"7741265580fd56a43e5e5f07fc97385f07b33039","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"7741265580fd56a43e5e5f07fc97385f07b33039","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":"70d0cdef18feacb348a1af7a1f1c708d53a706dbbcfa2e2871e86f6469265a60","forgejoWorkflowProof":{"runId":12269,"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-27T19:58:21.351296+00:00","proof_gate":"canonical_release_pending","source_sha":"7741265580fd56a43e5e5f07fc97385f07b33039","external_id":"forgejo-main-7741265580fd","receipt_type":"canonical_release_status","idempotency_key":"mission:aa1ae150-5687-45d8-a79a-e385379c6dfc:forgejo-release-status:7741265580fd56a43e5e5f07fc97385f07b33039:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"55ff4aaa-9232-4870-aa0b-8932bd10a2e3","command_center_event_id":"aa1ae150-5687-45d8-a79a-e385379c6dfc"},{"id":"4fb017e7-1db9-4ef8-9eb5-54c7d87512bf","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"7741265580fd56a43e5e5f07fc97385f07b33039","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"7741265580fd56a43e5e5f07fc97385f07b33039","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":"70d0cdef18feacb348a1af7a1f1c708d53a706dbbcfa2e2871e86f6469265a60","forgejoWorkflowProof":{"runId":12269,"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-27T19:59:39.456128+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"7741265580fd56a43e5e5f07fc97385f07b33039","external_id":"forgejo-main-7741265580fd","receipt_type":"canonical_release_status","idempotency_key":"mission:aa1ae150-5687-45d8-a79a-e385379c6dfc:forgejo-release-status:7741265580fd56a43e5e5f07fc97385f07b33039:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"673bbbea-02f1-4a22-b126-2f36716d16c7","command_center_event_id":"aa1ae150-5687-45d8-a79a-e385379c6dfc"},{"id":"b9d53bf4-5e55-4b5e-81a7-27f757dfe4ca","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"7741265580fd56a43e5e5f07fc97385f07b33039","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"dj-cockpit-home","satisfied":false,"statement":"The /dj landing is a purpose-built DJ Cockpit with live fanbase pulse, next Creative/Professional work, growth actions, and the four operating lanes.","proofConditionIds":["runtime","visual"]}],"satisfied":false,"constraints":[{"id":"no-fake-data","satisfied":false,"statement":"No invented fans, gigs, bookings, metrics, prices, rewards, dates, or success states.","proofConditionIds":["runtime","visual"]},{"id":"tenant-isolation","satisfied":false,"statement":"Only Entertainment/DJ tenants receive the specialized cockpit landing; other MODES tenants remain behaviorally unchanged.","proofConditionIds":["runtime","visual"]},{"id":"mobile","satisfied":false,"statement":"The DJ Cockpit remains usable on mobile above the current canonical bottom navigation stack.","proofConditionIds":["visual"]},{"id":"capability-completeness","satisfied":true,"statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["runtime"]},{"id":"atomic-capability-lifecycle","satisfied":true,"statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["runtime"]}],"contractHash":"70d0cdef18feacb348a1af7a1f1c708d53a706dbbcfa2e2871e86f6469265a60","releaseBound":true,"witnessBound":false,"visualRequested":true,"visualSatisfied":false,"conditionResults":[{"id":"runtime","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"frontend":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["frontend"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"70d0cdef18feacb348a1af7a1f1c708d53a706dbbcfa2e2871e86f6469265a60"},"required":true,"satisfied":true},{"id":"visual","kind":"visual","evidence":{"modeBound":true,"claimBound":true,"routeBound":true,"witnessMode":"observe","witnessRoute":"/dj","currentSourceSha":"7741265580fd56a43e5e5f07fc97385f07b33039","witnessSourceSha":"7741265580fd56a43e5e5f07fc97385f07b33039","verificationState":null,"witnessRequestContractHash":"70d0cdef18feacb348a1af7a1f1c708d53a706dbbcfa2e2871e86f6469265a60"},"required":true,"satisfied":false}],"validationErrors":[],"pendingProofKinds":["visual"],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T19:59:40.575684+00:00","proof_gate":"request_contract_pending","source_sha":"7741265580fd56a43e5e5f07fc97385f07b33039","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:aa1ae150-5687-45d8-a79a-e385379c6dfc:request-contract:70d0cdef18feacb348a1af7a1f1c708d53a706dbbcfa2e2871e86f6469265a60:7741265580fd56a43e5e5f07fc97385f07b33039:pending:visual","mission_step_id":"673bbbea-02f1-4a22-b126-2f36716d16c7","command_center_event_id":"aa1ae150-5687-45d8-a79a-e385379c6dfc"},{"id":"1b4fccce-1911-43ed-896f-4de0b06b223d","source":"cc-execution","status":"pending","payload":{"ok":true,"jobId":"839108dc-be3f-4001-bbc2-0b75b230cabd","phase":"universal_visual_witness_supervised","branch":"ai/objective-first-repair-aa1ae1505687","reason":null,"status":"pending","metrics":{"receiptBytes":29955,"releaseCount":0,"toolCallCount":20,"repeatedCallCount":11,"executorlessWaitMs":372508,"firstUsefulResultAt":"2026-09-27T19:53:28.049Z","recoveryAttemptCount":6,"ownerInterruptionCount":0},"version":null,"prNumber":3897,"terminal":false,"missionId":"aa1ae150-5687-45d8-a79a-e385379c6dfc","operation":"visual_proof_started","proofGate":"universal_visual_witness_pending","sourceSha":"7741265580fd56a43e5e5f07fc97385f07b33039","timingsMs":{"queue":301,"total":325,"execution":24},"nextAction":"Execution is pending; poll inspect_route_status only when fresh progress is expected, or cancel with inspect_route_cancel.","receiptRef":{"mode":"full","missionId":"aa1ae150-5687-45d8-a79a-e385379c6dfc"},"performance":null,"deploymentId":"forgejo-main-7741265580fd","releaseState":"verified","visualWitness":{"role":"GodMode","jobId":"839108dc-be3f-4001-bbc2-0b75b230cabd","tenant":null,"runnerUrl":"https://paul-witness.knocklaunch.app","runnerLane":"paul","attemptsUsed":0,"supervisorId":"839108dc-be3f-4001-bbc2-0b75b230cabd","failureReason":null,"observedRoute":null,"runnerVersion":null,"attemptLineage":[],"missionOutcome":null,"requestedRoute":"/dj","runnerSourceSha":null,"selectedViewports":["desktop","mobile"],"checkpointAccounting":null,"correctiveGeneration":0,"restartReplayHistory":[]},"workflowRunId":12269,"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":1748,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T19:59:50.03161+00:00","proof_gate":"post_release_visual_proof_started","source_sha":"7741265580fd56a43e5e5f07fc97385f07b33039","external_id":"839108dc-be3f-4001-bbc2-0b75b230cabd","receipt_type":"visual_proof_started","idempotency_key":"mission:aa1ae150-5687-45d8-a79a-e385379c6dfc:visual-start:839108dc-be3f-4001-bbc2-0b75b230cabd","mission_step_id":"ab2e471b-eb2c-4dc9-bf91-a308468cfb55","command_center_event_id":"aa1ae150-5687-45d8-a79a-e385379c6dfc"},{"id":"7be6858c-6dc9-4cf7-8aac-eefee2f9dd11","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in visual proof.","nextAction":{"lane":"onrunner","action":"verify_visual","reason":"release_verified_existing_visual_job_pending_reconciliation","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"visual_proof\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"release_reconciliation_pending\",\"proofGate\":\"canonical_release_reconciliation_pending\"},\"activeStep\":{\"key\":\"pull_request\",\"status\":\"waiting\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"release\",\"status\":\"waiting\",\"lane\":\"production-release-conductor\"},\"nextSafeAction\":{\"action\":\"verify_visual\",\"lane\":\"onrunner\",\"reason\":\"release_verified_existing_visual_job_pending_reconciliation\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"verify_visual\",\"recoveryOwner\":\"onrunner\"},\"acceptance\":{\"total\":2,\"verified\":1,\"pending\":1,\"percent\":50,\"satisfied\":false,\"verifiedIds\":[\"runtime\"],\"pendingIds\":[\"visual\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"visual_proof\",\"deadlineAt\":\"2026-09-27T23:53:26.37253+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-aa1ae1505687\",\"prNumber\":3897,\"sourceSha\":\"7741265580fd56a43e5e5f07fc97385f07b33039\",\"deploymentId\":\"forgejo-main-7741265580fd\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:00:30.667011+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:aa1ae150-5687-45d8-a79a-e385379c6dfc:owner-progress-heartbeat:119369282","mission_step_id":"46573166-ad91-4aa5-aaa2-5250588bc92b","command_center_event_id":"aa1ae150-5687-45d8-a79a-e385379c6dfc"},{"id":"11573a08-75e8-4b31-8af5-c7197635d613","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.293-scheduler-v2","prNumber":null,"terminal":false,"missionId":"47ff2c1c-f054-4fec-88a3-ea2f282cbcad","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1119,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":377,"providerAuthMs":0,"ledgerPrepareMs":377,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":377,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":377,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Supply exact sourceTargets on the same mission; planner guesses cannot replace missing mission scope.","receiptRef":{"mode":"full","missionId":"47ff2c1c-f054-4fec-88a3-ea2f282cbcad"},"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-27T20:16:46.076649+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:47ff2c1c-f054-4fec-88a3-ea2f282cbcad:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"a002b2d3-2e5a-4b76-b7ad-6e68177b194d","command_center_event_id":"47ff2c1c-f054-4fec-88a3-ea2f282cbcad"},{"id":"4452ee0a-806c-4ca1-98bc-bbf0c0bcc310","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":"fda95018-9827-4fa7-9690-c38e787c9220","phase":"visual_proof","branch":"ai/objective-first-repair-aa1ae1505687","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":52112,"releaseCount":0,"toolCallCount":32,"repeatedCallCount":17,"executorlessWaitMs":469201,"firstUsefulResultAt":"2026-09-27T19:53:28.049Z","recoveryAttemptCount":7,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":3897,"terminal":false,"missionId":"aa1ae150-5687-45d8-a79a-e385379c6dfc","operation":"execute_mission","proofGate":"canonical_release_reconciliation_pending","sourceSha":"7741265580fd56a43e5e5f07fc97385f07b33039","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1290,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":101,"approvedPlanMs":0,"missionSetupMs":266,"providerAuthMs":0,"shipAndProveMs":630,"ledgerPrepareMs":266,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":266,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":266,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"aa1ae150-5687-45d8-a79a-e385379c6dfc"},"performance":null,"deploymentId":"forgejo-main-7741265580fd","releaseState":"verified","visualWitness":{"role":null,"jobId":"fda95018-9827-4fa7-9690-c38e787c9220","tenant":null,"runnerUrl":null,"runnerLane":null,"attemptsUsed":null,"supervisorId":null,"failureReason":null,"observedRoute":null,"runnerVersion":null,"attemptLineage":[],"missionOutcome":null,"requestedRoute":null,"runnerSourceSha":null,"selectedViewports":[],"checkpointAccounting":null,"correctiveGeneration":0,"restartReplayHistory":[]},"workflowRunId":12269,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["visual"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2752,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:00:04.473371+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":"7741265580fd56a43e5e5f07fc97385f07b33039","external_id":"forgejo-main-7741265580fd","receipt_type":"execute_mission","idempotency_key":"mission:aa1ae150-5687-45d8-a79a-e385379c6dfc:execute_mission:canonical_release_reconciliation_pending:current-generation","mission_step_id":"55ff4aaa-9232-4870-aa0b-8932bd10a2e3","command_center_event_id":"aa1ae150-5687-45d8-a79a-e385379c6dfc"},{"id":"060e924d-ec54-403e-b3f7-b04fb7c1ce06","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-aa1ae1505687","prNumber":3897,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"7741265580fd56a43e5e5f07fc97385f07b33039","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T19:58:55.389348+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"7741265580fd56a43e5e5f07fc97385f07b33039","external_id":"3897","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:aa1ae150-5687-45d8-a79a-e385379c6dfc:merged-pr:3897:7741265580fd56a43e5e5f07fc97385f07b33039","mission_step_id":"55ff4aaa-9232-4870-aa0b-8932bd10a2e3","command_center_event_id":"aa1ae150-5687-45d8-a79a-e385379c6dfc"},{"id":"f8d47f6c-cb9b-4893-8956-9fd52bfd72af","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.293-scheduler-v2","prNumber":null,"terminal":false,"missionId":"d15fc5e1-88e8-4f5a-a587-029d455f9981","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1246,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":481,"providerAuthMs":0,"ledgerPrepareMs":481,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":481,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":481,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Supply exact sourceTargets on the same mission; planner guesses cannot replace missing mission scope.","receiptRef":{"mode":"full","missionId":"d15fc5e1-88e8-4f5a-a587-029d455f9981"},"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-27T20:11:02.690904+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:d15fc5e1-88e8-4f5a-a587-029d455f9981:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"4b34b75e-37fd-4790-bcc0-85fe9a1b2a2a","command_center_event_id":"d15fc5e1-88e8-4f5a-a587-029d455f9981"},{"id":"68006cca-5764-481e-8d1e-6c2417473b06","source":"cc-execution","status":"pending","payload":{"ok":true,"jobId":"fda95018-9827-4fa7-9690-c38e787c9220","phase":"universal_visual_witness_supervised","branch":"ai/objective-first-repair-aa1ae1505687","reason":null,"status":"pending","metrics":{"receiptBytes":49996,"releaseCount":0,"toolCallCount":31,"repeatedCallCount":17,"executorlessWaitMs":459844,"firstUsefulResultAt":"2026-09-27T19:53:28.049Z","recoveryAttemptCount":7,"ownerInterruptionCount":0},"version":null,"prNumber":3897,"terminal":false,"missionId":"aa1ae150-5687-45d8-a79a-e385379c6dfc","operation":"visual_proof_started","proofGate":"universal_visual_witness_pending","sourceSha":"7741265580fd56a43e5e5f07fc97385f07b33039","timingsMs":{"queue":236,"total":259,"execution":23},"nextAction":"Execution is pending; poll inspect_route_status only when fresh progress is expected, or cancel with inspect_route_cancel.","receiptRef":{"mode":"full","missionId":"aa1ae150-5687-45d8-a79a-e385379c6dfc"},"performance":null,"deploymentId":"forgejo-main-7741265580fd","releaseState":"verified","visualWitness":{"role":"GodMode","jobId":"fda95018-9827-4fa7-9690-c38e787c9220","tenant":null,"runnerUrl":"https://paul-witness.knocklaunch.app","runnerLane":"paul","attemptsUsed":0,"supervisorId":"fda95018-9827-4fa7-9690-c38e787c9220","failureReason":null,"observedRoute":null,"runnerVersion":null,"attemptLineage":[],"missionOutcome":null,"requestedRoute":"/dj","runnerSourceSha":null,"selectedViewports":["desktop","mobile"],"checkpointAccounting":null,"correctiveGeneration":0,"restartReplayHistory":[]},"workflowRunId":12269,"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":1748,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:01:17.273949+00:00","proof_gate":"post_release_visual_proof_started","source_sha":"7741265580fd56a43e5e5f07fc97385f07b33039","external_id":"fda95018-9827-4fa7-9690-c38e787c9220","receipt_type":"visual_proof_started","idempotency_key":"mission:aa1ae150-5687-45d8-a79a-e385379c6dfc:visual-start:fda95018-9827-4fa7-9690-c38e787c9220","mission_step_id":"ab2e471b-eb2c-4dc9-bf91-a308468cfb55","command_center_event_id":"aa1ae150-5687-45d8-a79a-e385379c6dfc"},{"id":"6cbb517d-f6f7-430b-bc36-b903148ac466","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in visual proof.","nextAction":{"lane":"onrunner","action":"verify_visual","reason":"release_verified_existing_visual_job_pending_reconciliation","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"visual_proof\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"visual_proof_started\",\"status\":\"pending\",\"proofGate\":\"post_release_visual_proof_started\"},\"activeStep\":{\"key\":\"pull_request\",\"status\":\"waiting\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"release\",\"status\":\"waiting\",\"lane\":\"production-release-conductor\"},\"nextSafeAction\":{\"action\":\"verify_visual\",\"lane\":\"onrunner\",\"reason\":\"release_verified_existing_visual_job_pending_reconciliation\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"verify_visual\",\"recoveryOwner\":\"onrunner\"},\"acceptance\":{\"total\":2,\"verified\":1,\"pending\":1,\"percent\":50,\"satisfied\":false,\"verifiedIds\":[\"runtime\"],\"pendingIds\":[\"visual\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"visual_proof\",\"deadlineAt\":\"2026-09-27T23:53:26.37253+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-aa1ae1505687\",\"prNumber\":3897,\"sourceSha\":\"7741265580fd56a43e5e5f07fc97385f07b33039\",\"deploymentId\":\"forgejo-main-7741265580fd\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:02:10.754694+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:aa1ae150-5687-45d8-a79a-e385379c6dfc:owner-progress-heartbeat:119369288","mission_step_id":"46573166-ad91-4aa5-aaa2-5250588bc92b","command_center_event_id":"aa1ae150-5687-45d8-a79a-e385379c6dfc"},{"id":"67b0a65b-615e-4e0e-8168-970d25d01ee5","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-d15fc5e188e8","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":19331,"releaseCount":0,"toolCallCount":5,"repeatedCallCount":2,"executorlessWaitMs":721403,"firstUsefulResultAt":"2026-09-27T20:11:02.657Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":3898,"terminal":false,"missionId":"d15fc5e1-88e8-4f5a-a587-029d455f9981","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3459,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":573,"missionSetupMs":248,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":248,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":248,"repositoryMutationMs":2886,"repositoryProviderMs":2886,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":1885,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":248,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1001},"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":"d15fc5e1-88e8-4f5a-a587-029d455f9981"},"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":3306,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:23:08.438311+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3898","receipt_type":"execute_mission","idempotency_key":"mission:d15fc5e1-88e8-4f5a-a587-029d455f9981:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"297eaf1a-cf70-49b5-84d6-cc0e41b5f5a3","command_center_event_id":"d15fc5e1-88e8-4f5a-a587-029d455f9981"},{"id":"55063a8f-8fe3-4823-aac8-ce97589b38ab","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-d15fc5e188e8","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":5437,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":1,"executorlessWaitMs":332007,"firstUsefulResultAt":"2026-09-27T20:11:02.657Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":null,"terminal":false,"missionId":"d15fc5e1-88e8-4f5a-a587-029d455f9981","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1516,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":371,"providerAuthMs":0,"ledgerPrepareMs":371,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":371,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":371,"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":"d15fc5e1-88e8-4f5a-a587-029d455f9981"},"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":3610,"likelyAffectedFiles":["src/pages/admin/GodModeCommandConsole.tsx","src/__tests__/contracts/console-live-witness-control-room.contract.test.ts"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:11:40.182972+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:d15fc5e1-88e8-4f5a-a587-029d455f9981:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"4b34b75e-37fd-4790-bcc0-85fe9a1b2a2a","command_center_event_id":"d15fc5e1-88e8-4f5a-a587-029d455f9981"},{"id":"e2842645-68c6-4ecd-87c6-c54912833617","source":"cc-execution","status":"waiting","payload":{"body":{"body":"Prevents sticky Witness Mode from hijacking normal chat, bypasses tenant alias resolution for conversational turns, binds last-run questions to witness history, and forbids silent /admin/console fallback. Adds focused regression coverage.","ship":true,"files":[],"title":"Fix Console Sidekick witness intent and follow-up routing","branch":"ai/objective-first-repair-d15fc5e188e8","writes":[],"patches":[],"version":1,"approved":true,"missionId":"d15fc5e1-88e8-4f5a-a587-029d455f9981","repository":"noel/KnockLaunchOS","commitMessage":"fix(console): separate witness display from chat intent","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/pages/admin/GodModeCommandConsole.tsx","src/__tests__/contracts/console-live-witness-control-room.contract.test.ts"],"anchored_edits":[{"path":"src/pages/admin/GodModeCommandConsole.tsx","new_content":"function isWitnessRequest(value: string) {\n  const text = String(value || '').toLowerCase();\n  const direct = /\\b(witness|visually|visual proof|screenshot|screen capture|capture|render|mobile view|desktop view|compare live|compare candidate)\\b/i.test(text);\n  const verb = /\\b(analyz\\w*|analys\\w*|inspect|review|look at|take a look|tell me what you see|what do you see|show me|check out|watch|verify)\\b/i.test(text);\n  const surface = /\\b(dashboard|page|screen|layout|route|workspace|website|site|app|application|mode|inventory|calendar|proposal|event|back office|form|viewer)\\b/i.test(text);\n  return direct || (verb && surface);\n}\n\nfunction isLastRunFollowup(value: string) {\n  const text = String(value || '').trim().toLowerCase();\n  return /\\b(?:what happened (?:on|with|during) )?(?:the )?(?:last|latest|previous|most recent) (?:witness )?run\\b/.test(text)\n    || /\\b(?:status|result|results|evidence|errors?|issues?) (?:from|of|on) (?:the )?(?:last|latest|previous|most recent) (?:witness )?run\\b/.test(text);\n}\n\nfunction extractInternalRoute(value: string) {","old_content":"function isWitnessRequest(value: string) {\n  const text = String(value || '').toLowerCase();\n  const direct = /\\b(witness|visually|visual proof|screenshot|screen capture|capture|render|mobile view|desktop view|compare live|compare candidate)\\b/i.test(text);\n  const verb = /\\b(analyz\\w*|analys\\w*|inspect|review|look at|take a look|tell me what you see|what do you see|show me|check out|watch|verify)\\b/i.test(text);\n  const surface = /\\b(dashboard|page|screen|layout|route|workspace|website|site|app|application|mode|inventory|calendar|proposal|event|back office|form|viewer)\\b/i.test(text);\n  return direct || (verb && surface);\n}\n\nfunction extractInternalRoute(value: string) {"},{"path":"src/pages/admin/GodModeCommandConsole.tsx","new_content":"    if (!wantsWitness) {\n      setResolverTrace({ status: 'idle' });\n      return {\n        route: String(operatorContext.route || ''),\n        tenantRef: String(operatorContext.tenantRef || ''),\n        tenant: null,\n        confidence: 1,\n        ambiguous: false,\n      };\n    }\n\n    setResolverTrace({ status: 'resolving', query: text });\n    const rpc = await (supabase as any).rpc('resolve_console_tenant_context', { _tenant_ref: text });","old_content":"    setResolverTrace({ status: 'resolving', query: text });\n    const rpc = await (supabase as any).rpc('resolve_console_tenant_context', { _tenant_ref: text });"},{"path":"src/pages/admin/GodModeCommandConsole.tsx","new_content":"    const explicitRoute = extractInternalRoute(text);\n    const wantsWitness = Boolean(explicitRoute) || isWitnessRequest(text);\n    setConsoleError(null);\n    setMessages((prev) => [...prev, { id: crypto.randomUUID(), role: 'user', content: text }]);\n    setSending(true);\n\n    try {\n      if (isLastRunFollowup(text)) {\n        const activity = await consoleFetch('/__knocklaunch/console/witness/activity', { method: 'GET' });\n        const activityRuns = [activity?.active, ...(Array.isArray(activity?.runs) ? activity.runs : [])].filter(Boolean);\n        const rememberedRun = lastReceipt?.run || lastReceipt;\n        const run = activityRuns[0] || (rememberedRun && typeof rememberedRun === 'object' ? rememberedRun : null);\n        if (!run) {\n          setResolverTrace({ status: 'idle' });\n          const assistantMessage = 'There is no witness run in this session yet.';\n          setMessages((prev) => [...prev, { id: crypto.randomUUID(), role: 'assistant', content: assistantMessage }]);\n          await persistConsoleTurn({\n            userMessage: text,\n            assistantMessage,\n            contextTenantId: String(activeTenant?.id || '') || null,\n            route: String(operatorContext.route || ''),\n            tenantRef: String(operatorContext.tenantRef || ''),\n            context: { consoleSurface: 'sidekick-v3-session-history', followup: 'last_witness_run' },\n            witness: {},\n          });\n          return;\n        }\n\n        const observation = formatWitnessObservation(run);\n        const route = String(observation.route || operatorContext.route || '');\n        const viewport = String(run?.currentViewport || (operatorContext.viewports || ['desktop'])[0] || 'desktop');\n        const status = String(run?.status || run?.phase || (run?.terminal ? 'complete' : 'running')).replaceAll('_', ' ');\n        const issueDetails = [\n          ...(Array.isArray(observation.issues) ? observation.issues : []),\n          ...(Array.isArray(observation.consoleErrors) ? observation.consoleErrors : []),\n          ...(Array.isArray(observation.failedRequests) ? observation.failedRequests : []),\n        ].map((item) => typeof item === 'string' ? item : JSON.stringify(item)).filter(Boolean).slice(0, 3);\n        const evidenceSummary = observation.visibleText || observation.headings.length\n          ? fallbackWitnessSummary(observation)\n          : 'No accepted page observation text was captured for that run.';\n        const assistantMessage = [\n          `Last witness run: ${route || 'route unavailable'} · ${viewport} · ${status}.`,\n          evidenceSummary,\n          issueDetails.length ? `Issues: ${issueDetails.join(' | ')}` : '',\n        ].filter(Boolean).join(' ');\n        setResolverTrace({\n          status: 'resolved',\n          query: text,\n          tenantRef: String(operatorContext.tenantRef || ''),\n          confidence: 1,\n          matchKind: 'last_witness_run',\n          route,\n        });\n        setLastReceipt(run);\n        setMessages((prev) => [...prev, { id: crypto.randomUUID(), role: 'assistant', content: assistantMessage }]);\n        await persistConsoleTurn({\n          userMessage: text,\n          assistantMessage,\n          contextTenantId: String(activeTenant?.id || '') || null,\n          route,\n          tenantRef: String(operatorContext.tenantRef || ''),\n          context: { consoleSurface: 'sidekick-v3-session-history', followup: 'last_witness_run' },\n          witness: {\n            runId: String(run?.id || run?.supervisorId || run?.jobId || ''),\n            status: String(run?.status || ''),\n            phase: String(run?.phase || ''),\n            currentRoute: route,\n            runnerLane: String(run?.runnerLane || run?.runtimeLane || ''),\n          },\n        });\n        return;\n      }\n\n      const inferred = await resolveConsoleTarget(text, wantsWitness);","old_content":"    const wantsWitness = witnessMode || isWitnessRequest(text);\n    setConsoleError(null);\n    setMessages((prev) => [...prev, { id: crypto.randomUUID(), role: 'user', content: text }]);\n    setSending(true);\n\n    try {\n      const inferred = await resolveConsoleTarget(text, wantsWitness);"},{"path":"src/pages/admin/GodModeCommandConsole.tsx","new_content":"      const executionMessage = wantsWitness && inferredRoute\n        ? `${text}\\n\\nAuthoritative Console resolution: tenant=${inferredTenantRef || 'current'}, route=${inferredRoute}. The Witness was dispatched to this exact route. Do not ask the owner to choose a page. Report on this target only.${observationText}`\n        : wantsWitness\n          ? `${text}\\n\\nNo authoritative Witness target resolved. Ask one concise clarification only if materially different page targets remain plausible. Do not silently substitute /admin/console.`\n          : `${text}\\n\\nThis is a normal Sidekick conversation turn. Do not start, claim, or imply a visual inspection. Existing route/session context is background only unless the user explicitly asks to inspect, show, witness, navigate, capture, or visually verify something.`;","old_content":"      const executionMessage = inferredRoute\n        ? `${text}\\n\\nAuthoritative Console resolution: tenant=${inferredTenantRef || 'current'}, route=${inferredRoute}. The Witness was dispatched to this exact route. Do not ask the owner to choose a page. Report on this target only.${observationText}`\n        : `${text}\\n\\nInfer obvious owner context before clarifying. Ask only when materially different targets remain plausible.`;"},{"path":"src/pages/admin/GodModeCommandConsole.tsx","new_content":"      if (wantsWitness || receipt) {\n        setWitnessMode(true);","old_content":"      if (wantsWitness || receipt || nextContext.route) {\n        setWitnessMode(true);"},{"path":"src/__tests__/contracts/console-live-witness-control-room.contract.test.ts","new_content":"  it('requires GodMode authorization on witness activity/comment endpoints', () => {\n    const witness = read('scripts/visual-witness-hosted-runner/src/universal-witness.mjs');\n    expect(witness).toContain(\"url.pathname === '/console/activity'\");\n    expect(witness).toContain(\"url.pathname === '/console/comment'\");\n    expect(witness).toContain('requireConsoleGodMode');\n    expect(witness).toContain('isAuthorizedGodModeUserId');\n  });\n\n  it('keeps witness display state separate from chat intent and binds last-run follow-ups to witness history', () => {\n    const shell = read('src/pages/admin/GodModeCommandConsole.tsx');\n    expect(shell).toContain('const wantsWitness = Boolean(explicitRoute) || isWitnessRequest(text);');\n    expect(shell).not.toContain('witnessMode || isWitnessRequest(text)');\n    expect(shell).toContain('if (!wantsWitness)');\n    expect(shell).toContain('isLastRunFollowup(text)');\n    expect(shell).toContain(\"matchKind: 'last_witness_run'\");\n    expect(shell).toContain('Do not silently substitute /admin/console.');\n    expect(shell).toContain('This is a normal Sidekick conversation turn.');\n  });\n});","old_content":"  it('requires GodMode authorization on witness activity/comment endpoints', () => {\n    const witness = read('scripts/visual-witness-hosted-runner/src/universal-witness.mjs');\n    expect(witness).toContain(\"url.pathname === '/console/activity'\");\n    expect(witness).toContain(\"url.pathname === '/console/comment'\");\n    expect(witness).toContain('requireConsoleGodMode');\n    expect(witness).toContain('isAuthorizedGodModeUserId');\n  });\n});"}],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"d15fc5e1-88e8-4f5a-a587-029d455f9981","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/pages/admin/GodModeCommandConsole.tsx","src/__tests__/contracts/console-live-witness-control-room.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":"848a4ffdbb7c6ec399fed714682cccee76f4634ce94852a9a84abf3d679ee697","replayCount":0,"serializedBytes":11791},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:23:04.103209+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:d15fc5e1-88e8-4f5a-a587-029d455f9981:repository-mutation-intent:848a4ffdbb7c6ec399fed714682cccee76f4634ce94852a9a84abf3d679ee697:0","mission_step_id":"297eaf1a-cf70-49b5-84d6-cc0e41b5f5a3","command_center_event_id":"d15fc5e1-88e8-4f5a-a587-029d455f9981"},{"id":"cbbc4de5-2f98-4905-a926-e5405f65f881","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-3bd6deb207c2","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":null,"recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":null,"terminal":false,"missionId":"3bd6deb2-07c2-44f3-a32b-54074f260b25","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1213,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":398,"providerAuthMs":0,"ledgerPrepareMs":398,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":398,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":398,"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":"3bd6deb2-07c2-44f3-a32b-54074f260b25"},"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":4618,"likelyAffectedFiles":["src/shells/TenantModesShell.tsx"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:23:19.929046+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:3bd6deb2-07c2-44f3-a32b-54074f260b25:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"2b893bb4-7e4a-4bc4-a101-124bfa06a604","command_center_event_id":"3bd6deb2-07c2-44f3-a32b-54074f260b25"},{"id":"ebc2bd79-f9a5-46f4-bac1-39737c1500ae","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-3bd6deb207c2","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":36017,"releaseCount":0,"toolCallCount":6,"repeatedCallCount":2,"executorlessWaitMs":118476,"firstUsefulResultAt":"2026-09-27T20:23:19.909Z","recoveryAttemptCount":3,"ownerInterruptionCount":0},"version":null,"prNumber":3899,"terminal":false,"missionId":"3bd6deb2-07c2-44f3-a32b-54074f260b25","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":5458,"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":"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":819,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:24:32.167545+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"3899","receipt_type":"automatic_mission_resume","idempotency_key":"mission:3bd6deb2-07c2-44f3-a32b-54074f260b25:automatic-mission-resume:3899:repair_mission_pr_ready_retryable","mission_step_id":"3ee773fe-0177-4c53-b060-e36d03cc407d","command_center_event_id":"3bd6deb2-07c2-44f3-a32b-54074f260b25"},{"id":"b4f2b9d4-1e73-43e0-926c-bd71a9bbfebd","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-d15fc5e188e8","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":26144,"releaseCount":0,"toolCallCount":9,"repeatedCallCount":4,"executorlessWaitMs":789729,"firstUsefulResultAt":"2026-09-27T20:11:02.657Z","recoveryAttemptCount":3,"ownerInterruptionCount":0},"version":null,"prNumber":3898,"terminal":false,"missionId":"d15fc5e1-88e8-4f5a-a587-029d455f9981","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":5449,"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":"d15fc5e1-88e8-4f5a-a587-029d455f9981"},"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-27T20:23:15.802589+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"3898","receipt_type":"automatic_mission_resume","idempotency_key":"mission:d15fc5e1-88e8-4f5a-a587-029d455f9981:automatic-mission-resume:3898:repair_mission_pr_ready_retryable","mission_step_id":"2307069e-bd3b-4c00-87ca-dbea4994d043","command_center_event_id":"d15fc5e1-88e8-4f5a-a587-029d455f9981"},{"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":"25521962-c941-4233-9c52-0eae5a409d5f","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.293-scheduler-v2","prNumber":null,"terminal":false,"missionId":"fb18b85e-1e27-4fce-9830-6d7bcaeb92dd","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1228,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":338,"providerAuthMs":0,"ledgerPrepareMs":338,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":338,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":338,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Supply exact sourceTargets on the same mission; planner guesses cannot replace missing mission scope.","receiptRef":{"mode":"full","missionId":"fb18b85e-1e27-4fce-9830-6d7bcaeb92dd"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"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-27T20:26:23.368739+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:fb18b85e-1e27-4fce-9830-6d7bcaeb92dd:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"3b08825d-ba3e-4ff2-8e6e-2e20b81db22c","command_center_event_id":"fb18b85e-1e27-4fce-9830-6d7bcaeb92dd"},{"id":"7307d73f-8d53-4bcd-a93c-7504d7efdccf","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-fb18b85e1e27","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":3976,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"executorlessWaitMs":35167,"firstUsefulResultAt":"2026-09-27T20:26:23.347Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":null,"terminal":false,"missionId":"fb18b85e-1e27-4fce-9830-6d7bcaeb92dd","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1209,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":270,"providerAuthMs":0,"ledgerPrepareMs":270,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":270,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":270,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Inspect the bounded repository paths, synthesize exact files or anchored_edits, and call /mission/execute again automatically with this same missionId without another owner prompt or workflow switch.","receiptRef":{"mode":"full","missionId":"fb18b85e-1e27-4fce-9830-6d7bcaeb92dd"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3885,"likelyAffectedFiles":["src/components/admin/OperatorSidekick.tsx","src/routes/commandCenterRoutes.tsx","src/PrivateAppShell.tsx"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:26:58.535182+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:fb18b85e-1e27-4fce-9830-6d7bcaeb92dd:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"3b08825d-ba3e-4ff2-8e6e-2e20b81db22c","command_center_event_id":"fb18b85e-1e27-4fce-9830-6d7bcaeb92dd"},{"id":"cd301221-1c27-49bc-9347-2046e37e33c7","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-3bd6deb207c2","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":39572,"releaseCount":0,"toolCallCount":8,"repeatedCallCount":3,"executorlessWaitMs":134722,"firstUsefulResultAt":"2026-09-27T20:23:19.909Z","recoveryAttemptCount":5,"ownerInterruptionCount":0},"version":null,"prNumber":3899,"terminal":false,"missionId":"3bd6deb2-07c2-44f3-a32b-54074f260b25","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"89c7bfdc214c98197179737b611f8ef802b3b877","timingsMs":{"prReadinessMs":453,"approvedPlanMs":0,"shipAndProveMs":2540,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"3bd6deb2-07c2-44f3-a32b-54074f260b25"},"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":1807,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:30:02.037948+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"3899","receipt_type":"automatic_mission_resume","idempotency_key":"mission:3bd6deb2-07c2-44f3-a32b-54074f260b25:automatic-mission-resume:3899:canonical_release_reconciliation_pending","mission_step_id":"3ee773fe-0177-4c53-b060-e36d03cc407d","command_center_event_id":"3bd6deb2-07c2-44f3-a32b-54074f260b25"},{"id":"c05997f3-e7a5-4af2-97c5-2f7d71b970cf","source":"cc-execution","status":"pending","payload":{"ok":true,"jobId":"f9a2483e-c7d6-4b3c-919e-aa56078a52b4","phase":"universal_visual_witness_supervised","branch":"ai/objective-first-repair-3bd6deb207c2","reason":null,"status":"pending","metrics":{"receiptBytes":58738,"releaseCount":0,"toolCallCount":24,"repeatedCallCount":13,"executorlessWaitMs":461299,"firstUsefulResultAt":"2026-09-27T20:23:19.909Z","recoveryAttemptCount":5,"ownerInterruptionCount":0},"version":null,"prNumber":3899,"terminal":false,"missionId":"3bd6deb2-07c2-44f3-a32b-54074f260b25","operation":"visual_proof_started","proofGate":"universal_visual_witness_pending","sourceSha":"89c7bfdc214c98197179737b611f8ef802b3b877","timingsMs":{"queue":278,"total":300,"execution":22},"nextAction":"Execution is pending; poll inspect_route_status only when fresh progress is expected, or cancel with inspect_route_cancel.","receiptRef":{"mode":"full","missionId":"3bd6deb2-07c2-44f3-a32b-54074f260b25"},"performance":null,"deploymentId":"forgejo-main-89c7bfdc214c","releaseState":"verified","visualWitness":{"role":"GodMode","jobId":"f9a2483e-c7d6-4b3c-919e-aa56078a52b4","tenant":null,"runnerUrl":"https://paul-witness.knocklaunch.app","runnerLane":"paul","attemptsUsed":0,"supervisorId":"f9a2483e-c7d6-4b3c-919e-aa56078a52b4","failureReason":null,"observedRoute":null,"runnerVersion":null,"attemptLineage":[],"missionOutcome":null,"requestedRoute":"/dj","runnerSourceSha":null,"selectedViewports":["desktop","mobile"],"checkpointAccounting":null,"correctiveGeneration":0,"restartReplayHistory":[]},"workflowRunId":12274,"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":1748,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:31:11.24514+00:00","proof_gate":"post_release_visual_proof_started","source_sha":"89c7bfdc214c98197179737b611f8ef802b3b877","external_id":"f9a2483e-c7d6-4b3c-919e-aa56078a52b4","receipt_type":"visual_proof_started","idempotency_key":"mission:3bd6deb2-07c2-44f3-a32b-54074f260b25:visual-start:f9a2483e-c7d6-4b3c-919e-aa56078a52b4","mission_step_id":"e223aedb-bb80-4922-b762-489a9b9a995a","command_center_event_id":"3bd6deb2-07c2-44f3-a32b-54074f260b25"},{"id":"840af7c7-fda1-43c8-9491-e0165d130071","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"89c7bfdc214c98197179737b611f8ef802b3b877","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"dj-cockpit-v2","satisfied":false,"statement":"Production /dj is a materially richer growth cockpit with live Creative, Professional, Fanbase and Office operating intelligence plus owner-configurable fan-program settings.","proofConditionIds":["runtime","visual"]}],"satisfied":false,"constraints":[{"id":"no-fake-data","satisfied":false,"statement":"No invented names, fans, gigs, bookings, pricing, revenue, rewards, dates, testimonials or success states.","proofConditionIds":["runtime","visual"]},{"id":"tenant-isolation","satisfied":false,"statement":"The specialized command deck applies only to Entertainment/DJ tenants; all other MODES tenants remain unchanged.","proofConditionIds":["runtime","visual"]},{"id":"fan-program-authority","satisfied":false,"statement":"Loyalty rewards and public capture remain owner-configured. The UI may expose controls but must not silently enable a reward promise.","proofConditionIds":["runtime","visual"]},{"id":"visual-artifact-scope","satisfied":false,"statement":"The visual artifact is the complete /dj DJ Cockpit workspace application. It is not a proposal, flyer, website-only artifact, or mockup; Professional proposal workflow is merely one data signal inside the application.","proofConditionIds":["runtime","visual"]},{"id":"visual-content-truth","satisfied":false,"statement":"Unknown business facts remain empty/configurable; live metrics come only from tenant-scoped data and explicit owner configuration.","proofConditionIds":["runtime","visual"]},{"id":"tenant-visual-isolation","satisfied":false,"statement":"The DJ Cockpit must not import another tenant's identity, customer data, prices, imagery, or copy; only shared platform primitives may be reused.","proofConditionIds":["runtime","visual"]},{"id":"visual-viewport-authority","satisfied":false,"statement":"Acceptance requires both desktop and mobile /dj because this is an owner cockpit used across devices; neither viewport may be substituted for the other.","proofConditionIds":["visual"]},{"id":"reference-visual-fidelity","satisfied":false,"statement":"No external visual reference was supplied; acceptance is governed by the explicit DJ Cockpit information hierarchy, functionality, tenant isolation, and current KNOCKLAUNCH visual standards.","proofConditionIds":["visual"]},{"id":"responsive-visual-continuity","satisfied":false,"statement":"Desktop and mobile may reflow but must preserve the same cockpit hierarchy, functionality, live data meaning, and DJ design language.","proofConditionIds":["visual"]},{"id":"reference-visual-authority","satisfied":false,"statement":"No external reference image is authoritative. Source implementation, production release, and claim-matched desktop/mobile evidence at /dj are authoritative.","proofConditionIds":["visual"]},{"id":"capability-completeness","satisfied":true,"statement":"Wire and prove frontend, backend/runtime, tenant data, authorization, prerequisite/empty/error states, release ownership and live production behavior for the changed cockpit capability.","proofConditionIds":["runtime"]},{"id":"atomic-capability-lifecycle","satisfied":true,"statement":"Changed capabilities do not count as active until required dependencies, affected-target release, and claim-matched production proof are satisfied.","proofConditionIds":["runtime"]}],"contractHash":"62541d5649fd98f703aab38c31ce8c2df7e55fcb9f745106b72aa686a3a790a3","releaseBound":true,"witnessBound":false,"visualRequested":true,"visualSatisfied":false,"conditionResults":[{"id":"runtime","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"frontend":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["frontend"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"62541d5649fd98f703aab38c31ce8c2df7e55fcb9f745106b72aa686a3a790a3"},"required":true,"satisfied":true},{"id":"visual","kind":"visual","evidence":{"modeBound":true,"claimBound":true,"routeBound":true,"witnessMode":"observe","witnessRoute":"/dj","currentSourceSha":"89c7bfdc214c98197179737b611f8ef802b3b877","witnessSourceSha":"89c7bfdc214c98197179737b611f8ef802b3b877","verificationState":null,"witnessRequestContractHash":"62541d5649fd98f703aab38c31ce8c2df7e55fcb9f745106b72aa686a3a790a3"},"required":true,"satisfied":false}],"validationErrors":[],"pendingProofKinds":["visual"],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:31:01.258766+00:00","proof_gate":"request_contract_pending","source_sha":"89c7bfdc214c98197179737b611f8ef802b3b877","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:3bd6deb2-07c2-44f3-a32b-54074f260b25:request-contract:62541d5649fd98f703aab38c31ce8c2df7e55fcb9f745106b72aa686a3a790a3:89c7bfdc214c98197179737b611f8ef802b3b877:pending:visual","mission_step_id":"64d7ddb0-2863-4999-ac47-ca4cab7eacd3","command_center_event_id":"3bd6deb2-07c2-44f3-a32b-54074f260b25"},{"id":"8a599f57-0bda-4e44-943b-aa231cf9d400","source":"onrunner","status":"verified","payload":{"ok":true,"jobId":"f9a2483e-c7d6-4b3c-919e-aa56078a52b4","phase":"universal_visual_witness_status","branch":"ai/objective-first-repair-3bd6deb207c2","reason":null,"status":"verification_pending","metrics":{"receiptBytes":66032,"releaseCount":0,"toolCallCount":28,"repeatedCallCount":15,"executorlessWaitMs":545656,"firstUsefulResultAt":"2026-09-27T20:23:19.909Z","recoveryAttemptCount":5,"ownerInterruptionCount":0},"version":null,"prNumber":3899,"terminal":false,"missionId":"3bd6deb2-07c2-44f3-a32b-54074f260b25","operation":"visual_proof_status","proofGate":"interactive_visual_witness_verified","sourceSha":"89c7bfdc214c98197179737b611f8ef802b3b877","timingsMs":{"queue":1283,"total":56462,"execution":55179},"nextAction":null,"receiptRef":{"mode":"full","missionId":"3bd6deb2-07c2-44f3-a32b-54074f260b25"},"performance":null,"deploymentId":"forgejo-main-89c7bfdc214c","releaseState":"verified","visualWitness":{"role":"GodMode","jobId":"f9a2483e-c7d6-4b3c-919e-aa56078a52b4","tenant":null,"runnerUrl":"https://paul-witness.knocklaunch.app","runnerLane":"paul","attemptsUsed":1,"supervisorId":"f9a2483e-c7d6-4b3c-919e-aa56078a52b4","failureReason":null,"observedRoute":"/dj","runnerVersion":"paul-9dc4fd1c93c0","attemptLineage":[{"jobId":"c6af2cde-0028-4839-8856-a91da26e9991","attempt":1,"category":"verified","sourceSha":"9dc4fd1c93c0834eec199a0147375ceaaaba8457","startedAt":"2026-09-27T20:31:11.897Z","completedAt":"2026-09-27T20:32:08.536Z","runtimeLane":"cc-execution -> DigitalOcean PAUL -> universal-witness.mjs","browserEngine":"chromium","failureReason":null,"retryRecovery":null,"runnerVersion":"paul-9dc4fd1c93c0","browserLaunchReason":"virtual_runtime_headless","checkpointAccounting":{"route":{"required":2,"completed":2,"missingIds":[]},"action":{"required":0,"completed":0,"missingIds":[]},"missing":0,"resumed":0,"complete":true,"evidence":{"required":2,"completed":2,"missingIds":[]},"completed":4,"remaining":0,"duplicates":0,"duplicateIds":[],"expectedTotal":4}}],"missionOutcome":"verified","requestedRoute":"/dj","runnerSourceSha":"9dc4fd1c93c0834eec199a0147375ceaaaba8457","selectedViewports":["desktop","mobile"],"checkpointAccounting":{"route":{"required":2,"completed":2,"missingIds":[]},"action":{"required":0,"completed":0,"missingIds":[]},"missing":0,"resumed":0,"complete":true,"evidence":{"required":2,"completed":2,"missingIds":[]},"completed":4,"remaining":0,"duplicates":0,"duplicateIds":[],"expectedTotal":4},"correctiveGeneration":0,"restartReplayHistory":[]},"workflowRunId":12274,"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":21832,"ownerActionRequired":false,"ownerFacingTerminal":false,"requestContractHash":"62541d5649fd98f703aab38c31ce8c2df7e55fcb9f745106b72aa686a3a790a3","continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:32:27.67341+00:00","proof_gate":"interactive_visual_witness_verified","source_sha":"paul-9dc4fd1c93c0","external_id":"f9a2483e-c7d6-4b3c-919e-aa56078a52b4","receipt_type":"visual_proof_status","idempotency_key":"mission:3bd6deb2-07c2-44f3-a32b-54074f260b25:visual:f9a2483e-c7d6-4b3c-919e-aa56078a52b4:verified","mission_step_id":"e223aedb-bb80-4922-b762-489a9b9a995a","command_center_event_id":"3bd6deb2-07c2-44f3-a32b-54074f260b25"},{"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":"56cbd2f1-d017-4135-84b6-957ba814455b","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"89c7bfdc214c98197179737b611f8ef802b3b877","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"89c7bfdc214c98197179737b611f8ef802b3b877","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":"62541d5649fd98f703aab38c31ce8c2df7e55fcb9f745106b72aa686a3a790a3","forgejoWorkflowProof":{"runId":12274,"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-27T20:30:02.918847+00:00","proof_gate":"canonical_release_pending","source_sha":"89c7bfdc214c98197179737b611f8ef802b3b877","external_id":"forgejo-main-89c7bfdc214c","receipt_type":"canonical_release_status","idempotency_key":"mission:3bd6deb2-07c2-44f3-a32b-54074f260b25:forgejo-release-status:89c7bfdc214c98197179737b611f8ef802b3b877:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"0a63fefd-47c9-4ac1-9bb7-f0a813cb5513","command_center_event_id":"3bd6deb2-07c2-44f3-a32b-54074f260b25"},{"id":"76fe0b40-dd7a-49f8-a059-892421745bb2","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in release.","nextAction":{"lane":"production-release-conductor","action":"reconcile_release","reason":"merged_source_requires_release_proof","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"source_lineage_merged_pr_authoritative\",\"status\":\"waiting\",\"proofGate\":\"forgejo_merged_pr_is_authoritative_source_lineage\"},\"activeStep\":{\"key\":\"pull_request\",\"status\":\"waiting\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"release\",\"status\":\"waiting\",\"lane\":\"production-release-conductor\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_release\",\"recoveryOwner\":\"production-release-conductor\"},\"acceptance\":{\"total\":2,\"verified\":0,\"pending\":2,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"runtime\",\"visual\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"release\",\"deadlineAt\":\"2026-09-27T23:23:18.265847+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-3bd6deb207c2\",\"prNumber\":3899,\"sourceSha\":\"89c7bfdc214c98197179737b611f8ef802b3b877\",\"deploymentId\":\"forgejo-main-89c7bfdc214c\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:30:37.746261+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:3bd6deb2-07c2-44f3-a32b-54074f260b25:owner-progress-heartbeat:119369402","mission_step_id":"3ee773fe-0177-4c53-b060-e36d03cc407d","command_center_event_id":"3bd6deb2-07c2-44f3-a32b-54074f260b25"},{"id":"4d9ec874-30ea-4e83-895c-e126d14d7d0e","source":"cc-execution","status":"verified","payload":{"ownerWaitSloMs":{"merge_to_live_ms":75791,"owner_action_to_pr_ms":65164,"green_gate_to_merge_ms":null,"owner_action_to_useful_response_ms":60906},"ownerWaitLiveAt":"2026-09-27T20:31:16.791Z"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:31:17.122908+00:00","proof_gate":"owner_wait_live_milestone_recorded","source_sha":null,"external_id":null,"receipt_type":"owner_wait_live_milestone","idempotency_key":"mission:3bd6deb2-07c2-44f3-a32b-54074f260b25:owner-wait-live","mission_step_id":"64d7ddb0-2863-4999-ac47-ca4cab7eacd3","command_center_event_id":"3bd6deb2-07c2-44f3-a32b-54074f260b25"},{"id":"7edd4cfd-13bc-4f60-8ef0-f64794b58e7f","source":"cc-execution","status":"pending","payload":{"ok":true,"jobId":"f242895c-6610-415d-8173-6c255e1a96b7","phase":"universal_visual_witness_supervised","branch":"ai/objective-first-repair-d15fc5e188e8","reason":null,"status":"pending","metrics":{"receiptBytes":33548,"releaseCount":0,"toolCallCount":14,"repeatedCallCount":5,"executorlessWaitMs":1294584,"firstUsefulResultAt":"2026-09-27T20:11:02.657Z","recoveryAttemptCount":4,"ownerInterruptionCount":0},"version":null,"prNumber":3898,"terminal":false,"missionId":"d15fc5e1-88e8-4f5a-a587-029d455f9981","operation":"visual_proof_started","proofGate":"universal_visual_witness_pending","sourceSha":"89c7bfdc214c98197179737b611f8ef802b3b877","timingsMs":{"queue":200,"total":218,"execution":18},"nextAction":"Execution is pending; poll inspect_route_status only when fresh progress is expected, or cancel with inspect_route_cancel.","receiptRef":{"mode":"full","missionId":"d15fc5e1-88e8-4f5a-a587-029d455f9981"},"performance":null,"deploymentId":"forgejo-main-89c7bfdc214c","releaseState":"verified","visualWitness":{"role":"GodMode","jobId":"f242895c-6610-415d-8173-6c255e1a96b7","tenant":null,"runnerUrl":"https://paul-witness.knocklaunch.app","runnerLane":"paul","attemptsUsed":0,"supervisorId":"f242895c-6610-415d-8173-6c255e1a96b7","failureReason":null,"observedRoute":null,"runnerVersion":null,"attemptLineage":[],"missionOutcome":null,"requestedRoute":"/admin/console","runnerSourceSha":null,"selectedViewports":["desktop"],"checkpointAccounting":null,"correctiveGeneration":0,"restartReplayHistory":[]},"workflowRunId":12274,"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":1750,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:32:46.853477+00:00","proof_gate":"post_release_visual_proof_started","source_sha":"89c7bfdc214c98197179737b611f8ef802b3b877","external_id":"f242895c-6610-415d-8173-6c255e1a96b7","receipt_type":"visual_proof_started","idempotency_key":"mission:d15fc5e1-88e8-4f5a-a587-029d455f9981:visual-start:f242895c-6610-415d-8173-6c255e1a96b7","mission_step_id":"697383ca-4346-4492-9bc0-3051b754aaf2","command_center_event_id":"d15fc5e1-88e8-4f5a-a587-029d455f9981"},{"id":"d6f088c2-2044-4814-8ff7-c3b8fbcd2fd5","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"89c7bfdc214c98197179737b611f8ef802b3b877","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"89c7bfdc214c98197179737b611f8ef802b3b877","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":"62541d5649fd98f703aab38c31ce8c2df7e55fcb9f745106b72aa686a3a790a3","forgejoWorkflowProof":{"runId":12274,"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-27T20:30:59.611272+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"89c7bfdc214c98197179737b611f8ef802b3b877","external_id":"forgejo-main-89c7bfdc214c","receipt_type":"canonical_release_status","idempotency_key":"mission:3bd6deb2-07c2-44f3-a32b-54074f260b25:forgejo-release-status:89c7bfdc214c98197179737b611f8ef802b3b877:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"64d7ddb0-2863-4999-ac47-ca4cab7eacd3","command_center_event_id":"3bd6deb2-07c2-44f3-a32b-54074f260b25"},{"id":"cc087718-571e-42b4-8393-28aaad35729a","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-3bd6deb207c2","prNumber":3899,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"89c7bfdc214c98197179737b611f8ef802b3b877","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:30:14.484519+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"89c7bfdc214c98197179737b611f8ef802b3b877","external_id":"3899","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:3bd6deb2-07c2-44f3-a32b-54074f260b25:merged-pr:3899:89c7bfdc214c98197179737b611f8ef802b3b877","mission_step_id":"0a63fefd-47c9-4ac1-9bb7-f0a813cb5513","command_center_event_id":"3bd6deb2-07c2-44f3-a32b-54074f260b25"},{"id":"a187267d-0bbb-48ad-8779-ff84b1446b74","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-d15fc5e188e8","prNumber":3898,"nextAction":null,"mergeCommitSha":"a67ad570316a0c26f1e29a15a07317637b22d622","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:32:32.744434+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"a67ad570316a0c26f1e29a15a07317637b22d622","external_id":"3898","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:d15fc5e1-88e8-4f5a-a587-029d455f9981:merged-pr:3898:a67ad570316a0c26f1e29a15a07317637b22d622","mission_step_id":"2307069e-bd3b-4c00-87ca-dbea4994d043","command_center_event_id":"d15fc5e1-88e8-4f5a-a587-029d455f9981"},{"id":"fb7aa110-cbbe-488a-ad91-6fcd17b3b7a0","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"89c7bfdc214c98197179737b611f8ef802b3b877","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":false,"statement":"Repair the KNOCKLAUNCH Console Sidekick intent-resolution and witness-session state machine. This is a logic/state-wiring repair, not a visual redesign. Fix deterministic target precedence, normal-chat versus witness intent classification, and last-run follow-up binding on the console.","proofConditionIds":["proof-production","proof-visual"]}],"satisfied":false,"constraints":[{"id":"capability-completeness","satisfied":true,"statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["proof-production"]},{"id":"atomic-capability-lifecycle","satisfied":true,"statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["proof-production"]}],"contractHash":"012f26e6e92777e9792e3d25543c372e94991da766f08ec6f4627c1be07be5c3","releaseBound":true,"witnessBound":false,"visualRequested":true,"visualSatisfied":false,"conditionResults":[{"id":"proof-production","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"frontend":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["frontend"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"012f26e6e92777e9792e3d25543c372e94991da766f08ec6f4627c1be07be5c3"},"required":true,"satisfied":true},{"id":"proof-visual","kind":"visual","evidence":{"modeBound":true,"claimBound":false,"routeBound":false,"witnessMode":null,"witnessRoute":null,"currentSourceSha":"89c7bfdc214c98197179737b611f8ef802b3b877","witnessSourceSha":null,"verificationState":null,"witnessRequestContractHash":null},"required":true,"satisfied":false}],"validationErrors":[],"pendingProofKinds":["visual"],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:32:37.293913+00:00","proof_gate":"request_contract_pending","source_sha":"89c7bfdc214c98197179737b611f8ef802b3b877","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:d15fc5e1-88e8-4f5a-a587-029d455f9981:request-contract:012f26e6e92777e9792e3d25543c372e94991da766f08ec6f4627c1be07be5c3:89c7bfdc214c98197179737b611f8ef802b3b877:pending:visual","mission_step_id":"4e5d8538-cfe8-470c-86fd-c73feed9d219","command_center_event_id":"d15fc5e1-88e8-4f5a-a587-029d455f9981"},{"id":"e75840de-4d91-4975-960c-9e5e8a58fb6f","source":"cc-execution","status":"verified","payload":{"ownerWaitSloMs":{"merge_to_live_ms":414521,"owner_action_to_pr_ms":727346,"green_gate_to_merge_ms":null,"owner_action_to_useful_response_ms":722979},"ownerWaitLiveAt":"2026-09-27T20:32:51.521Z"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:32:51.716149+00:00","proof_gate":"owner_wait_live_milestone_recorded","source_sha":null,"external_id":null,"receipt_type":"owner_wait_live_milestone","idempotency_key":"mission:d15fc5e1-88e8-4f5a-a587-029d455f9981:owner-wait-live","mission_step_id":"4e5d8538-cfe8-470c-86fd-c73feed9d219","command_center_event_id":"d15fc5e1-88e8-4f5a-a587-029d455f9981"},{"id":"50548bfb-632b-47f3-9f07-5ec150185074","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"89c7bfdc214c98197179737b611f8ef802b3b877","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"89c7bfdc214c98197179737b611f8ef802b3b877","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":"012f26e6e92777e9792e3d25543c372e94991da766f08ec6f4627c1be07be5c3","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/12274","runId":12274,"status":"success","sourceSha":"89c7bfdc214c98197179737b611f8ef802b3b877","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-27T20:32:35.976115+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"89c7bfdc214c98197179737b611f8ef802b3b877","external_id":"forgejo-main-89c7bfdc214c","receipt_type":"canonical_release_status","idempotency_key":"mission:d15fc5e1-88e8-4f5a-a587-029d455f9981:forgejo-release-status:89c7bfdc214c98197179737b611f8ef802b3b877:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"4e5d8538-cfe8-470c-86fd-c73feed9d219","command_center_event_id":"d15fc5e1-88e8-4f5a-a587-029d455f9981"},{"id":"83d89019-0059-40f7-ba21-57afcafabf2a","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-7c5c98712deb","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":null,"recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":null,"terminal":false,"missionId":"7c5c9871-2deb-40c3-b03e-6117c611bdac","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1264,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":457,"providerAuthMs":0,"ledgerPrepareMs":457,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":457,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":457,"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":"7c5c9871-2deb-40c3-b03e-6117c611bdac"},"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":4333,"likelyAffectedFiles":["src/components/ui/universal-loading-screen.tsx","src/App.tsx","src/__tests__/contracts/pcg-canonical-route-loading-boundary.contract.test.ts"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:41:05.881313+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:7c5c9871-2deb-40c3-b03e-6117c611bdac:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"23f9a8ce-f560-4cd7-b5b8-e438b28b493e","command_center_event_id":"7c5c9871-2deb-40c3-b03e-6117c611bdac"},{"id":"dea38baf-654e-4f72-b848-e436de22c06d","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-11f79c75dbe6","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":3861,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":1,"executorlessWaitMs":14659,"firstUsefulResultAt":"2026-09-27T20:36:41.242Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":null,"terminal":false,"missionId":"11f79c75-dbe6-4604-9df2-ec3bc3725ed9","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1236,"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":"11f79c75-dbe6-4604-9df2-ec3bc3725ed9"},"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":3684,"likelyAffectedFiles":["scripts/visual-witness-hosted-runner/src/operator-session-broker.mjs","config/owner-context.json","config/capabilities/knocklaunch-console.json"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:36:41.264474+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:11f79c75-dbe6-4604-9df2-ec3bc3725ed9:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"155b7c7d-0fc5-4e04-bba8-f85939271efc","command_center_event_id":"11f79c75-dbe6-4604-9df2-ec3bc3725ed9"},{"id":"694a583e-ec15-4ede-8f3a-464b78c71485","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-11f79c75dbe6","reason":null,"status":"source_resolution_required","metrics":{"receiptBytes":5841,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":2,"executorlessWaitMs":35224,"firstUsefulResultAt":"2026-09-27T20:36:41.242Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":null,"terminal":false,"missionId":"11f79c75-dbe6-4604-9df2-ec3bc3725ed9","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1217,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":272,"providerAuthMs":0,"ledgerPrepareMs":272,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":272,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":272,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Supply exact sourceTargets on the same mission; planner guesses cannot replace missing mission scope.","receiptRef":{"mode":"full","missionId":"11f79c75-dbe6-4604-9df2-ec3bc3725ed9"},"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":1177,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:41:17.162683+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:11f79c75-dbe6-4604-9df2-ec3bc3725ed9:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"155b7c7d-0fc5-4e04-bba8-f85939271efc","command_center_event_id":"11f79c75-dbe6-4604-9df2-ec3bc3725ed9"},{"id":"867fe9c5-1d12-4cfe-80c3-abb8b0a18f64","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-7c5c98712deb","writes":[],"patches":[],"version":1,"approved":true,"missionId":"7c5c9871-2deb-40c3-b03e-6117c611bdac","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/components/ui/universal-loading-screen.tsx","src/App.tsx","src/__tests__/contracts/pcg-canonical-route-loading-boundary.contract.test.ts"],"anchored_edits":[{"path":"src/components/ui/universal-loading-screen.tsx","anchor":"interface UniversalLoadingScreenProps {\n  duration?: number;\n  onComplete?: () => void;\n  title?: string;\n  subtitle?: string;\n  className?: string;\n  showCountdown?: boolean;\n  brandName?: string;\n  logoUrl?: string;\n  backgroundUrl?: string;\n  tenantKey?: string;\n  progress?: number;\n}","replacement":"interface UniversalLoadingScreenProps {\n  duration?: number;\n  onComplete?: () => void;\n  title?: string;\n  subtitle?: string;\n  className?: string;\n  showCountdown?: boolean;\n  brandName?: string;\n  logoUrl?: string;\n  backgroundUrl?: string;\n  tenantKey?: string;\n  progress?: number;\n  coordinated?: boolean;\n}"},{"path":"src/components/ui/universal-loading-screen.tsx","anchor":"export function UniversalLoadingScreen(props: UniversalLoadingScreenProps) {\n  const coordinator = useContext(LoadingCoordinatorContext);\n  const gateId = useId();\n\n  useLayoutEffect(() => {\n    if (!coordinator) return undefined;\n    coordinator.register(gateId, props);\n    return () => coordinator.unregister(gateId);\n  }, [\n    coordinator,\n    gateId,\n    props.className,\n    props.duration,\n    props.onComplete,\n    props.showCountdown,\n    props.subtitle,\n    props.title,\n    props.brandName,\n    props.logoUrl,\n    props.backgroundUrl,\n    props.tenantKey,\n    props.progress,\n  ]);\n\n  if (coordinator) return null;\n  return <UniversalLoadingVisual phaseKey={gateId} {...props} />;\n}","replacement":"export function UniversalLoadingScreen({ coordinated = true, ...props }: UniversalLoadingScreenProps) {\n  const coordinator = useContext(LoadingCoordinatorContext);\n  const gateId = useId();\n\n  useLayoutEffect(() => {\n    if (!coordinator || !coordinated) return undefined;\n    coordinator.register(gateId, props);\n    return () => coordinator.unregister(gateId);\n  }, [\n    coordinated,\n    coordinator,\n    gateId,\n    props.className,\n    props.duration,\n    props.onComplete,\n    props.showCountdown,\n    props.subtitle,\n    props.title,\n    props.brandName,\n    props.logoUrl,\n    props.backgroundUrl,\n    props.tenantKey,\n    props.progress,\n  ]);\n\n  if (coordinator && coordinated) return null;\n  return <UniversalLoadingVisual phaseKey={gateId} {...props} />;\n}"},{"path":"src/App.tsx","anchor":"<UniversalLoadingScreen\n            brandName={!isPublicRoute ? cachedTenantName : undefined}\n            logoUrl={!isPublicRoute ? cachedTenantLogo : undefined}\n            tenantKey={!isPublicRoute ? cachedTenantSlug : undefined}\n            title={isPublicRoute ? \"Loading KNOCKLAUNCH\" : undefined}\n            subtitle={isPublicRoute ? \"Preparing your workspace.\" : undefined}\n          />","replacement":"<UniversalLoadingScreen\n            coordinated={false}\n            brandName={!isPublicRoute ? cachedTenantName : undefined}\n            logoUrl={!isPublicRoute ? cachedTenantLogo : undefined}\n            tenantKey={!isPublicRoute ? cachedTenantSlug : undefined}\n            title={isPublicRoute ? \"Loading KNOCKLAUNCH\" : undefined}\n            subtitle={isPublicRoute ? \"Preparing your workspace.\" : undefined}\n          />"},{"path":"src/__tests__/contracts/pcg-canonical-route-loading-boundary.contract.test.ts","anchor":"  it('keeps PCG code-split while route ownership remains canonical',()=>{\n    const sourcePath=fileURLToPath(new URL('../../PrivateAppShell.tsx',import.meta.url));\n    const source=readFileSync(sourcePath,'utf8');\n    expect(source).toContain(\"const PCGCanonicalWorkspaceRoute=lazyWithRetry(()=>import('./pages/card-grading/PCGCanonicalWorkspaceRoute'));\");\n    expect(source).toContain(\"if(isPcgPrivateWorkspace)return <Suspense fallback={<RouteFallback/>}><PCGCanonicalWorkspaceRoute/></Suspense>;\");\n    expect(source).not.toContain(\"import PCGCanonicalWorkspaceRoute from './pages/card-grading/PCGCanonicalWorkspaceRoute';\");\n  });","replacement":"  it('keeps PCG code-split while route ownership remains canonical',()=>{\n    const sourcePath=fileURLToPath(new URL('../../PrivateAppShell.tsx',import.meta.url));\n    const source=readFileSync(sourcePath,'utf8');\n    expect(source).toContain(\"const PCGCanonicalWorkspaceRoute=lazyWithRetry(()=>import('./pages/card-grading/PCGCanonicalWorkspaceRoute'));\");\n    expect(source).toContain(\"if(isPcgPrivateWorkspace)return <Suspense fallback={<RouteFallback/>}><PCGCanonicalWorkspaceRoute/></Suspense>;\");\n    expect(source).not.toContain(\"import PCGCanonicalWorkspaceRoute from './pages/card-grading/PCGCanonicalWorkspaceRoute';\");\n  });\n\n  it('keeps the root Suspense loader local so revealed tenant workspaces cannot stay covered by the global loader coordinator',()=>{\n    const appPath=fileURLToPath(new URL('../../App.tsx',import.meta.url));\n    const loaderPath=fileURLToPath(new URL('../../components/ui/universal-loading-screen.tsx',import.meta.url));\n    const app=readFileSync(appPath,'utf8');\n    const loader=readFileSync(loaderPath,'utf8');\n    expect(app).toContain('<UniversalLoadingScreen\\n            coordinated={false}');\n    expect(loader).toContain('coordinated?: boolean;');\n    expect(loader).toContain('if (!coordinator || !coordinated) return undefined;');\n    expect(loader).toContain('if (coordinator && coordinated) return null;');\n  });"}],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"7c5c9871-2deb-40c3-b03e-6117c611bdac","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/components/ui/universal-loading-screen.tsx","src/App.tsx","src/__tests__/contracts/pcg-canonical-route-loading-boundary.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":"a1eec5c441e2a188d6cf68caec3b0f776198ad5480e997714faf70e37ae8b6f0","replayCount":0,"serializedBytes":6588},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:41:38.424786+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:7c5c9871-2deb-40c3-b03e-6117c611bdac:repository-mutation-intent:a1eec5c441e2a188d6cf68caec3b0f776198ad5480e997714faf70e37ae8b6f0:0","mission_step_id":"b7cc68dc-e9ff-42a7-b3c3-68366a875129","command_center_event_id":"7c5c9871-2deb-40c3-b03e-6117c611bdac"},{"id":"29615f26-1905-4b49-96bd-893a46557396","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-7c5c98712deb","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":8668,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"executorlessWaitMs":32544,"firstUsefulResultAt":"2026-09-27T20:41:05.846Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":3900,"terminal":false,"missionId":"7c5c9871-2deb-40c3-b03e-6117c611bdac","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3339,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":620,"missionSetupMs":275,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":275,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":275,"repositoryMutationMs":2719,"repositoryProviderMs":2719,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":1749,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":275,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":970},"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":"7c5c9871-2deb-40c3-b03e-6117c611bdac"},"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":3418,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:41:42.539728+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3900","receipt_type":"execute_mission","idempotency_key":"mission:7c5c9871-2deb-40c3-b03e-6117c611bdac:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"b7cc68dc-e9ff-42a7-b3c3-68366a875129","command_center_event_id":"7c5c9871-2deb-40c3-b03e-6117c611bdac"},{"id":"72ca35cc-ab0e-4d33-bc8d-1866de461e4c","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-11f79c75dbe6","writes":[],"patches":[],"version":1,"approved":true,"pr_title":"Console: native AI operator loop","missionId":"11f79c75-dbe6-4604-9df2-ec3bc3725ed9","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/pages/admin/GodModeCommandConsole.tsx","config/capabilities/knocklaunch-console.json","config/owner-context.json","scripts/knocklaunch-console/README.md"],"anchored_edits":[{"path":"src/pages/admin/GodModeCommandConsole.tsx","edits":[{"new_content":"type ConsoleIntentClass = 'conversation' | 'stable_context_read' | 'live_state_read' | 'route_inspection' | 'direct_operation' | 'repository_repair';\ntype ConsoleDecision = { intentClass: ConsoleIntentClass; selectedCommand?: string; selectedCapability?: string; lifecycleState?: string; evidenceSource?: string; missionId?: string; witnessJobId?: string; statusTransitions?: string[] };\ntype ConsoleMessage = { id: string; role: 'user' | 'assistant'; content: string; error?: boolean; decision?: ConsoleDecision };","old_content":"type ConsoleMessage = { id: string; role: 'user' | 'assistant'; content: string; error?: boolean };"},{"new_content":"function classifyConsoleIntent(value: string, wantsWitness: boolean): ConsoleIntentClass {\n  const text = String(value || '').trim().toLowerCase();\n  if (wantsWitness) return 'route_inspection';\n  const directOperation = /\\b(cancel|rerun|retry|reconcile|retire|restart|bootstrap|repair)\\b/i.test(text)\n    && /\\b(queue|run|runner|workspace|tenant|storage|gate|pull request|pr)\\b/i.test(text);\n  if (directOperation) return 'direct_operation';\n  const repositoryMutation = /\\b(fix|change|update|implement|build|create|remove|replace|refactor|deploy|ship|make)\\b/i.test(text)\n    && /\\b(code|source|repo|repository|frontend|backend|component|route|console|platform|tenant|workflow|logic|bug|ui|page)\\b/i.test(text);\n  if (repositoryMutation) return 'repository_repair';\n  if (/\\b(current|live|latest|today|status|health|running|queued|failed|deployment|release|runner|gate|pull request|pr|main|runtime)\\b/i.test(text)) return 'live_state_read';\n  if (/\\b(what is|what are|how does|how do|explain|meaning|means|architecture|logic|policy|rule|preference|terminology|why do|why does)\\b/i.test(text)) return 'stable_context_read';\n  return 'conversation';\n}\n\nfunction buildConsoleDecision(intentClass: ConsoleIntentClass, data: any, witnessRun: any, witnessReceipt: any): ConsoleDecision {\n  const declared = data?.decision && typeof data.decision === 'object' ? data.decision : {};\n  const receipt = data?.receipt || witnessRun || witnessReceipt || null;\n  const selectedCommand = String(declared.selectedCommand || data?.selectedCommand || receipt?.command || receipt?.operation || (intentClass === 'route_inspection' && (witnessRun || witnessReceipt) ? 'inspect_route' : '')).trim();\n  const selectedCapability = String(declared.selectedCapability || data?.selectedCapability || receipt?.capability || (intentClass === 'route_inspection' ? 'visual_witness' : '')).trim();\n  const lifecycleState = String(declared.lifecycleState || data?.lifecycleState || receipt?.ownerFacingState || receipt?.phase || receipt?.status || 'requested').trim();\n  const evidenceSource = String(declared.evidenceSource || data?.evidenceSource || receipt?.proofGate || receipt?.proof_gate || receipt?.source || '').trim();\n  const missionId = String(declared.missionId || data?.missionId || receipt?.missionId || '').trim();\n  const witnessJobId = String(declared.witnessJobId || witnessRun?.id || witnessRun?.supervisorId || witnessReceipt?.run?.id || witnessReceipt?.run?.supervisorId || '').trim();\n  const transitions = declared.statusTransitions || data?.statusTransitions || receipt?.statusTransitions || [];\n  return {\n    intentClass,\n    ...(selectedCommand ? { selectedCommand } : {}),\n    ...(selectedCapability ? { selectedCapability } : {}),\n    lifecycleState,\n    ...(evidenceSource ? { evidenceSource } : {}),\n    ...(missionId ? { missionId } : {}),\n    ...(witnessJobId ? { witnessJobId } : {}),\n    ...(Array.isArray(transitions) && transitions.length ? { statusTransitions: transitions.map(String).slice(-12) } : {}),\n  };\n}\n\nfunction extractInternalRoute(value: string) {","old_content":"function extractInternalRoute(value: string) {"},{"new_content":"      if (String(payload?.assistant_message || '').trim()) {\n        const storedDecision = payload?.context?.decision || payload?.metadata?.decision || payload?.decision;\n        recovered.push({ id: String(turn?.id || crypto.randomUUID()) + ':assistant', role: 'assistant', content: String(payload.assistant_message), error: Boolean(payload?.metadata?.error), ...(storedDecision?.intentClass ? { decision: storedDecision as ConsoleDecision } : {}) });\n      }","old_content":"      if (String(payload?.assistant_message || '').trim()) recovered.push({ id: String(turn?.id || crypto.randomUUID()) + ':assistant', role: 'assistant', content: String(payload.assistant_message), error: Boolean(payload?.metadata?.error) });"},{"new_content":"  async function callConsoleOperator(message: string, context: ConsoleOperatorContext, agentTurn?: Record<string, unknown>) {\n    return consoleFetch('/__knocklaunch/console/operator', {\n      method: 'POST',\n      body: JSON.stringify({ message: message.slice(0, 2000), context, ...(agentTurn ? { agentTurn } : {}) }),\n    });\n  }","old_content":"  async function callConsoleOperator(message: string, context: ConsoleOperatorContext) {\n    return consoleFetch('/__knocklaunch/console/operator', {\n      method: 'POST',\n      body: JSON.stringify({ message: message.slice(0, 2000), context }),\n    });\n  }"},{"new_content":"      const inferred = await resolveConsoleTarget(text, wantsWitness);\n      const inferredRoute = inferred.route;\n      const inferredTenantRef = inferred.tenantRef;\n      const intentClass = classifyConsoleIntent(text, wantsWitness);\n      const agentTurn = {\n        version: 'knocklaunch-native-operator-v1',\n        originalPrompt: text,\n        intentClass,\n        preserveOwnerPrompt: true,\n        capabilitySource: 'live_command_registry',\n        capabilityPolicy: 'registered_commands_only',\n        stableContextCommand: 'owner_operating_context',\n        liveReadPolicy: 'current_prime_truth',\n        witnessCommand: 'inspect_route',\n        witnessStatusCommand: 'inspect_route_status',\n        repositoryMutationCommand: 'execute_objective',\n        missionStatusCommand: 'mission_status',\n        missionReceiptCommand: 'mission_receipt',\n        directOperationPolicy: 'bounded_registered_operator_only',\n        failClosed: true,\n        lifecycleProofRequired: true,\n        target: { route: inferredRoute || null, tenantRef: inferredTenantRef || null, roleRef: String(operatorContext.roleRef || '') || null },\n      };\n      const baseContext: ConsoleOperatorContext = {\n        ...operatorContext,\n        ...(inferredRoute ? { route: inferredRoute } : {}),\n        ...(inferredTenantRef ? { tenantRef: inferredTenantRef } : {}),\n        mode: wantsWitness ? 'witness' : 'chat',\n        witnessRequested: wantsWitness,\n        consoleSurface: 'sidekick-v4-native-operator',\n        agentTurn,\n        legacyRepoSessionAllowed: false,\n        recentConversation: messages.slice(-6).map((item) => ({ role: item.role, content: item.content.slice(0, 900) })),\n        inferenceContract: 'owner-conversational-context-v3-live-registry',\n        clarificationPolicy: 'ask_only_when_materially_ambiguous',\n        intentConfidence: inferred.confidence,\n      };","old_content":"      const inferred = await resolveConsoleTarget(text, wantsWitness);\n      const inferredRoute = inferred.route;\n      const inferredTenantRef = inferred.tenantRef;\n      const baseContext: ConsoleOperatorContext = {\n        ...operatorContext,\n        ...(inferredRoute ? { route: inferredRoute } : {}),\n        ...(inferredTenantRef ? { tenantRef: inferredTenantRef } : {}),\n        mode: wantsWitness ? 'witness' : 'chat',\n        witnessRequested: wantsWitness,\n        consoleSurface: 'sidekick-v3-actual-routes',\n        capabilities: ['repository', 'forgejo', 'cloudflare', 'supabase', 'missions', 'releases', 'runners', 'witness'],\n        legacyRepoSessionAllowed: false,\n        recentConversation: messages.slice(-6).map((item) => ({ role: item.role, content: item.content.slice(0, 900) })),\n        inferenceContract: 'owner-conversational-context-v2',\n        clarificationPolicy: 'ask_only_when_materially_ambiguous',\n        intentConfidence: inferred.confidence,\n      };"},{"new_content":"      let data: any = await callConsoleOperator(text, {\n        ...pinnedContext,\n        agentTurn,\n        ...(witnessRun ? { witnessRun: { id: witnessRun.id, status: witnessRun.status, phase: witnessRun.phase, currentRoute: witnessRun.currentRoute, observation: witnessObservation } } : {}),\n        witnessAlreadyDispatched: Boolean(wantsWitness && inferredRoute),\n        witnessObservationReady: Boolean(witnessObservation?.visibleText || witnessObservation?.headings?.length),\n      }, agentTurn);","old_content":"      const observationText = witnessObservation ? `\\n\\nAuthoritative Witness observation (report only what this evidence supports): ${JSON.stringify(witnessObservation)}` : '';\n      const executionMessage = wantsWitness && inferredRoute\n        ? `${text}\\n\\nAuthoritative Console resolution: tenant=${inferredTenantRef || 'current'}, route=${inferredRoute}. The Witness was dispatched to this exact route. Do not ask the owner to choose a page. Report on this target only.${observationText}`\n        : wantsWitness\n          ? `${text}\\n\\nNo authoritative Witness target resolved. Ask one concise clarification only if materially different page targets remain plausible. Do not silently substitute /admin/console.`\n          : `${text}\\n\\nThis is a normal Sidekick conversation turn. Do not start, claim, or imply a visual inspection. Existing route/session context is background only unless the user explicitly asks to inspect, show, witness, navigate, capture, or visually verify something.`;\n\n      let data: any = await callConsoleOperator(executionMessage, {\n        ...pinnedContext,\n        ...(witnessRun ? { witnessRun: { id: witnessRun.id, status: witnessRun.status, phase: witnessRun.phase, currentRoute: witnessRun.currentRoute, observation: witnessObservation } } : {}),\n        witnessAlreadyDispatched: Boolean(wantsWitness && inferredRoute),\n        witnessObservationReady: Boolean(witnessObservation?.visibleText || witnessObservation?.headings?.length),\n      });"},{"new_content":"      if (!assistantMessage) assistantMessage = witnessObservation ? fallbackWitnessSummary(witnessObservation) : 'The control plane returned no message.';\n      const decision = buildConsoleDecision(intentClass, data, witnessRun, witnessReceipt);\n      setMessages((prev) => [...prev, { id: crypto.randomUUID(), role: 'assistant', content: assistantMessage, decision }]);","old_content":"      if (!assistantMessage) assistantMessage = witnessObservation ? fallbackWitnessSummary(witnessObservation) : 'The control plane returned no message.';\n      setMessages((prev) => [...prev, { id: crypto.randomUUID(), role: 'assistant', content: assistantMessage }]);"},{"new_content":"          context: {\n            consoleSurface: 'sidekick-v4-native-operator',\n            originalPrompt: text,\n            witnessRequested: wantsWitness,\n            intentConfidence: inferred.confidence,\n            resolverMatch: resolverTrace.matchKind || null,\n            intentClass,\n            selectedCommand: decision.selectedCommand || null,\n            selectedCapability: decision.selectedCapability || null,\n            lifecycleState: decision.lifecycleState || 'requested',\n            missionId: decision.missionId || null,\n            witnessJobId: decision.witnessJobId || null,\n            statusTransitions: decision.statusTransitions || [],\n            decision,\n          },","old_content":"          context: {\n            consoleSurface: 'sidekick-v3-session-history',\n            witnessRequested: wantsWitness,\n            intentConfidence: inferred.confidence,\n            resolverMatch: resolverTrace.matchKind || null,\n          },"},{"new_content":"            <p className={message.error ? \"max-w-full whitespace-pre-wrap break-words text-sm leading-6 text-amber-200/90 [overflow-wrap:anywhere]\" : \"max-w-full whitespace-pre-wrap break-words text-sm leading-6 text-white/78 [overflow-wrap:anywhere]\"}>{message.content}</p>\n            {message.role === 'assistant' && message.decision ? <details className=\"mt-3 border-t border-white/[0.06] pt-2 text-[10px] text-white/38\"><summary className=\"cursor-pointer select-none text-emerald-200/55\">Why this action?</summary><div className=\"mt-2 grid gap-1 font-mono\"><span>intent: {message.decision.intentClass}</span><span>command: {message.decision.selectedCommand || 'no command required'}</span><span>state: {message.decision.lifecycleState || 'requested'}</span>{message.decision.evidenceSource ? <span>evidence: {message.decision.evidenceSource}</span> : null}{message.decision.missionId ? <span>mission: {message.decision.missionId}</span> : null}{message.decision.witnessJobId ? <span>witness: {message.decision.witnessJobId}</span> : null}</div></details> : null}","old_content":"            <p className={message.error ? \"max-w-full whitespace-pre-wrap break-words text-sm leading-6 text-amber-200/90 [overflow-wrap:anywhere]\" : \"max-w-full whitespace-pre-wrap break-words text-sm leading-6 text-white/78 [overflow-wrap:anywhere]\"}>{message.content}</p>"}]},{"path":"config/capabilities/knocklaunch-console.json","edits":[{"new_content":"    \"backendRuntime\": [\n      \"supabase/functions/console-ops\",\n      \"supabase/functions/_shared\",\n      \"workers/cc-execution\"\n    ],","old_content":"    \"backendRuntime\": [\n      \"supabase/functions/console-ops\",\n      \"supabase/functions/_shared\"\n    ],"},{"new_content":"      \"searchScopes\": [\n        \"chat_transcripts\",\n        \"tenant_routes\",\n        \"mission_runs\",\n        \"proof_receipts\"\n      ]\n    },\n    {\n      \"id\": \"native-ai-operator-loop\",\n      \"authority\": \"cc-execution-live-command-registry\",\n      \"intentClasses\": [\n        \"conversation\",\n        \"stable_context_read\",\n        \"live_state_read\",\n        \"route_inspection\",\n        \"direct_operation\",\n        \"repository_repair\"\n      ],\n      \"canonicalCommands\": {\n        \"stableContext\": \"owner_operating_context\",\n        \"visualInspection\": \"inspect_route\",\n        \"visualStatus\": \"inspect_route_status\",\n        \"repositoryMutation\": \"execute_objective\",\n        \"missionStatus\": \"mission_status\",\n        \"missionReceipt\": \"mission_receipt\"\n      },\n      \"requirements\": [\n        \"preserve_owner_prompt_verbatim\",\n        \"resolve_commands_from_live_registry\",\n        \"fail_closed_on_unresolved_capability_or_target\",\n        \"persist_turn_decision_and_receipt_metadata\",\n        \"never_claim_lifecycle_state_without_matching_receipt\"\n      ]\n    }\n  ],","old_content":"      \"searchScopes\": [\n        \"chat_transcripts\",\n        \"tenant_routes\",\n        \"mission_runs\",\n        \"proof_receipts\"\n      ]\n    }\n  ],"},{"new_content":"      \"Console renders stage controls and provider evidence\",\n      \"Unpaired local actions fail closed\",\n      \"Provider errors do not report health\",\n      \"Sidekick preserves the owner prompt while routing through the live command registry\",\n      \"Repository mutations use execute_objective and durable mission receipts\",\n      \"Witness turns expose their durable route-inspection evidence and selected command\"","old_content":"      \"Console renders stage controls and provider evidence\",\n      \"Unpaired local actions fail closed\",\n      \"Provider errors do not report health\""}]},{"path":"config/owner-context.json","edits":[{"new_content":"    \"operatorRouting\": {\n      \"preserveOwnerUtteranceVerbatim\": true,\n      \"stableContextCommand\": \"owner_operating_context\",\n      \"liveCapabilitySource\": \"current server-side command registry\",\n      \"repositoryMutationCommand\": \"execute_objective\",\n      \"visualInspectionCommand\": \"inspect_route\",\n      \"visualStatusCommand\": \"inspect_route_status\",\n      \"failClosedOnUnresolvedTargetOrCapability\": true,\n      \"explainDecisionFields\": [\"intentClass\", \"selectedCommand\", \"evidenceSource\"]\n    },\n    \"reporting\": [","old_content":"    \"reporting\": ["}]},{"path":"scripts/knocklaunch-console/README.md","edits":[{"new_content":"## KNOCKLAUNCH AI operator loop\n\nThe GodMode Sidekick is an owner-facing operator, not a generic chatbot. Each owner turn keeps the original prompt unchanged and is classified as conversation, stable-context read, live-state read, route inspection, bounded direct operation, or repository repair. Stable context routes through `owner_operating_context`; current facts come from current Prime/runtime truth; route inspection uses the canonical `inspect_route` / `inspect_route_status` witness lane; bounded operations must resolve to an exact currently registered command; repository mutation uses `execute_objective` and then durable `mission_status` / `mission_receipt` evidence.\n\nThe live server-side command registry is authoritative. The browser may infer intent and resolve tenant/route context, but it does not invent tools or success. Missing required targets or capabilities fail closed. Session history records the original prompt, intent class, selected command/capability, route/tenant/role projection, mission or witness identifier, lifecycle state transitions, and terminal evidence summary. Assistant messages expose a compact **Why this action?** trace without secrets.\n\nThe standalone local Console remains independently usable for its allowlisted local commands when Prime or hosted Sidekick is unavailable; this does not create a second mission authority.\n\nValidation: `node --test scripts/knocklaunch-console/console.test.mjs` and the GodMode component tests. Verify both the local launch and the live GodMode route before calling this installed.","old_content":"Validation: `node --test scripts/knocklaunch-console/console.test.mjs` and the GodMode component tests. Verify both the local launch and the live GodMode route before calling this installed."}]}],"commit_message":"feat(console): add native AI operator routing loop","implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"11f79c75-dbe6-4604-9df2-ec3bc3725ed9","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/pages/admin/GodModeCommandConsole.tsx","config/capabilities/knocklaunch-console.json","config/owner-context.json","scripts/knocklaunch-console/README.md"],"requestContract":null,"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":false,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"proofRequirements":null,"controlPlaneUnfreeze":false,"durableMutationResume":true,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"recovery":false,"fingerprint":"3c94741b59824c2e28b8bf247e01bf555f042b2dd42c8495700ef41f35c85d7a","replayCount":0,"serializedBytes":19636},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:42:58.699701+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:11f79c75-dbe6-4604-9df2-ec3bc3725ed9:repository-mutation-intent:3c94741b59824c2e28b8bf247e01bf555f042b2dd42c8495700ef41f35c85d7a:0","mission_step_id":"e174658f-3754-4450-a184-327b40b24c5e","command_center_event_id":"11f79c75-dbe6-4604-9df2-ec3bc3725ed9"},{"id":"1aa7bf1b-dedd-4a91-a1e8-35bb07da6f24","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-11f79c75dbe6","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":27380,"releaseCount":0,"toolCallCount":5,"repeatedCallCount":2,"executorlessWaitMs":377413,"firstUsefulResultAt":"2026-09-27T20:36:41.242Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":3901,"terminal":false,"missionId":"11f79c75-dbe6-4604-9df2-ec3bc3725ed9","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3710,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":646,"missionSetupMs":247,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":247,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":247,"repositoryMutationMs":3064,"repositoryProviderMs":3064,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":1945,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":247,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1119},"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":"11f79c75-dbe6-4604-9df2-ec3bc3725ed9"},"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":3485,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:43:03.358351+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3901","receipt_type":"execute_mission","idempotency_key":"mission:11f79c75-dbe6-4604-9df2-ec3bc3725ed9:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"e174658f-3754-4450-a184-327b40b24c5e","command_center_event_id":"11f79c75-dbe6-4604-9df2-ec3bc3725ed9"},{"id":"34e79f95-cc81-4a8d-ba23-bfda933d65a9","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"8e7849b6889b80c5fea15fbab51c0112fbe79a2b","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"8e7849b6889b80c5fea15fbab51c0112fbe79a2b","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":"e07dd2923555852a09cac932b896f3a0bf949588d5e43d9f8162fe86c42fe69d","forgejoWorkflowProof":{"runId":12277,"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-27T20:45:50.477054+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"8e7849b6889b80c5fea15fbab51c0112fbe79a2b","external_id":"forgejo-main-8e7849b6889b","receipt_type":"canonical_release_status","idempotency_key":"mission:7c5c9871-2deb-40c3-b03e-6117c611bdac:forgejo-release-status:8e7849b6889b80c5fea15fbab51c0112fbe79a2b:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"61a648ac-f4a9-42c2-93bf-773864529f1e","command_center_event_id":"7c5c9871-2deb-40c3-b03e-6117c611bdac"},{"id":"7f25345f-5473-4999-b671-0a630539caed","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-7c5c98712deb","prNumber":3900,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"8e7849b6889b80c5fea15fbab51c0112fbe79a2b","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:44:35.606038+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"8e7849b6889b80c5fea15fbab51c0112fbe79a2b","external_id":"3900","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:7c5c9871-2deb-40c3-b03e-6117c611bdac:merged-pr:3900:8e7849b6889b80c5fea15fbab51c0112fbe79a2b","mission_step_id":"fe8454dc-fa05-479d-b59d-6c855152d599","command_center_event_id":"7c5c9871-2deb-40c3-b03e-6117c611bdac"},{"id":"929a8980-4bbf-42db-b6e6-fe8102be96d6","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-7c5c98712deb","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":13905,"releaseCount":0,"toolCallCount":5,"repeatedCallCount":1,"executorlessWaitMs":50085,"firstUsefulResultAt":"2026-09-27T20:41:05.846Z","recoveryAttemptCount":2,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":3900,"terminal":false,"missionId":"7c5c9871-2deb-40c3-b03e-6117c611bdac","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":5700,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":5496,"approvedPlanMs":0,"missionSetupMs":387,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":285,"ledgerReconcileMs":0,"lineageReconcileMs":102,"resolvePreflightMs":387,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":285,"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":"7c5c9871-2deb-40c3-b03e-6117c611bdac"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime","visual"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1523,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:42:06.997508+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"3900","receipt_type":"execute_mission","idempotency_key":"mission:7c5c9871-2deb-40c3-b03e-6117c611bdac:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"b7cc68dc-e9ff-42a7-b3c3-68366a875129","command_center_event_id":"7c5c9871-2deb-40c3-b03e-6117c611bdac"},{"id":"0ad61ce2-7154-4bab-a8ec-54a48bb41c95","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-a473d2ab1d3f","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":null,"recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":null,"terminal":false,"missionId":"a473d2ab-1d3f-4e82-b34c-2fefe2ec4d37","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1170,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":354,"providerAuthMs":0,"ledgerPrepareMs":354,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":354,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":354,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"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":"a473d2ab-1d3f-4e82-b34c-2fefe2ec4d37"},"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":4414,"likelyAffectedFiles":["src/pages/admin/GodModeCommandConsole.tsx","supabase/functions/operator-respond/index.ts","src/__tests__/contracts/console-live-witness-control-room.contract.test.ts","workers/cc-execution/test/visual-witness-paul-hybrid.test.js",".forgejo/workflows/laptop-hybrid-bootstrap.yml"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:42:50.117755+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:a473d2ab-1d3f-4e82-b34c-2fefe2ec4d37:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"a75d4a5f-91ac-426d-a15c-e0a788d2f669","command_center_event_id":"a473d2ab-1d3f-4e82-b34c-2fefe2ec4d37"},{"id":"398fef31-ce01-4bef-a96a-2ec6ee048136","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-7c5c98712deb","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":17442,"releaseCount":0,"toolCallCount":7,"repeatedCallCount":2,"executorlessWaitMs":154413,"firstUsefulResultAt":"2026-09-27T20:41:05.846Z","recoveryAttemptCount":4,"ownerInterruptionCount":0},"version":null,"prNumber":3900,"terminal":false,"missionId":"7c5c9871-2deb-40c3-b03e-6117c611bdac","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":5415,"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":"7c5c9871-2deb-40c3-b03e-6117c611bdac"},"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-27T20:41:49.766103+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"3900","receipt_type":"automatic_mission_resume","idempotency_key":"mission:7c5c9871-2deb-40c3-b03e-6117c611bdac:automatic-mission-resume:3900:repair_mission_pr_ready_retryable","mission_step_id":"d1092f97-722d-4ba4-8325-f7d758b8d366","command_center_event_id":"7c5c9871-2deb-40c3-b03e-6117c611bdac"},{"id":"941448d6-46d4-4394-a894-4dda6e60d0af","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-11f79c75dbe6","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":40516,"releaseCount":0,"toolCallCount":13,"repeatedCallCount":8,"executorlessWaitMs":556860,"firstUsefulResultAt":"2026-09-27T20:36:41.242Z","recoveryAttemptCount":7,"ownerInterruptionCount":0},"version":null,"prNumber":3901,"terminal":false,"missionId":"11f79c75-dbe6-4604-9df2-ec3bc3725ed9","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":5473,"approvedPlanMs":0,"shipAndProveMs":0,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"11f79c75-dbe6-4604-9df2-ec3bc3725ed9"},"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-27T20:43:10.737794+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"3901","receipt_type":"automatic_mission_resume","idempotency_key":"mission:11f79c75-dbe6-4604-9df2-ec3bc3725ed9:automatic-mission-resume:3901:repair_mission_pr_ready_retryable","mission_step_id":"abf23882-a0f7-49cb-9471-80ed1e7bfc0e","command_center_event_id":"11f79c75-dbe6-4604-9df2-ec3bc3725ed9"},{"id":"3450c847-7ab5-4f9d-8cdb-4faff2c74462","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"8e7849b6889b80c5fea15fbab51c0112fbe79a2b","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"suspense-loader-handoff","satisfied":false,"statement":"Private tenant routes no longer remain blocked by a globally coordinated cinematic loader after the real workspace has rendered.","proofConditionIds":["runtime","visual"]}],"satisfied":false,"constraints":[{"id":"loading-branding","satisfied":false,"statement":"Preserve the existing cinematic loader appearance and tenant branding during genuine startup loading.","proofConditionIds":["runtime","visual"]},{"id":"coordinator-default","satisfied":true,"statement":"UniversalLoadingScreen remains coordinated by default; only explicit Suspense fallback use opts into local rendering.","proofConditionIds":["runtime"]},{"id":"tenant-safety","satisfied":true,"statement":"Do not weaken auth, tenant identity, or protected-route loading gates.","proofConditionIds":["runtime"]},{"id":"visual-artifact-scope","satisfied":false,"statement":"The visual scope is the authenticated /dj workspace only; this repair must not create or alter unrelated website/public visual surfaces.","proofConditionIds":["runtime","visual"]},{"id":"visual-content-truth","satisfied":false,"statement":"The repair does not introduce invented business facts or placeholder data; visual proof must show the real tenant workspace state.","proofConditionIds":["runtime","visual"]},{"id":"tenant-visual-isolation","satisfied":false,"statement":"The repair must preserve tenant visual isolation and must not import any other tenant identity, imagery, copy, or data into /dj.","proofConditionIds":["runtime","visual"]},{"id":"reference-visual-fidelity","satisfied":false,"statement":"No external reference image governs this repair; acceptance is the existing DJ Cockpit appearing without the stale loader overlay.","proofConditionIds":["visual"]},{"id":"responsive-visual-continuity","satisfied":false,"statement":"Desktop and mobile must both reveal the same existing DJ Cockpit hierarchy after startup.","proofConditionIds":["visual"]},{"id":"reference-visual-authority","satisfied":false,"statement":"Source implementation and live desktop/mobile /dj evidence are authoritative; no newly generated mockup can satisfy this repair.","proofConditionIds":["visual"]},{"id":"capability-completeness","satisfied":true,"statement":"Wire and prove the changed loading behavior across frontend runtime, auth/tenant gates, loading/error states, release ownership, and live production.","proofConditionIds":["runtime"]},{"id":"atomic-capability-lifecycle","satisfied":true,"statement":"The loading repair does not count as active until release and claim-matched production proof are satisfied.","proofConditionIds":["runtime"]}],"contractHash":"e07dd2923555852a09cac932b896f3a0bf949588d5e43d9f8162fe86c42fe69d","releaseBound":true,"witnessBound":false,"visualRequested":true,"visualSatisfied":false,"conditionResults":[{"id":"runtime","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"frontend":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["frontend"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"e07dd2923555852a09cac932b896f3a0bf949588d5e43d9f8162fe86c42fe69d"},"required":true,"satisfied":true},{"id":"visual","kind":"visual","evidence":{"modeBound":true,"claimBound":true,"routeBound":true,"witnessMode":"observe","witnessRoute":"/dj","currentSourceSha":"8e7849b6889b80c5fea15fbab51c0112fbe79a2b","witnessSourceSha":"8e7849b6889b80c5fea15fbab51c0112fbe79a2b","verificationState":null,"witnessRequestContractHash":"e07dd2923555852a09cac932b896f3a0bf949588d5e43d9f8162fe86c42fe69d"},"required":true,"satisfied":false}],"validationErrors":[],"pendingProofKinds":["visual"],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:45:51.616455+00:00","proof_gate":"request_contract_pending","source_sha":"8e7849b6889b80c5fea15fbab51c0112fbe79a2b","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:7c5c9871-2deb-40c3-b03e-6117c611bdac:request-contract:e07dd2923555852a09cac932b896f3a0bf949588d5e43d9f8162fe86c42fe69d:8e7849b6889b80c5fea15fbab51c0112fbe79a2b:pending:visual","mission_step_id":"61a648ac-f4a9-42c2-93bf-773864529f1e","command_center_event_id":"7c5c9871-2deb-40c3-b03e-6117c611bdac"},{"id":"0fec6cfc-08d6-4f0f-93aa-f644de2aac88","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"8e7849b6889b80c5fea15fbab51c0112fbe79a2b","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"8e7849b6889b80c5fea15fbab51c0112fbe79a2b","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":"e07dd2923555852a09cac932b896f3a0bf949588d5e43d9f8162fe86c42fe69d","forgejoWorkflowProof":{"runId":12277,"source":"signed_push_receipt","status":"waiting","results":{},"conclusion":"waiting","targetStates":{"frontend":"pending"},"targetJobCount":7,"observedTargetStates":{"frontend":"pending"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:44:36.602595+00:00","proof_gate":"canonical_release_pending","source_sha":"8e7849b6889b80c5fea15fbab51c0112fbe79a2b","external_id":"forgejo-main-8e7849b6889b","receipt_type":"canonical_release_status","idempotency_key":"mission:7c5c9871-2deb-40c3-b03e-6117c611bdac:forgejo-release-status:8e7849b6889b80c5fea15fbab51c0112fbe79a2b:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"fe8454dc-fa05-479d-b59d-6c855152d599","command_center_event_id":"7c5c9871-2deb-40c3-b03e-6117c611bdac"},{"id":"8c53a87c-48fc-4b09-bd06-103bcb68dbd2","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"release","branch":"ai/objective-first-repair-7c5c98712deb","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":23794,"releaseCount":0,"toolCallCount":12,"repeatedCallCount":4,"executorlessWaitMs":211847,"firstUsefulResultAt":"2026-09-27T20:41:05.846Z","recoveryAttemptCount":5,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":3900,"terminal":false,"missionId":"7c5c9871-2deb-40c3-b03e-6117c611bdac","operation":"execute_mission","proofGate":"canonical_release_reconciliation_pending","sourceSha":"8e7849b6889b80c5fea15fbab51c0112fbe79a2b","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1116,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":93,"approvedPlanMs":0,"missionSetupMs":251,"providerAuthMs":0,"shipAndProveMs":587,"ledgerPrepareMs":251,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":251,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":251,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"7c5c9871-2deb-40c3-b03e-6117c611bdac"},"performance":null,"deploymentId":"forgejo-main-8e7849b6889b","releaseState":"pending","workflowRunId":12277,"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":2862,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:44:28.180189+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":"8e7849b6889b80c5fea15fbab51c0112fbe79a2b","external_id":"forgejo-main-8e7849b6889b","receipt_type":"execute_mission","idempotency_key":"mission:7c5c9871-2deb-40c3-b03e-6117c611bdac:execute_mission:canonical_release_reconciliation_pending:current-generation","mission_step_id":"fe8454dc-fa05-479d-b59d-6c855152d599","command_center_event_id":"7c5c9871-2deb-40c3-b03e-6117c611bdac"},{"id":"cad835c6-0b4f-46a1-a5bc-4e9e736404c0","source":"cc-execution","status":"verified","payload":{"ownerWaitSloMs":{"merge_to_live_ms":88228,"owner_action_to_pr_ms":38245,"green_gate_to_merge_ms":1418,"owner_action_to_useful_response_ms":34121},"ownerWaitLiveAt":"2026-09-27T20:45:55.228Z"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:45:55.459815+00:00","proof_gate":"owner_wait_live_milestone_recorded","source_sha":null,"external_id":null,"receipt_type":"owner_wait_live_milestone","idempotency_key":"mission:7c5c9871-2deb-40c3-b03e-6117c611bdac:owner-wait-live","mission_step_id":"61a648ac-f4a9-42c2-93bf-773864529f1e","command_center_event_id":"7c5c9871-2deb-40c3-b03e-6117c611bdac"},{"id":"aa8b75a4-fc17-4bc9-bcba-19259b77ca30","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-30cd4575b504","reason":null,"status":"source_resolution_required","metrics":{"receiptBytes":8024,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":2,"executorlessWaitMs":857261,"firstUsefulResultAt":"2026-09-27T20:45:48.198Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":null,"terminal":false,"missionId":"30cd4575-b504-4bc9-8e97-0c2082101426","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1506,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":419,"providerAuthMs":0,"ledgerPrepareMs":419,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":419,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":419,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Supply exact sourceTargets on the same mission; planner guesses cannot replace missing mission scope.","receiptRef":{"mode":"full","missionId":"30cd4575-b504-4bc9-8e97-0c2082101426"},"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":1175,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:45:48.233821+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:30cd4575-b504-4bc9-8e97-0c2082101426:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"1b8f7c38-c70e-43a8-a81c-9825889b9962","command_center_event_id":"30cd4575-b504-4bc9-8e97-0c2082101426"},{"id":"e0395445-d46c-4699-b91c-cb5eb49ffd47","source":"cc-execution","status":"pending","payload":{"ok":true,"jobId":"1e26c0da-e47e-4e05-be36-9b02ba1654bb","phase":"universal_visual_witness_supervised","branch":"ai/objective-first-repair-7c5c98712deb","reason":null,"status":"pending","metrics":{"receiptBytes":31140,"releaseCount":0,"toolCallCount":16,"repeatedCallCount":6,"executorlessWaitMs":285742,"firstUsefulResultAt":"2026-09-27T20:41:05.846Z","recoveryAttemptCount":5,"ownerInterruptionCount":0},"version":null,"prNumber":3900,"terminal":false,"missionId":"7c5c9871-2deb-40c3-b03e-6117c611bdac","operation":"visual_proof_started","proofGate":"universal_visual_witness_pending","sourceSha":"8e7849b6889b80c5fea15fbab51c0112fbe79a2b","timingsMs":{"queue":224,"total":382,"execution":158},"nextAction":"Execution is pending; poll inspect_route_status only when fresh progress is expected, or cancel with inspect_route_cancel.","receiptRef":{"mode":"full","missionId":"7c5c9871-2deb-40c3-b03e-6117c611bdac"},"performance":null,"deploymentId":"forgejo-main-8e7849b6889b","releaseState":"verified","visualWitness":{"role":"GodMode","jobId":"1e26c0da-e47e-4e05-be36-9b02ba1654bb","tenant":null,"runnerUrl":"https://laptop-witness.knocklaunch.app","runnerLane":"laptop","attemptsUsed":0,"supervisorId":"1e26c0da-e47e-4e05-be36-9b02ba1654bb","failureReason":null,"observedRoute":null,"runnerVersion":null,"attemptLineage":[],"missionOutcome":null,"requestedRoute":"/dj","runnerSourceSha":null,"selectedViewports":["desktop","mobile"],"checkpointAccounting":null,"correctiveGeneration":0,"restartReplayHistory":[]},"workflowRunId":12277,"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":1754,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:45:52.947898+00:00","proof_gate":"post_release_visual_proof_started","source_sha":"8e7849b6889b80c5fea15fbab51c0112fbe79a2b","external_id":"1e26c0da-e47e-4e05-be36-9b02ba1654bb","receipt_type":"visual_proof_started","idempotency_key":"mission:7c5c9871-2deb-40c3-b03e-6117c611bdac:visual-start:1e26c0da-e47e-4e05-be36-9b02ba1654bb","mission_step_id":"9f870961-6720-4dff-a14b-c642503337c2","command_center_event_id":"7c5c9871-2deb-40c3-b03e-6117c611bdac"},{"id":"4f165580-04e2-4368-af01-6c588c516610","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-11f79c75dbe6","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":42106,"releaseCount":0,"toolCallCount":14,"repeatedCallCount":9,"executorlessWaitMs":562956,"firstUsefulResultAt":"2026-09-27T20:36:41.242Z","recoveryAttemptCount":8,"ownerInterruptionCount":0},"version":null,"prNumber":3901,"terminal":false,"missionId":"11f79c75-dbe6-4604-9df2-ec3bc3725ed9","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"ded50f73fa97ee2ea4d9a3ddf2a608ccf89ac3bf","timingsMs":{"prReadinessMs":448,"approvedPlanMs":0,"shipAndProveMs":2536,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"11f79c75-dbe6-4604-9df2-ec3bc3725ed9"},"performance":null,"deploymentId":"forgejo-main-ded50f73fa97","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":1932,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:48:22.029669+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"3901","receipt_type":"automatic_mission_resume","idempotency_key":"mission:11f79c75-dbe6-4604-9df2-ec3bc3725ed9:automatic-mission-resume:3901:canonical_release_reconciliation_pending","mission_step_id":"abf23882-a0f7-49cb-9471-80ed1e7bfc0e","command_center_event_id":"11f79c75-dbe6-4604-9df2-ec3bc3725ed9"},{"id":"68ec5b8e-0305-494a-a010-a44515f9f9b3","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"ded50f73fa97ee2ea4d9a3ddf2a608ccf89ac3bf","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"ded50f73fa97ee2ea4d9a3ddf2a608ccf89ac3bf","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":"e7c547fd5bfcc58f4af8d0bf224256944bbd4e3c4a773c7e058d66145557ceb8","forgejoWorkflowProof":{"runId":12279,"source":"signed_push_receipt","status":"waiting","results":{},"conclusion":"waiting","targetStates":{"frontend":"pending"},"targetJobCount":7,"observedTargetStates":{"frontend":"pending"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:48:24.974313+00:00","proof_gate":"canonical_release_pending","source_sha":"ded50f73fa97ee2ea4d9a3ddf2a608ccf89ac3bf","external_id":"forgejo-main-ded50f73fa97","receipt_type":"canonical_release_status","idempotency_key":"mission:11f79c75-dbe6-4604-9df2-ec3bc3725ed9:forgejo-release-status:ded50f73fa97ee2ea4d9a3ddf2a608ccf89ac3bf:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"62ea9ca0-e069-4ee0-8442-e23f875b4a5a","command_center_event_id":"11f79c75-dbe6-4604-9df2-ec3bc3725ed9"},{"id":"895b6c10-89ce-45b9-94fc-71ffdeb16c32","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-b733726b7947","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":null,"recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":null,"terminal":false,"missionId":"b733726b-7947-4e0e-88c0-8a2c656f74ea","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1082,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":384,"providerAuthMs":0,"ledgerPrepareMs":384,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":384,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":384,"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":"b733726b-7947-4e0e-88c0-8a2c656f74ea"},"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":4735,"likelyAffectedFiles":["supabase/functions/entertainment-fanbase/index.ts","supabase/config.toml","supabase/functions/_shared/edgeFunctionRegistry.ts"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:48:34.701857+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:b733726b-7947-4e0e-88c0-8a2c656f74ea:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"eb2a57d5-f1e9-4fee-b450-729a4fe2af59","command_center_event_id":"b733726b-7947-4e0e-88c0-8a2c656f74ea"},{"id":"1bc4400d-f036-4cd2-9a7b-365aec76ecfe","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"ded50f73fa97ee2ea4d9a3ddf2a608ccf89ac3bf","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"ded50f73fa97ee2ea4d9a3ddf2a608ccf89ac3bf","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":"e7c547fd5bfcc58f4af8d0bf224256944bbd4e3c4a773c7e058d66145557ceb8","forgejoWorkflowProof":{"runId":12279,"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-27T20:49:12.412811+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"ded50f73fa97ee2ea4d9a3ddf2a608ccf89ac3bf","external_id":"forgejo-main-ded50f73fa97","receipt_type":"canonical_release_status","idempotency_key":"mission:11f79c75-dbe6-4604-9df2-ec3bc3725ed9:forgejo-release-status:ded50f73fa97ee2ea4d9a3ddf2a608ccf89ac3bf:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"ec91cc29-9219-414c-9b00-8dc331609bec","command_center_event_id":"11f79c75-dbe6-4604-9df2-ec3bc3725ed9"},{"id":"4652cd06-fa83-4ec5-b37b-7ad157eec453","source":"cc-execution","status":"pending","payload":{"ok":true,"jobId":"0a7b08a2-c31c-4603-b566-1cc8003cfe4c","phase":"universal_visual_witness_supervised","branch":"ai/objective-first-repair-11f79c75dbe6","reason":null,"status":"pending","metrics":{"receiptBytes":52604,"releaseCount":0,"toolCallCount":20,"repeatedCallCount":10,"executorlessWaitMs":752412,"firstUsefulResultAt":"2026-09-27T20:36:41.242Z","recoveryAttemptCount":8,"ownerInterruptionCount":0},"version":null,"prNumber":3901,"terminal":false,"missionId":"11f79c75-dbe6-4604-9df2-ec3bc3725ed9","operation":"visual_proof_started","proofGate":"universal_visual_witness_pending","sourceSha":"ded50f73fa97ee2ea4d9a3ddf2a608ccf89ac3bf","timingsMs":{"queue":302,"total":461,"execution":159},"nextAction":"Execution is pending; poll inspect_route_status only when fresh progress is expected, or cancel with inspect_route_cancel.","receiptRef":{"mode":"full","missionId":"11f79c75-dbe6-4604-9df2-ec3bc3725ed9"},"performance":null,"deploymentId":"forgejo-main-ded50f73fa97","releaseState":"verified","visualWitness":{"role":"GodMode","jobId":"0a7b08a2-c31c-4603-b566-1cc8003cfe4c","tenant":null,"runnerUrl":"https://laptop-witness.knocklaunch.app","runnerLane":"laptop","attemptsUsed":0,"supervisorId":"0a7b08a2-c31c-4603-b566-1cc8003cfe4c","failureReason":null,"observedRoute":null,"runnerVersion":null,"attemptLineage":[],"missionOutcome":null,"requestedRoute":"/admin/console","runnerSourceSha":null,"selectedViewports":["desktop"],"checkpointAccounting":null,"correctiveGeneration":0,"restartReplayHistory":[]},"workflowRunId":12279,"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":1756,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:49:15.236064+00:00","proof_gate":"post_release_visual_proof_started","source_sha":"ded50f73fa97ee2ea4d9a3ddf2a608ccf89ac3bf","external_id":"0a7b08a2-c31c-4603-b566-1cc8003cfe4c","receipt_type":"visual_proof_started","idempotency_key":"mission:11f79c75-dbe6-4604-9df2-ec3bc3725ed9:visual-start:0a7b08a2-c31c-4603-b566-1cc8003cfe4c","mission_step_id":"d62baf03-a2ee-4bbf-acae-84f54b6a8913","command_center_event_id":"11f79c75-dbe6-4604-9df2-ec3bc3725ed9"},{"id":"e05087df-5bb1-4a49-b217-6220bc196ddf","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-b733726b7947","writes":[],"patches":[],"version":1,"approved":true,"missionId":"b733726b-7947-4e0e-88c0-8a2c656f74ea","repository":"noel/KnockLaunchOS","file_writes":[{"path":"supabase/functions/entertainment-fanbase/index.ts","content":"import { createClient } from 'npm:@supabase/supabase-js@2.80.0';\n\nconst corsHeaders = {\n  'Access-Control-Allow-Origin': '*',\n  'Access-Control-Allow-Headers': 'authorization, x-client-info, apikey, content-type',\n  'Access-Control-Allow-Methods': 'POST, OPTIONS',\n};\n\nexport const FUNCTION_VERSION = '2.0.0-entertainment-cockpit';\nconst SERVICE_SLUG = 'entertainment-fanbase';\nconst supabaseUrl = Deno.env.get('SUPABASE_URL') || '';\nconst anonKey = Deno.env.get('SUPABASE_ANON_KEY') || '';\nconst serviceRoleKey = Deno.env.get('SUPABASE_SERVICE_ROLE_KEY') || '';\nconst admin = createClient(supabaseUrl, serviceRoleKey);\n\nfunction json(body: unknown, status = 200) {\n  return new Response(JSON.stringify(body), { status, headers: { ...corsHeaders, 'Content-Type': 'application/json' } });\n}\nfunction norm(value: unknown, max = 1000): string | null {\n  if (value == null) return null;\n  const out = String(value).trim();\n  return out ? out.slice(0, max) : null;\n}\nfunction emailOf(value: unknown) {\n  const email = norm(value, 320)?.toLowerCase() || null;\n  return email && /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/.test(email) ? email : null;\n}\nfunction phoneOf(value: unknown) {\n  const raw = norm(value, 64);\n  if (!raw) return null;\n  const digits = raw.replace(/\\D+/g, '');\n  if (!digits) return null;\n  if (digits.length === 10) return '+1' + digits;\n  if (digits.length === 11 && digits.startsWith('1')) return '+' + digits;\n  return '+' + digits;\n}\nfunction splitName(name: string) {\n  const parts = name.split(/\\s+/).filter(Boolean);\n  return { first_name: parts[0] || null, last_name: parts.slice(1).join(' ') || null };\n}\nfunction settingsObject(tenant: any) {\n  return tenant?.settings && typeof tenant.settings === 'object' && !Array.isArray(tenant.settings) ? tenant.settings : {};\n}\nfunction fanSettings(tenant: any) {\n  const settings = settingsObject(tenant);\n  const cockpit = settings.dj_cockpit && typeof settings.dj_cockpit === 'object' && !Array.isArray(settings.dj_cockpit) ? settings.dj_cockpit : {};\n  const fanbase = cockpit.fanbase && typeof cockpit.fanbase === 'object' && !Array.isArray(cockpit.fanbase) ? cockpit.fanbase : {};\n  return {\n    public_capture_enabled: fanbase.public_capture_enabled === true,\n    program_state: norm(fanbase.program_state, 40) || 'configure',\n    loyalty_model: norm(fanbase.loyalty_model, 80) || 'owner_configured',\n    reward_label: norm(fanbase.reward_label, 160),\n    repeat_visit_threshold: Math.min(50, Math.max(2, Number(fanbase.repeat_visit_threshold || 2))),\n    lapsed_days: Math.min(365, Math.max(14, Number(fanbase.lapsed_days || 60))),\n    tiers: Array.isArray(fanbase.tiers) ? fanbase.tiers : [],\n    rewards: Array.isArray(fanbase.rewards) ? fanbase.rewards : [],\n  };\n}\nasync function resolveTenant(slug: string) {\n  const { data, error } = await admin.from('tenants')\n    .select('id,name,company_slug,company_dba_name,company_logo_url,settings,status')\n    .eq('company_slug', slug)\n    .eq('status', 'active')\n    .maybeSingle();\n  if (error || !data) return null;\n  const settings = settingsObject(data);\n  const classification = settings.tenant_classification && typeof settings.tenant_classification === 'object'\n    ? settings.tenant_classification : {};\n  const businessType = String(settings.declared_business_type || settings.business_type || '').toUpperCase();\n  if (String(classification.primary_archetype || '').toLowerCase() !== 'entertainment'\n      && !['ENTERTAINMENT','ENTERTAINMENT_DJ','DJ','MOBILE_DJ','WEDDING_DJ','DISC_JOCKEY'].includes(businessType)) return null;\n  return data;\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(supabaseUrl, anonKey, { 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 { userId: String(data.user.id) };\n}\nasync function authorizeOwner(userId: string, tenantId: string) {\n  const [owner, system] = await Promise.all([\n    admin.rpc('is_tenant_owner_for', { _user_id: userId, _tenant_id: tenantId }),\n    admin.rpc('is_system_admin', { _user_id: userId }),\n  ]);\n  if (owner.error) throw owner.error;\n  if (system.error) throw system.error;\n  if (!owner.data && !system.data) throw new Error('Workspace owner or admin required');\n}\nasync function findContact(tenantId: string, email: string, phone: string | null) {\n  const byEmail = await admin.from('unified_contacts')\n    .select('id,name,first_name,last_name,email,phone,raw_data')\n    .eq('tenant_org_id', tenantId).is('deleted_at', null).ilike('email', email)\n    .order('created_at', { ascending: true }).limit(1).maybeSingle();\n  if (byEmail.error) throw byEmail.error;\n  if (byEmail.data) return byEmail.data;\n  if (!phone) return null;\n  const byPhone = await admin.from('unified_contacts')\n    .select('id,name,first_name,last_name,email,phone,raw_data')\n    .eq('tenant_org_id', tenantId).is('deleted_at', null).eq('normalized_phone', phone)\n    .order('created_at', { ascending: true }).limit(1).maybeSingle();\n  if (byPhone.error) throw byPhone.error;\n  return byPhone.data || null;\n}\nasync function ensureContact(tenant: any, name: string, email: string, phone: string | null, attribution: Record<string, unknown>) {\n  const existing = await findContact(tenant.id, email, phone);\n  const now = new Date().toISOString();\n  const names = splitName(name);\n  if (existing) {\n    const raw = existing.raw_data && typeof existing.raw_data === 'object' && !Array.isArray(existing.raw_data) ? existing.raw_data : {};\n    const fan = raw.entertainment_fanbase && typeof raw.entertainment_fanbase === 'object' && !Array.isArray(raw.entertainment_fanbase) ? raw.entertainment_fanbase : {};\n    const history = Array.isArray(fan.touch_history) ? fan.touch_history.slice(-24) : [];\n    const { data, error } = await admin.from('unified_contacts').update({\n      name: name || existing.name,\n      first_name: names.first_name || existing.first_name,\n      last_name: names.last_name || existing.last_name,\n      email,\n      phone: phone || existing.phone,\n      normalized_phone: phone || existing.phone,\n      raw_data: { ...raw, entertainment_fanbase: { ...fan, first_touch: fan.first_touch || attribution, last_touch: attribution, touch_history: [...history, attribution] } },\n      last_touched_at: now,\n      updated_at: now,\n    }).eq('tenant_org_id', tenant.id).eq('id', existing.id).select('id,name,email,phone').single();\n    if (error) throw error;\n    return data;\n  }\n  const { data, error } = await admin.from('unified_contacts').insert({\n    tenant_org_id: tenant.id,\n    name,\n    first_name: names.first_name,\n    last_name: names.last_name,\n    email,\n    phone,\n    normalized_phone: phone,\n    status: 'loyalty_member',\n    source: 'entertainment_fanbase',\n    priority: 'normal',\n    notes: 'Joined entertainment fanbase.',\n    raw_data: { entertainment_fanbase: { first_touch: attribution, last_touch: attribution, touch_history: [attribution] } },\n    last_touched_at: now,\n  }).select('id,name,email,phone').single();\n  if (error) throw error;\n  return data;\n}\nasync function joinFan(tenant: any, payload: any, req: Request) {\n  const config = fanSettings(tenant);\n  if (!config.public_capture_enabled) return json({ ok: false, error: 'Fan capture is not enabled yet.', code: 'fan_capture_prerequisite_required' }, 409);\n  const name = norm(payload.name, 240);\n  const email = emailOf(payload.email);\n  const phone = phoneOf(payload.phone);\n  const emailOptIn = payload.email_opt_in === true;\n  const smsOptIn = payload.sms_opt_in === true;\n  if (!name || !email) return json({ ok: false, error: 'Name and a valid email are required.' }, 400);\n  if (!emailOptIn) return json({ ok: false, error: 'Email permission is required to join the fan list.' }, 400);\n  if (smsOptIn && !phone) return json({ ok: false, error: 'A phone number is required for text updates.' }, 400);\n\n  const joinedAt = new Date().toISOString();\n  const referralCode = norm(payload.referral_code, 32)?.toUpperCase() || null;\n  const attribution = {\n    source: norm(payload.source, 120) || 'fan_capture',\n    set_id: norm(payload.set_id, 120),\n    event_id: norm(payload.event_id, 120),\n    venue: norm(payload.venue, 240),\n    campaign: norm(payload.campaign, 160),\n    utm_source: norm(payload.utm_source, 160),\n    utm_medium: norm(payload.utm_medium, 160),\n    utm_campaign: norm(payload.utm_campaign, 160),\n    landing_path: norm(payload.landing_path, 600),\n    referral_code: referralCode,\n    joined_at: joinedAt,\n  };\n  const contact = await ensureContact(tenant, name, email, phone, attribution);\n  const byContact = await admin.from('mobile_vendor_loyalty_members').select('*').eq('tenant_org_id', tenant.id).eq('contact_id', contact.id).maybeSingle();\n  if (byContact.error) throw byContact.error;\n  let member = byContact.data;\n  if (member) {\n    const metadata = member.metadata && typeof member.metadata === 'object' && !Array.isArray(member.metadata) ? member.metadata : {};\n    const history = Array.isArray(metadata.touch_history) ? metadata.touch_history.slice(-24) : [];\n    const { data, error } = await admin.from('mobile_vendor_loyalty_members').update({\n      display_name: name,\n      email, normalized_email: email,\n      phone: phone || member.phone,\n      normalized_phone: phone || member.phone,\n      status: 'active',\n      email_opt_in: true,\n      sms_opt_in: smsOptIn,\n      join_source: member.join_source || String(attribution.source),\n      metadata: { ...metadata, first_attribution: metadata.first_attribution || attribution, last_attribution: attribution, touch_history: [...history, attribution] },\n      updated_at: joinedAt,\n    }).eq('tenant_org_id', tenant.id).eq('id', member.id).select('*').single();\n    if (error) throw error;\n    member = data;\n  } else {\n    const { data, error } = await admin.from('mobile_vendor_loyalty_members').insert({\n      tenant_org_id: tenant.id,\n      contact_id: contact.id,\n      display_name: name,\n      email, normalized_email: email,\n      phone, normalized_phone: phone,\n      status: 'active',\n      email_opt_in: true,\n      sms_opt_in: smsOptIn,\n      source: 'entertainment_fanbase',\n      join_source: String(attribution.source),\n      joined_at: joinedAt,\n      metadata: { first_attribution: attribution, last_attribution: attribution, touch_history: [attribution] },\n    }).select('*').single();\n    if (error) throw error;\n    member = data;\n    const activity = await admin.from('mobile_vendor_loyalty_activity').insert({\n      tenant_org_id: tenant.id, member_id: member.id, contact_id: member.contact_id,\n      activity_type: 'joined', stamps_delta: 0, balance_after: 0, points_delta: 0, points_balance_after: 0,\n      source: 'entertainment_fanbase', source_ref: String(member.id), metadata: { attribution },\n    });\n    if (activity.error && String((activity.error as any)?.code || '') !== '23505') throw activity.error;\n  }\n\n  const consentText = 'Yes, keep me updated about this DJ\\'s upcoming events, fan perks, and occasional offers.';\n  await admin.from('mobile_vendor_loyalty_consent_events').insert({\n    tenant_org_id: tenant.id, member_id: member.id, contact_id: member.contact_id,\n    channel: 'email', consent_status: 'granted', identity_value: email,\n    capture_text: consentText, source: 'entertainment_fanbase',\n    source_url: norm(payload.landing_path, 600), user_agent: req.headers.get('user-agent'),\n    event_ref: 'fan-join:' + member.id + ':' + joinedAt, occurred_at: joinedAt,\n    metadata: { public_opt_in: true, attribution },\n  });\n  if (smsOptIn && phone) {\n    await admin.from('mobile_vendor_loyalty_consent_events').insert({\n      tenant_org_id: tenant.id, member_id: member.id, contact_id: member.contact_id,\n      channel: 'sms', consent_status: 'granted', identity_value: phone,\n      capture_text: 'Yes, text me about upcoming events and fan updates.',\n      source: 'entertainment_fanbase', source_url: norm(payload.landing_path, 600),\n      user_agent: req.headers.get('user-agent'),\n      event_ref: 'fan-join-sms:' + member.id + ':' + joinedAt, occurred_at: joinedAt,\n      metadata: { public_opt_in: true, attribution },\n    });\n  }\n  let referralAttached = false;\n  if (referralCode) {\n    const attached = await admin.rpc('attach_mobile_vendor_loyalty_referral', {\n      _tenant_org_id: tenant.id,\n      _friend_member_id: member.id,\n      _referral_code: referralCode,\n      _landing_ref: norm(payload.landing_ref, 160),\n    });\n    if (attached.error) throw attached.error;\n    referralAttached = Boolean(attached.data?.attached);\n  }\n  return json({ ok: true, joined: true, referral_joined: referralAttached, member: { id: member.id, referral_code: member.referral_code || null } }, byContact.data ? 200 : 201);\n}\nfunction bookingLane(booking: any): 'creative' | 'professional' | 'unknown' {\n  const metadata = booking?.metadata && typeof booking.metadata === 'object' && !Array.isArray(booking.metadata) ? booking.metadata : {};\n  const declared = String(metadata.dj_lane || metadata.booking_lane || metadata.entertainment_lane || '').trim().toLowerCase();\n  if (declared === 'creative' || declared === 'professional') return declared;\n  const token = String(booking?.event_type || '').trim().toLowerCase();\n  if (/club|bar|festival|nightlife|residen|guest.?set|dj.?set|lounge|creative/.test(token)) return 'creative';\n  if (/wedding|corporate|private|school|gala|quince|birthday|graduation|holiday|ceremony|reception|professional/.test(token)) return 'professional';\n  return 'unknown';\n}\nfunction money(value: unknown): number {\n  const n = Number(value || 0);\n  return Number.isFinite(n) ? n : 0;\n}\nfunction dateMs(value: unknown): number {\n  const n = Date.parse(String(value || ''));\n  return Number.isFinite(n) ? n : 0;\n}\nasync function ownerStatus(tenant: any) {\n  const config = fanSettings(tenant);\n  const now = Date.now();\n  const nowIso = new Date(now).toISOString();\n  const today = nowIso.slice(0, 10);\n  const sevenDaysAgo = now - 7 * 86400000;\n  const thirtyDaysAgo = now - 30 * 86400000;\n  const lapsedCutoff = new Date(now - config.lapsed_days * 86400000).toISOString();\n\n  const [members, referrals, bookings, proposals, invoices, contacts] = await Promise.all([\n    admin.from('mobile_vendor_loyalty_members')\n      .select('id,display_name,email,phone,status,email_opt_in,sms_opt_in,join_source,joined_at,last_visit_at,visits,points_balance,referral_code,metadata')\n      .eq('tenant_org_id', tenant.id).order('joined_at', { ascending: false }).limit(500),\n    admin.from('mobile_vendor_loyalty_referrals')\n      .select('id,status,first_purchase_at,created_at,referrer_member_id,friend_member_id')\n      .eq('tenant_org_id', tenant.id).order('created_at', { ascending: false }).limit(500),\n    admin.from('event_bookings')\n      .select('id,event_name,event_type,stage,status,event_date,start_time,end_time,venue_name,quote_amount,deposit_amount,balance_due,metadata,created_at,updated_at')\n      .eq('tenant_org_id', tenant.id).order('event_date', { ascending: true }).limit(500),\n    admin.from('proposals')\n      .select('id,status,total_amount,deposit_amount,balance_amount,sent_at,accepted_at,created_at,source_event_id,metadata')\n      .eq('tenant_id', tenant.id).order('created_at', { ascending: false }).limit(500),\n    admin.from('invoices')\n      .select('id,status,amount,paid_at,due_date,event_booking_id,document_metadata,created_at')\n      .eq('tenant_org_id', tenant.id).order('created_at', { ascending: false }).limit(500),\n    admin.from('unified_contacts')\n      .select('id,name,contact_role,source,last_touched_at,raw_data')\n      .eq('tenant_org_id', tenant.id).is('deleted_at', null).order('updated_at', { ascending: false }).limit(500),\n  ]);\n\n  for (const result of [members, referrals, bookings, proposals, invoices, contacts]) {\n    if (result.error) throw result.error;\n  }\n\n  const activeMembers = (members.data || []).filter((m: any) => m.status !== 'unsubscribed');\n  const repeatFans = activeMembers.filter((m: any) => Number(m.visits || 0) >= config.repeat_visit_threshold);\n  const vips = activeMembers.filter((m: any) => Boolean(m?.metadata?.vip) || String(m?.metadata?.tier || '').toLowerCase() === 'vip');\n  const ambassadors = activeMembers.filter((m: any) => Boolean(m?.metadata?.ambassador) || Boolean(m?.metadata?.street_team));\n  const lapsed = activeMembers.filter((m: any) => m.last_visit_at && String(m.last_visit_at) < lapsedCutoff);\n  const new7 = activeMembers.filter((m: any) => dateMs(m.joined_at) >= sevenDaysAgo);\n  const new30 = activeMembers.filter((m: any) => dateMs(m.joined_at) >= thirtyDaysAgo);\n  const referralConversions = (referrals.data || []).filter((r: any) => Boolean(r.first_purchase_at)).length;\n\n  const sourceCounts = new Map<string, number>();\n  for (const member of activeMembers) {\n    const source = norm(member.join_source, 80) || 'direct';\n    sourceCounts.set(source, (sourceCounts.get(source) || 0) + 1);\n  }\n\n  const allBookings = (bookings.data || []).map((booking: any) => ({ ...booking, dj_lane: bookingLane(booking) }));\n  const activeBookings = allBookings.filter((booking: any) => !['cancelled','canceled','declined','void'].includes(String(booking.status || '').toLowerCase()));\n  const upcoming = activeBookings.filter((booking: any) => String(booking.event_date || '') >= today);\n  const creativeBookings = activeBookings.filter((booking: any) => booking.dj_lane === 'creative');\n  const professionalBookings = activeBookings.filter((booking: any) => booking.dj_lane === 'professional');\n  const upcomingCreative = upcoming.filter((booking: any) => booking.dj_lane === 'creative');\n  const upcomingProfessional = upcoming.filter((booking: any) => booking.dj_lane === 'professional');\n  const unknownBookings = activeBookings.filter((booking: any) => booking.dj_lane === 'unknown');\n\n  const creativeStages: Record<string, number> = {};\n  const professionalStages: Record<string, number> = {};\n  for (const booking of creativeBookings) {\n    const stage = String(booking.stage || booking.status || 'unspecified').trim().toLowerCase() || 'unspecified';\n    creativeStages[stage] = (creativeStages[stage] || 0) + 1;\n  }\n  for (const booking of professionalBookings) {\n    const stage = String(booking.stage || booking.status || 'unspecified').trim().toLowerCase() || 'unspecified';\n    professionalStages[stage] = (professionalStages[stage] || 0) + 1;\n  }\n\n  const proposalRows = proposals.data || [];\n  const invoiceRows = invoices.data || [];\n  const openProposals = proposalRows.filter((p: any) => !['accepted','declined','voided','paid'].includes(String(p.status || '').toLowerCase()));\n  const sentProposals = proposalRows.filter((p: any) => p.sent_at && !p.accepted_at);\n  const acceptedProposals = proposalRows.filter((p: any) => Boolean(p.accepted_at) || String(p.status || '').toLowerCase() === 'accepted');\n  const unpaidInvoices = invoiceRows.filter((i: any) => !i.paid_at && !['paid','void','cancelled','canceled'].includes(String(i.status || '').toLowerCase()));\n\n  const creativeBooked = creativeBookings.reduce((sum: number, b: any) => sum + money(b.quote_amount), 0);\n  const professionalBooked = professionalBookings.reduce((sum: number, b: any) => sum + money(b.quote_amount), 0);\n  const creativeOutstanding = creativeBookings.reduce((sum: number, b: any) => sum + money(b.balance_due), 0);\n  const professionalOutstanding = professionalBookings.reduce((sum: number, b: any) => sum + money(b.balance_due), 0);\n  const proposalPipeline = openProposals.reduce((sum: number, p: any) => sum + money(p.total_amount), 0);\n  const invoiceOutstanding = unpaidInvoices.reduce((sum: number, i: any) => sum + money(i.amount), 0);\n\n  const relationshipRoles = new Map<string, number>();\n  for (const contact of contacts.data || []) {\n    const role = String(contact.contact_role || contact?.raw_data?.entertainment_role || '').trim().toLowerCase();\n    if (!role) continue;\n    relationshipRoles.set(role, (relationshipRoles.get(role) || 0) + 1);\n  }\n  const relationshipCount = (pattern: RegExp) => [...relationshipRoles.entries()].reduce((sum, [role,count]) => sum + (pattern.test(role) ? count : 0), 0);\n\n  const venueCounts = new Map<string, number>();\n  for (const booking of creativeBookings) {\n    const venue = String(booking.venue_name || '').trim();\n    if (venue) venueCounts.set(venue, (venueCounts.get(venue) || 0) + 1);\n  }\n\n  const nextActions: Array<Record<string, unknown>> = [];\n  if (!config.public_capture_enabled) nextActions.push({ id:'configure-fan-capture', mode:'fanbase', priority:'critical', label:'Turn on fan capture', detail:'Configure the loyalty rules and public QR signup before the next Creative set.' });\n  if (!upcomingCreative.length) nextActions.push({ id:'creative-pipeline', mode:'creative', priority:'high', label:'Book the next room', detail:'Add promoter and venue targets, pitch the room, or reopen a rebook conversation.' });\n  if (!upcomingProfessional.length) nextActions.push({ id:'professional-pipeline', mode:'professional', priority:'high', label:'Create the next Professional opportunity', detail:'Work weddings, corporate, schools, private events, and proposals.' });\n  if (lapsed.length) nextActions.push({ id:'reactivate-fans', mode:'fanbase', priority:'medium', label:'Reactivate lapsed supporters', detail:String(lapsed.length) + ' supporter' + (lapsed.length === 1 ? '' : 's') + ' passed the reactivation window.' });\n  const vipCandidates = activeMembers.filter((m: any) => Number(m.visits || 0) >= Math.max(3, config.repeat_visit_threshold + 1) && !Boolean(m?.metadata?.vip));\n  if (vipCandidates.length) nextActions.push({ id:'vip-candidates', mode:'fanbase', priority:'medium', label:'Promote VIP candidates', detail:String(vipCandidates.length) + ' repeat supporter' + (vipCandidates.length === 1 ? '' : 's') + ' qualify for a VIP review.' });\n  if (sentProposals.length) nextActions.push({ id:'proposal-followup', mode:'professional', priority:'high', label:'Follow up on sent proposals', detail:String(sentProposals.length) + ' sent proposal' + (sentProposals.length === 1 ? '' : 's') + ' still need a decision.' });\n  if (invoiceOutstanding > 0) nextActions.push({ id:'collect-balance', mode:'office', priority:'high', label:'Collect outstanding money', detail:'Open invoices total $' + invoiceOutstanding.toFixed(2) + ' outstanding.' });\n  if (unknownBookings.length) nextActions.push({ id:'classify-bookings', mode:'office', priority:'medium', label:'Classify uncategorized bookings', detail:String(unknownBookings.length) + ' booking' + (unknownBookings.length === 1 ? '' : 's') + ' need Creative or Professional lane assignment.' });\n  if (!activeMembers.length && config.public_capture_enabled) nextActions.push({ id:'first-fans', mode:'fanbase', priority:'high', label:'Capture the first fans', detail:'Use an event QR or fan-club link at the next appearance.' });\n\n  const identityName = String(tenant.company_dba_name || tenant.name || '').trim();\n  const launchRunway = [\n    { id:'identity', label:'Replace placeholder identity', complete:Boolean(identityName && !/^dj cockpit$/i.test(identityName)), mode:'office' },\n    { id:'fan-program', label:'Configure fan loyalty program', complete:config.program_state !== 'configure', mode:'fanbase' },\n    { id:'fan-capture', label:'Enable public fan capture', complete:config.public_capture_enabled, mode:'fanbase' },\n    { id:'creative', label:'Create first Creative booking', complete:creativeBookings.length > 0, mode:'creative' },\n    { id:'professional', label:'Create first Professional event', complete:professionalBookings.length > 0, mode:'professional' },\n    { id:'proposal', label:'Send first Professional proposal', complete:proposalRows.some((p: any) => Boolean(p.sent_at)), mode:'professional' },\n    { id:'fan', label:'Capture first opted-in fan', complete:activeMembers.length > 0, mode:'fanbase' },\n    { id:'referral', label:'Generate first referral', complete:(referrals.data || []).length > 0, mode:'fanbase' },\n  ];\n\n  return {\n    ok: true,\n    config,\n    metrics: {\n      fans: activeMembers.length,\n      new_fans_7d: new7.length,\n      new_fans_30d: new30.length,\n      email_audience: activeMembers.filter((m: any) => m.email_opt_in && m.email).length,\n      sms_audience: activeMembers.filter((m: any) => m.sms_opt_in && m.phone).length,\n      repeat_fans: repeatFans.length,\n      vips: vips.length,\n      ambassadors: ambassadors.length,\n      lapsed: lapsed.length,\n      referrals: (referrals.data || []).length,\n      referral_conversions: referralConversions,\n      creative_bookings: creativeBookings.length,\n      professional_bookings: professionalBookings.length,\n      creative_upcoming: upcomingCreative.length,\n      professional_upcoming: upcomingProfessional.length,\n      proposals_open: openProposals.length,\n      proposals_accepted: acceptedProposals.length,\n      invoices_open: unpaidInvoices.length,\n      contacts: (contacts.data || []).length,\n      promoters: relationshipCount(/promoter|talent buyer|booking agent/),\n      venues: relationshipCount(/venue|club owner|venue manager/),\n    },\n    analytics: {\n      join_sources: [...sourceCounts.entries()].sort((a,b) => b[1] - a[1]).map(([source,count]) => ({ source, count })),\n      repeat_rate: activeMembers.length ? repeatFans.length / activeMembers.length : 0,\n      referral_conversion_rate: (referrals.data || []).length ? referralConversions / (referrals.data || []).length : 0,\n      creative_stages: creativeStages,\n      professional_stages: professionalStages,\n      top_creative_venues: [...venueCounts.entries()].sort((a,b) => b[1] - a[1]).slice(0,8).map(([venue,count]) => ({ venue, count })),\n    },\n    money: {\n      creative_booked: creativeBooked,\n      professional_booked: professionalBooked,\n      total_booked: creativeBooked + professionalBooked,\n      creative_outstanding: creativeOutstanding,\n      professional_outstanding: professionalOutstanding,\n      total_outstanding: creativeOutstanding + professionalOutstanding,\n      proposal_pipeline: proposalPipeline,\n      invoice_outstanding: invoiceOutstanding,\n    },\n    pipeline: {\n      creative: creativeStages,\n      professional: professionalStages,\n      unknown_bookings: unknownBookings.length,\n    },\n    next_creative: upcomingCreative[0] || null,\n    next_professional: upcomingProfessional[0] || null,\n    upcoming: {\n      creative: upcomingCreative.slice(0,6),\n      professional: upcomingProfessional.slice(0,6),\n    },\n    fan_segments: {\n      new_7d: new7.length,\n      new_30d: new30.length,\n      repeat: repeatFans.length,\n      vip: vips.length,\n      ambassador: ambassadors.length,\n      lapsed: lapsed.length,\n      email: activeMembers.filter((m: any) => m.email_opt_in && m.email).length,\n      sms: activeMembers.filter((m: any) => m.sms_opt_in && m.phone).length,\n    },\n    next_actions: nextActions.slice(0,12),\n    launch_runway: launchRunway,\n    milestones: {\n      first_fan: activeMembers.length >= 1,\n      twenty_five_fans: activeMembers.length >= 25,\n      one_hundred_fans: activeMembers.length >= 100,\n      first_creative_booking: creativeBookings.length >= 1,\n      first_professional_booking: professionalBookings.length >= 1,\n      first_referral: (referrals.data || []).length >= 1,\n      first_repeat_fan: repeatFans.length >= 1,\n    },\n    members: activeMembers.slice(0,100),\n    relationships: {\n      total: (contacts.data || []).length,\n      promoters: relationshipCount(/promoter|talent buyer|booking agent/),\n      venues: relationshipCount(/venue|club owner|venue manager/),\n      role_counts: [...relationshipRoles.entries()].sort((a,b) => b[1] - a[1]).map(([role,count]) => ({ role, count })),\n    },\n  };\n}\nasync function saveProgram(tenant: any, payload: any) {\n  const settings = settingsObject(tenant);\n  const cockpit = settings.dj_cockpit && typeof settings.dj_cockpit === 'object' && !Array.isArray(settings.dj_cockpit) ? settings.dj_cockpit : {};\n  const fanbase = cockpit.fanbase && typeof cockpit.fanbase === 'object' && !Array.isArray(cockpit.fanbase) ? cockpit.fanbase : {};\n  const next = {\n    ...fanbase,\n    program_state: norm(payload.program_state, 40) || fanbase.program_state || 'configure',\n    public_capture_enabled: payload.public_capture_enabled === true,\n    loyalty_model: norm(payload.loyalty_model, 80) || fanbase.loyalty_model || 'owner_configured',\n    reward_label: norm(payload.reward_label, 160),\n    repeat_visit_threshold: Math.min(50, Math.max(2, Number(payload.repeat_visit_threshold || fanbase.repeat_visit_threshold || 2))),\n    lapsed_days: Math.min(365, Math.max(14, Number(payload.lapsed_days || fanbase.lapsed_days || 60))),\n    tiers: Array.isArray(payload.tiers) ? payload.tiers.slice(0,12) : (Array.isArray(fanbase.tiers) ? fanbase.tiers : []),\n    rewards: Array.isArray(payload.rewards) ? payload.rewards.slice(0,20) : (Array.isArray(fanbase.rewards) ? fanbase.rewards : []),\n  };\n  const { error } = await admin.from('tenants').update({\n    settings: { ...settings, dj_cockpit: { ...cockpit, fanbase: next } },\n    updated_at: new Date().toISOString(),\n  }).eq('id', tenant.id);\n  if (error) throw error;\n  return json({ ok: true, config: next });\n}\nasync function setFanFlags(tenant: any, payload: any) {\n  const memberId = norm(payload.member_id, 80);\n  if (!memberId) return json({ ok: false, error: 'Choose a fan.' }, 400);\n  const { data: member, error } = await admin.from('mobile_vendor_loyalty_members')\n    .select('id,metadata').eq('tenant_org_id', tenant.id).eq('id', memberId).maybeSingle();\n  if (error) throw error;\n  if (!member) return json({ ok: false, error: 'Fan not found.' }, 404);\n  const metadata = member.metadata && typeof member.metadata === 'object' && !Array.isArray(member.metadata) ? member.metadata : {};\n  const next = {\n    ...metadata,\n    vip: payload.vip === true,\n    ambassador: payload.ambassador === true,\n    street_team: payload.street_team === true,\n    tier: norm(payload.tier, 80),\n    favorite_genres: Array.isArray(payload.favorite_genres) ? payload.favorite_genres.slice(0,20) : metadata.favorite_genres || [],\n    birthday_month: norm(payload.birthday_month, 20) || metadata.birthday_month || null,\n    city: norm(payload.city, 120) || metadata.city || null,\n  };\n  const updated = await admin.from('mobile_vendor_loyalty_members')\n    .update({ metadata: next, updated_at: new Date().toISOString() })\n    .eq('tenant_org_id', tenant.id).eq('id', memberId)\n    .select('id,display_name,metadata').single();\n  if (updated.error) throw updated.error;\n  return json({ ok: true, member: updated.data });\n}\nasync function checkIn(tenant: any, payload: any) {\n  const memberId = norm(payload.member_id, 80);\n  if (!memberId) return json({ ok: false, error: 'Choose a fan.' }, 400);\n  const result = await admin.rpc('record_mobile_vendor_loyalty_visit', {\n    _tenant_org_id: tenant.id,\n    _member_id: memberId,\n    _visit_ref: norm(payload.visit_ref, 160) || crypto.randomUUID(),\n    _referral_points: 0,\n  });\n  if (result.error) throw result.error;\n  return json({ ok: true, visit: result.data });\n}\n\nDeno.serve(async (req) => {\n  if (req.method === 'OPTIONS') return new Response('ok', { headers: corsHeaders });\n  if (req.method !== 'POST') return json({ ok: false, error: 'Method not allowed.' }, 405);\n  try {\n    const payload = await req.json().catch(() => ({}));\n    const tenantSlug = norm(payload.tenant_slug, 120);\n    if (!tenantSlug) return json({ ok: false, error: 'Tenant is required.' }, 400);\n    const tenant = await resolveTenant(tenantSlug);\n    if (!tenant) return json({ ok: false, error: 'Entertainment workspace not found.' }, 404);\n    const action = norm(payload.action, 80) || 'owner_status';\n\n    if (action === 'join') return await joinFan(tenant, payload, req);\n\n    const { userId } = await bearerUser(req);\n    await authorizeOwner(userId, tenant.id);\n\n    if (action === 'owner_status') return json(await ownerStatus(tenant));\n    if (action === 'save_program') return await saveProgram(tenant, payload);\n    if (action === 'set_fan_flags') return await setFanFlags(tenant, payload);\n    if (action === 'check_in') return await checkIn(tenant, payload);\n    return json({ ok: false, error: 'Unsupported fanbase action.' }, 400);\n  } catch (error) {\n    const message = error instanceof Error ? error.message : String(error);\n    console.error('[entertainment-fanbase] request failed', { message });\n    if (message === 'Unauthorized') return json({ ok: false, error: 'Sign in again to continue.' }, 401);\n    if (message.includes('owner or admin')) return json({ ok: false, error: 'Workspace owner or admin access is required.' }, 403);\n    return json({ ok: false, error: 'Fanbase service could not complete that action.' }, 500);\n  }\n});\n"}],"ownerApproved":true,"releaseIntent":null,"sourceTargets":["supabase/functions/entertainment-fanbase/index.ts","supabase/config.toml","supabase/functions/_shared/edgeFunctionRegistry.ts"],"anchored_edits":[{"path":"supabase/config.toml","anchor":"  [functions.mobile-vendor-event-request]\n    # Public event intake. The function validates required fields and resolves\n    # an active mobile-vendor tenant before any service-role write.\n    verify_jwt = false","replacement":"  [functions.mobile-vendor-event-request]\n    # Public event intake. The function validates required fields and resolves\n    # an active mobile-vendor tenant before any service-role write.\n    verify_jwt = false\n  [functions.entertainment-fanbase]\n    # Mixed auth: public fan join is validated in-function; owner/admin cockpit actions\n    # authenticate the bearer and prove tenant authority before service-role access.\n    verify_jwt = false"},{"path":"supabase/functions/_shared/edgeFunctionRegistry.ts","anchor":"  entry({\n    slug: \"mobile-vendor-event-request\",\n    path: \"supabase/functions/mobile-vendor-event-request/index.ts\",\n    protectedScope: false,\n    requiresHealth: true,\n    requiresOpenApi: true,\n    requiresFunctionVersion: true,\n    deployableByCommandCenter: true,\n    ownerApprovalRequired: false,\n    verifyJwtMode: \"no-verify-jwt\",\n    runtimeClass: \"public-intake\",\n    description: \"Anonymous mobile-vendor event-request intake with active-tenant validation and tenant-scoped contact/activity writes.\"\n  }),","replacement":"  entry({\n    slug: \"mobile-vendor-event-request\",\n    path: \"supabase/functions/mobile-vendor-event-request/index.ts\",\n    protectedScope: false,\n    requiresHealth: true,\n    requiresOpenApi: true,\n    requiresFunctionVersion: true,\n    deployableByCommandCenter: true,\n    ownerApprovalRequired: false,\n    verifyJwtMode: \"no-verify-jwt\",\n    runtimeClass: \"public-intake\",\n    description: \"Anonymous mobile-vendor event-request intake with active-tenant validation and tenant-scoped contact/activity writes.\"\n  }),\n  entry({\n    slug: \"entertainment-fanbase\",\n    path: \"supabase/functions/entertainment-fanbase/index.ts\",\n    protectedScope: false,\n    requiresHealth: false,\n    requiresOpenApi: false,\n    requiresFunctionVersion: true,\n    deployableByCommandCenter: true,\n    ownerApprovalRequired: false,\n    verifyJwtMode: \"no-verify-jwt\",\n    runtimeClass: \"public-intake\",\n    description: \"Mixed-auth Entertainment DJ fanbase and cockpit service: public opt-in capture plus owner/admin audience, loyalty, booking, and growth intelligence.\"\n  }),"}],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"b733726b-7947-4e0e-88c0-8a2c656f74ea","ownerApproved":true,"releaseIntent":null,"sourceTargets":["supabase/functions/entertainment-fanbase/index.ts","supabase/config.toml","supabase/functions/_shared/edgeFunctionRegistry.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":"6fda0936461af0907537aa309ce62181cf77e96fe1a7347e01f3c6704c52de74","replayCount":0,"serializedBytes":37271},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:49:22.661688+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:b733726b-7947-4e0e-88c0-8a2c656f74ea:repository-mutation-intent:6fda0936461af0907537aa309ce62181cf77e96fe1a7347e01f3c6704c52de74:0","mission_step_id":"a8e66860-3d4f-4412-8622-c58ab06f39ef","command_center_event_id":"b733726b-7947-4e0e-88c0-8a2c656f74ea"},{"id":"86374a81-cd6d-4256-bf04-32d755b0c1d8","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-b733726b7947","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":39337,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"executorlessWaitMs":47951,"firstUsefulResultAt":"2026-09-27T20:48:34.661Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":3902,"terminal":false,"missionId":"b733726b-7947-4e0e-88c0-8a2c656f74ea","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3697,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":707,"missionSetupMs":279,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":279,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":279,"repositoryMutationMs":2990,"repositoryProviderMs":2990,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":1851,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":279,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1139},"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":"b733726b-7947-4e0e-88c0-8a2c656f74ea"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3237,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:49:27.386289+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3902","receipt_type":"execute_mission","idempotency_key":"mission:b733726b-7947-4e0e-88c0-8a2c656f74ea:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"a8e66860-3d4f-4412-8622-c58ab06f39ef","command_center_event_id":"b733726b-7947-4e0e-88c0-8a2c656f74ea"},{"id":"83ad4eaa-be22-4660-9514-72d8f696964a","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-b733726b7947","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":42979,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":0,"executorlessWaitMs":61665,"firstUsefulResultAt":"2026-09-27T20:48:34.661Z","recoveryAttemptCount":1,"ownerInterruptionCount":0},"version":null,"prNumber":3902,"terminal":false,"missionId":"b733726b-7947-4e0e-88c0-8a2c656f74ea","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":5453,"approvedPlanMs":0,"shipAndProveMs":0,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"b733726b-7947-4e0e-88c0-8a2c656f74ea"},"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-27T20:49:36.346267+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"3902","receipt_type":"automatic_mission_resume","idempotency_key":"mission:b733726b-7947-4e0e-88c0-8a2c656f74ea:automatic-mission-resume:3902:repair_mission_pr_ready_retryable","mission_step_id":"aaec2c64-d110-4c21-a37e-120a22a7493d","command_center_event_id":"b733726b-7947-4e0e-88c0-8a2c656f74ea"},{"id":"4c22d9a7-d1a1-4afc-b1e2-b0c27416ad69","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-b733726b7947","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":44558,"releaseCount":0,"toolCallCount":5,"repeatedCallCount":1,"executorlessWaitMs":67784,"firstUsefulResultAt":"2026-09-27T20:48:34.661Z","recoveryAttemptCount":2,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":3902,"terminal":false,"missionId":"b733726b-7947-4e0e-88c0-8a2c656f74ea","operation":"execute_mission","proofGate":"canonical_release_reconciliation_pending","sourceSha":"c788c4dacce8d2d3d1794aaebb64be1221bca711","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3278,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":471,"approvedPlanMs":0,"missionSetupMs":440,"providerAuthMs":0,"shipAndProveMs":2372,"ledgerPrepareMs":335,"ledgerReconcileMs":0,"lineageReconcileMs":105,"resolvePreflightMs":440,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":335,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"b733726b-7947-4e0e-88c0-8a2c656f74ea"},"performance":null,"deploymentId":"forgejo-main-c788c4dacce8","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"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":2559,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:49:57.08966+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":"c788c4dacce8d2d3d1794aaebb64be1221bca711","external_id":"forgejo-main-c788c4dacce8","receipt_type":"execute_mission","idempotency_key":"mission:b733726b-7947-4e0e-88c0-8a2c656f74ea:execute_mission:canonical_release_reconciliation_pending:current-generation","mission_step_id":"c7e1d21b-7c6e-47d0-b635-6b5f37740f54","command_center_event_id":"b733726b-7947-4e0e-88c0-8a2c656f74ea"},{"id":"5f34f641-35ee-4ef7-bfe9-3c17f29d2e01","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","supabase-edge-production/live":"success"},"mainSha":"c788c4dacce8d2d3d1794aaebb64be1221bca711","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live"],"sourceSha":"c788c4dacce8d2d3d1794aaebb64be1221bca711","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":[]},"releaseTargetStates":{"supabaseEdge":"success"},"requestContractHash":"e0322c26e5d797cfb2039c44f4e85ef981b51f61e1341e1b7f404ad7272a6e8f","forgejoWorkflowProof":{"runId":12281,"source":"signed_push_receipt","status":"success","results":{},"conclusion":"success","targetStates":{"supabaseEdge":"success"},"targetJobCount":7,"observedTargetStates":{"supabaseEdge":"success"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:50:38.104902+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"c788c4dacce8d2d3d1794aaebb64be1221bca711","external_id":"forgejo-main-c788c4dacce8","receipt_type":"canonical_release_status","idempotency_key":"mission:b733726b-7947-4e0e-88c0-8a2c656f74ea:forgejo-release-status:c788c4dacce8d2d3d1794aaebb64be1221bca711:verified:forgejo-main/source=success|forgejo-release/workflow=success|supabase-edge-production/live=success","mission_step_id":"33b831aa-f5c7-465a-8d79-46fbb26d5fc6","command_center_event_id":"b733726b-7947-4e0e-88c0-8a2c656f74ea"},{"id":"b80f95a0-810e-4bf9-a217-956f801a475a","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","supabase-edge-production/live":"pending"},"mainSha":"c788c4dacce8d2d3d1794aaebb64be1221bca711","missing":[],"pending":["forgejo-release/workflow","supabase-edge-production/live"],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live"],"sourceSha":"c788c4dacce8d2d3d1794aaebb64be1221bca711","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":[]},"releaseTargetStates":{"supabaseEdge":"pending"},"requestContractHash":"e0322c26e5d797cfb2039c44f4e85ef981b51f61e1341e1b7f404ad7272a6e8f","forgejoWorkflowProof":{"runId":12281,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"supabaseEdge":"pending"},"targetJobCount":7,"observedTargetStates":{"supabaseEdge":"pending"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:50:03.438496+00:00","proof_gate":"canonical_release_pending","source_sha":"c788c4dacce8d2d3d1794aaebb64be1221bca711","external_id":"forgejo-main-c788c4dacce8","receipt_type":"canonical_release_status","idempotency_key":"mission:b733726b-7947-4e0e-88c0-8a2c656f74ea:forgejo-release-status:c788c4dacce8d2d3d1794aaebb64be1221bca711:pending:forgejo-main/source=success|forgejo-release/workflow=pending|supabase-edge-production/live=pending","mission_step_id":"c7e1d21b-7c6e-47d0-b635-6b5f37740f54","command_center_event_id":"b733726b-7947-4e0e-88c0-8a2c656f74ea"},{"id":"ab6e8791-107f-4468-be05-178833a56851","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":null,"reason":null,"status":"source_resolution_required","metrics":{"receiptBytes":3375,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":1,"executorlessWaitMs":2810,"firstUsefulResultAt":"2026-09-27T20:52:46.459Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":null,"terminal":false,"missionId":"24ec187f-7f6c-4ba0-8622-14857a5d0b9e","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1052,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":332,"providerAuthMs":0,"ledgerPrepareMs":332,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":332,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":332,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Supply exact sourceTargets on the same mission; planner guesses cannot replace missing mission scope.","receiptRef":{"mode":"full","missionId":"24ec187f-7f6c-4ba0-8622-14857a5d0b9e"},"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-27T20:52:46.505023+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:24ec187f-7f6c-4ba0-8622-14857a5d0b9e:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"857cd461-1963-4e3d-b758-e3b9d023c57b","command_center_event_id":"24ec187f-7f6c-4ba0-8622-14857a5d0b9e"},{"id":"5766a16f-4999-4ba8-adcb-7bc72de355a5","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-cfa819cdb0ed","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":43792,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-09-27T20:53:53.033Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":3903,"terminal":false,"missionId":"cfa819cd-b0ed-4c22-a862-244ca2433cc1","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3139,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":528,"missionSetupMs":259,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":259,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":259,"repositoryMutationMs":2611,"repositoryProviderMs":2611,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":1627,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":259,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":984},"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":"cfa819cd-b0ed-4c22-a862-244ca2433cc1"},"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":3121,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:53:57.040195+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3903","receipt_type":"execute_mission","idempotency_key":"mission:cfa819cd-b0ed-4c22-a862-244ca2433cc1:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"5476093d-d5f8-410e-881c-727973f325bf","command_center_event_id":"cfa819cd-b0ed-4c22-a862-244ca2433cc1"},{"id":"58cf245f-0088-43d9-9492-9874a56945e9","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-cfa819cdb0ed","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":47419,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":0,"executorlessWaitMs":14980,"firstUsefulResultAt":"2026-09-27T20:53:53.033Z","recoveryAttemptCount":1,"ownerInterruptionCount":0},"version":null,"prNumber":3903,"terminal":false,"missionId":"cfa819cd-b0ed-4c22-a862-244ca2433cc1","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":5467,"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":"cfa819cd-b0ed-4c22-a862-244ca2433cc1"},"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-27T20:54:08.066874+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"3903","receipt_type":"automatic_mission_resume","idempotency_key":"mission:cfa819cd-b0ed-4c22-a862-244ca2433cc1:automatic-mission-resume:3903:repair_mission_pr_ready_retryable","mission_step_id":"9ec41d9f-d282-461c-8e4a-269e622f4ebf","command_center_event_id":"cfa819cd-b0ed-4c22-a862-244ca2433cc1"},{"id":"c5c3bc94-e412-44ec-b1f4-be97ef3339f0","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[{"path":"workers/cc-execution/src/console-intelligence.js","content":"const ACTIONS = Object.freeze({\n  chat: { risk: 'read_only', executor: 'model', verification: 'response_only' },\n  clarify: { risk: 'read_only', executor: 'model', verification: 'response_only' },\n  witness: { risk: 'read_only', executor: 'inspect_route', verification: 'witness_receipt' },\n  mission: { risk: 'write_proposed', executor: 'execute_objective', verification: 'mission_receipt' },\n  status: { risk: 'read_only', executor: 'mission_or_witness_status', verification: 'receipt' },\n  cancel: { risk: 'bounded_write', executor: 'witness_cancel', verification: 'receipt' },\n  review_candidate: { risk: 'read_only', executor: 'forgejo_candidate_review', verification: 'forgejo_receipt' },\n  accept_candidate: { risk: 'production_write', executor: 'canonical_merge_release', verification: 'live_release_receipt' },\n  reject_candidate: { risk: 'bounded_write', executor: 'forgejo_candidate_close', verification: 'forgejo_receipt' },\n  revise_candidate: { risk: 'write_proposed', executor: 'execute_objective', verification: 'mission_receipt' },\n});\n\nconst trim = (value, max = 2000) => String(value ?? '').trim().slice(0, max);\nconst cleanRoute = value => {\n  const route = trim(value, 1000);\n  return route.startsWith('/') && !route.startsWith('//') && !/[\\\\\\r\\n]/.test(route) ? route : '';\n};\nconst cleanViewport = value => ['desktop', 'mobile'].includes(String(value)) ? String(value) : null;\n\nexport function consoleCapabilityRegistry() {\n  return Object.entries(ACTIONS).map(([name, contract]) => ({ name, ...contract }));\n}\n\nexport function worldFact(value, provenance, source, observedAt = new Date().toISOString()) {\n  const allowed = new Set(['observed', 'retrieved', 'known', 'inferred', 'stale', 'unknown']);\n  return {\n    value: value ?? null,\n    provenance: allowed.has(provenance) ? provenance : 'unknown',\n    source: trim(source, 160) || 'unspecified',\n    observedAt,\n  };\n}\n\nexport function verificationStateFromReceipt(receipt = null) {\n  if (!receipt || typeof receipt !== 'object') return 'requested';\n  const status = String(receipt.ownerFacingState || receipt.status || receipt.phase || '').toLowerCase();\n  const gate = String(receipt.proofGate || receipt.proof_gate || '').toLowerCase();\n  if (receipt.terminal === true && (status.includes('verified') || gate.includes('verified') || gate.includes('live'))) return 'verified';\n  if (status.includes('deploy') || status.includes('release') || gate.includes('deploy')) return 'deployed';\n  if (status.includes('merged') || gate.includes('merge')) return 'merged';\n  if (status.includes('gate') || gate.includes('gate')) return 'gate_passed';\n  if (status.includes('test')) return 'tested';\n  if (status.includes('implement') || status.includes('change') || status.includes('patch')) return 'changed';\n  if (status.includes('progress') || status.includes('running') || status.includes('inspect')) return 'started';\n  if (status.includes('plan') || status.includes('synthesis') || status.includes('ready')) return 'planned';\n  return 'requested';\n}\n\nexport function createCognitionEnvelope({ message, context = {}, decision = null, model = null, receipt = null, fallback = false }) {\n  const capability = decision?.kind && ACTIONS[decision.kind] ? ACTIONS[decision.kind] : null;\n  const facts = [\n    worldFact(context.route || null, context.route ? 'known' : 'unknown', 'console_context.route'),\n    worldFact(context.tenantRef || null, context.tenantRef ? 'known' : 'unknown', 'console_context.tenantRef'),\n    worldFact(context.missionId || null, context.missionId ? 'retrieved' : 'unknown', 'console_context.missionId'),\n    worldFact(context.jobId || null, context.jobId ? 'retrieved' : 'unknown', 'console_context.jobId'),\n  ];\n  return {\n    version: 'kl-ai-kernel-v1',\n    objective: trim(decision?.objective || message, 2000),\n    scope: {\n      route: cleanRoute(decision?.context?.route || context.route),\n      tenantRef: trim(decision?.context?.tenantRef || context.tenantRef, 120) || null,\n      roleRef: trim(decision?.context?.roleRef || context.roleRef, 80) || null,\n      sessionId: trim(context.sessionId, 80) || null,\n    },\n    facts,\n    uncertainties: Array.isArray(decision?.uncertainties) ? decision.uncertainties.map(v => trim(v, 300)).filter(Boolean).slice(0, 8) : [],\n    plan: Array.isArray(decision?.plan) ? decision.plan.map(v => trim(v, 300)).filter(Boolean).slice(0, 10) : [],\n    capability: decision?.kind ? {\n      proposed: decision.kind,\n      selected: capability ? decision.kind : null,\n      available: Boolean(capability),\n      ...(capability || {}),\n    } : null,\n    authorization: {\n      deterministicPolicyRequired: true,\n      modelMayAuthorizeWrites: false,\n    },\n    model: model ? { provider: model.provider, model: model.model } : null,\n    verificationState: verificationStateFromReceipt(receipt),\n    completion: verificationStateFromReceipt(receipt) === 'verified' ? 'verified' : 'not_verified',\n    fallback,\n  };\n}\n\nfunction responseSchema() {\n  return {\n    name: 'knocklaunch_console_intent',\n    strict: true,\n    schema: {\n      type: 'object',\n      additionalProperties: false,\n      required: ['kind', 'response', 'objective', 'route', 'tenantRef', 'roleRef', 'viewports', 'confidence', 'uncertainties', 'plan'],\n      properties: {\n        kind: { type: 'string', enum: Object.keys(ACTIONS) },\n        response: { type: 'string' },\n        objective: { type: 'string' },\n        route: { type: 'string' },\n        tenantRef: { type: 'string' },\n        roleRef: { type: 'string' },\n        viewports: { type: 'array', items: { type: 'string', enum: ['desktop', 'mobile'] }, maxItems: 2 },\n        confidence: { type: 'number', minimum: 0, maximum: 1 },\n        uncertainties: { type: 'array', items: { type: 'string' }, maxItems: 8 },\n        plan: { type: 'array', items: { type: 'string' }, maxItems: 10 },\n      },\n    },\n  };\n}\n\nexport function createModelGateway(env = {}, fetchImpl = fetch) {\n  const provider = trim(env.KNOCKLAUNCH_AI_PROVIDER || 'openai', 40).toLowerCase();\n  const model = trim(env.KNOCKLAUNCH_AI_MODEL || env.OPENAI_MODEL || 'gpt-5-mini', 120);\n  const apiKey = trim(env.KNOCKLAUNCH_AI_API_KEY || env.OPENAI_API_KEY, 400);\n  const baseUrl = trim(env.KNOCKLAUNCH_AI_BASE_URL || 'https://api.openai.com/v1', 500).replace(/\\/+$/g, '');\n  return {\n    provider,\n    model,\n    available: provider === 'openai' && Boolean(apiKey),\n    async decide({ message, context }) {\n      if (provider !== 'openai') throw new Error('unsupported_model_provider');\n      if (!apiKey) throw new Error('model_gateway_not_configured');\n      const capabilities = consoleCapabilityRegistry();\n      const recent = Array.isArray(context.recentConversation)\n        ? context.recentConversation.slice(-8).map(turn => ({ role: trim(turn?.role, 20), content: trim(turn?.content, 1000) }))\n        : [];\n      const system = [\n        'You are the planning/reasoning component of KNOCKLAUNCH AI.',\n        'Choose exactly one capability from the supplied registry. You do not authorize writes and you do not claim execution.',\n        'Use conversation context to understand follow-ups. Prefer chat for conceptual questions, witness only for actual visual observation, and mission only when the owner asks to change/build/fix something.',\n        'Do not invent a route, tenant, mission, job, deployment, or live fact. Leave unknown route/tenant fields empty.',\n        'A user can discuss a route without asking to inspect it. Visual language or an explicit request to inspect/see/verify a UI is required for witness.',\n        'If material ambiguity prevents a safe action, choose clarify. Otherwise infer naturally instead of keyword matching.',\n        'Keep response concise and useful. For actionable capabilities the execution layer will replace or augment your response with real receipts.',\n        'Capability registry: ' + JSON.stringify(capabilities),\n        'Grounded context: ' + JSON.stringify({\n          route: context.route || null,\n          tenantRef: context.tenantRef || null,\n          roleRef: context.roleRef || null,\n          missionId: context.missionId || null,\n          jobId: context.jobId || null,\n          candidateSha: context.candidateSha || null,\n          candidatePr: context.candidatePr || null,\n          candidateGate: context.candidateGate || null,\n          viewports: context.viewports || ['desktop'],\n          recentConversation: recent,\n        }),\n      ].join('\\n');\n      const response = await fetchImpl(baseUrl + '/chat/completions', {\n        method: 'POST',\n        headers: { Authorization: 'Bearer ' + apiKey, 'Content-Type': 'application/json' },\n        body: JSON.stringify({\n          model,\n          messages: [{ role: 'system', content: system }, { role: 'user', content: trim(message, 4000) }],\n          response_format: { type: 'json_schema', json_schema: responseSchema() },\n        }),\n      });\n      if (!response.ok) throw new Error('model_gateway_http_' + response.status);\n      const payload = await response.json();\n      const raw = payload?.choices?.[0]?.message?.content;\n      const decision = typeof raw === 'string' ? JSON.parse(raw) : raw;\n      return { provider, model, decision };\n    },\n  };\n}\n\nfunction normalizeDecision(raw, context) {\n  const kind = ACTIONS[raw?.kind] ? raw.kind : 'clarify';\n  const next = {\n    ...context,\n    route: cleanRoute(raw?.route) || context.route || '',\n    tenantRef: trim(raw?.tenantRef, 120) || context.tenantRef || '',\n    roleRef: trim(raw?.roleRef, 80) || context.roleRef || '',\n  };\n  const requestedViewports = Array.isArray(raw?.viewports) ? raw.viewports.map(cleanViewport).filter(Boolean) : [];\n  if (requestedViewports.length) next.viewports = [...new Set(requestedViewports)];\n  return {\n    kind,\n    context: next,\n    message: trim(raw?.response, 2000),\n    objective: trim(raw?.objective, 2000),\n    confidence: Number.isFinite(Number(raw?.confidence)) ? Math.max(0, Math.min(1, Number(raw.confidence))) : null,\n    uncertainties: Array.isArray(raw?.uncertainties) ? raw.uncertainties : [],\n    plan: Array.isArray(raw?.plan) ? raw.plan : [],\n  };\n}\n\nexport async function planConsoleIntent({ message, context, env, deterministicPlan, fetchImpl = fetch }) {\n  const deterministicKind = deterministicPlan?.kind;\n  const deterministicAuthority = new Set(['accept_candidate', 'reject_candidate', 'review_candidate', 'revise_candidate', 'status', 'cancel']);\n  const containsCredential = /\\b(?:password|secret|bearer|api[_ -]?key|access[_ -]?token)\\s*[:=]/i.test(String(message || ''));\n  if (containsCredential || deterministicAuthority.has(deterministicKind)) {\n    return { plan: deterministicPlan, model: null, fallback: false, deterministicAuthority: true };\n  }\n  const gateway = createModelGateway(env, fetchImpl);\n  if (!gateway.available) return { plan: deterministicPlan, model: { provider: gateway.provider, model: gateway.model }, fallback: true, reason: 'model_gateway_not_configured' };\n  try {\n    const result = await gateway.decide({ message, context });\n    return { plan: normalizeDecision(result.decision, context), model: { provider: result.provider, model: result.model }, fallback: false, deterministicAuthority: false };\n  } catch (error) {\n    return { plan: deterministicPlan, model: { provider: gateway.provider, model: gateway.model }, fallback: true, reason: trim(error?.message || error, 240) };\n  }\n}\n"},{"path":"workers/cc-execution/test/console-intelligence.test.js","content":"import test from 'node:test';\nimport assert from 'node:assert/strict';\nimport { consoleCapabilityRegistry, createCognitionEnvelope, createModelGateway, planConsoleIntent, verificationStateFromReceipt } from '../src/console-intelligence.js';\n\ntest('console capability broker exposes only executable console actions', () => {\n  const names = consoleCapabilityRegistry().map(item => item.name);\n  assert.ok(names.includes('chat'));\n  assert.ok(names.includes('witness'));\n  assert.ok(names.includes('mission'));\n  assert.ok(names.includes('accept_candidate'));\n  assert.equal(new Set(names).size, names.length);\n});\n\ntest('verification mapping never upgrades an unproven request to verified', () => {\n  assert.equal(verificationStateFromReceipt(null), 'requested');\n  assert.equal(verificationStateFromReceipt({ status: 'synthesis_required' }), 'planned');\n  assert.equal(verificationStateFromReceipt({ status: 'deployed' }), 'deployed');\n  assert.equal(verificationStateFromReceipt({ status: 'verified', terminal: true }), 'verified');\n});\n\ntest('model gateway falls back safely when no provider secret exists', async () => {\n  const deterministicPlan = { kind: 'help', context: { route: '' }, message: 'fallback' };\n  const result = await planConsoleIntent({ message: 'How does Gate work?', context: {}, env: {}, deterministicPlan });\n  assert.equal(result.fallback, true);\n  assert.equal(result.plan, deterministicPlan);\n});\n\ntest('model gateway accepts structured provider decision without giving it write authority', async () => {\n  const fakeFetch = async () => new Response(JSON.stringify({ choices: [{ message: { content: JSON.stringify({\n    kind: 'chat', response: 'Gate protects releases.', objective: 'Explain Gate', route: '', tenantRef: '', roleRef: '', viewports: ['desktop'], confidence: 0.97, uncertainties: [], plan: ['Answer from grounded context']\n  }) } }] }), { status: 200, headers: { 'content-type': 'application/json' } });\n  const gateway = createModelGateway({ OPENAI_API_KEY: 'test', KNOCKLAUNCH_AI_MODEL: 'test-model' }, fakeFetch);\n  const result = await gateway.decide({ message: 'How does Gate work?', context: {} });\n  assert.equal(result.decision.kind, 'chat');\n  const envelope = createCognitionEnvelope({ message: 'How does Gate work?', context: {}, decision: { kind: 'chat', objective: 'Explain Gate' }, model: result });\n  assert.equal(envelope.authorization.modelMayAuthorizeWrites, false);\n  assert.equal(envelope.completion, 'not_verified');\n});\n"}],"branch":"ai/objective-first-repair-fb18b85e1e27","writes":[],"patches":[],"version":1,"approved":true,"pr_title":"KNOCKLAUNCH AI Kernel v1: grounded Console intelligence runtime","missionId":"fb18b85e-1e27-4fce-9830-6d7bcaeb92dd","objective":"Build and ship the backend/shared foundation for KNOCKLAUNCH AI Kernel v1. Replace the current regex-only GodMode Console intent authority with a first-party intelligence runtime while preserving deterministic policy and current mission/witness execution. Reuse the existing Console session archive/search and evidence machinery already on protected main.","repository":"noel/KnockLaunchOS","autoProgress":true,"ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"anchored_edits":[{"path":"workers/cc-execution/src/console-operator.js","new_content":"// Console is an authenticated client of the existing mission and witness engines.\\nimport { createCognitionEnvelope, planConsoleIntent } from './console-intelligence.js';\\n","old_content":"// Console is an authenticated client of the existing mission and witness engines.\\n"},{"path":"workers/cc-execution/src/console-operator.js","new_content":"    candidateChangedPaths: Array.isArray(raw.candidateChangedPaths) ? raw.candidateChangedPaths.map(v=>text(v,300)).filter(Boolean).slice(0,80) : [],\\n    sessionId: uuid(raw.sessionId),\\n    witnessRequested: raw.witnessRequested === true,\\n    recentConversation: Array.isArray(raw.recentConversation) ? raw.recentConversation.slice(-8).map(turn => ({ role: text(turn?.role, 20), content: text(turn?.content, 1000) })).filter(turn => turn.content) : [],\\n  };","old_content":"    candidateChangedPaths: Array.isArray(raw.candidateChangedPaths) ? raw.candidateChangedPaths.map(v=>text(v,300)).filter(Boolean).slice(0,80) : [],\\n  };"},{"path":"workers/cc-execution/src/console-operator.js","new_content":"  const deterministicPlan = inferOperator(input.message, input.context);\\n  const intelligenceResult = await planConsoleIntent({ message: input.message, context: safeContext(input.context), env, deterministicPlan });\\n  const plan = intelligenceResult.plan, context=plan.context;\\n  const intelligenceBase = createCognitionEnvelope({ message: input.message, context, decision: plan, model: intelligenceResult.model, fallback: intelligenceResult.fallback });\\n  if (plan.kind==='chat') return json({ok:true,kind:'chat',message:plan.message||'I do not have enough grounded context to answer that confidently.',context,intelligence:intelligenceBase,inference:{action:'chat',confidence:plan.confidence??null}});\\n  if (plan.kind==='clarify'||plan.kind==='help') return json({ok:true,kind:'help',message:plan.message||'What outcome do you want?',context,intelligence:intelligenceBase,inference:{action:'clarify',route:context.route,viewports:context.viewports,confidence:plan.confidence??null}});","old_content":"  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}});"},{"path":"workers/cc-execution/src/console-operator.js","new_content":"    const intelligence = createCognitionEnvelope({ message: input.message, context, decision: plan, model: intelligenceResult.model, receipt, fallback: intelligenceResult.fallback });\\n    return json({ok:true,kind:plan.kind,message,context,receipt,intelligence,inference:{action:plan.kind,route:context.route,tenantRef:context.tenantRef,roleRef:context.roleRef||'default',viewports:context.viewports,runnerLane:'laptop',confidence:plan.confidence??null}});","old_content":"    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'}});"},{"path":"src/pages/admin/GodModeCommandConsole.tsx","new_content":"          legacyRepoSessionAllowed: false,\\n          sessionId: currentSessionId || null,\\n          recentConversation: messages.slice(-6).map((item) => ({ role: item.role, content: item.content.slice(0, 900) })),","old_content":"          legacyRepoSessionAllowed: false,\\n          recentConversation: messages.slice(-6).map((item) => ({ role: item.role, content: item.content.slice(0, 900) })),"},{"path":"src/pages/admin/GodModeCommandConsole.tsx","new_content":"              resolverMatch: resolverTrace.matchKind || null,\\n              intelligence: data?.intelligence || null,\\n              receiptRef: data?.receipt ? { missionId: data.receipt?.missionId || null, jobId: data.receipt?.jobId || null, proofGate: data.receipt?.proofGate || null, status: data.receipt?.status || null } : null,\\n            },","old_content":"              resolverMatch: resolverTrace.matchKind || null,\\n            },"}],"commit_message":"feat: add KNOCKLAUNCH AI kernel v1 to GodMode Console","implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"fb18b85e-1e27-4fce-9830-6d7bcaeb92dd","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":"035b90d0b3ed685e3d2485b028624240f8532a2991046438e7c11ee595cc9363","replayCount":0,"serializedBytes":19942},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:54:32.081587+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:fb18b85e-1e27-4fce-9830-6d7bcaeb92dd:repository-mutation-intent:035b90d0b3ed685e3d2485b028624240f8532a2991046438e7c11ee595cc9363:0","mission_step_id":"912e39e1-d67a-4e02-91d3-2b22c16c5d0a","command_center_event_id":"fb18b85e-1e27-4fce-9830-6d7bcaeb92dd"},{"id":"31e77a80-801c-426b-aa43-b721f37f4c51","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-fb18b85e1e27","reason":"anchored_edit_anchor_missing:workers/cc-execution/src/console-operator.js","status":"blocked","metrics":{"receiptBytes":52264,"releaseCount":0,"toolCallCount":6,"repeatedCallCount":1,"executorlessWaitMs":1759697,"firstUsefulResultAt":"2026-09-27T20:26:23.347Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":null,"terminal":false,"missionId":"fb18b85e-1e27-4fce-9830-6d7bcaeb92dd","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1201,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":1201,"missionSetupMs":384,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":384,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":384,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":384,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"fb18b85e-1e27-4fce-9830-6d7bcaeb92dd"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1529,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:54:33.015318+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:fb18b85e-1e27-4fce-9830-6d7bcaeb92dd:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"912e39e1-d67a-4e02-91d3-2b22c16c5d0a","command_center_event_id":"fb18b85e-1e27-4fce-9830-6d7bcaeb92dd"},{"id":"55f33059-f72d-4f73-8424-b56f4f049f4d","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-1335a6644234","reason":"anchored_edit_anchor_missing:src/pages/admin/GodModeCommandConsole.tsx","status":"blocked","metrics":{"receiptBytes":23956,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-09-27T20:57:37.377Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":null,"terminal":false,"missionId":"1335a664-4234-41e4-88e8-5dc39ef05361","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1613,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":1613,"missionSetupMs":324,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":324,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":324,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":324,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"1335a664-4234-41e4-88e8-5dc39ef05361"},"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":1521,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:57:40.055866+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:1335a664-4234-41e4-88e8-5dc39ef05361:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"be24cea7-9c22-4af9-9824-6c03212539c2","command_center_event_id":"1335a664-4234-41e4-88e8-5dc39ef05361"},{"id":"d6700e9c-329c-4bf7-ad5f-0909f39696db","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-30cd4575b504","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":11703,"releaseCount":0,"toolCallCount":6,"repeatedCallCount":4,"executorlessWaitMs":2089224,"firstUsefulResultAt":"2026-09-27T20:45:48.198Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":null,"terminal":false,"missionId":"30cd4575-b504-4bc9-8e97-0c2082101426","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1051,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":262,"providerAuthMs":0,"ledgerPrepareMs":262,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":262,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":262,"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":"30cd4575-b504-4bc9-8e97-0c2082101426"},"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":5185,"likelyAffectedFiles":["src/shells/TenantModesShell.tsx"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T20:46:02.065162+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:30cd4575-b504-4bc9-8e97-0c2082101426:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"1b8f7c38-c70e-43a8-a81c-9825889b9962","command_center_event_id":"30cd4575-b504-4bc9-8e97-0c2082101426"},{"id":"da748c08-b996-4043-9e76-f64df5fb22a5","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-f67350182876","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":37021,"releaseCount":0,"toolCallCount":9,"repeatedCallCount":4,"executorlessWaitMs":69799,"firstUsefulResultAt":"2026-09-27T21:00:14.910Z","recoveryAttemptCount":6,"ownerInterruptionCount":0},"version":null,"prNumber":3905,"terminal":false,"missionId":"f6735018-2876-46bb-98ee-2dbf952606bd","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":5459,"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":"f6735018-2876-46bb-98ee-2dbf952606bd"},"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-27T21:00:29.148858+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"3905","receipt_type":"automatic_mission_resume","idempotency_key":"mission:f6735018-2876-46bb-98ee-2dbf952606bd:automatic-mission-resume:3905:repair_mission_pr_ready_retryable","mission_step_id":"8c1a394a-c148-4bc7-a9cd-a57b994cfd05","command_center_event_id":"f6735018-2876-46bb-98ee-2dbf952606bd"},{"id":"e4eff67b-6249-4f90-b079-bec503093e03","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-f67350182876","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":38600,"releaseCount":0,"toolCallCount":10,"repeatedCallCount":5,"executorlessWaitMs":75806,"firstUsefulResultAt":"2026-09-27T21:00:14.910Z","recoveryAttemptCount":7,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":3905,"terminal":false,"missionId":"f6735018-2876-46bb-98ee-2dbf952606bd","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":5556,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":5449,"approvedPlanMs":0,"missionSetupMs":369,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":253,"ledgerReconcileMs":0,"lineageReconcileMs":116,"resolvePreflightMs":369,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":253,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"f6735018-2876-46bb-98ee-2dbf952606bd"},"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":1523,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T21:01:13.611348+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"3905","receipt_type":"execute_mission","idempotency_key":"mission:f6735018-2876-46bb-98ee-2dbf952606bd:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"15141052-defc-4857-a7f6-147e1da1532e","command_center_event_id":"f6735018-2876-46bb-98ee-2dbf952606bd"},{"id":"d3603227-1c37-4867-bc41-987251091393","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Repair the exact Gate syntax failure on existing KNOCKLAUNCH AI Kernel v1 PR #3905 by converting only the accidental literal backslash-n patch separators in workers/cc-execution/src/console-operator.js into real line breaks, then continue the same PR through Gate, merge, release, and proof.","wordingChanged":false,"canonicalIntent":"Repair the exact Gate syntax failure on existing KNOCKLAUNCH AI Kernel v1 PR #3905 by converting only the accidental literal backslash-n patch separators in workers/cc-execution/src/console-operator.js into real line breaks, then continue the same PR through Gate, merge, release, and proof.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"repair-gate","statement":"Existing PR #3905 contains valid JavaScript with the intended AI Kernel integration and proceeds through canonical Gate/release.","provenance":{"reason":null,"source":"owner_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["runtime-proof"]}],"objective":"Repair the exact Gate syntax failure on existing KNOCKLAUNCH AI Kernel v1 PR #3905 by converting only the accidental literal backslash-n patch separators in workers/cc-execution/src/console-operator.js into real line breaks, then continue the same PR through Gate, merge, release, and proof.","constraints":[{"id":"same-pr","statement":"Preserve mission f6735018-2876-46bb-98ee-2dbf952606bd, branch ai/objective-first-repair-f67350182876, and PR #3905; change only the exact syntax-encoding defect.","provenance":{"reason":null,"source":"owner_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["runtime-proof"]},{"id":"bounded-unfreeze","statement":"Temporarily unfreeze only workers/cc-execution/src/console-operator.js for this corrective commit and return to frozen-by-default after release.","provenance":{"reason":null,"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":"PR #3905 passes canonical Gate, squash-merges, releases affected cc-execution, and live runtime identity is proven.","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":"Repair-the-exact-Gate-syntax-failure-on-existing-KNOCKLAUNCH-AI-Kernel-v1-PR-3905-by-converting-only","driftPolicy":"exact_manifest_source_release_dependency_or_runtime_identity_mismatch_is_nonterminal","proofLedger":"command_center_mission_ledger_request_contract_hash_bound","schemaVersion":1,"releaseTargets":[],"lifecycleStates":["prepare","deploy","verify","activate"],"activationPolicy":"dependencies_and_claim_matched_live_proof_before_exposure","dependencyDomains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_required_not_runtime_failures","compatibilityWindow":["N","N-1"],"failureIsolationPolicy":"quarantine_or_rollback_affected_capability_only_preserve_unrelated_working_capabilities","canaryProofConditionIds":["runtime-proof"]},"capabilityCompleteness":{"domains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"required":true,"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_states_not_runtime_failures"}},"requestContractHash":"6c113384831331d9b7534f464f6aedb02d193ba0fe017477ed8c766ddbe7a6e9","requestContractRevision":2,"previousRequestContractHash":"85902a34c6e883c3e824a9e1123c079ab040a9c7cbf81068d7dd4ce0ca18ef77"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T21:03:10.054001+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:f6735018-2876-46bb-98ee-2dbf952606bd:request-contract:6c113384831331d9b7534f464f6aedb02d193ba0fe017477ed8c766ddbe7a6e9","mission_step_id":"15141052-defc-4857-a7f6-147e1da1532e","command_center_event_id":"f6735018-2876-46bb-98ee-2dbf952606bd"},{"id":"78d55eea-2c2e-4022-9f7a-8e7dbe731f34","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-f67350182876","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":40557,"releaseCount":0,"toolCallCount":11,"repeatedCallCount":6,"executorlessWaitMs":88293,"firstUsefulResultAt":"2026-09-27T21:00:14.910Z","recoveryAttemptCount":8,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":3905,"terminal":false,"missionId":"f6735018-2876-46bb-98ee-2dbf952606bd","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3743,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":1743,"missionSetupMs":775,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":666,"ledgerReconcileMs":0,"lineageReconcileMs":109,"resolvePreflightMs":775,"repositoryMutationMs":2000,"repositoryProviderMs":2000,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":1679,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":666,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":321},"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":"f6735018-2876-46bb-98ee-2dbf952606bd"},"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":3382,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T21:00:20.90592+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3905","receipt_type":"execute_mission","idempotency_key":"mission:f6735018-2876-46bb-98ee-2dbf952606bd:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"15141052-defc-4857-a7f6-147e1da1532e","command_center_event_id":"f6735018-2876-46bb-98ee-2dbf952606bd"},{"id":"e05dfedc-f4fa-434b-8dbb-692d39c7cc58","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-c83d49e4c959","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":null,"recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":null,"terminal":false,"missionId":"c83d49e4-c959-41c0-9ef2-8617ec0c9d98","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1365,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":506,"providerAuthMs":0,"ledgerPrepareMs":506,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":506,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":506,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Inspect the bounded repository paths, synthesize exact files or anchored_edits, and call /mission/execute again automatically with this same missionId without another owner prompt or workflow switch.","receiptRef":{"mode":"full","missionId":"c83d49e4-c959-41c0-9ef2-8617ec0c9d98"},"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":9226,"likelyAffectedFiles":["src/pages/admin/GodModeCommandConsole.tsx","scripts/knocklaunch-console/operator.mjs","config/owner-context.json","config/capabilities/knocklaunch-console.json","scripts/knocklaunch-console/README.md"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T21:06:57.799278+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:c83d49e4-c959-41c0-9ef2-8617ec0c9d98:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"48e6c969-78c3-42b6-be3d-c4afe916baf3","command_center_event_id":"c83d49e4-c959-41c0-9ef2-8617ec0c9d98"},{"id":"70476844-9574-4e36-a834-9c61cef105af","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-c83d49e4c959","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":42256,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"executorlessWaitMs":117857,"firstUsefulResultAt":"2026-09-27T21:06:57.761Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":3906,"terminal":false,"missionId":"c83d49e4-c959-41c0-9ef2-8617ec0c9d98","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3712,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":669,"missionSetupMs":387,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":387,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":387,"repositoryMutationMs":3043,"repositoryProviderMs":3043,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":1970,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":387,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1073},"nextAction":"Canonical KnockLaunch Gate notifier and durable mission supervisor own Gate, merge, release, and proof progression from this exact PR head outside the owner response path.","receiptRef":{"mode":"full","missionId":"c83d49e4-c959-41c0-9ef2-8617ec0c9d98"},"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":3616,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T21:09:00.392742+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3906","receipt_type":"execute_mission","idempotency_key":"mission:c83d49e4-c959-41c0-9ef2-8617ec0c9d98:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"fde0cf4a-7039-4a76-ba8f-70fe2fefcdcb","command_center_event_id":"c83d49e4-c959-41c0-9ef2-8617ec0c9d98"},{"id":"dbf1b541-47cb-48f3-bc1a-5e0a173482db","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"03a14c2ef3574a7b0a75ee4fb32dc87da7c6e125","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"03a14c2ef3574a7b0a75ee4fb32dc87da7c6e125","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":"aa2efd8b444044f13827169ceb97bed878dc5137b35adb729d518a71405d7f6f","forgejoWorkflowProof":{"runId":12292,"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-27T21:11:54.481259+00:00","proof_gate":"canonical_release_pending","source_sha":"03a14c2ef3574a7b0a75ee4fb32dc87da7c6e125","external_id":"forgejo-main-03a14c2ef357","receipt_type":"canonical_release_status","idempotency_key":"mission:c83d49e4-c959-41c0-9ef2-8617ec0c9d98:forgejo-release-status:03a14c2ef3574a7b0a75ee4fb32dc87da7c6e125:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"a10e7428-08c5-4e01-ae2e-be6227fb4f84","command_center_event_id":"c83d49e4-c959-41c0-9ef2-8617ec0c9d98"},{"id":"bfd77735-feff-42b2-8dd6-902b58716ebb","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-c83d49e4c959","prNumber":3906,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"03a14c2ef3574a7b0a75ee4fb32dc87da7c6e125","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T21:11:51.60095+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"03a14c2ef3574a7b0a75ee4fb32dc87da7c6e125","external_id":"3906","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:c83d49e4-c959-41c0-9ef2-8617ec0c9d98:merged-pr:3906:03a14c2ef3574a7b0a75ee4fb32dc87da7c6e125","mission_step_id":"e59d4d2e-92d4-44df-8b21-91a0a9590b63","command_center_event_id":"c83d49e4-c959-41c0-9ef2-8617ec0c9d98"},{"id":"29de50e1-7c49-4ea5-ac79-97b38a7ab689","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-c83d49e4c959","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":49069,"releaseCount":0,"toolCallCount":6,"repeatedCallCount":2,"executorlessWaitMs":233465,"firstUsefulResultAt":"2026-09-27T21:06:57.761Z","recoveryAttemptCount":3,"ownerInterruptionCount":0},"version":null,"prNumber":3906,"terminal":false,"missionId":"c83d49e4-c959-41c0-9ef2-8617ec0c9d98","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":5465,"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":"c83d49e4-c959-41c0-9ef2-8617ec0c9d98"},"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-27T21:09:07.303695+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"3906","receipt_type":"automatic_mission_resume","idempotency_key":"mission:c83d49e4-c959-41c0-9ef2-8617ec0c9d98:automatic-mission-resume:3906:repair_mission_pr_ready_retryable","mission_step_id":"e59d4d2e-92d4-44df-8b21-91a0a9590b63","command_center_event_id":"c83d49e4-c959-41c0-9ef2-8617ec0c9d98"},{"id":"7bee64d7-3c5e-4df7-a6dd-bd715f0ea275","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-c83d49e4c959","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":50658,"releaseCount":0,"toolCallCount":7,"repeatedCallCount":3,"executorlessWaitMs":239725,"firstUsefulResultAt":"2026-09-27T21:06:57.761Z","recoveryAttemptCount":4,"ownerInterruptionCount":0},"version":null,"prNumber":3906,"terminal":false,"missionId":"c83d49e4-c959-41c0-9ef2-8617ec0c9d98","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"03a14c2ef3574a7b0a75ee4fb32dc87da7c6e125","timingsMs":{"prReadinessMs":97,"approvedPlanMs":0,"shipAndProveMs":384,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"c83d49e4-c959-41c0-9ef2-8617ec0c9d98"},"performance":null,"deploymentId":"forgejo-main-03a14c2ef357","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":2035,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T21:11:53.480446+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"3906","receipt_type":"automatic_mission_resume","idempotency_key":"mission:c83d49e4-c959-41c0-9ef2-8617ec0c9d98:automatic-mission-resume:3906:canonical_release_reconciliation_pending","mission_step_id":"e59d4d2e-92d4-44df-8b21-91a0a9590b63","command_center_event_id":"c83d49e4-c959-41c0-9ef2-8617ec0c9d98"},{"id":"1761b1a7-df5f-4a12-b995-ddbcdb371a1f","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"03a14c2ef3574a7b0a75ee4fb32dc87da7c6e125","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"03a14c2ef3574a7b0a75ee4fb32dc87da7c6e125","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":"aa2efd8b444044f13827169ceb97bed878dc5137b35adb729d518a71405d7f6f","forgejoWorkflowProof":{"runId":12292,"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-27T21:12:38.779151+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"03a14c2ef3574a7b0a75ee4fb32dc87da7c6e125","external_id":"forgejo-main-03a14c2ef357","receipt_type":"canonical_release_status","idempotency_key":"mission:c83d49e4-c959-41c0-9ef2-8617ec0c9d98:forgejo-release-status:03a14c2ef3574a7b0a75ee4fb32dc87da7c6e125:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"3f542a41-98cf-401d-8b1f-66753114a85f","command_center_event_id":"c83d49e4-c959-41c0-9ef2-8617ec0c9d98"},{"id":"f7598e16-3da7-4b05-876b-83dd671d1340","source":"cc-execution","status":"pending","payload":{"ok":true,"jobId":"6c1db165-8f6b-42fb-a19f-737090debafe","phase":"universal_visual_witness_supervised","branch":"ai/objective-first-repair-c83d49e4c959","reason":null,"status":"pending","metrics":{"receiptBytes":61681,"releaseCount":0,"toolCallCount":14,"repeatedCallCount":5,"executorlessWaitMs":342370,"firstUsefulResultAt":"2026-09-27T21:06:57.761Z","recoveryAttemptCount":4,"ownerInterruptionCount":0},"version":null,"prNumber":3906,"terminal":false,"missionId":"c83d49e4-c959-41c0-9ef2-8617ec0c9d98","operation":"visual_proof_started","proofGate":"universal_visual_witness_pending","sourceSha":"03a14c2ef3574a7b0a75ee4fb32dc87da7c6e125","timingsMs":{"queue":277,"total":439,"execution":162},"nextAction":"Execution is pending; poll inspect_route_status only when fresh progress is expected, or cancel with inspect_route_cancel.","receiptRef":{"mode":"full","missionId":"c83d49e4-c959-41c0-9ef2-8617ec0c9d98"},"performance":null,"deploymentId":"forgejo-main-03a14c2ef357","releaseState":"verified","visualWitness":{"role":"GodMode","jobId":"6c1db165-8f6b-42fb-a19f-737090debafe","tenant":null,"runnerUrl":"https://laptop-witness.knocklaunch.app","runnerLane":"laptop","attemptsUsed":0,"supervisorId":"6c1db165-8f6b-42fb-a19f-737090debafe","failureReason":null,"observedRoute":null,"runnerVersion":null,"attemptLineage":[],"missionOutcome":null,"requestedRoute":"/admin/console","runnerSourceSha":null,"selectedViewports":["desktop"],"checkpointAccounting":null,"correctiveGeneration":0,"restartReplayHistory":[]},"workflowRunId":12292,"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":1756,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T21:12:41.693589+00:00","proof_gate":"post_release_visual_proof_started","source_sha":"03a14c2ef3574a7b0a75ee4fb32dc87da7c6e125","external_id":"6c1db165-8f6b-42fb-a19f-737090debafe","receipt_type":"visual_proof_started","idempotency_key":"mission:c83d49e4-c959-41c0-9ef2-8617ec0c9d98:visual-start:6c1db165-8f6b-42fb-a19f-737090debafe","mission_step_id":"9e7cd641-5ff6-4767-9c28-3c9ff73417c7","command_center_event_id":"c83d49e4-c959-41c0-9ef2-8617ec0c9d98"},{"id":"df41206e-e558-4983-aee8-6cd429beb7ea","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-f67350182876","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":43206,"releaseCount":0,"toolCallCount":13,"repeatedCallCount":7,"executorlessWaitMs":179637,"firstUsefulResultAt":"2026-09-27T21:00:14.910Z","recoveryAttemptCount":8,"ownerInterruptionCount":0},"version":null,"prNumber":3905,"terminal":false,"missionId":"f6735018-2876-46bb-98ee-2dbf952606bd","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"03a14c2ef3574a7b0a75ee4fb32dc87da7c6e125","timingsMs":{"prReadinessMs":88,"approvedPlanMs":0,"shipAndProveMs":1318,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"f6735018-2876-46bb-98ee-2dbf952606bd"},"performance":null,"deploymentId":"forgejo-main-03a14c2ef357","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":2020,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T21:22:45.263546+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"3905","receipt_type":"automatic_mission_resume","idempotency_key":"mission:f6735018-2876-46bb-98ee-2dbf952606bd:automatic-mission-resume:3905:canonical_release_reconciliation_pending","mission_step_id":"8c1a394a-c148-4bc7-a9cd-a57b994cfd05","command_center_event_id":"f6735018-2876-46bb-98ee-2dbf952606bd"},{"id":"081854f0-6a2e-43cb-8736-e6692471e320","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","cc-execution/runtime-proof":"pending"},"mainSha":"03a14c2ef3574a7b0a75ee4fb32dc87da7c6e125","missing":[],"pending":["cc-execution/runtime-proof"],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"03a14c2ef3574a7b0a75ee4fb32dc87da7c6e125","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":"6c113384831331d9b7534f464f6aedb02d193ba0fe017477ed8c766ddbe7a6e9","forgejoWorkflowProof":{"runId":12292,"source":"signed_push_receipt","status":"success","results":{},"conclusion":"success","targetStates":{"ccExecution":"pending"},"targetJobCount":7,"observedTargetStates":{"ccExecution":"pending"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"8aed7d5f7de62cf358c26d435d16229c4cc64857","deploymentId":"forgejo-main-8aed7d5f7de62cf358c26d435d16229c4cc64857","compareStatus":null,"identitySource":"local_build_metadata","runtimeVersion":"1.58.293-scheduler-v2","containsSourceSha":false},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T21:22:46.411421+00:00","proof_gate":"canonical_release_pending","source_sha":"03a14c2ef3574a7b0a75ee4fb32dc87da7c6e125","external_id":"forgejo-main-03a14c2ef357","receipt_type":"canonical_release_status","idempotency_key":"mission:f6735018-2876-46bb-98ee-2dbf952606bd:forgejo-release-status:03a14c2ef3574a7b0a75ee4fb32dc87da7c6e125:pending:forgejo-main/source=success|forgejo-release/workflow=success|cc-execution/runtime-proof=pending","mission_step_id":"9b95399e-815d-4d41-8e48-bafbcfe3f9a1","command_center_event_id":"f6735018-2876-46bb-98ee-2dbf952606bd"},{"id":"98f6a7e2-0560-420d-abad-366927970ec8","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"release","branch":"ai/objective-first-repair-f67350182876","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":47995,"releaseCount":0,"toolCallCount":17,"repeatedCallCount":8,"executorlessWaitMs":1352873,"firstUsefulResultAt":"2026-09-27T21:00:14.910Z","recoveryAttemptCount":8,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":3905,"terminal":false,"missionId":"f6735018-2876-46bb-98ee-2dbf952606bd","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"03a14c2ef3574a7b0a75ee4fb32dc87da7c6e125","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":2265,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":98,"approvedPlanMs":0,"missionSetupMs":240,"providerAuthMs":0,"shipAndProveMs":1765,"ledgerPrepareMs":240,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":240,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":240,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"f6735018-2876-46bb-98ee-2dbf952606bd"},"performance":null,"deploymentId":"forgejo-main-03a14c2ef357","releaseState":"pending","workflowRunId":12294,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2871,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T21:23:03.81812+00:00","proof_gate":"canonical_release_dispatched","source_sha":"03a14c2ef3574a7b0a75ee4fb32dc87da7c6e125","external_id":"forgejo-main-03a14c2ef357","receipt_type":"execute_mission","idempotency_key":"mission:f6735018-2876-46bb-98ee-2dbf952606bd:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"9b95399e-815d-4d41-8e48-bafbcfe3f9a1","command_center_event_id":"f6735018-2876-46bb-98ee-2dbf952606bd"},{"id":"cb866405-d72d-4d92-a361-824f64669788","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-b5caa7865cbc","writes":[],"patches":[],"version":1,"approved":true,"pr_title":"Console: stop current and running jobs","missionId":"b5caa786-5cbc-4f48-bda1-698ebdf96507","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/pages/admin/GodModeCommandConsole.tsx","scripts/knocklaunch-console/operator.mjs","supabase/functions/wmp-mission-control/index.ts","config/owner-context.json","config/capabilities/knocklaunch-console.json","config/capabilities/wmp-mission-control.json","scripts/knocklaunch-console/README.md"],"anchored_edits":[{"path":"supabase/functions/wmp-mission-control/index.ts","edits":[{"new_content":"export const FUNCTION_VERSION = \"1.2.0-owner-cancellation\";","old_content":"export const FUNCTION_VERSION = \"1.1.0-canonical-ledger\";"},{"new_content":"      \"/missions/{id}/events\": { post: { summary: \"Append idempotent mission event\" } },\n      \"/missions/{id}/cancel\": { post: { summary: \"Owner-cancel one durable mission in the canonical mission ledger\" } },\n      \"/missions/{id}/state\": { patch: { summary: \"Update WMP pipeline presentation state\" } },","old_content":"      \"/missions/{id}/events\": { post: { summary: \"Append idempotent mission event\" } },\n      \"/missions/{id}/state\": { patch: { summary: \"Update WMP pipeline presentation state\" } },"},{"new_content":"    const missionMatch = path.match(/^\\/missions\\/([0-9a-f-]{36})(?:\\/(handoff|events|state|cancel))?$/i);","old_content":"    const missionMatch = path.match(/^\\/missions\\/([0-9a-f-]{36})(?:\\/(handoff|events|state))?$/i);"},{"new_content":"      if (action === \"cancel\" && req.method === \"POST\") {\n        const idempotencyKey = text(req.headers.get(\"idempotency-key\"), 300) || `owner-cancel-${crypto.randomUUID()}`;\n        const current = await readMission(admin, { missionId, full: true });\n        if (current?.terminal === true) return json({ ok: true, alreadyTerminal: true, mission: current });\n        const body = await req.json().catch(() => ({}));\n        const reason = text(body.reason || \"owner_cancelled\", 300) || \"owner_cancelled\";\n        const receipt = await appendMissionGuarded(admin, {\n          mission_id: missionId,\n          step_key: text(current?.phase || \"implementation\", 120),\n          receipt_type: \"owner_mission_cancelled\",\n          source: \"wmp-api:owner\",\n          status: \"cancelled\",\n          proof_gate: \"owner_mission_cancelled\",\n          idempotency_key: `mission:${missionId}:owner-cancel:${idempotencyKey}`,\n          call_key: `owner-cancel:${idempotencyKey}`,\n          step_status: \"cancelled\",\n          mission_status: \"cancelled\",\n          phase: text(current?.phase || \"cancelled\", 120),\n          terminal: true,\n          terminal_reason: reason,\n          count_telemetry: true,\n          owner_interruption_increment: 1,\n          activate_next: false,\n          context_patch: { ownerCancellation: { requestedByUserId: userId, reason, confirmedAt: new Date().toISOString() } },\n          payload: { reason, ownerRequested: true },\n        });\n        return json({ ok: true, status: \"cancelled\", proofGate: \"owner_mission_cancelled\", mission: receipt });\n      }\n      if (action === \"events\" && req.method === \"POST\") {\n        const idempotencyKey = text(req.headers.get(\"idempotency-key\"), 300);","old_content":"      if (action === \"events\" && req.method === \"POST\") {\n        const idempotencyKey = text(req.headers.get(\"idempotency-key\"), 300);"}]},{"path":"src/pages/admin/GodModeCommandConsole.tsx","edits":[{"new_content":"type ResolverTrace = { status: 'idle' | 'resolving' | 'resolved' | 'ambiguous' | 'error'; query?: string; tenantName?: string; tenantRef?: string; confidence?: number; matchKind?: string; route?: string; message?: string };\ntype ActiveConsoleJob = { kind: 'witness' | 'mission' | 'forgejo'; id: string; label?: string; missionId?: string; workflowRunId?: string };","old_content":"type ResolverTrace = { status: 'idle' | 'resolving' | 'resolved' | 'ambiguous' | 'error'; query?: string; tenantName?: string; tenantRef?: string; confidence?: number; matchKind?: string; route?: string; message?: string };"},{"new_content":"  const recognitionRef = useRef<any>(null);\n  const voiceBaseDraftRef = useRef('');\n  const cancelRequestedRef = useRef(false);\n  const [activeJob, setActiveJob] = useState<ActiveConsoleJob | null>(null);\n  const [cancellingJobId, setCancellingJobId] = useState('');","old_content":"  const recognitionRef = useRef<any>(null);\n  const voiceBaseDraftRef = useRef('');"},{"new_content":"  async function waitForWitnessObservation(runId: string, route: string, onProgress?: (content: string, stateKey: string) => void) {\n    let lastMatch: any = null;","old_content":"  async function waitForWitnessObservation(runId: string, route: string, onProgress?: (content: string, stateKey: string) => void) {\n    let lastMatch: any = null;"},{"new_content":"    for (let attempt = 0; attempt < 55; attempt += 1) {\n      if (cancelRequestedRef.current) return lastMatch;\n      try {","old_content":"    for (let attempt = 0; attempt < 55; attempt += 1) {\n      try {"},{"new_content":"      await new Promise((resolve) => window.setTimeout(resolve, 900));\n      if (cancelRequestedRef.current) return lastMatch;\n    }","old_content":"      await new Promise((resolve) => window.setTimeout(resolve, 900));\n    }"},{"new_content":"    for (let attempt = 0; attempt < 400; attempt += 1) {\n      if (cancelRequestedRef.current) break;\n      const receipt = data?.receipt || {};","old_content":"    for (let attempt = 0; attempt < 400; attempt += 1) {\n      const receipt = data?.receipt || {};"},{"new_content":"      await new Promise((resolve) => window.setTimeout(resolve, 2500));\n      if (cancelRequestedRef.current) break;\n      data = await callConsoleOperator('status', { ...context, statusOnly: true }, { ...agentTurn, statusOnly: true });","old_content":"      await new Promise((resolve) => window.setTimeout(resolve, 2500));\n      data = await callConsoleOperator('status', { ...context, statusOnly: true }, { ...agentTurn, statusOnly: true });"},{"new_content":"  async function cancelMissionLedger(missionId: string) {\n    const accessToken = await consoleAccessToken();\n    const base = String(import.meta.env.VITE_SUPABASE_URL || '').replace(/\\/+$/g, '');\n    if (!base) throw new Error('Supabase runtime URL is unavailable.');\n    const response = await fetch(`${base}/functions/v1/wmp-mission-control/missions/${encodeURIComponent(missionId)}/cancel`, {\n      method: 'POST',\n      headers: { Authorization: `Bearer ${accessToken}`, 'Content-Type': 'application/json', 'Idempotency-Key': crypto.randomUUID() },\n      body: JSON.stringify({ reason: 'owner_cancelled_from_console' }),\n    });\n    const data = await response.json().catch(() => ({}));\n    if (!response.ok || data?.ok !== true) throw new Error(data?.message || data?.error || `Mission cancellation returned ${response.status}`);\n    const state = String(data?.mission?.status || data?.status || '').toLowerCase();\n    if (!data?.alreadyTerminal && state !== 'cancelled') throw new Error('Mission ledger did not confirm cancellation.');\n    return data;\n  }\n\n  async function cancelForgejoRun(runId: string) {\n    const numeric = Number(runId);\n    if (!Number.isInteger(numeric) || numeric < 1) throw new Error('A valid Forgejo run ID is required.');\n    const data = await callConsoleOperator(`Cancel Forgejo Actions run ${numeric}`, { ...operatorContext, forgejoRunId: numeric, cancelTarget: { kind: 'forgejo', runId: numeric } }, { intentClass: 'direct_operation', selectedCommand: 'forgejo_action_run_cancel', exactRunId: numeric, ownerCancellation: true });\n    if (data?.ok === false || data?.error) throw new Error(data?.error || 'Forgejo cancellation failed.');\n    return data;\n  }\n\n  async function cancelWitnessJob(jobId: string) {\n    const data = await callConsoleOperator('cancel', { ...operatorContext, jobId, witnessRunId: jobId, cancelTarget: { kind: 'witness', jobId } }, { intentClass: 'direct_operation', selectedCommand: 'inspect_route_cancel', exactJobId: jobId, ownerCancellation: true });\n    if (data?.ok === false || data?.error) throw new Error(data?.error || 'Witness cancellation failed.');\n    return data;\n  }\n\n  async function cancelConsoleJob(job: ActiveConsoleJob) {\n    if (!job?.id || cancellingJobId) return;\n    cancelRequestedRef.current = true;\n    setCancellingJobId(job.id);\n    const requestedAt = nowIso();\n    setMessages((prev) => [...prev, { id: crypto.randomUUID(), role: 'assistant', content: `Stop requested · ${job.label || job.kind} · ${job.id}.`, createdAt: requestedAt, progress: true }]);\n    try {\n      let childReceipt: any = null;\n      if (job.kind === 'witness') childReceipt = await cancelWitnessJob(job.id);\n      if (job.kind === 'forgejo') childReceipt = await cancelForgejoRun(job.id);\n      if (job.kind === 'mission' && job.workflowRunId) childReceipt = await cancelForgejoRun(job.workflowRunId);\n      const missionReceipt = job.kind === 'mission' ? await cancelMissionLedger(job.missionId || job.id) : null;\n      const confirmedAt = nowIso();\n      setMessages((prev) => [...prev, { id: crypto.randomUUID(), role: 'assistant', content: `Cancelled · ${job.label || job.kind} · ${job.id}.`, createdAt: confirmedAt, progress: true }]);\n      setActiveJob((current) => current?.id === job.id ? null : current);\n      setSending(false);\n      try {\n        await persistConsoleTurn({\n          userMessage: `Stop ${job.kind} ${job.id}`,\n          assistantMessage: `Cancelled ${job.kind} ${job.id}`,\n          contextTenantId: String(activeTenant?.id || '') || null,\n          route: String(operatorContext.route || ''),\n          tenantRef: String(operatorContext.tenantRef || ''),\n          context: { consoleSurface: 'sidekick-v4-native-operator', cancellation: { requestedAt, confirmedAt, kind: job.kind, id: job.id, missionId: job.missionId || null, workflowRunId: job.workflowRunId || null, childReceipt: childReceipt || null, missionReceipt: missionReceipt || null } },\n          witness: {},\n        });\n      } catch {}\n      if (historyOpen) void refreshConsoleHistory(historyTab, historyQuery);\n    } catch (error) {\n      const message = `Stop failed · ${cleanConsoleError(error)}`;\n      setMessages((prev) => [...prev, { id: crypto.randomUUID(), role: 'assistant', content: message, createdAt: nowIso(), error: true }]);\n      cancelRequestedRef.current = false;\n    } finally {\n      setCancellingJobId('');\n    }\n  }\n\n  function fallbackWitnessSummary(observation: any) {","old_content":"  function fallbackWitnessSummary(observation: any) {"},{"new_content":"    const progressEnabled = wantsWitness || intentClass === 'direct_operation' || intentClass === 'repository_repair';\n    cancelRequestedRef.current = false;\n    setActiveJob(null);\n    setConsoleError(null);","old_content":"    const progressEnabled = wantsWitness || intentClass === 'direct_operation' || intentClass === 'repository_repair';\n    setConsoleError(null);"},{"new_content":"        const dispatchedRunId = String(witnessReceipt?.run?.id || witnessReceipt?.run?.supervisorId || '');\n        if (dispatchedRunId) setActiveJob({ kind: 'witness', id: dispatchedRunId, label: inferredRoute });\n        pinnedContext = {...baseContext,witnessRunId:dispatchedRunId,witnessRunnerLane:String(witnessReceipt?.runnerLane || witnessReceipt?.run?.runnerLane || ''),witnessPinnedRoute:inferredRoute};","old_content":"        const dispatchedRunId = String(witnessReceipt?.run?.id || witnessReceipt?.run?.supervisorId || '');\n        pinnedContext = {...baseContext,witnessRunId:dispatchedRunId,witnessRunnerLane:String(witnessReceipt?.runnerLane || witnessReceipt?.run?.runnerLane || ''),witnessPinnedRoute:inferredRoute};"},{"new_content":"      let trackedContext = pinnedContext;\n      if (!wantsWitness && progressEnabled) {\n        const initialReceipt = data?.receipt || {};\n        const missionId = String(data?.context?.missionId || pinnedContext?.missionId || data?.missionId || initialReceipt?.missionId || '').trim();\n        const workflowRunId = String(data?.context?.workflowRunId || pinnedContext?.workflowRunId || data?.workflowRunId || initialReceipt?.workflowRunId || '').trim();\n        const jobId = String(data?.context?.jobId || pinnedContext?.jobId || data?.jobId || initialReceipt?.jobId || '').trim();\n        if (missionId) setActiveJob({ kind: 'mission', id: missionId, missionId, workflowRunId: workflowRunId || undefined, label: intentClass.replaceAll('_', ' ') });\n        else if (workflowRunId) setActiveJob({ kind: 'forgejo', id: workflowRunId, label: 'Forgejo Actions run' });\n        else if (jobId) setActiveJob({ kind: 'witness', id: jobId, label: 'active job' });","old_content":"      let trackedContext = pinnedContext;\n      if (!wantsWitness && progressEnabled) {"},{"new_content":"      if (cancelRequestedRef.current) return;\n      if (wantsWitness && inferredRoute) pushProgress('Witness job complete · final evidence is ready.', 'witness:terminal');\n      const decision = buildConsoleDecision(intentClass, data, witnessRun, witnessReceipt);","old_content":"      if (wantsWitness && inferredRoute) pushProgress('Witness job complete · final evidence is ready.', 'witness:terminal');\n      const decision = buildConsoleDecision(intentClass, data, witnessRun, witnessReceipt);"},{"new_content":"      setActiveJob(null);\n      if (wantsWitness || receipt) {\n        setWitnessMode(true);","old_content":"      if (wantsWitness || receipt) {\n        setWitnessMode(true);"},{"new_content":"          <div className=\"flex items-center gap-2\">\n            {sending && activeJob ? <button type=\"button\" data-testid=\"console-stop-current-job\" onClick={() => void cancelConsoleJob(activeJob)} disabled={Boolean(cancellingJobId)} aria-label={`Stop current ${activeJob.kind} job`} className=\"flex h-8 items-center gap-1.5 rounded-full border border-red-400/35 bg-red-500/10 px-3 text-[10px] font-bold uppercase tracking-[0.08em] text-red-200 transition hover:bg-red-500/20 disabled:opacity-40\"><span aria-hidden=\"true\">■</span><span>{cancellingJobId ? 'Stopping…' : 'Stop'}</span></button> : null}\n            <button type=\"button\" onClick={toggleVoiceToText}","old_content":"          <div className=\"flex items-center gap-2\">\n            <button type=\"button\" onClick={toggleVoiceToText}"},{"new_content":"              {visibleLiveRows.map((run: any) => {\n                const witnessId = String(run?.id || run?.supervisorId || run?.jobId || '');\n                return <div key={witnessId || String(run?.currentRoute)} className=\"w-full rounded-xl border border-white/[0.08] bg-white/[0.025] p-3\">\n                  <div className=\"flex items-center justify-between gap-3\">\n                    <button type=\"button\" onClick={() => openWitnessHistoryRun(run)} className=\"min-w-0 flex-1 text-left\">\n                      <div className=\"flex items-center justify-between gap-3\"><span className={(run?.terminal ? 'text-white/42' : 'text-emerald-300/80') + ' text-[9px] font-semibold uppercase tracking-[0.14em]'}>{run?.terminal ? 'Completed witness' : 'Live witness'}</span><span className=\"text-[9px] text-white/30\">{String(run?.runnerLane || run?.runtimeLane || 'witness').toUpperCase()}</span></div>\n                      <div className=\"mt-1 truncate font-mono text-xs text-white/68\">{String(run?.currentRoute || 'Witness run')}</div>\n                      <div className=\"mt-1 truncate text-[10px] text-white/30\">{witnessId}</div>\n                    </button>\n                    {!run?.terminal && witnessId ? <button type=\"button\" onClick={() => void cancelConsoleJob({ kind: 'witness', id: witnessId, label: String(run?.currentRoute || 'witness') })} disabled={cancellingJobId === witnessId} aria-label={`Stop witness ${witnessId}`} className=\"shrink-0 rounded-md border border-red-400/30 bg-red-500/10 px-2.5 py-1.5 text-[9px] font-bold uppercase tracking-[0.08em] text-red-200 hover:bg-red-500/20 disabled:opacity-40\">{cancellingJobId === witnessId ? 'Stopping…' : 'Stop'}</button> : null}\n                  </div>\n                </div>;\n              })}","old_content":"              {visibleLiveRows.map((run: any) => (\n                <button key={String(run?.id || run?.supervisorId || run?.jobId || run?.currentRoute)} type=\"button\" onClick={() => openWitnessHistoryRun(run)} className=\"w-full rounded-xl border border-white/[0.08] bg-white/[0.025] p-3 text-left hover:border-emerald-300/20 hover:bg-emerald-300/[0.04]\">\n                  <div className=\"flex items-center justify-between gap-3\">\n                    <span className={(run?.terminal ? 'text-white/42' : 'text-emerald-300/80') + ' text-[9px] font-semibold uppercase tracking-[0.14em]'}>{run?.terminal ? 'Completed witness' : 'Live witness'}</span>\n                    <span className=\"text-[9px] text-white/30\">{String(run?.runnerLane || run?.runtimeLane || 'witness').toUpperCase()}</span>\n                  </div>\n                  <div className=\"mt-1 truncate font-mono text-xs text-white/68\">{String(run?.currentRoute || 'Witness run')}</div>\n                  <div className=\"mt-1 truncate text-[10px] text-white/30\">{String(run?.id || run?.supervisorId || run?.jobId || '')}</div>\n                </button>\n              ))}"},{"new_content":"              {runRows.map((row: any) => {\n                const route = runRoute(row);\n                const receipt = row?.latest_receipt || {};\n                const terminal = ['verified','completed_with_findings','failed','cancelled','timed_out','blocked','superseded'].includes(String(row.mission_status || ''));\n                const context = row?.mission_context && typeof row.mission_context === 'object' ? row.mission_context : {};\n                const workflowRunId = String(context?.workflowRunId || context?.workflow_run_id || receipt?.payload?.workflowRunId || receipt?.payload?.workflow_run_id || '').trim();\n                const missionId = String(row.run_id || '');\n                return (\n                  <div key={missionId} className=\"w-full rounded-xl border border-white/[0.08] bg-white/[0.02] p-3\">\n                    <div className=\"flex items-start justify-between gap-3\"><button type=\"button\" onClick={() => route ? openWitnessHistoryRun({ id: row.run_id, currentRoute: route, status: row.mission_status || row.event_status, terminal, runnerLane: receipt?.payload?.runnerLane || receipt?.source || 'ledger' }) : undefined} className=\"min-w-0 flex-1 text-left\">\n                    <div className=\"flex items-center justify-between gap-3\">","old_content":"              {runRows.map((row: any) => {\n                const route = runRoute(row);\n                const receipt = row?.latest_receipt || {};\n                return (\n                  <button key={String(row.run_id)} type=\"button\" onClick={() => route ? openWitnessHistoryRun({ id: row.run_id, currentRoute: route, status: row.mission_status || row.event_status, terminal: ['verified','completed_with_findings','failed','cancelled','timed_out'].includes(String(row.mission_status || '')), runnerLane: receipt?.payload?.runnerLane || receipt?.source || 'ledger' }) : undefined} className=\"w-full rounded-xl border border-white/[0.08] bg-white/[0.02] p-3 text-left hover:border-emerald-300/20 hover:bg-emerald-300/[0.04]\">\n                    <div className=\"flex items-center justify-between gap-3\">"},{"new_content":"                      <span className=\"font-mono\">{missionId.slice(0,8)}</span>\n                    </div></button>\n                    {!terminal && missionId ? <button type=\"button\" onClick={() => void cancelConsoleJob({ kind: 'mission', id: missionId, missionId, workflowRunId: workflowRunId || undefined, label: String(row.title || row.mission_type || 'mission') })} disabled={cancellingJobId === missionId} aria-label={`Stop mission ${missionId}`} className=\"mt-2 rounded-md border border-red-400/30 bg-red-500/10 px-2.5 py-1.5 text-[9px] font-bold uppercase tracking-[0.08em] text-red-200 hover:bg-red-500/20 disabled:opacity-40\">{cancellingJobId === missionId ? 'Stopping…' : 'Stop job'}</button> : null}\n                  </div>\n                );","old_content":"                      <span className=\"font-mono\">{String(row.run_id || '').slice(0,8)}</span>\n                    </div>\n                  </button>\n                );"}]},{"path":"scripts/knocklaunch-console/operator.mjs","edits":[{"new_content":"let host, options, sending=false, draft='', timer=null, activeView='desktop', latest=null, voiceListening=false, recognition=null, lastPollSignature='', cancelRequested=false;","old_content":"let host, options, sending=false, draft='', timer=null, activeView='desktop', latest=null, voiceListening=false, recognition=null, lastPollSignature='';"},{"new_content":"<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-stop-current=\"true\" class=\"danger\">■ STOP</button>':''}</div>","old_content":"<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>"},{"new_content":" host.querySelectorAll('[data-prompt]').forEach(b=>b.onclick=()=>send(b.dataset.prompt));\n const stopCurrent=host.querySelector('[data-stop-current]');if(stopCurrent)stopCurrent.onclick=()=>{cancelRequested=true;clearTimeout(timer);push('assistant','Stop requested.',true);send('cancel');};","old_content":" host.querySelectorAll('[data-prompt]').forEach(b=>b.onclick=()=>send(b.dataset.prompt));"},{"new_content":" if(!poll&&message.trim().toLowerCase()!=='cancel'){cancelRequested=false;push('user',message);push('assistant','Starting job · I will keep reporting meaningful progress until it reaches a terminal state.',true);draft='';lastPollSignature='';}","old_content":" if(!poll){push('user',message);push('assistant','Starting job · I will keep reporting meaningful progress until it reaches a terminal state.',true);draft='';lastPollSignature='';}"},{"new_content":"  if(/^cancel$/i.test(message.trim())&&latest?.terminal){cancelRequested=true;clearTimeout(timer);push('assistant','Cancelled.',true);}\n  if(!cancelRequested&&result.kind!=='help'&&context.jobId&&!latest?.terminal)timer=setTimeout(()=>send('status',{poll:true}),4000);","old_content":"  if(result.kind!=='help'&&context.jobId&&!latest?.terminal)timer=setTimeout(()=>send('status',{poll:true}),4000);"}]},{"path":"config/owner-context.json","edits":[{"new_content":"    \"cancellation\": {\n      \"ownerMayInterruptActiveWorkAtAnyTime\": true,\n      \"scope\": \"selected_job_only\",\n      \"neverImplicitKillAll\": true,\n      \"canonicalReceiptRequiredBeforeClaimingCancelled\": true,\n      \"pollingMustStopPromptlyAfterOwnerCancellationIntent\": true\n    },\n    \"reporting\": [","old_content":"    \"reporting\": ["}]},{"path":"config/capabilities/knocklaunch-console.json","edits":[{"new_content":"        \"missionReceipt\": \"mission_receipt\",\n        \"visualCancel\": \"inspect_route_cancel\",\n        \"forgejoRunCancel\": \"forgejo_action_run_cancel\",\n        \"missionCancel\": \"wmp-mission-control:/missions/{id}/cancel\"\n      },","old_content":"        \"missionReceipt\": \"mission_receipt\"\n      },"},{"new_content":"        \"owner_visible_progress_from_job_start_to_terminal\",\n        \"owner_can_interrupt_active_work\",\n        \"cancellation_is_scoped_to_exact_selected_job_id\",\n        \"canonical_cancel_receipt_required_before_cancelled_claim\",\n        \"polling_stops_after_owner_cancel_intent\"\n      ]","old_content":"        \"owner_visible_progress_from_job_start_to_terminal\"\n      ]"},{"new_content":"      \"Action jobs surface deduped owner-visible progress from start through terminal completion\",\n      \"Active Sidekick work exposes a prominent scoped Stop control\",\n      \"Current witness and mission rows expose independent Stop controls only while nonterminal\",\n      \"Mission cancellation terminalizes the canonical Command Center ledger and does not silently restart cancelled work\"","old_content":"      \"Action jobs surface deduped owner-visible progress from start through terminal completion\""}]},{"path":"config/capabilities/wmp-mission-control.json","edits":[{"new_content":"      \"the /mission-control platform-admin surface uses the deployed WMP API for mission state and actions\",\n      \"owner cancellation terminalizes the selected canonical Command Center mission as cancelled without creating a competing mission authority\",","old_content":"      \"the /mission-control platform-admin surface uses the deployed WMP API for mission state and actions\","}]},{"path":"scripts/knocklaunch-console/README.md","edits":[{"new_content":"Both Console composers provide review-before-send browser voice dictation when `SpeechRecognition` or `webkitSpeechRecognition` is available. Dictation updates the draft but never sends automatically. Action jobs also follow the owner play-by-play contract: acknowledge job start immediately, surface deduped material phase/state changes while polling the existing durable job, and continue through terminal completion rather than going silent until the owner asks for status.\n\nActive work is owner-interruptible. The hosted Console shows a prominent **Stop** control for the current job and scoped Stop actions for nonterminal witness/mission rows. Witness cancellation uses the existing canonical witness cancel lane; active Forgejo child runs use the canonical Forgejo run cancellation operator; durable mission cancellation terminalizes the selected record in the canonical Command Center mission ledger through the authenticated WMP adapter. Polling exits as soon as owner cancellation is requested, and the UI does not claim `Cancelled` until the authoritative cancellation receipt confirms it. There is no implicit kill-all behavior.","old_content":"Both Console composers provide review-before-send browser voice dictation when `SpeechRecognition` or `webkitSpeechRecognition` is available. Dictation updates the draft but never sends automatically. Action jobs also follow the owner play-by-play contract: acknowledge job start immediately, surface deduped material phase/state changes while polling the existing durable job, and continue through terminal completion rather than going silent until the owner asks for status."}]}],"commit_message":"feat(console): add scoped job cancellation controls","implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"b5caa786-5cbc-4f48-bda1-698ebdf96507","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/pages/admin/GodModeCommandConsole.tsx","scripts/knocklaunch-console/operator.mjs","supabase/functions/wmp-mission-control/index.ts","config/owner-context.json","config/capabilities/knocklaunch-console.json","config/capabilities/wmp-mission-control.json","scripts/knocklaunch-console/README.md"],"requestContract":null,"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":false,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"proofRequirements":null,"controlPlaneUnfreeze":false,"durableMutationResume":true,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"recovery":false,"fingerprint":"0900dfa67038a1216d4b733d69d4b6d5e4af2807609b95871ec22cd4951d5515","replayCount":0,"serializedBytes":28216},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T21:30:11.87409+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:b5caa786-5cbc-4f48-bda1-698ebdf96507:repository-mutation-intent:0900dfa67038a1216d4b733d69d4b6d5e4af2807609b95871ec22cd4951d5515:0","mission_step_id":"f571923a-0ec9-4f50-84a8-89739c24c466","command_center_event_id":"b5caa786-5cbc-4f48-bda1-698ebdf96507"},{"id":"b0475a3c-5678-4cc1-9856-257d02678c2b","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-a0a8c37b7978","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":132306,"releaseCount":0,"toolCallCount":12,"repeatedCallCount":6,"executorlessWaitMs":252364,"firstUsefulResultAt":"2026-09-27T21:32:04.006Z","recoveryAttemptCount":8,"ownerInterruptionCount":0},"version":null,"prNumber":3909,"terminal":false,"missionId":"a0a8c37b-7978-49e0-b330-448a56b7b2a8","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":5455,"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":"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":819,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T21:34:01.269796+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"3909","receipt_type":"automatic_mission_resume","idempotency_key":"mission:a0a8c37b-7978-49e0-b330-448a56b7b2a8:automatic-mission-resume:3909:repair_mission_pr_ready_retryable","mission_step_id":"97cf071b-fcf5-4d97-b363-455db6b14538","command_center_event_id":"a0a8c37b-7978-49e0-b330-448a56b7b2a8"},{"id":"7390e261-c3fc-4230-b399-c6166888bc93","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","cc-execution/runtime-proof":"pending"},"mainSha":"03a14c2ef3574a7b0a75ee4fb32dc87da7c6e125","missing":[],"pending":["forgejo-release/workflow","cc-execution/runtime-proof"],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"03a14c2ef3574a7b0a75ee4fb32dc87da7c6e125","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":"6c113384831331d9b7534f464f6aedb02d193ba0fe017477ed8c766ddbe7a6e9","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/12294","runId":12294,"status":"running","sourceSha":"03a14c2ef3574a7b0a75ee4fb32dc87da7c6e125","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"ccExecution":"pending"},"targetJobCount":7,"observedTargetStates":{"ccExecution":"pending"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"8aed7d5f7de62cf358c26d435d16229c4cc64857","deploymentId":"forgejo-main-8aed7d5f7de62cf358c26d435d16229c4cc64857","compareStatus":null,"identitySource":"local_build_metadata","runtimeVersion":"1.58.293-scheduler-v2","containsSourceSha":false},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T21:23:10.570919+00:00","proof_gate":"canonical_release_pending","source_sha":"03a14c2ef3574a7b0a75ee4fb32dc87da7c6e125","external_id":"forgejo-main-03a14c2ef357","receipt_type":"canonical_release_status","idempotency_key":"mission:f6735018-2876-46bb-98ee-2dbf952606bd:forgejo-release-status:03a14c2ef3574a7b0a75ee4fb32dc87da7c6e125:pending:forgejo-main/source=success|forgejo-release/workflow=pending|cc-execution/runtime-proof=pending","mission_step_id":"9b95399e-815d-4d41-8e48-bafbcfe3f9a1","command_center_event_id":"f6735018-2876-46bb-98ee-2dbf952606bd"},{"id":"6603d88f-f81e-4dee-9c91-9425ca89b2d6","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-30cd4575b504","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":76430,"releaseCount":0,"toolCallCount":8,"repeatedCallCount":5,"executorlessWaitMs":2299300,"firstUsefulResultAt":"2026-09-27T20:45:48.198Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":3907,"terminal":false,"missionId":"30cd4575-b504-4bc9-8e97-0c2082101426","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3526,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":721,"missionSetupMs":301,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":301,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":301,"repositoryMutationMs":2805,"repositoryProviderMs":2805,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":1759,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":301,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1046},"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":"30cd4575-b504-4bc9-8e97-0c2082101426"},"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":3086,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T21:24:12.304119+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3907","receipt_type":"execute_mission","idempotency_key":"mission:30cd4575-b504-4bc9-8e97-0c2082101426:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"3aaf57df-eca2-4e6f-938b-3dcaff587900","command_center_event_id":"30cd4575-b504-4bc9-8e97-0c2082101426"},{"id":"5375fd27-de82-443f-a786-998ff6915a20","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-b5caa7865cbc","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":null,"recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":null,"terminal":false,"missionId":"b5caa786-5cbc-4f48-bda1-698ebdf96507","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1892,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":354,"providerAuthMs":0,"ledgerPrepareMs":354,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":354,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":354,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"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":"b5caa786-5cbc-4f48-bda1-698ebdf96507"},"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":3994,"likelyAffectedFiles":["src/pages/admin/GodModeCommandConsole.tsx","scripts/knocklaunch-console/operator.mjs","config/owner-context.json","config/capabilities/knocklaunch-console.json","scripts/knocklaunch-console/README.md"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T21:25:04.235373+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:b5caa786-5cbc-4f48-bda1-698ebdf96507:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"41404245-ae15-4104-91f1-a4adf9d14e89","command_center_event_id":"b5caa786-5cbc-4f48-bda1-698ebdf96507"},{"id":"b889d9a4-1800-4b55-80b0-030180a68c03","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-b5caa7865cbc","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":39759,"releaseCount":0,"toolCallCount":7,"repeatedCallCount":3,"executorlessWaitMs":449843,"firstUsefulResultAt":"2026-09-27T21:25:04.192Z","recoveryAttemptCount":2,"ownerInterruptionCount":0},"version":null,"prNumber":3908,"terminal":false,"missionId":"b5caa786-5cbc-4f48-bda1-698ebdf96507","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":"b5caa786-5cbc-4f48-bda1-698ebdf96507"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":819,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T21:30:25.198521+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"3908","receipt_type":"automatic_mission_resume","idempotency_key":"mission:b5caa786-5cbc-4f48-bda1-698ebdf96507:automatic-mission-resume:3908:repair_mission_pr_ready_retryable","mission_step_id":"b247ce55-a745-4562-963f-37734a6dd636","command_center_event_id":"b5caa786-5cbc-4f48-bda1-698ebdf96507"},{"id":"174de19b-01ba-4c37-8304-25d3a7fa833f","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.293-scheduler-v2","prNumber":null,"terminal":false,"missionId":"a0a8c37b-7978-49e0-b330-448a56b7b2a8","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1211,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":458,"providerAuthMs":0,"ledgerPrepareMs":458,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":458,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":458,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Supply exact sourceTargets on the same mission; planner guesses cannot replace missing mission scope.","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":[],"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-27T21:32:04.036242+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:a0a8c37b-7978-49e0-b330-448a56b7b2a8:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"d8f4bb28-8fd2-4da8-8819-ab12ac2e7c6b","command_center_event_id":"a0a8c37b-7978-49e0-b330-448a56b7b2a8"},{"id":"734bc611-31e1-48ce-91af-0ac8e31c5620","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-b5caa7865cbc","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":37679,"releaseCount":0,"toolCallCount":6,"repeatedCallCount":2,"executorlessWaitMs":366440,"firstUsefulResultAt":"2026-09-27T21:25:04.192Z","recoveryAttemptCount":2,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":3908,"terminal":false,"missionId":"b5caa786-5cbc-4f48-bda1-698ebdf96507","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":2613,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":925,"missionSetupMs":482,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":387,"ledgerReconcileMs":0,"lineageReconcileMs":95,"resolvePreflightMs":482,"repositoryMutationMs":1688,"repositoryProviderMs":1688,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":1581,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":387,"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":"b5caa786-5cbc-4f48-bda1-698ebdf96507"},"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":3061,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T21:30:17.013881+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3908","receipt_type":"execute_mission","idempotency_key":"mission:b5caa786-5cbc-4f48-bda1-698ebdf96507:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"f571923a-0ec9-4f50-84a8-89739c24c466","command_center_event_id":"b5caa786-5cbc-4f48-bda1-698ebdf96507"},{"id":"8e91c04e-ec77-4e30-a4d1-188cec7a8dd5","source":"cc-execution","status":"no_change","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":null,"reason":null,"status":"no_change","metrics":{"receiptBytes":1536,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-09-27T21:37:34.653Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":null,"terminal":false,"missionId":"12fa2299-ac7e-4be2-b0df-61e8046f95f4","operation":"execute_mission","proofGate":"repair_mission_prepared","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":319,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":332,"providerAuthMs":0,"ledgerPrepareMs":332,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":332,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":332,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"pull_request_required","receiptRef":{"mode":"full","missionId":"12fa2299-ac7e-4be2-b0df-61e8046f95f4"},"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":1350,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T21:37:34.680863+00:00","proof_gate":"repair_mission_prepared","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:12fa2299-ac7e-4be2-b0df-61e8046f95f4:execute_mission:repair_mission_prepared:current-generation","mission_step_id":"e6cc2a61-467c-4dd9-8bf8-395ff6204d4e","command_center_event_id":"12fa2299-ac7e-4be2-b0df-61e8046f95f4"},{"id":"8b50c899-6606-485f-86a0-4293c7646034","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-a0a8c37b7978","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":1677,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-09-27T21:32:04.006Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.293-scheduler-v2","prNumber":null,"terminal":false,"missionId":"a0a8c37b-7978-49e0-b330-448a56b7b2a8","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1158,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":231,"providerAuthMs":0,"ledgerPrepareMs":231,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":231,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":231,"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":"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":3513,"likelyAffectedFiles":["src/shells/TenantModesShell.tsx","src/shells/modesTenantShell.ts"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T21:32:23.77687+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:a0a8c37b-7978-49e0-b330-448a56b7b2a8:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"d8f4bb28-8fd2-4da8-8819-ab12ac2e7c6b","command_center_event_id":"a0a8c37b-7978-49e0-b330-448a56b7b2a8"},{"id":"f55793a4-e23f-4565-8d2b-1e69e208abc4","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-a0a8c37b7978","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":125602,"releaseCount":0,"toolCallCount":8,"repeatedCallCount":3,"executorlessWaitMs":141123,"firstUsefulResultAt":"2026-09-27T21:32:04.006Z","recoveryAttemptCount":4,"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_ready_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":5561,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":5454,"approvedPlanMs":0,"missionSetupMs":369,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":271,"ledgerReconcileMs":0,"lineageReconcileMs":98,"resolvePreflightMs":369,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":271,"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":"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":1522,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T21:34:52.409526+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"3909","receipt_type":"execute_mission","idempotency_key":"mission:a0a8c37b-7978-49e0-b330-448a56b7b2a8:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"37e14384-9db3-4ad4-93c7-592951faa10b","command_center_event_id":"a0a8c37b-7978-49e0-b330-448a56b7b2a8"},{"id":"fb15ac3d-b6a9-47df-b09d-314d04e8ae35","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"6ac8c9892d54175fa02b34ed1551d9feb97fa0a2","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":false,"statement":"The live Console exposes scoped cancellation for the active Sidekick job and for each other supported running job, uses canonical cancel operators by exact durable ID, stops polling after cancellation intent, records requested/confirmed cancellation in chat history, and never cancels unrelated work.","proofConditionIds":["proof-production","proof-visual"]}],"satisfied":false,"constraints":[{"id":"scoped-cancellation","satisfied":false,"statement":"Cancel only the selected job; never implement implicit kill-all behavior.","proofConditionIds":["proof-production","proof-visual"]},{"id":"canonical-cancel-only","satisfied":true,"statement":"Use only existing canonical cancellation primitives and exact durable identifiers; never invent cancellation success or a parallel cancellation backend.","proofConditionIds":["proof-production"]},{"id":"capability-completeness","satisfied":true,"statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["proof-production"]},{"id":"atomic-capability-lifecycle","satisfied":true,"statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["proof-production"]}],"contractHash":"5dc52f8f587d28b40249cd2573dd0094a5d3b834958abe92db246a1be31a4e2c","releaseBound":true,"witnessBound":false,"visualRequested":true,"visualSatisfied":false,"conditionResults":[{"id":"proof-production","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"frontend":"success","supabaseEdge":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["frontend","supabaseEdge"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"5dc52f8f587d28b40249cd2573dd0094a5d3b834958abe92db246a1be31a4e2c"},"required":true,"satisfied":true},{"id":"proof-visual","kind":"visual","evidence":{"modeBound":true,"claimBound":true,"routeBound":true,"witnessMode":"observe","witnessRoute":"/admin/console","currentSourceSha":"6ac8c9892d54175fa02b34ed1551d9feb97fa0a2","witnessSourceSha":"6ac8c9892d54175fa02b34ed1551d9feb97fa0a2","verificationState":null,"witnessRequestContractHash":"5dc52f8f587d28b40249cd2573dd0094a5d3b834958abe92db246a1be31a4e2c"},"required":true,"satisfied":false}],"validationErrors":[],"pendingProofKinds":["visual"],"activeReleaseTargets":["frontend","supabaseEdge"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T21:38:01.152354+00:00","proof_gate":"request_contract_pending","source_sha":"6ac8c9892d54175fa02b34ed1551d9feb97fa0a2","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:b5caa786-5cbc-4f48-bda1-698ebdf96507:request-contract:5dc52f8f587d28b40249cd2573dd0094a5d3b834958abe92db246a1be31a4e2c:6ac8c9892d54175fa02b34ed1551d9feb97fa0a2:pending:visual","mission_step_id":"cb751efa-55f4-493b-adeb-1087f8d5fa00","command_center_event_id":"b5caa786-5cbc-4f48-bda1-698ebdf96507"},{"id":"1a48cf1a-4cfe-4128-92bd-9ed52eb37029","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[{"path":"workers/cc-execution/src/console-self-model.js","content":"const trim=(v,m=4000)=>String(v??\"\").trim().slice(0,m);\nconst uuid=v=>/^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(String(v||\"\"))?String(v):null;\nexport function buildSelfSnapshot({health={},capabilities={},context={},now=new Date().toISOString()}={}){\n  const commands=Array.isArray(capabilities?.commands)?capabilities.commands:[];\n  const openCircuits=Object.entries(health?.intelligence?.circuits||{}).filter(([,state])=>String(state?.state||\"\").toLowerCase()===\"open\").map(([name])=>name);\n  const findings=[];\n  if(health?.ok!==true||String(health?.status||\"\").toLowerCase()!==\"live\") findings.push({kind:\"platform\",status:\"degraded\",code:\"runtime_not_live\"});\n  if(health?.hostCapacity?.admissible===false) findings.push({kind:\"runner\",status:\"degraded\",code:\"host_capacity_not_admissible\",detail:health?.hostCapacity?.reason||null});\n  for(const circuit of openCircuits) findings.push({kind:\"provider\",status:\"degraded\",code:\"circuit_open\",detail:circuit});\n  const runtimeSha=trim(health?.sourceSha,80)||null,mainSha=trim(health?.mainSnapshot?.sha,80)||null;\n  if(runtimeSha&&mainSha&&runtimeSha!==mainSha) findings.push({kind:\"platform\",status:\"mismatch\",code:\"runtime_main_identity_differs\",detail:\"Observed source difference; not automatically a defect because main may contain unrelated changes.\"});\n  const status=findings.some(f=>f.status===\"degraded\")?\"degraded\":findings.some(f=>f.status===\"mismatch\")?\"mismatch\":\"healthy\";\n  return {version:\"kl-self-model-v1\",observedAt:now,status,runtime:{version:health?.version||health?.runtime?.version||null,sourceSha:runtimeSha,deploymentId:health?.deploymentId||health?.runtime?.deploymentId||null,buildId:health?.buildId||health?.runtime?.buildId||null,status:health?.status||null},protectedMain:{sha:mainSha,capturedAt:health?.mainSnapshot?.capturedAt||null},capabilities:{count:Number(capabilities?.commandCount||commands.length||0),commands:commands.map(c=>({name:c.command||c.name,title:c.title||null,readOnly:Boolean(c.annotations?.readOnlyHint),destructive:Boolean(c.annotations?.destructiveHint),idempotent:Boolean(c.annotations?.idempotentHint)})).slice(0,80)},scope:{tenantId:uuid(context?.tenantId),tenantRef:trim(context?.tenantRef,120)||null,route:trim(context?.route,500)||null,roleRef:trim(context?.roleRef,80)||null,missionId:trim(context?.missionId,80)||null,jobId:trim(context?.jobId,80)||null},health:{hostCapacity:health?.hostCapacity||null,openCircuits,intelligenceRuntime:health?.intelligence?.currentRuntime||null},findings,provenance:[{source:\"cc-execution:/health\",kind:\"observed\",observedAt:now},{source:\"cc-execution:/command-center/capabilities\",kind:\"retrieved\",observedAt:now},{source:\"console_context\",kind:\"known\",observedAt:now}]};\n}\nexport function formatSelfSnapshot(s){const r=s?.runtime?.sourceSha?String(s.runtime.sourceSha).slice(0,12):\"unknown\",m=s?.protectedMain?.sha?String(s.protectedMain.sha).slice(0,12):\"unknown\",issues=Array.isArray(s?.findings)?s.findings:[],lead=s?.status===\"healthy\"?\"KNOCKLAUNCH runtime is healthy.\":s?.status===\"mismatch\"?\"KNOCKLAUNCH is healthy with a source-identity difference to review.\":\"KNOCKLAUNCH has a degraded condition.\",details=issues.length?issues.map(f=>`${f.kind}: ${f.code}${f.detail?\" (\"+f.detail+\")\":\"\"}`).join(\"; \"):\"No degraded conditions were found in the bounded self-check.\";return `${lead} Runtime ${r}; protected main ${m}; ${s?.capabilities?.count||0} registered capabilities. ${details}`;}\nexport function researchModeForMessage(message){const t=String(message||\"\").toLowerCase(),internal=/\\b(knocklaunch|console|prime|tenant|route|runner|gate|repo|repository|our platform|our system)\\b/.test(t),external=/\\b(web|internet|online|current|latest|market|competitor|industry|research|look up|search)\\b/.test(t);return internal&&external?\"hybrid\":internal?\"internal\":\"external\";}\nfunction collectOutput(p){if(typeof p?.output_text===\"string\"&&p.output_text.trim())return p.output_text.trim();const x=[];for(const i of Array.isArray(p?.output)?p.output:[]){if(i?.type!==\"message\")continue;for(const c of Array.isArray(i?.content)?i.content:[])if(typeof c?.text===\"string\")x.push(c.text)}return x.join(\"\\n\").trim()}\nfunction collectSources(p){const out=[],seen=new Set(),push=(u,t)=>{const url=trim(u,2000);if(!/^https?:\\/\\//i.test(url)||seen.has(url))return;seen.add(url);out.push({url,title:trim(t,300)||url})};for(const i of Array.isArray(p?.output)?p.output:[]){if(i?.type===\"message\")for(const c of Array.isArray(i?.content)?i.content:[])for(const a of Array.isArray(c?.annotations)?c.annotations:[])if(a?.type===\"url_citation\"||a?.url)push(a?.url,a?.title);if(i?.type===\"web_search_call\"&&Array.isArray(i?.action?.sources))for(const s of i.action.sources)push(s?.url,s?.title)}return out.slice(0,30)}\nexport function createResearchGateway(env={},fetchImpl=fetch){const provider=trim(env.KNOCKLAUNCH_RESEARCH_PROVIDER||env.KNOCKLAUNCH_AI_PROVIDER||\"openai\",40).toLowerCase(),model=trim(env.KNOCKLAUNCH_RESEARCH_MODEL||env.KNOCKLAUNCH_AI_MODEL||env.OPENAI_MODEL||\"gpt-5-mini\",120),apiKey=trim(env.KNOCKLAUNCH_AI_API_KEY||env.OPENAI_API_KEY,400),baseUrl=trim(env.KNOCKLAUNCH_AI_BASE_URL||\"https://api.openai.com/v1\",500).replace(/\\/+$/g,\"\");return{provider,model,available:provider===\"openai\"&&Boolean(apiKey),async research({query,mode=\"external\",internalContext=null}){if(mode===\"internal\")return{ok:true,mode,provider:\"internal\",model:null,text:formatSelfSnapshot(internalContext),sources:[],internalContext};if(provider!==\"openai\"||!apiKey)return{ok:false,status:\"prerequisite_required\",reason:\"research_prerequisite_required\",provider,model,sources:[]};const prompt=mode===\"hybrid\"?`Research the user's question using live web sources and compare them with this current KNOCKLAUNCH self-state. Clearly distinguish internal facts from external findings. Question: ${trim(query,4000)}\\nCurrent KNOCKLAUNCH self-state: ${JSON.stringify(internalContext||{})}`:`Research this question using live web sources. Give a concise factual answer and preserve source citations: ${trim(query,4000)}`;let response;try{response=await fetchImpl(baseUrl+\"/responses\",{method:\"POST\",headers:{Authorization:\"Bearer \"+apiKey,\"Content-Type\":\"application/json\"},body:JSON.stringify({model,input:prompt,tools:[{type:\"web_search\"}],tool_choice:\"auto\"})})}catch(error){return{ok:false,status:\"retryable\",reason:\"research_provider_transport\",detail:trim(error?.message||error,240),provider,model,sources:[]}}const payload=await response.json().catch(()=>null);if(!response.ok||!payload)return{ok:false,status:response.status===401||response.status===403?\"prerequisite_required\":\"retryable\",reason:response.status===401||response.status===403?\"research_prerequisite_required\":\"research_provider_failed\",provider,model,httpStatus:response.status,sources:[]};return{ok:true,mode,provider,model,text:collectOutput(payload)||\"Research completed without a text summary.\",sources:collectSources(payload),internalContext:mode===\"hybrid\"?internalContext:null}}}}\nexport function selfHealPolicy({healClass,context={}}={}){if(healClass===\"tenant_workspace_repair\"){const tenantId=uuid(context.tenantId);return tenantId?{allowed:true,healClass,command:\"tenant_workspace_repair\",route:\"/owner/tenant-workspace/repair\",input:{tenantId},requiresOwnerOAuth:true,requiresVerification:true}:{allowed:false,healClass,reason:\"exact_tenant_id_required\"}}if(healClass===\"forgejo_queue_reconcile\")return{allowed:true,healClass,command:\"forgejo_queue_reconcile\",route:\"/forgejo/merge-queue/reconcile\",input:{},requiresOwnerOAuth:false,requiresVerification:true};if(healClass===\"forgejo_action_run_rerun\"){const runId=Number(context.runId||0);return Number.isInteger(runId)&&runId>0?{allowed:true,healClass,command:\"forgejo_action_run_rerun\",route:\"/forgejo/actions/run/rerun\",input:{runId},requiresOwnerOAuth:false,requiresVerification:true}:{allowed:false,healClass,reason:\"exact_run_id_required\"}}return{allowed:false,healClass:healClass||\"unknown\",reason:\"heal_class_not_allowlisted\"}}\nexport function chooseHealClass(message,context={}){const t=String(message||\"\").toLowerCase(),run=t.match(/\\brun\\s*#?\\s*(\\d+)\\b/);if(run&&/\\b(retry|rerun|re-run)\\b/.test(t))return{healClass:\"forgejo_action_run_rerun\",context:{...context,runId:Number(run[1])}};if(/\\b(queue|merge queue)\\b/.test(t)&&/\\b(reconcile|repair|fix|heal)\\b/.test(t))return{healClass:\"forgejo_queue_reconcile\",context};if(/\\b(workspace|tenant)\\b/.test(t)&&/\\b(repair|fix|heal|bootstrap)\\b/.test(t))return{healClass:\"tenant_workspace_repair\",context};return{healClass:\"unknown\",context}}\n"},{"path":"workers/cc-execution/test/console-self-model.test.js","content":"import test from \"node:test\";\nimport assert from \"node:assert/strict\";\nimport {buildSelfSnapshot,createResearchGateway,selfHealPolicy,chooseHealClass} from \"../src/console-self-model.js\";\ntest(\"self model preserves provenance and distinguishes mismatch\",()=>{const s=buildSelfSnapshot({health:{ok:true,status:\"live\",sourceSha:\"a\",mainSnapshot:{sha:\"b\"},hostCapacity:{admissible:true},intelligence:{circuits:{}}},capabilities:{commandCount:2,commands:[{command:\"command_center_health\",annotations:{readOnlyHint:true}},{command:\"tenant_workspace_repair\",annotations:{destructiveHint:true}}]}});assert.equal(s.status,\"mismatch\");assert.equal(s.provenance[0].kind,\"observed\");assert.equal(s.capabilities.count,2)});\ntest(\"degraded capacity is degraded\",()=>{const s=buildSelfSnapshot({health:{ok:true,status:\"live\",sourceSha:\"a\",mainSnapshot:{sha:\"a\"},hostCapacity:{admissible:false,reason:\"pressure\"},intelligence:{circuits:{}}},capabilities:{}});assert.equal(s.status,\"degraded\")});\ntest(\"research fails closed without credential\",async()=>{const r=await createResearchGateway({}).research({query:\"latest roofing software\",mode:\"external\"});assert.equal(r.ok,false);assert.equal(r.reason,\"research_prerequisite_required\")});\ntest(\"self heal policy is allowlisted\",()=>{assert.equal(selfHealPolicy({healClass:\"tenant_workspace_repair\",context:{tenantId:\"a3ffa31f-0c88-4fdd-b872-051db013ca3e\"}}).allowed,true);assert.equal(selfHealPolicy({healClass:\"arbitrary_source_edit\",context:{}}).allowed,false);assert.equal(selfHealPolicy({healClass:\"tenant_workspace_repair\",context:{tenantId:\"speedy-panda\"}}).allowed,false)});\ntest(\"generic source work never becomes auto-heal\",()=>{assert.equal(chooseHealClass(\"rewrite the auth source code\",{}).healClass,\"unknown\");assert.equal(chooseHealClass(\"reconcile the merge queue\",{}).healClass,\"forgejo_queue_reconcile\");assert.equal(chooseHealClass(\"rerun run #12285\",{}).healClass,\"forgejo_action_run_rerun\")});\n"}],"branch":"ai/objective-first-repair-789753562a8b","writes":[],"patches":[],"version":1,"approved":true,"pr_title":"KNOCKLAUNCH AI: self-understanding, research, and self-healing v1","missionId":"78975356-2a8b-4752-84f5-adcb1383a784","objective":"Corrective generation for failed mission 12fa2299-ac7e-4be2-b0df-61e8046f95f4: build and ship KNOCKLAUNCH AI Self-Understanding + Research + Self-Healing v1 from current protected main 61e1f7b00161ab7477c6b4fef251a9761c0a587e. Previous generation wrote nothing because the control-plane maintenance base SHA moved.","sourceSha":"61e1f7b00161ab7477c6b4fef251a9761c0a587e","repository":"noel/KnockLaunchOS","visualProof":false,"autoProgress":true,"verifyVisual":false,"ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"anchored_edits":[{"path":"workers/cc-execution/src/console-intelligence.js","new_content":"revise_candidate:{risk:\"write_proposed\",executor:\"execute_objective\",verification:\"mission_receipt\"},\nself_check:{risk:\"read_only\",executor:\"current_prime_truth\",verification:\"self_snapshot\"},\nresearch:{risk:\"read_only\",executor:\"research_gateway\",verification:\"research_sources\"},\nself_heal:{risk:\"bounded_write\",executor:\"deterministic_self_heal_policy\",verification:\"post_repair_receipt\"}","old_content":"revise_candidate:{risk:\"write_proposed\",executor:\"execute_objective\",verification:\"mission_receipt\"}"},{"path":"workers/cc-execution/src/console-intelligence.js","new_content":"\"Use chat for explanation/conversation, self_check for current KNOCKLAUNCH health/capability/state, research for external/current investigation or external-vs-KNOCKLAUNCH comparison, self_heal only when the owner asks to repair/heal and deterministic policy allows it, witness only for actual requested visual observation, mission only when the owner requests a source/product change that is not an allowlisted self-heal, and clarify only when ambiguity is materially unsafe.\"","old_content":"\"Use chat for explanation/conversation, witness only for actual requested visual observation, and mission only when the owner requests a source/product change, and clarify only when ambiguity is materially unsafe.\""},{"path":"workers/cc-execution/src/console-intelligence.js","new_content":"\"Do not invent routes, tenants, missions, jobs, deployments, capabilities, repair eligibility, research results, or live facts. Unknowns stay empty and are listed in uncertainties.\"","old_content":"\"Do not invent routes, tenants, missions, jobs, deployments, capabilities, or live facts. Unknowns stay empty and are listed in uncertainties.\""},{"path":"workers/cc-execution/src/console-operator.js","new_content":"import { createCognitionEnvelope, planConsoleIntent } from './console-intelligence.js';\nimport { buildSelfSnapshot, chooseHealClass, createResearchGateway, formatSelfSnapshot, researchModeForMessage, selfHealPolicy } from './console-self-model.js';","old_content":"import { createCognitionEnvelope, planConsoleIntent } from './console-intelligence.js';"},{"path":"workers/cc-execution/src/console-operator.js","new_content":"    tenantRef: text(raw.tenantRef, 120),\n    tenantId: uuid(raw.tenantId),","old_content":"    tenantRef: text(raw.tenantRef, 120),"},{"path":"workers/cc-execution/src/console-operator.js","new_content":"async function delegated(dispatch, env, ctx, path, payload, method='POST', extraHeaders={}) {","old_content":"async function delegated(dispatch, env, ctx, path, payload) {"},{"path":"workers/cc-execution/src/console-operator.js","new_content":"  const upper=String(method||'POST').toUpperCase();\n  const request=new Request('https://cc-execution.internal'+path,{method:upper,headers:{'Content-Type':'application/json',Authorization:'Bearer '+env.CC_EXECUTION_KEY,...extraHeaders},...(upper==='GET'||upper==='HEAD'?{}:{body:JSON.stringify(payload||{})})});","old_content":"  const request=new Request('https://cc-execution.internal'+path,{method:'POST',headers:{'Content-Type':'application/json',Authorization:'Bearer '+env.CC_EXECUTION_KEY},body:JSON.stringify(payload||{})});"},{"path":"workers/cc-execution/src/console-operator.js","new_content":"    if(plan.kind==='self_check'){\n      const [health,capabilities]=await Promise.all([delegated(dispatch,env,ctx,'/health',null,'GET'),delegated(dispatch,env,ctx,'/command-center/capabilities',null,'GET')]);\n      const snapshot=buildSelfSnapshot({health,capabilities,context});\n      const intelligence=createCognitionEnvelope({message:input.message,context,decision:plan,model:intelligenceResult.model,receipt:{status:snapshot.status,proofGate:'self_snapshot_observed'},fallback:intelligenceResult.fallback,agentTurn});\n      return json({ok:true,kind:'self_check',message:formatSelfSnapshot(snapshot),context,receipt:{status:snapshot.status,proofGate:'self_snapshot_observed',snapshot},intelligence,decision:{intentClass:agentTurn?.intentClass||'live_state_read',selectedCommand:'command_center_health+command_center_capabilities',selectedCapability:'self_check',lifecycleState:'observed',evidenceSource:'current_prime_truth'}});\n    }\n    if(plan.kind==='research'){\n      const mode=researchModeForMessage(input.message);\n      let snapshot=null;\n      if(mode!=='external'){const [health,capabilities]=await Promise.all([delegated(dispatch,env,ctx,'/health',null,'GET'),delegated(dispatch,env,ctx,'/command-center/capabilities',null,'GET')]);snapshot=buildSelfSnapshot({health,capabilities,context});}\n      const research=await createResearchGateway(env).research({query:plan.objective||input.message,mode,internalContext:snapshot});\n      if(!research.ok)return json({ok:false,status:research.status||'blocked',error:research.reason||'research_failed',research,context},research.status==='prerequisite_required'?503:502);\n      const sourceText=research.sources?.length?' Sources: '+research.sources.slice(0,6).map(s=>s.title+' — '+s.url).join(' | '):'';\n      const intelligence=createCognitionEnvelope({message:input.message,context,decision:plan,model:{provider:research.provider,model:research.model},receipt:{status:'observed',proofGate:'research_sources_observed'},fallback:false,agentTurn});\n      return json({ok:true,kind:'research',message:(research.text||'Research completed.')+sourceText,context,receipt:{status:'observed',proofGate:'research_sources_observed',research},research,intelligence,decision:{intentClass:agentTurn?.intentClass||'live_state_read',selectedCommand:'research_gateway',selectedCapability:'research',lifecycleState:'observed',evidenceSource:research.mode}});\n    }\n    if(plan.kind==='self_heal'){\n      const selected=chooseHealClass(input.message,context),policy=selfHealPolicy(selected);\n      if(!policy.allowed)return json({ok:true,kind:'self_heal',message:'I diagnosed the request, but it is not eligible for automatic repair: '+policy.reason+'. I will not guess or broaden the mutation.',context,receipt:{status:'blocked',proofGate:'self_heal_policy_blocked',policy},decision:{intentClass:agentTurn?.intentClass||'direct_operation',selectedCapability:'self_heal',lifecycleState:'blocked',evidenceSource:'deterministic_self_heal_policy'}});\n      let extraHeaders={};\n      if(policy.requiresOwnerOAuth){const mode=request.headers.get('X-Knocklaunch-Auth-Mode')||'',subject=request.headers.get('X-Knocklaunch-OAuth-Subject')||'',token=request.headers.get('X-Knocklaunch-OAuth-Access-Token')||'';if(!mode||!subject||!token)return json({ok:false,status:'prerequisite_required',error:'validated_owner_oauth_required',context,receipt:{status:'prerequisite_required',proofGate:'self_heal_prerequisite_required',policy}},401);extraHeaders={'X-Knocklaunch-Auth-Mode':mode,'X-Knocklaunch-OAuth-Subject':subject,'X-Knocklaunch-OAuth-Access-Token':token};}\n      const repair=await delegated(dispatch,env,ctx,policy.route,policy.input,'POST',extraHeaders);\n      const [health,capabilities]=await Promise.all([delegated(dispatch,env,ctx,'/health',null,'GET'),delegated(dispatch,env,ctx,'/command-center/capabilities',null,'GET')]);\n      const snapshot=buildSelfSnapshot({health,capabilities,context}),verified=repair?.status==='verified'||String(repair?.proofGate||'').includes('verified'),status=verified?'verified':'observed';\n      const message=verified?'Automatic repair completed and the canonical repair receipt verified it. I re-observed the KNOCKLAUNCH runtime afterward.':'The bounded repair action returned, but verification is not strong enough to call it healed.';\n      const intelligence=createCognitionEnvelope({message:input.message,context,decision:plan,model:intelligenceResult.model,receipt:{status,proofGate:verified?'self_heal_verified':'self_heal_unverified'},fallback:intelligenceResult.fallback,agentTurn});\n      return json({ok:verified,kind:'self_heal',message,context,receipt:{status,proofGate:verified?'self_heal_verified':'self_heal_unverified',policy,repair,postRepairSnapshot:snapshot},intelligence,decision:{intentClass:agentTurn?.intentClass||'direct_operation',selectedCommand:policy.command,selectedCapability:'self_heal',lifecycleState:status,evidenceSource:repair?.proofGate||'post_repair_snapshot'}},verified?200:409);\n    }\n    if(plan.kind==='review_candidate'||(plan.kind==='status'&&context.missionId&&!context.jobId)){","old_content":"    if(plan.kind==='review_candidate'||(plan.kind==='status'&&context.missionId&&!context.jobId)){"},{"path":"workers/cc-execution/src/index-mcp.js","new_content":"  if (route === \"/command-center/capabilities\") {\n    const commands = PUBLIC_TOOLS.map((entry) => ({ command: entry.name, title: entry.title || entry.name, description: entry.description, annotations: entry.annotations }));\n    return json({ ok: true, status: \"verified\", proofGate: \"command_center_capabilities_verified\", commandCount: commands.length, commands, stableFacade: [...STABLE_MCP_FACADE_NAMES] });\n  }\n  if (route === \"/owner/operating-context\") {","old_content":"  if (route === \"/owner/operating-context\") {"},{"path":"src/pages/admin/GodModeCommandConsole.tsx","new_content":"        ...(inferredTenantRef ? { tenantRef: inferredTenantRef } : {}),\n        ...((inferred?.tenant?.id || operatorContext.tenantId) ? { tenantId: String(inferred?.tenant?.id || operatorContext.tenantId) } : {}),","old_content":"        ...(inferredTenantRef ? { tenantRef: inferredTenantRef } : {}),"}],"commit_message":"feat: add AI self-understanding research and bounded self-healing","implementation":{"files":[],"writes":[]},"requestContract":{"intent":{"rawUtterance":"Corrective generation for failed mission 12fa2299-ac7e-4be2-b0df-61e8046f95f4: build and ship KNOCKLAUNCH AI Self-Understanding + Research + Self-Healing v1 from current protected main 61e1f7b00161ab7477c6b4fef251a9761c0a587e. Previous generation wrote nothing because the control-plane maintenance base SHA moved.","wordingChanged":false,"canonicalIntent":"Corrective generation for failed mission 12fa2299-ac7e-4be2-b0df-61e8046f95f4: build and ship KNOCKLAUNCH AI Self-Understanding + Research + Self-Healing v1 from current protected main 61e1f7b00161ab7477c6b4fef251a9761c0a587e. Previous generation wrote nothing because the control-plane maintenance base SHA moved.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"self-understanding","statement":"KNOCKLAUNCH AI can assemble a provenance-bearing current self-state from live runtime and capability truth.","provenance":{"source":"owner_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["runtime-proof"]},{"id":"research","statement":"KNOCKLAUNCH AI can perform read-only internal/external/hybrid research with a provider-neutral gateway and live web sources when available.","provenance":{"source":"owner_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["runtime-proof"]},{"id":"self-heal","statement":"KNOCKLAUNCH AI can automatically execute only deterministic allowlisted repairs and verify the result before claiming recovery.","provenance":{"source":"owner_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["runtime-proof"]}],"objective":"Corrective generation for failed mission 12fa2299-ac7e-4be2-b0df-61e8046f95f4: build and ship KNOCKLAUNCH AI Self-Understanding + Research + Self-Healing v1 from current protected main 61e1f7b00161ab7477c6b4fef251a9761c0a587e. Previous generation wrote nothing because the control-plane maintenance base SHA moved.","constraints":[{"id":"no-unrestricted-self-modification","statement":"No arbitrary source/schema/secret/destructive self-mutation; all model proposals remain subordinate to deterministic policy and existing canonical machinery.","provenance":{"source":"owner_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["runtime-proof"]},{"id":"reuse-canonical","statement":"Reuse Prime, health/capability registry, tenant_workspace_repair, queue reconcile/rerun, sessions, Witness, Gate and release machinery; no duplicate orchestrator.","provenance":{"source":"owner_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["runtime-proof"]},{"id":"bounded-unfreeze","statement":"Temporarily unfreeze only exact affected files, preserving owner OAuth for tenant repair, then return control plane to frozen-by-default after release.","provenance":{"source":"owner_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["runtime-proof"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"runtime-proof","kind":"runtime","claim":"Self-understanding/research/self-healing v1 passes focused tests and canonical Gate, squash-merges, releases affected targets, and live runtime identity is proven.","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":[],"requestContract":{"intent":{"rawUtterance":"Corrective generation for failed mission 12fa2299-ac7e-4be2-b0df-61e8046f95f4: build and ship KNOCKLAUNCH AI Self-Understanding + Research + Self-Healing v1 from current protected main 61e1f7b00161ab7477c6b4fef251a9761c0a587e. Previous generation wrote nothing because the control-plane maintenance base SHA moved.","wordingChanged":false,"canonicalIntent":"Corrective generation for failed mission 12fa2299-ac7e-4be2-b0df-61e8046f95f4: build and ship KNOCKLAUNCH AI Self-Understanding + Research + Self-Healing v1 from current protected main 61e1f7b00161ab7477c6b4fef251a9761c0a587e. Previous generation wrote nothing because the control-plane maintenance base SHA moved.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"self-understanding","statement":"KNOCKLAUNCH AI can assemble a provenance-bearing current self-state from live runtime and capability truth.","provenance":{"source":"owner_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["runtime-proof"]},{"id":"research","statement":"KNOCKLAUNCH AI can perform read-only internal/external/hybrid research with a provider-neutral gateway and live web sources when available.","provenance":{"source":"owner_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["runtime-proof"]},{"id":"self-heal","statement":"KNOCKLAUNCH AI can automatically execute only deterministic allowlisted repairs and verify the result before claiming recovery.","provenance":{"source":"owner_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["runtime-proof"]}],"objective":"Corrective generation for failed mission 12fa2299-ac7e-4be2-b0df-61e8046f95f4: build and ship KNOCKLAUNCH AI Self-Understanding + Research + Self-Healing v1 from current protected main 61e1f7b00161ab7477c6b4fef251a9761c0a587e. Previous generation wrote nothing because the control-plane maintenance base SHA moved.","constraints":[{"id":"no-unrestricted-self-modification","statement":"No arbitrary source/schema/secret/destructive self-mutation; all model proposals remain subordinate to deterministic policy and existing canonical machinery.","provenance":{"source":"owner_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["runtime-proof"]},{"id":"reuse-canonical","statement":"Reuse Prime, health/capability registry, tenant_workspace_repair, queue reconcile/rerun, sessions, Witness, Gate and release machinery; no duplicate orchestrator.","provenance":{"source":"owner_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["runtime-proof"]},{"id":"bounded-unfreeze","statement":"Temporarily unfreeze only exact affected files, preserving owner OAuth for tenant repair, then return control plane to frozen-by-default after release.","provenance":{"source":"owner_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["runtime-proof"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"runtime-proof","kind":"runtime","claim":"Self-understanding/research/self-healing v1 passes focused tests and canonical Gate, squash-merges, releases affected targets, and live runtime identity is proven.","route":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"requireCapacityAdmissible":false,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}]},"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["workers/cc-execution/src/console-self-model.js","workers/cc-execution/src/console-intelligence.js","workers/cc-execution/src/console-operator.js","workers/cc-execution/src/index-mcp.js","workers/cc-execution/test/console-self-model.test.js","src/pages/admin/GodModeCommandConsole.tsx"],"controlPlaneMaintenanceReason":"Corrective generation after stale-base refusal. Owner authorized KNOCKLAUNCH AI self-understanding/research/bounded-self-healing. Unfreeze only the exact AI/control-plane files plus one Console tenant-id data-plumbing line, preserve owner OAuth for tenant repair, then return to frozen-by-default after canonical release."},"proofRequirements":null,"controlPlaneUnfreeze":true,"durableMutationResume":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["workers/cc-execution/src/console-self-model.js","workers/cc-execution/src/console-intelligence.js","workers/cc-execution/src/console-operator.js","workers/cc-execution/src/index-mcp.js","workers/cc-execution/test/console-self-model.test.js","src/pages/admin/GodModeCommandConsole.tsx"],"controlPlaneMaintenanceReason":"Corrective generation after stale-base refusal. Owner authorized KNOCKLAUNCH AI self-understanding/research/bounded-self-healing. Unfreeze only the exact AI/control-plane files plus one Console tenant-id data-plumbing line, preserve owner OAuth for tenant repair, then return to frozen-by-default after canonical release."},"recovery":false,"fingerprint":"fae628a74fa43a2de5d8ac7c1bb101a6a9ba3052d8169b614651fbc127d77b7b","replayCount":0,"serializedBytes":30505},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T21:41:19.420307+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:78975356-2a8b-4752-84f5-adcb1383a784:repository-mutation-intent:fae628a74fa43a2de5d8ac7c1bb101a6a9ba3052d8169b614651fbc127d77b7b:0","mission_step_id":"d101215c-d04e-4614-b8b6-403a0cb03800","command_center_event_id":"78975356-2a8b-4752-84f5-adcb1383a784"},{"id":"6c771b99-ab8f-4a4b-b138-729b5057c526","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-a0a8c37b7978","prNumber":3909,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"61e1f7b00161ab7477c6b4fef251a9761c0a587e","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T21:40:03.791647+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"61e1f7b00161ab7477c6b4fef251a9761c0a587e","external_id":"3909","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:a0a8c37b-7978-49e0-b330-448a56b7b2a8:merged-pr:3909:61e1f7b00161ab7477c6b4fef251a9761c0a587e","mission_step_id":"97cf071b-fcf5-4d97-b363-455db6b14538","command_center_event_id":"a0a8c37b-7978-49e0-b330-448a56b7b2a8"},{"id":"fa1a05fd-88a2-4b3a-b8d0-946949ae50e4","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"61e1f7b00161ab7477c6b4fef251a9761c0a587e","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"61e1f7b00161ab7477c6b4fef251a9761c0a587e","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":"bd476064d692a947b76021304880c12005ec40b64e22bec31bfedbd64f3be1f5","forgejoWorkflowProof":{"runId":12308,"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-27T21:41:27.14288+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"61e1f7b00161ab7477c6b4fef251a9761c0a587e","external_id":"forgejo-main-61e1f7b00161","receipt_type":"canonical_release_status","idempotency_key":"mission:a0a8c37b-7978-49e0-b330-448a56b7b2a8:forgejo-release-status:61e1f7b00161ab7477c6b4fef251a9761c0a587e:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"baae9447-0dc1-41ea-9583-1ae8a4784572","command_center_event_id":"a0a8c37b-7978-49e0-b330-448a56b7b2a8"}],"rows":200,"limit":200,"table":"command_center_receipts","format":"knocklaunch-table-chunk-v1","offset":28000,"schema":"public"}