{"data":[{"id":"e28745b8-e786-4dc2-91cf-77db10c397a9","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-c84fd408f5c9","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":35542,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-10-06T19:47:17.531Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.67.12-pr-merge-base-freshness","prNumber":5233,"terminal":false,"missionId":"c84fd408-f5c9-4f2f-b26f-14bbbbee4602","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":9351,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":2166,"approvedPlanMs":2098,"missionSetupMs":489,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":489,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":489,"repositoryMutationMs":3904,"repositoryProviderMs":3904,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2326,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":489,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1578},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"c84fd408-f5c9-4f2f-b26f-14bbbbee4602"},"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":1536,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T19:47:28.406902+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"5233","receipt_type":"execute_mission","idempotency_key":"mission:c84fd408-f5c9-4f2f-b26f-14bbbbee4602:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"69f3ceeb-d3cf-429c-8754-ba269a3b0c30","command_center_event_id":"c84fd408-f5c9-4f2f-b26f-14bbbbee4602"},{"id":"e2890481-624d-4153-960b-feb777f14213","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/control-plane-zstd-gate-cache-20260902","reason":"retryable_provider_transport:The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":17170,"releaseCount":0,"toolCallCount":14,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":1367,"terminal":false,"missionId":"c04c059f-2b9f-42b2-ae41-8a80eadfcab5","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":5745,"approvedPlanMs":0,"shipAndProveMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"c04c059f-2b9f-42b2-ae41-8a80eadfcab5"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":699,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-02T02:48:29.216617+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"1367","receipt_type":"automatic_mission_resume","idempotency_key":"mission:c04c059f-2b9f-42b2-ae41-8a80eadfcab5:automatic-mission-resume:1367:repair_mission_pr_ready_retryable","mission_step_id":"cdab13e5-bc94-44e0-8d37-d4e8bddef622","command_center_event_id":"c04c059f-2b9f-42b2-ae41-8a80eadfcab5"},{"id":"e2898527-8300-414e-9bf9-b8eded6d4f73","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-a693268ed641","prNumber":3994,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"d1bc8bbba5a221db65a92aa156c84def1b79e60c","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T13:58:23.449341+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"d1bc8bbba5a221db65a92aa156c84def1b79e60c","external_id":"3994","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:a693268e-d641-4d43-9c05-a91e7e51cfa8:merged-pr:3994:d1bc8bbba5a221db65a92aa156c84def1b79e60c","mission_step_id":"fa22e64b-2515-458f-8d46-4b8a7718db76","command_center_event_id":"a693268e-d641-4d43-9c05-a91e7e51cfa8"},{"id":"e289c143-180e-4acb-b4b0-8915cb33be56","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-433701ca0563","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.118-architecture-exclusivity","prNumber":null,"terminal":false,"missionId":"433701ca-0563-492f-aadf-c2d7f7195cf9","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":11,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":1110,"providerAuthMs":0,"ledgerPrepareMs":1110,"ledgerReconcileMs":284,"lineageReconcileMs":0,"resolvePreflightMs":1110,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":1394,"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":"433701ca-0563-492f-aadf-c2d7f7195cf9"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":7798,"likelyAffectedFiles":["scripts/command-center-host-agent/knocklaunch-forgejo-watchdog.service","scripts/command-center-host-agent/knocklaunch-forgejo-watchdog.timer",".forgejo/workflows/knocklaunch.yml","src/__tests__/contracts/command-center-platform-mission-anchor.contract.test.ts","scripts/command-center-host-agent/forgejo-watchdog.sh","scripts/command-center-host-agent/install-forgejo-watchdog.sh","scripts/command-center-host-agent/verify-forgejo-watchdog.sh","scripts/validate-command-center-contracts.mjs","src/__tests__/commandCenter/deployDetection.test.ts","src/__tests__/contracts/command-center-forgejo-transport-reliability.contract.test.ts","src/__tests__/contracts/command-center-mission-control.test.ts","src/__tests__/contracts/command-center-mission-preflight.test.ts"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T16:42:53.593554+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:433701ca-0563-492f-aadf-c2d7f7195cf9:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"099c4b8e-c720-46a1-a5c8-e461d3853f32","command_center_event_id":"433701ca-0563-492f-aadf-c2d7f7195cf9"},{"id":"e28b0b2e-59a4-4252-8022-de7f3a06aa59","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Unfreeze the control plane for the Virtual Witness bootstrap repair and continue the same mission.","wordingChanged":false,"canonicalIntent":"Unfreeze the control plane for the Virtual Witness bootstrap repair and continue the same mission.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"repair-bootstrap","statement":"Repair the split-brain Cloudflare/Supabase Virtual Witness bootstrap authority contract without regressing Render primary.","proofConditionIds":["repo-proof","gate-proof","release-proof","dual-health-proof"]},{"id":"restore-proof","statement":"Restore dual-lane visual witness readiness/failover and successful desktop/mobile visual evidence.","proofConditionIds":["dual-health-proof","visual-proof"]}],"objective":"Unfreeze the control plane for the Virtual Witness bootstrap repair and continue the same mission.","constraints":[{"id":"scope","statement":"No unrelated product changes; preserve HMAC authentication, freshness, nonce and encrypted credential exchange.","proofConditionIds":["repo-proof","gate-proof","release-proof","dual-health-proof"]},{"id":"delivery","statement":"One mission, branch, PR, canonical gate, squash merge, affected releases only.","proofConditionIds":["repo-proof","gate-proof","release-proof","dual-health-proof"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"repo-proof","kind":"repository","claim":"Exact workflow and bootstrap Edge Function diff removes SHA-split bootstrap authority rotation.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"gate-proof","kind":"repository","claim":"KnockLaunch Gate passes on exact repair head.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"release-proof","kind":"runtime","claim":"Affected cc-execution and bootstrap Edge Function releases succeed.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"dual-health-proof","kind":"runtime","claim":"Both witness lanes are ready and authority-verified with redundancy/failover healthy.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"visual-proof","kind":"visual","claim":"Supervised witness captures desktop and mobile evidence on live app root.","route":"/","roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestContractHash":"29c8a6a4c1cc1cd147d27be7734c1be0d4d90fdc94abb287fdecd1015e3a2da6","requestContractRevision":2,"previousRequestContractHash":"a14fb54434384ae3b355d580dc9e16008fddbee89d57555fb7af5e717b01d922"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-06T14:23:36.785377+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:ba8efaa9-3427-4b1f-a213-ee48ce9f9a4b:request-contract:29c8a6a4c1cc1cd147d27be7734c1be0d4d90fdc94abb287fdecd1015e3a2da6","mission_step_id":"5c2d7e8f-d948-4ac9-b957-2d4661dfaab8","command_center_event_id":"ba8efaa9-3427-4b1f-a213-ee48ce9f9a4b"},{"id":"e28e9acd-0375-4a07-8dc2-2cabb32764ee","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"165f6d2dc7d10830ea35b49494dc5b131382f9a8","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":true,"statement":"Every durable mission checkpoint deterministically exposes one nextSafeAction containing action, lane, reason, automationAllowed, and ownerActionRequired. Terminal missions resolve to none; active missions resolve from durable mission state without conversational rediscovery.","proofConditionIds":["proof-runtime","proof-regression"]}],"satisfied":true,"constraints":[{"id":"bounded-control-plane-maintenance","satisfied":true,"statement":"Control-plane maintenance is limited to the exact three declared cc-execution paths and preserves the existing durable mission ledger, Gate, squash merge, and release ownership.","proofConditionIds":["proof-runtime","proof-regression"]},{"id":"capability-completeness","satisfied":true,"statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["proof-runtime","proof-regression"]},{"id":"atomic-capability-lifecycle","satisfied":true,"statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["proof-runtime","proof-regression"]}],"contractHash":"93ec8840d2c54f18aa94f313a7927fba1bd6bcbd2f9d82a7848a598cc7d4b7aa","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"proof-runtime","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"ccExecution":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["ccExecution"],"allowedReleaseTargets":[],"requiredReleaseTargets":["ccExecution"],"migrationReleaseVerified":null,"releaseRequestContractHash":"93ec8840d2c54f18aa94f313a7927fba1bd6bcbd2f9d82a7848a598cc7d4b7aa"},"required":true,"satisfied":true},{"id":"proof-regression","kind":"repository","evidence":{"reason":null,"gateRunId":10317,"satisfied":true,"gateTestProof":"successful_exact_head_gate_log_contains:workers/cc-execution/test/release-orchestration-invariants.test.js","gateTestPassed":true,"missingTargets":[],"gateTestExecuted":true,"disallowedTargets":[],"migrationRequired":false,"namedGateTestPath":"workers/cc-execution/test/release-orchestration-invariants.test.js","releaseTargetStates":{"ccExecution":"success"},"repositoryProofGate":"request_contract_repository_verified","repositoryProofPath":null,"requestContractHash":"93ec8840d2c54f18aa94f313a7927fba1bd6bcbd2f9d82a7848a598cc7d4b7aa","unsuccessfulTargets":[],"activeReleaseTargets":["ccExecution"],"allowedReleaseTargets":[],"repositoryProofStatus":"verified","expectedRepositoryPath":null,"namedGateTestSatisfied":true,"requiredReleaseTargets":["ccExecution"],"migrationReleaseVerified":null,"repositoryConditionBound":true,"repositoryProofSourceSha":"165f6d2dc7d10830ea35b49494dc5b131382f9a8"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["ccExecution"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-20T15:08:10.182333+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"165f6d2dc7d10830ea35b49494dc5b131382f9a8","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:81fd1441-cf62-4734-b80a-400858066693:request-contract:93ec8840d2c54f18aa94f313a7927fba1bd6bcbd2f9d82a7848a598cc7d4b7aa:165f6d2dc7d10830ea35b49494dc5b131382f9a8:verified:","mission_step_id":"2dd97829-ad19-45cc-a519-e43d05be488a","command_center_event_id":"81fd1441-cf62-4734-b80a-400858066693"},{"id":"e28efa17-727f-42ae-a3d7-328c721bb8cd","source":"cc-execution","status":"blocked","payload":{"reason":"compiler_recovery_diff_window_limit","failureClass":null,"sourceTargets":["src/pages/card-grading/PCGCardCustomerOrderAssignment.tsx","src/pages/card-grading/PCGCardVaultOperationsPanels.tsx"],"dependencyReason":null,"dependencyStatus":null,"providerAttempts":[],"automaticExecutorAssigned":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-15T20:05:57.194542+00:00","proof_gate":"bounded_implementation_checkpoint_persisted","source_sha":"5e03aeb33ae0645813dd46ba555fd146a5b81470","external_id":null,"receipt_type":"bounded_implementation_continuation","idempotency_key":"mission:b52fc620-5609-4695-b77e-3ed9c72f64d4:compiler:5e03aeb33ae0645813dd46ba555fd146a5b81470:src/pages/card-grading/PCGCardCustomerOrderAssignment.tsx,src/pages/card-grading/PCGCardVaultOperationsPanels.tsx","mission_step_id":"67f536ae-dbde-4bfb-a65a-5f8902040078","command_center_event_id":"b52fc620-5609-4695-b77e-3ed9c72f64d4"},{"id":"e29001e5-3cac-4612-81bd-6363828159a3","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-2303bf6febc1","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":16444,"releaseCount":0,"toolCallCount":8,"repeatedCallCount":4,"executorlessWaitMs":24277,"firstUsefulResultAt":"2026-10-03T22:06:48.836Z","recoveryAttemptCount":5,"ownerInterruptionCount":0},"version":null,"prNumber":4684,"terminal":false,"missionId":"2303bf6f-ebc1-48c4-b91a-f225169f56d4","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"59b1e1c151fa1970874c852eac4c9f0cdea93c9c","timingsMs":{"prReadinessMs":743,"approvedPlanMs":0,"shipAndProveMs":3129,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"2303bf6f-ebc1-48c4-b91a-f225169f56d4"},"performance":null,"deploymentId":"forgejo-main-59b1e1c151fa","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1864,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T22:07:22.119495+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"4684","receipt_type":"automatic_mission_resume","idempotency_key":"mission:2303bf6f-ebc1-48c4-b91a-f225169f56d4:automatic-mission-resume:4684:canonical_release_reconciliation_pending","mission_step_id":"38bd3ebc-6e61-4ed6-ab0e-dd1e619fcfc1","command_center_event_id":"2303bf6f-ebc1-48c4-b91a-f225169f56d4"},{"id":"e29392a4-7f88-4ca7-b111-df74960a7c1a","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"route":"https://app.knocklaunch.app/big-papis/owner/event","branch":"ai/objective-first-repair-4f5629350243","writes":[],"patches":[],"approved":true,"missionId":"4f562935-0243-4d4c-8e92-442c01b17cbc","repository":"noel/KnockLaunchOS","ownerApproved":true,"anchored_edits":[{"path":"src/PrivateAppShell.tsx","anchor":"<TenantRouteScrollRestoration/><MobileViewportRecovery/><InstalledAppNavigationRecovery/>","replacement":"<TenantRouteScrollRestoration/><MobileViewportRecovery/>"},{"path":"src/components/tenant-modes/TenantModeNavigation.tsx","anchor":"import { ArrowLeftRight, LayoutGrid, Layers3 } from 'lucide-react';","replacement":"import { LayoutGrid } from 'lucide-react';"},{"path":"src/components/tenant-modes/TenantModeNavigation.tsx","anchor":"        <Link\n          data-tenant-mode-all-modes=\"true\"\n          to={allModesPath}\n          aria-current={currentRoute === routeIdentity(allModesPath) ? 'page' : undefined}\n          className=\"flex min-h-[62px] min-w-0 flex-col items-center justify-center gap-1 px-1 text-[9px] font-black text-white/70 transition-colors hover:text-white\"\n        >\n          <Layers3 className=\"h-5 w-5\" />\n          <span>Modes</span>\n        </Link>","replacement":""},{"path":"src/components/tenant-modes/TenantModeNavigation.tsx","anchor":"      <Link\n        data-tenant-mode-all-modes=\"true\"\n        to={allModesPath}\n        aria-current={currentRoute === routeIdentity(allModesPath) ? 'page' : undefined}\n        className=\"mt-4 flex min-h-[42px] items-center justify-between rounded-2xl border border-white/10 bg-white/[.035] px-3 text-xs font-black text-white/72 transition hover:border-white/20 hover:bg-white/[.065] hover:text-white\"\n      >\n        <span className=\"flex items-center gap-2\"><Layers3 className=\"h-4 w-4\" />All Modes</span>\n        <ArrowLeftRight className=\"h-3.5 w-3.5\" />\n      </Link>","replacement":""}],"implementation":{"files":[],"writes":[]},"durableMutationResume":true},"recovery":false,"fingerprint":"229a5db829948240dfc4207db326c1f0fc8f790452d2dba721031e54c5bf9335","replayCount":0,"serializedBytes":2012},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T16:29:37.656152+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:4f562935-0243-4d4c-8e92-442c01b17cbc:repository-mutation-intent:229a5db829948240dfc4207db326c1f0fc8f790452d2dba721031e54c5bf9335:0","mission_step_id":"f43b4174-cda8-491c-b1d3-e9c37df69ddd","command_center_event_id":"4f562935-0243-4d4c-8e92-442c01b17cbc"},{"id":"e295f62c-beda-4db5-849a-1a0325787b20","source":"cc-execution","status":"no_change","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/live-single-lane-final-1482-canary-20260819","reason":null,"status":"no_change","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.48.2-single-mutation-lane","prNumber":null,"terminal":true,"missionId":"989d89df-cfd3-4b3e-bb09-a8dbd780e289","operation":"execute_mission","proofGate":"repair_mission_no_change_verified","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"989d89df-cfd3-4b3e-bb09-a8dbd780e289"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":5015,"ownerActionRequired":false,"ownerFacingTerminal":true,"continuationRequired":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-20T03:32:50.78732+00:00","proof_gate":"repair_mission_no_change_verified","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:989d89df-cfd3-4b3e-bb09-a8dbd780e289:execute_mission:repair_mission_no_change_verified","mission_step_id":"d661f04f-0196-4a50-9349-c5fabf065633","command_center_event_id":"989d89df-cfd3-4b3e-bb09-a8dbd780e289"},{"id":"e29a46f4-d6de-47a6-a44a-068ae957707a","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-mtt0wt7y","reason":"retryable_provider_transport:The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":0,"releaseCount":1,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.77-mcp-oauth-es256","prNumber":2151,"terminal":false,"missionId":"58e197a4-4907-4f3f-8b6e-563bd17528fa","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":"ff6ef14dc82d479dba1c5be47087ccff417b6930","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":5488,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":2500,"approvedPlanMs":0,"missionSetupMs":215,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":215,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":215,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":215,"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":"58e197a4-4907-4f3f-8b6e-563bd17528fa"},"performance":null,"deploymentId":"forgejo-main-ff6ef14dc82d","workflowRunId":6375,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1543,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-08T18:53:57.984817+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"2151","receipt_type":"execute_mission","idempotency_key":"mission:58e197a4-4907-4f3f-8b6e-563bd17528fa:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"d05abfb2-413f-4525-9682-d7806d983097","command_center_event_id":"58e197a4-4907-4f3f-8b6e-563bd17528fa"},{"id":"e29a60f6-f8db-4f14-ad63-8741a5d9f876","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/cancelled-release-history-first","reason":"fresh_pr_provider_receipt_already_proves_auto_progress_gate_notifier_owns_next_state","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.153-cancelled-release-ancestry-fallback","prNumber":2857,"terminal":false,"missionId":"e022ab9e-6319-46ad-8f92-9aaa5762b505","operation":"execute_mission","proofGate":"repair_mission_fresh_pr_handed_off_to_gate","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":19354,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":1046,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":1046,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":1046,"repositoryMutationMs":19354,"repositoryProviderMs":15670,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":6984,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":1046,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":8686},"nextAction":"Canonical KnockLaunch Gate notifier and mission supervisor own progression from this exact PR head; do not synchronously poll Forgejo from the owner request.","receiptRef":{"mode":"full","missionId":"e022ab9e-6319-46ad-8f92-9aaa5762b505"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3841,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-15T19:29:44.543163+00:00","proof_gate":"repair_mission_fresh_pr_handed_off_to_gate","source_sha":null,"external_id":"2857","receipt_type":"execute_mission","idempotency_key":"mission:e022ab9e-6319-46ad-8f92-9aaa5762b505:execute_mission:repair_mission_fresh_pr_handed_off_to_gate:current-generation","mission_step_id":"b450a00d-8016-4e6f-bcd2-d51fe9e67bd4","command_center_event_id":"e022ab9e-6319-46ad-8f92-9aaa5762b505"},{"id":"e29ea6d5-8dc2-4f66-9a23-0c94c7bcc5fe","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-3eadc1ee6115","reason":"retryable_provider_transport:pr_ready_timeout_budget_exhausted","status":"retryable","metrics":{"receiptBytes":58728,"releaseCount":0,"toolCallCount":27,"repeatedCallCount":21,"executorlessWaitMs":766831,"firstUsefulResultAt":"2026-10-05T17:17:09.533Z","recoveryAttemptCount":20,"ownerInterruptionCount":0},"version":"1.64.99-positive-mutation-admission","prNumber":5003,"terminal":false,"missionId":"3eadc1ee-6115-4090-bdc8-9f6187cc5834","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3110,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":3000,"approvedPlanMs":0,"missionSetupMs":385,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":276,"ledgerReconcileMs":0,"lineageReconcileMs":109,"resolvePreflightMs":385,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":276,"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":"3eadc1ee-6115-4090-bdc8-9f6187cc5834"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1530,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T17:18:37.847934+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"5003","receipt_type":"execute_mission","idempotency_key":"mission:3eadc1ee-6115-4090-bdc8-9f6187cc5834:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"f4e3bce4-b929-4317-9b0b-dbc1ea051742","command_center_event_id":"3eadc1ee-6115-4090-bdc8-9f6187cc5834"},{"id":"e29ff844-e942-4801-883c-ecff325887c9","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/redfish-real-route-revolution-20260828","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":1217,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.55.7-queue-hardening","prNumber":974,"terminal":false,"missionId":"41046173-fc71-49ae-87a3-7386f3909ebe","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"handlerMs":872,"prReadinessMs":799,"approvedPlanMs":0,"missionSetupMs":854,"shipAndProveMs":0},"nextAction":"Reconcile this same mission and pull request after the exact-head KnockLaunch Gate changes state.","receiptRef":{"mode":"full","missionId":"41046173-fc71-49ae-87a3-7386f3909ebe"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":5441,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-28T23:21:21.47405+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"974","receipt_type":"execute_mission","idempotency_key":"mission:41046173-fc71-49ae-87a3-7386f3909ebe:execute_mission:repair_mission_waiting_for_gate:current-generation","mission_step_id":"63abb8f9-c4bb-4e86-87ab-d7c2fce5991e","command_center_event_id":"41046173-fc71-49ae-87a3-7386f3909ebe"},{"id":"e2a2d94c-09ba-42b4-aff0-722bdbc1e755","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-a8b4cb1d124b","reason":"anchored_edit_anchor_missing:supabase/functions/tenant-media-library/index.ts","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.120-synthesis-fast-read","prNumber":2565,"terminal":false,"missionId":"a8b4cb1d-124b-4612-9cc6-f57df475547a","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":17260,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":2397,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":290,"ledgerReconcileMs":0,"lineageReconcileMs":2107,"resolvePreflightMs":2397,"repositoryMutationMs":17260,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":290,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"a8b4cb1d-124b-4612-9cc6-f57df475547a"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1543,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T22:42:58.565082+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:a8b4cb1d-124b-4612-9cc6-f57df475547a:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"7a0d588a-cf53-4c6f-9591-9c64366a9632","command_center_event_id":"a8b4cb1d-124b-4612-9cc6-f57df475547a"},{"id":"e2a46555-e85a-48d4-8b8e-773f0366d0f1","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-5fbf6967a783","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":16745,"releaseCount":0,"toolCallCount":6,"repeatedCallCount":2,"executorlessWaitMs":17259,"firstUsefulResultAt":"2026-10-02T14:26:23.692Z","recoveryAttemptCount":4,"ownerInterruptionCount":0},"version":null,"prNumber":4468,"terminal":false,"missionId":"5fbf6967-a783-4cda-870a-27740b8e8ef3","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"b7c28f011e055ab3872f38945b1d9e39b3368bc0","timingsMs":{"prReadinessMs":787,"approvedPlanMs":0,"shipAndProveMs":3187,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"5fbf6967-a783-4cda-870a-27740b8e8ef3"},"performance":null,"deploymentId":"forgejo-main-b7c28f011e05","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1835,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T14:26:46.03718+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"4468","receipt_type":"automatic_mission_resume","idempotency_key":"mission:5fbf6967-a783-4cda-870a-27740b8e8ef3:automatic-mission-resume:4468:canonical_release_reconciliation_pending","mission_step_id":"551cdaa9-5705-40ac-8473-481068141130","command_center_event_id":"5fbf6967-a783-4cda-870a-27740b8e8ef3"},{"id":"e2a480e9-39ae-4320-bb91-c6cf32aaafb9","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-91e9b69517a4","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":3398,"terminal":false,"missionId":"91e9b695-17a4-4a0e-98c6-d7af7ea2fca8","operation":"automatic_mission_resume","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"prReadinessMs":578,"approvedPlanMs":0,"shipAndProveMs":0,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request after the exact-head KnockLaunch Gate changes state.","receiptRef":{"mode":"full","missionId":"91e9b695-17a4-4a0e-98c6-d7af7ea2fca8"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1285,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-22T03:02:59.42658+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"3398","receipt_type":"automatic_mission_resume","idempotency_key":"mission:91e9b695-17a4-4a0e-98c6-d7af7ea2fca8:automatic-mission-resume:3398:repair_mission_waiting_for_gate","mission_step_id":"4a128b9d-2995-4d42-8f77-ad3533e4efd6","command_center_event_id":"91e9b695-17a4-4a0e-98c6-d7af7ea2fca8"},{"id":"e2a4caff-8a3b-4360-ab94-125171d34da8","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-edee18828c92","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.53-historical-source-containment-refreeze","prNumber":1719,"terminal":false,"missionId":"edee1882-8c92-4682-bba8-89f3d11115a5","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"b719ac2d801118874c0ff577ebfd434e680f3624","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":6210,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":795,"approvedPlanMs":0,"missionSetupMs":1513,"providerAuthMs":0,"shipAndProveMs":5294,"ledgerPrepareMs":1341,"ledgerReconcileMs":0,"lineageReconcileMs":172,"resolvePreflightMs":1513,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":1341,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"edee1882-8c92-4682-bba8-89f3d11115a5"},"performance":null,"deploymentId":"forgejo-main-b719ac2d8011","workflowRunId":null,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2709,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T14:56:32.264525+00:00","proof_gate":"canonical_release_dispatched","source_sha":"b719ac2d801118874c0ff577ebfd434e680f3624","external_id":"forgejo-main-b719ac2d8011","receipt_type":"execute_mission","idempotency_key":"mission:edee1882-8c92-4682-bba8-89f3d11115a5:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"026bcbb5-6c33-4317-84f7-ea7cfe4c68bc","command_center_event_id":"edee1882-8c92-4682-bba8-89f3d11115a5"},{"id":"e2a657d7-dcdd-4000-b1b4-3e8bbb5b5675","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-ea83890fbfb7","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.220-terminal-step-projection","prNumber":null,"terminal":false,"missionId":"ea83890f-bfb7-47ff-a3d2-aba09c206259","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":128,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":392,"providerAuthMs":0,"ledgerPrepareMs":392,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":392,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":392,"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":"ea83890f-bfb7-47ff-a3d2-aba09c206259"},"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":4114,"likelyAffectedFiles":["supabase/config.toml"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T04:49:13.160625+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:ea83890f-bfb7-47ff-a3d2-aba09c206259:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"a0305c41-a181-4056-bfed-318bde150b98","command_center_event_id":"ea83890f-bfb7-47ff-a3d2-aba09c206259"},{"id":"e2a7abe9-43b1-4a62-8472-f0ad7e392253","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Unfreeze control plane for the Forgejo orphan-branch PR reconciliation repair. Continue the existing mission and apply the exact bounded reconciliation edit plus required Command Center version bump, then complete Gate, squash merge, Command Center-only release, and live runtime proof.","wordingChanged":false,"canonicalIntent":"Unfreeze control plane for the Forgejo orphan-branch PR reconciliation repair. Continue the existing mission and apply the exact bounded reconciliation edit plus required Command Center version bump, then complete Gate, squash merge, Command Center-only release, and live runtime proof.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"Repair the Forgejo orphan-branch PR reconciliation timeout failure class without weakening branch/PR identity safety.","proofConditionIds":["proof-source","proof-runtime"]}],"objective":"Unfreeze control plane for the Forgejo orphan-branch PR reconciliation repair. Continue the existing mission and apply the exact bounded reconciliation edit plus required Command Center version bump, then complete Gate, squash merge, Command Center-only release, and live runtime proof.","constraints":[{"id":"scope","statement":"Change only the scoped reconciliation owner and required Command Center release identity; preserve one branch, one PR, canonical Gate, squash merge, and Command Center-only release.","proofConditionIds":["proof-source","proof-runtime"]},{"id":"capability-completeness","statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["proof-source","proof-runtime"]},{"id":"atomic-capability-lifecycle","statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["proof-source","proof-runtime"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-source","kind":"repository","claim":"The scoped source diff implements bounded reconciliation while preserving exact branch/head/base safety.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false},{"id":"proof-runtime","kind":"runtime","claim":"The merged Command Center runtime is live on the repaired source identity.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}],"validationErrors":[],"capabilityManifest":{"id":"Unfreeze-control-plane-for-the-Forgejo-orphan-branch-PR-reconciliation-repair.-Continue-the-existing","driftPolicy":"exact_manifest_source_release_dependency_or_runtime_identity_mismatch_is_nonterminal","proofLedger":"command_center_mission_ledger_request_contract_hash_bound","schemaVersion":1,"releaseTargets":[],"lifecycleStates":["prepare","deploy","verify","activate"],"activationPolicy":"dependencies_and_claim_matched_live_proof_before_exposure","dependencyDomains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_required_not_runtime_failures","compatibilityWindow":["N","N-1"],"failureIsolationPolicy":"quarantine_or_rollback_affected_capability_only_preserve_unrelated_working_capabilities","canaryProofConditionIds":["proof-source","proof-runtime"]},"capabilityCompleteness":{"domains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"required":true,"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_states_not_runtime_failures"}},"requestContractHash":"4fd6aac2e59d77e2f173e5ef86bac935d7696f69b3bb6f29ed6483b08cf42447","requestContractRevision":2,"previousRequestContractHash":"09f87256eb23c9909481aa3a3a3e8ee3e7edc36d3e7693ba67bdd701526a9780"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-16T13:29:55.575643+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:9f448d31-6af5-4b8e-a1f3-4e11ba17e7a6:request-contract:4fd6aac2e59d77e2f173e5ef86bac935d7696f69b3bb6f29ed6483b08cf42447","mission_step_id":"7d685d10-1370-45f6-aa59-4b79b590911a","command_center_event_id":"9f448d31-6af5-4b8e-a1f3-4e11ba17e7a6"},{"id":"e2a7bbe3-cb1f-4fd6-a862-b42e028d32a6","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"release","branch":"ai/objective-first-repair-dc2f69d4d0f6","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":40046,"releaseCount":1,"toolCallCount":9,"repeatedCallCount":2,"executorlessWaitMs":1560090,"firstUsefulResultAt":"2026-09-24T16:45:14.768Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.260-release-actions-query-parity","prNumber":3642,"terminal":false,"missionId":"dc2f69d4-d0f6-40b6-93ae-1f73ea4a4b97","operation":"execute_mission","proofGate":"canonical_release_reconciliation_pending","sourceSha":"660e49e581dd3b11c527266325f90a5789d55cc9","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3375,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":123,"approvedPlanMs":0,"missionSetupMs":291,"providerAuthMs":0,"shipAndProveMs":2659,"ledgerPrepareMs":291,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":291,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":291,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"dc2f69d4-d0f6-40b6-93ae-1f73ea4a4b97"},"performance":null,"deploymentId":"forgejo-main-660e49e581dd","releaseState":"failed","workflowRunId":11544,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3010,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T16:51:07.155958+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":"0f62451a994f8fd7b18c3fd0de88787d8f049b03","external_id":"forgejo-main-0f62451a994f","receipt_type":"execute_mission","idempotency_key":"mission:dc2f69d4-d0f6-40b6-93ae-1f73ea4a4b97:execute_mission:canonical_release_reconciliation_pending:current-generation","mission_step_id":"0df3695c-5b60-4cdc-99ed-8a07ade037fb","command_center_event_id":"dc2f69d4-d0f6-40b6-93ae-1f73ea4a4b97"},{"id":"e2ab45f3-2110-44c7-8712-81002a5ca4c9","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-0e8ce6ebe0e5","writes":[],"patches":[],"version":1,"approved":true,"missionId":"0e8ce6eb-e0e5-4d49-8972-3a0d69244cb8","objective":"Control plane corrective repair for PAUL direct-imperative execution policy: complete owner action requests such as create/build/make/generate/design/implement/fix/repair/update/add/remove/refactor/deploy must begin non-destructive execution immediately with sensible defaults and must not ask for redundant second confirmation. Preserve fail-closed behavior for materially missing required facts and destructive/privileged boundaries. Update the governing KNOCKLAUNCH Command Center/cc-execution owner profile and control-plane policy, then Gate, merge, release cc-execution, and prove the live policy.","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["config/control-plane-capabilities.json","config/paul-owner-profile.json"],"anchored_edits":[{"path":"config/paul-owner-profile.json","new_string":"      \"Classify by requested outcome, not by punctuation or interrogative phrasing. Genuine factual/read-only questions remain read-only. Interrogative requests that ask PAUL to fix, restore, build, change, improve, repair, bring back, work on, or otherwise deliver an outcome are action jobs and must begin the canonical inspect/repair/execute flow without asking Noel to repeat authorization.\",\n      \"Complete imperative requests using direct action verbs such as create, build, make, generate, design, implement, fix, repair, update, add, remove, refactor, or deploy are already authorized action jobs. Begin execution immediately with sensible defaults for optional details; never turn them into a proposal, checklist, or second-confirmation prompt such as 'say do it' or 'want me to proceed' unless a materially required fact is missing or the next step crosses a destructive, credential, security, or materially irreversible boundary.\",","old_string":"      \"Classify by requested outcome, not by punctuation or interrogative phrasing. Genuine factual/read-only questions remain read-only. Interrogative requests that ask PAUL to fix, restore, build, change, improve, repair, bring back, work on, or otherwise deliver an outcome are action jobs and must begin the canonical inspect/repair/execute flow without asking Noel to repeat authorization.\","},{"path":"config/paul-owner-profile.json","new_string":"      \"An explicit implementation, build, fix, change, create, make, generate, design, update, add, remove, refactor, or ship request is authorization for the ordinary canonical execute_objective workflow; do not re-ask before execution, Gate, squash merge, affected release, or proof. Optional creative inputs use sensible defaults instead of blocking execution.\",","old_string":"      \"An explicit implementation, build, fix, change, or ship request is authorization for the ordinary canonical execute_objective workflow; do not re-ask before Gate, squash merge, affected release, or proof.\","},{"path":"config/control-plane-capabilities.json","new_string":"      \"ownerDirectiveAccuracyPolicy\": \"latest_explicit_owner_instruction_wins_true_conflicts_inferred_context_may_fill_missing_details_but_may_not_replace_or_expand_requested_outcomes\",\n      \"directImperativeExecutionPolicy\": \"complete_owner_imperatives_with_create_build_make_generate_design_implement_fix_repair_update_add_remove_refactor_or_deploy_are_execution_authorization_non_destructive_work_starts_immediately_optional_details_use_sensible_defaults_no_second_confirmation_unless_material_required_fact_missing_or_destructive_privileged_irreversible_boundary\",","old_string":"      \"ownerDirectiveAccuracyPolicy\": \"latest_explicit_owner_instruction_wins_true_conflicts_inferred_context_may_fill_missing_details_but_may_not_replace_or_expand_requested_outcomes\","}],"implementation":{"files":[],"writes":[]},"requestContract":{"intent":{"evidence":["owner explicitly requested repair of PAUL execution behavior"],"confidence":1,"rawUtterance":"Control plane corrective repair for PAUL direct-imperative execution policy: complete owner action requests such as create/build/make/generate/design/implement/fix/repair/update/add/remove/refactor/deploy must begin non-destructive execution immediately with sensible defaults and must not ask for redundant second confirmation. Preserve fail-closed behavior for materially missing required facts and destructive/privileged boundaries. Update the governing KNOCKLAUNCH Command Center/cc-execution owner profile and control-plane policy, then Gate, merge, release cc-execution, and prove the live policy.","wordingChanged":false,"canonicalIntent":"Control plane corrective repair for PAUL direct-imperative execution policy: complete owner action requests such as create/build/make/generate/design/implement/fix/repair/update/add/remove/refactor/deploy must begin non-destructive execution immediately with sensible defaults and must not ask for redundant second confirmation. Preserve fail-closed behavior for materially missing required facts and destructive/privileged boundaries. Update the governing KNOCKLAUNCH Command Center/cc-execution owner profile and control-plane policy, then Gate, merge, release cc-execution, and prove the live policy.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"KNOCKLAUNCH Command Center control plane treats complete direct owner imperatives as execution authorization without redundant confirmation while preserving fail-closed safety boundaries.","provenance":{"reason":null,"source":"current_request_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]}],"objective":"Control plane corrective repair for PAUL direct-imperative execution policy: complete owner action requests such as create/build/make/generate/design/implement/fix/repair/update/add/remove/refactor/deploy must begin non-destructive execution immediately with sensible defaults and must not ask for redundant second confirmation. Preserve fail-closed behavior for materially missing required facts and destructive/privileged boundaries. Update the governing KNOCKLAUNCH Command Center/cc-execution owner profile and control-plane policy, then Gate, merge, release cc-execution, and prove the live policy.","constraints":[],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-production","kind":"runtime","claim":"Live cc-execution/Command Center policy enforces immediate execution for complete direct imperatives without redundant confirmation.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["cc-execution"],"requiredReleaseTargets":["cc-execution"],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}]},"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":null,"ownerApproved":true,"releaseIntent":null,"sourceTargets":["config/control-plane-capabilities.json","config/paul-owner-profile.json"],"requestContract":{"intent":{"evidence":["owner explicitly requested repair of PAUL execution behavior"],"confidence":1,"rawUtterance":"Control plane corrective repair for PAUL direct-imperative execution policy: complete owner action requests such as create/build/make/generate/design/implement/fix/repair/update/add/remove/refactor/deploy must begin non-destructive execution immediately with sensible defaults and must not ask for redundant second confirmation. Preserve fail-closed behavior for materially missing required facts and destructive/privileged boundaries. Update the governing KNOCKLAUNCH Command Center/cc-execution owner profile and control-plane policy, then Gate, merge, release cc-execution, and prove the live policy.","wordingChanged":false,"canonicalIntent":"Control plane corrective repair for PAUL direct-imperative execution policy: complete owner action requests such as create/build/make/generate/design/implement/fix/repair/update/add/remove/refactor/deploy must begin non-destructive execution immediately with sensible defaults and must not ask for redundant second confirmation. Preserve fail-closed behavior for materially missing required facts and destructive/privileged boundaries. Update the governing KNOCKLAUNCH Command Center/cc-execution owner profile and control-plane policy, then Gate, merge, release cc-execution, and prove the live policy.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"KNOCKLAUNCH Command Center control plane treats complete direct owner imperatives as execution authorization without redundant confirmation while preserving fail-closed safety boundaries.","provenance":{"reason":null,"source":"current_request_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]}],"objective":"Control plane corrective repair for PAUL direct-imperative execution policy: complete owner action requests such as create/build/make/generate/design/implement/fix/repair/update/add/remove/refactor/deploy must begin non-destructive execution immediately with sensible defaults and must not ask for redundant second confirmation. Preserve fail-closed behavior for materially missing required facts and destructive/privileged boundaries. Update the governing KNOCKLAUNCH Command Center/cc-execution owner profile and control-plane policy, then Gate, merge, release cc-execution, and prove the live policy.","constraints":[],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-production","kind":"runtime","claim":"Live cc-execution/Command Center policy enforces immediate execution for complete direct imperatives without redundant confirmation.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["cc-execution"],"requiredReleaseTargets":["cc-execution"],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}]},"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["config/control-plane-capabilities.json","config/paul-owner-profile.json"],"controlPlaneMaintenanceReason":"Owner explicitly requested repair of PAUL so complete direct execution requests start work immediately instead of asking for redundant confirmation."},"proofRequirements":null,"controlPlaneUnfreeze":true,"durableMutationResume":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["config/control-plane-capabilities.json","config/paul-owner-profile.json"],"controlPlaneMaintenanceReason":"Owner explicitly requested repair of PAUL so complete direct execution requests start work immediately instead of asking for redundant confirmation."},"recovery":false,"fingerprint":"dc25cce60190b3114b0ae7d5518bf6fe7452fd94641d9c59974b86cd49ae554a","replayCount":0,"serializedBytes":11348},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T13:40:14.728057+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:0e8ce6eb-e0e5-4d49-8972-3a0d69244cb8:repository-mutation-intent:dc25cce60190b3114b0ae7d5518bf6fe7452fd94641d9c59974b86cd49ae554a:0","mission_step_id":"a953271a-92f5-44c1-a73f-30b4b3512cc6","command_center_event_id":"0e8ce6eb-e0e5-4d49-8972-3a0d69244cb8"},{"id":"e2b177e7-b877-4514-a438-6a88608ba904","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":null,"reason":null,"status":"source_resolution_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":null,"recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.15-paul-tree-pagination","prNumber":null,"terminal":false,"missionId":"6268ce30-23a8-4378-9d8a-2b4732160aca","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1502,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":571,"providerAuthMs":0,"ledgerPrepareMs":571,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":571,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":571,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Supply exact sourceTargets on the same mission; planner guesses cannot replace missing mission scope.","receiptRef":{"mode":"full","missionId":"6268ce30-23a8-4378-9d8a-2b4732160aca"},"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-30T13:40:26.054666+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:6268ce30-23a8-4378-9d8a-2b4732160aca:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"3d22011b-d433-49a9-b40b-647e84d1e02d","command_center_event_id":"6268ce30-23a8-4378-9d8a-2b4732160aca"},{"id":"e2b547a2-7aab-4ca3-b6b8-9063ffbcae8e","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"5482f92194cc8e4e451295b7a28abb2a0607bdcc","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":true,"statement":"Complete the canonical Big Papi's Coquito Iceys dashboard/MODES repair in existing PR #3314 on exact head 02be9c88d36e618a95a6bc68d9c537fbfb47fc81. Acceptance criteria: /big-papis/owner/dashboard restores the premium four-card MODES launcher with Plan, Pop-Up, Booked Event, and Back Office using the established Big Papi imagery and visual treatment; the simplified generic strip is removed; premium panes are visible; week planning/header/background/search/avatar are preserved; /big-papis/owner/* routes resolve to the intended Big Papi app and tenant context without generic CRM or cross-tenant fallback; and regression coverage enforces this route-family/shell contract. Reuse PR #3314 only, refresh the same PR if main advances, require canonical Gate, squash merge, deploy the affected frontend, and verify the production dashboard plus a representative sibling Big Papi owner route before completion.","proofConditionIds":["proof-production"]}],"satisfied":false,"constraints":[{"id":"route-family-contract","satisfied":true,"statement":"Big Papi owner routes must load only intended Big Papi applications in Big Papi tenant context; generic CRM or cross-tenant fallback is unacceptable.","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":"456304badcb4480ff9ed7b00bf0b8acb46a8469ed4c1bf551f2a33be31a6314c","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":"456304badcb4480ff9ed7b00bf0b8acb46a8469ed4c1bf551f2a33be31a6314c"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":["visual"],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-20T23:50:03.655513+00:00","proof_gate":"request_contract_pending","source_sha":"5482f92194cc8e4e451295b7a28abb2a0607bdcc","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:8e15993a-bd79-4784-a1f5-7c895009cab5:request-contract:456304badcb4480ff9ed7b00bf0b8acb46a8469ed4c1bf551f2a33be31a6314c:5482f92194cc8e4e451295b7a28abb2a0607bdcc:pending:visual","mission_step_id":"e651dc6f-178b-485e-94a3-733d4b613006","command_center_event_id":"8e15993a-bd79-4784-a1f5-7c895009cab5"},{"id":"e2b5e781-77d1-4690-a8d6-973fcbc1f0fb","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":null,"reason":"authoritative_source_resolution_failed","status":"source_resolution_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":null,"recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.94-terminal-completion-supervisor","prNumber":null,"terminal":false,"missionId":"c824d1d0-cb35-40ed-86d0-d088a43d25c2","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":2250,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":734,"providerAuthMs":0,"ledgerPrepareMs":734,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":734,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":734,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Supply exact sourceTargets on the same mission; planner guesses cannot replace missing mission scope.","receiptRef":{"mode":"full","missionId":"c824d1d0-cb35-40ed-86d0-d088a43d25c2"},"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":1636,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T23:27:04.488842+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:c824d1d0-cb35-40ed-86d0-d088a43d25c2:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"880531bf-85dc-429d-a9c5-3e03e64e1463","command_center_event_id":"c824d1d0-cb35-40ed-86d0-d088a43d25c2"},{"id":"e2b73eef-e848-4383-8c2d-a9836326b4ea","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"branch":"ai/objective-first-repair-muttl4q5","approved":true,"missionId":"e41e9e52-fdde-4784-a17e-d1c878d8dcca","objective":"Continue the BigPapisTenantBoundary hydration repair using this exact replacement only; then canonical Gate, squash merge, frontend release, and live proof.","ownerApproved":true,"sourceTargets":["src/routes/ownerRoutes.tsx"],"anchored_edits":[{"path":"src/routes/ownerRoutes.tsx","new_content":"const matchingMembership = React.useMemo(\n    () => memberships.find((membership) => isBigPapisWorkspaceTenant(membership.tenant)) || null,\n    // Recompute when memberships or the currently active tenant changes to ensure correct boundary matching during hydration\n    [memberships, activeTenant],\n  );","old_content":"const matchingMembership = React.useMemo(\n    () => memberships.find((membership) => isBigPapisWorkspaceTenant(membership.tenant)) || null,\n    [memberships],\n  );"}],"durableMutationResume":true},"recovery":false,"fingerprint":"48d2adf7c67bcbd5fec0ba036a74aaec8ae451a7ee8a6af69706c885893add6b","replayCount":0,"serializedBytes":958},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T12:52:01.823569+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:e41e9e52-fdde-4784-a17e-d1c878d8dcca:repository-mutation-intent:48d2adf7c67bcbd5fec0ba036a74aaec8ae451a7ee8a6af69706c885893add6b:0","mission_step_id":"c6ccecf4-e424-4ed0-a447-c07694f35de9","command_center_event_id":"e41e9e52-fdde-4784-a17e-d1c878d8dcca"},{"id":"e2b81016-27f3-467c-8fe2-920e0475cf69","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/shared-pdf-viewer-20260820","reason":"orphaned_branch_recovery_diff_unavailable:ai/shared-pdf-viewer-20260820","status":"blocked","metrics":{"receiptBytes":6732,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":2,"ownerInterruptionCount":0},"version":"1.48.9-single-mutation-lane","prNumber":null,"terminal":false,"missionId":"1d01ae26-cc2b-4ec8-afbb-9790bb19a040","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"1d01ae26-cc2b-4ec8-afbb-9790bb19a040"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3457,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-20T16:11:18.020418+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:1d01ae26-cc2b-4ec8-afbb-9790bb19a040:execute_mission:repair_mission_execution_blocked","mission_step_id":"d25e23dc-7b3e-4b79-8f72-6887b59e422d","command_center_event_id":"1d01ae26-cc2b-4ec8-afbb-9790bb19a040"},{"id":"e2b89082-7827-429c-a6e5-444808336fc7","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in release.","nextAction":{"lane":"production-release-conductor","action":"reconcile_release","reason":"merged_source_requires_release_proof","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_release\",\"recoveryOwner\":\"production-release-conductor\"},\"acceptance\":{\"total\":6,\"verified\":0,\"pending\":6,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"preflight\",\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"release\",\"deadlineAt\":\"2026-08-06T15:43:52.009533+00:00\",\"recoveryAction\":\"reconcile_release\"},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/experience-editor-desktop-inspector-sync\",\"prNumber\":4140,\"sourceSha\":\"e117a3efc97c25ffa5184d278407cb6801a95a35\",\"deploymentId\":\"canonical-release-e117a3efc97c\"}"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-10-04T11:25:31.719677+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:508d4d16-f780-4ce4-b10d-f29c896a4669:owner-progress-heartbeat:119407542","mission_step_id":"3e19d431-dea6-41ea-a351-f81cdcc3a5b8","command_center_event_id":"508d4d16-f780-4ce4-b10d-f29c896a4669"},{"id":"e2b8a390-fdaa-45c1-980d-d7f32f8da8b0","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-3859accb2d55","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":null,"recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.61.0-mission-freedom-provider-gateway","prNumber":null,"terminal":false,"missionId":"3859accb-2d55-4af2-a54b-4c8c70c7e274","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1432,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":433,"providerAuthMs":0,"ledgerPrepareMs":433,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":433,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":433,"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":"3859accb-2d55-4af2-a54b-4c8c70c7e274"},"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":4138,"likelyAffectedFiles":["workers/cc-execution/src/model-provider-gateway.js","workers/cc-execution/test/model-provider-gateway.test.js","workers/cc-execution/wrangler.toml","workers/cc-execution/src/version.js","config/mission-freedom-provider-cutover.json"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T01:46:32.447178+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:3859accb-2d55-4af2-a54b-4c8c70c7e274:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"c2a54a47-8677-45ac-82e4-d0602bceec61","command_center_event_id":"3859accb-2d55-4af2-a54b-4c8c70c7e274"},{"id":"e2ba6e05-2b65-4177-96d8-32ddf3b14a0a","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":null,"reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":2083,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.50.16-onrunner-release-ownership","prNumber":651,"terminal":false,"missionId":"974c9b1d-47db-471e-b0ae-a85d627ff181","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"7b1d78c0749b4e60154550ef6e085001d6c6b390","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"974c9b1d-47db-471e-b0ae-a85d627ff181"},"performance":null,"deploymentId":"forgejo-main-7b1d78c0749b","workflowRunId":null,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":6146,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-24T03:06:09.665752+00:00","proof_gate":"canonical_release_dispatched","source_sha":"7b1d78c0749b4e60154550ef6e085001d6c6b390","external_id":"forgejo-main-7b1d78c0749b","receipt_type":"execute_mission","idempotency_key":"mission:974c9b1d-47db-471e-b0ae-a85d627ff181:execute_mission:canonical_release_dispatched","mission_step_id":"62bb92f5-bf16-47ca-98c6-e2a61a48ea25","command_center_event_id":"974c9b1d-47db-471e-b0ae-a85d627ff181"},{"id":"e2bdbe86-df63-47bf-9289-52bee068e378","source":"cc-execution","status":"waiting","payload":{"sourceTargets":["src/pages/card-grading/PCGMarketplace.tsx"],"continuationObjective":"Apply and ship this bounded frontend-only PCG public marketplace shell repair on current main. This is an explicit mutation. Use only the exact anchored edits provided, then Gate, squash merge, deploy frontend, and prove /prestigious-card-grading/live responds live. Do not use visual Witness."},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T16:07:46.818211+00:00","proof_gate":"mission_continuation_scope_persisted","source_sha":null,"external_id":null,"receipt_type":"mission_continuation_scope_updated","idempotency_key":"mission:12690dcb-2d07-4f4b-b848-2ea32a843396:mission_continuation_scope_updated:mission_continuation_scope_persisted:waiting","mission_step_id":"43843413-c32f-4a42-a77f-a188b808b362","command_center_event_id":"12690dcb-2d07-4f4b-b848-2ea32a843396"},{"id":"e2c1dd81-1647-4118-9728-92431f9d88a0","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-mtg2g0sh","reason":"protected_control_plane_empty_content:src/App.tsx","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.56.3-source-scope-boundary","prNumber":null,"terminal":false,"missionId":"6d7978f8-25db-4520-87c2-cfdca9df65e8","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"handlerMs":266,"prReadinessMs":0,"approvedPlanMs":266,"missionSetupMs":2085,"shipAndProveMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"6d7978f8-25db-4520-87c2-cfdca9df65e8"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":5481,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-30T17:12:28.447663+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:6d7978f8-25db-4520-87c2-cfdca9df65e8:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"bbdf2404-6283-4ca6-a026-b64745de756b","command_center_event_id":"6d7978f8-25db-4520-87c2-cfdca9df65e8"},{"id":"e2c232d0-5d6c-4067-8f42-4fc191079922","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"b6af7ef22095b528b2f8a36606d29485fd39e738","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"b6af7ef22095b528b2f8a36606d29485fd39e738","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":"a55b5a9de14f3af3fa3d9d270e8311a62f4f252c46fd2b2932d847e79e810633","forgejoWorkflowProof":{"runId":6732,"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-10T06:22:53.495993+00:00","proof_gate":"canonical_release_pending","source_sha":"b6af7ef22095b528b2f8a36606d29485fd39e738","external_id":"forgejo-main-b6af7ef22095","receipt_type":"canonical_release_status","idempotency_key":"mission:d8c80676-1882-46d0-9b8f-84a26e9c55bc:forgejo-release-status:b6af7ef22095b528b2f8a36606d29485fd39e738:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"2148c07f-b77b-4142-86db-0a6b175c5b53","command_center_event_id":"d8c80676-1882-46d0-9b8f-84a26e9c55bc"},{"id":"e2c344ba-6038-434c-aa6c-0d7367021f80","source":"cc-execution","status":"authorized","payload":{"paths":[".forgejo/workflows/knocklaunch.yml","config/control-plane-capabilities.json","scripts/validate-command-center-contracts.mjs","workers/cc-execution/src/version.js"],"reason":"Owner explicitly requested hardening the KNOCKLAUNCH control plane so recurring queue freezes do not keep interrupting work.","baseSha":"0f4d11b10382ddf82565a509b20713d61f56f52c","issuedAt":1787955078110,"expiresAt":1787955258110,"missionId":"13d74be3-4391-4727-8362-45d88c3b4c2c","singleUse":true,"authorizationId":"c5b2e85c-8e29-4f93-819e-5381e00d707d"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-28T22:11:19.194328+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"0f4d11b10382ddf82565a509b20713d61f56f52c","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:c5b2e85c-8e29-4f93-819e-5381e00d707d","mission_step_id":"8c54085a-60cb-4e2b-970c-83ae1b3ba166","command_center_event_id":"13d74be3-4391-4727-8362-45d88c3b4c2c"},{"id":"e2c3bc93-3173-415c-a698-44fff702b6cb","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Finish hardening the remaining top-level KNOCKLAUNCH control-plane execution contracts on current main, without creating parallel orchestration. Preserve the live source-scope continuity repair. Repair truthful useful-progress telemetry and strengthen handler-boundary guards for intent, executor truthfulness, same-mission recovery, reconcile-before-retry, stale-main refresh/regate, proof ownership, and witness-failure isolation. One PR, canonical Gate, squash merge, affected release, production proof.","wordingChanged":false,"canonicalIntent":"Finish hardening the remaining top-level KNOCKLAUNCH control-plane execution contracts on current main, without creating parallel orchestration. Preserve the live source-scope continuity repair. Repair truthful useful-progress telemetry and strengthen handler-boundary guards for intent, executor truthfulness, same-mission recovery, reconcile-before-retry, stale-main refresh/regate, proof ownership, and witness-failure isolation. One PR, canonical Gate, squash merge, affected release, production proof.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"telemetry","statement":"Durable mission telemetry truthfully counts useful execution/recovery activity instead of returning zeros after real work.","proofConditionIds":["proof-production"]},{"id":"intent","statement":"Read-only vs mutation precedence remains deterministic and explicit structured authority wins.","proofConditionIds":["proof-production"]},{"id":"execution-truth","statement":"Nonterminal mission status cannot imply active execution without a runnable owner and next action.","proofConditionIds":["proof-production"]},{"id":"recovery","statement":"Reconnect, ambiguous writes, stale-main refresh/regate, and proof reconciliation preserve mission identity and avoid duplicate work.","proofConditionIds":["proof-production"]},{"id":"proof","statement":"Request-contract proof ownership remains authoritative; nonvisual work stays nonvisual and missing behavioral proof remains nonterminal.","proofConditionIds":["proof-production"]}],"objective":"Finish hardening the remaining top-level KNOCKLAUNCH control-plane execution contracts on current main, without creating parallel orchestration. Preserve the live source-scope continuity repair. Repair truthful useful-progress telemetry and strengthen handler-boundary guards for intent, executor truthfulness, same-mission recovery, reconcile-before-retry, stale-main refresh/regate, proof ownership, and witness-failure isolation. One PR, canonical Gate, squash merge, affected release, production proof.","constraints":[{"id":"one-path","statement":"No parallel orchestration or duplicate mutation/release lane.","proofConditionIds":["proof-production"]},{"id":"preserve-158225","statement":"Preserve live 1.58.225 source-scope continuity semantics.","proofConditionIds":["proof-production"]},{"id":"capability-completeness","statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["proof-production"]},{"id":"atomic-capability-lifecycle","statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["proof-production"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-production","kind":"runtime","claim":"Live cc-execution exposes truthful mission telemetry and preserves the already-proven execution/recovery/proof invariants on the exact deployed source.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["ccExecution","supabaseEdge"],"requiredReleaseTargets":[],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}],"validationErrors":[],"capabilityManifest":{"id":"Finish-hardening-the-remaining-top-level-KNOCKLAUNCH-control-plane-execution-contracts-on-current-ma","driftPolicy":"exact_manifest_source_release_dependency_or_runtime_identity_mismatch_is_nonterminal","proofLedger":"command_center_mission_ledger_request_contract_hash_bound","schemaVersion":1,"releaseTargets":["ccExecution","supabaseEdge"],"lifecycleStates":["prepare","deploy","verify","activate"],"activationPolicy":"dependencies_and_claim_matched_live_proof_before_exposure","dependencyDomains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_required_not_runtime_failures","compatibilityWindow":["N","N-1"],"failureIsolationPolicy":"quarantine_or_rollback_affected_capability_only_preserve_unrelated_working_capabilities","canaryProofConditionIds":["proof-production"]},"capabilityCompleteness":{"domains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"required":true,"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_states_not_runtime_failures"}},"requestContractHash":"03b2912e57272adbbc47b72b4ae116abb6b14b127766270ef55ef3caf0dde03e","requestContractRevision":2,"previousRequestContractHash":"1c184ec4bb50da280bf60c6fcc313e9ded4be8bb65add5d9929ce7eb88059fba"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T03:26:43.425577+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:bdf75a7a-8bc4-4623-8def-3d4e12f57de9:request-contract:03b2912e57272adbbc47b72b4ae116abb6b14b127766270ef55ef3caf0dde03e","mission_step_id":"e2adc2d2-bf53-42b1-b761-1f5688e79532","command_center_event_id":"bdf75a7a-8bc4-4623-8def-3d4e12f57de9"},{"id":"e2c8cf27-7c91-4f2c-a49d-1774ef3b02f6","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-0d8a5e39469a","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":40135,"releaseCount":0,"toolCallCount":19,"repeatedCallCount":12,"executorlessWaitMs":215707,"firstUsefulResultAt":"2026-10-06T18:14:54.135Z","recoveryAttemptCount":14,"ownerInterruptionCount":0},"version":null,"prNumber":5223,"terminal":false,"missionId":"0d8a5e39-469a-4222-b923-4f4ddf41657f","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"44a056e0698eea37b7b6cb17fab8de0916dfbdd3","timingsMs":{"prReadinessMs":764,"approvedPlanMs":0,"shipAndProveMs":3565,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"0d8a5e39-469a-4222-b923-4f4ddf41657f"},"performance":null,"deploymentId":"forgejo-main-44a056e0698e","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1951,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T18:18:35.638263+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"5223","receipt_type":"automatic_mission_resume","idempotency_key":"mission:0d8a5e39-469a-4222-b923-4f4ddf41657f:automatic-mission-resume:5223:canonical_release_reconciliation_pending","mission_step_id":"9c5a33b3-c5ec-4649-93ba-573976a6e71f","command_center_event_id":"0d8a5e39-469a-4222-b923-4f4ddf41657f"},{"id":"e2c90ed2-2d7f-4c19-a050-6827eb43694c","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Unfreeze control plane for exactly these three files. Register forgejo_queue_reconcile in the daily and required MCP control-tool lists, strengthen regression coverage, bump version to 1.58.59-mcp-queue-reconcile-registration, then Gate, squash merge, release cc-execution only, prove the exact live runtime, and refreeze the control plane.","wordingChanged":false,"canonicalIntent":"Unfreeze control plane for exactly these three files. Register forgejo_queue_reconcile in the daily and required MCP control-tool lists, strengthen regression coverage, bump version to 1.58.59-mcp-queue-reconcile-registration, then Gate, squash merge, release cc-execution only, prove the exact live runtime, and refreeze the control plane.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"tool-registered","statement":"forgejo_queue_reconcile is registered in the public daily operator catalog and required control-tool set in live cc-execution.","proofConditionIds":["runtime"]}],"objective":"Unfreeze control plane for exactly these three files. Register forgejo_queue_reconcile in the daily and required MCP control-tool lists, strengthen regression coverage, bump version to 1.58.59-mcp-queue-reconcile-registration, then Gate, squash merge, release cc-execution only, prove the exact live runtime, and refreeze the control plane.","constraints":[{"id":"scope","statement":"Only ccExecution releases and the control plane is refrozen after proof.","proofConditionIds":["runtime"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"runtime","kind":"runtime","claim":"Live cc-execution reports 1.58.59-mcp-queue-reconcile-registration at the merged main SHA after refreeze.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":["ccExecution"]}],"validationErrors":[]},"requestContractHash":"2a4ebac4cc1e90e8b249d5a8734295ce150492e703ccb0b20f7132d37b5972d9","requestContractRevision":2,"previousRequestContractHash":"45a0ed3e548104864f8c897ee190bb8c825ee8a8d6164a6a458a4d844e9626d5"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T18:27:09.38939+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:bcd9c982-fae5-4a33-acf1-32b699213213:request-contract:2a4ebac4cc1e90e8b249d5a8734295ce150492e703ccb0b20f7132d37b5972d9","mission_step_id":"297c0415-364a-4442-8bf8-38a8005dfdfe","command_center_event_id":"bcd9c982-fae5-4a33-acf1-32b699213213"},{"id":"e2ca722f-7dfb-4e35-9ac8-c4599779e78e","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Owner reaffirms and explicitly authorizes this bounded control-plane maintenance revision. Against current protected main 23f202a1fa6f0db9749207826941f0d617dfa6ff, change only .forgejo/workflows/knocklaunch.yml so stale pull-request heads exit the physical KnockLaunch Gate immediately after exact checkout and before cache restore, TypeScript, build, or other expensive validation. Preserve the existing final freshness race guard, full validation, protected main, heavyJobsParallel=1, and canonical release ownership. Ship through the same mission, one PR, KnockLaunch Gate, Forgejo squash merge, then prove current main.","wordingChanged":false,"canonicalIntent":"Owner reaffirms and explicitly authorizes this bounded control-plane maintenance revision. Against current protected main 23f202a1fa6f0db9749207826941f0d617dfa6ff, change only .forgejo/workflows/knocklaunch.yml so stale pull-request heads exit the physical KnockLaunch Gate immediately after exact checkout and before cache restore, TypeScript, build, or other expensive validation. Preserve the existing final freshness race guard, full validation, protected main, heavyJobsParallel=1, and canonical release ownership. Ship through the same mission, one PR, KnockLaunch Gate, Forgejo squash merge, then prove current main.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"early-stale-exit","statement":"A pull-request Gate whose event base no longer matches live protected main exits immediately after exact checkout, before dependency cache restore, TypeScript checks, builds, or other expensive validation.","proofConditionIds":["workflow-source","gate-active"]}],"objective":"Owner reaffirms and explicitly authorizes this bounded control-plane maintenance revision. Against current protected main 23f202a1fa6f0db9749207826941f0d617dfa6ff, change only .forgejo/workflows/knocklaunch.yml so stale pull-request heads exit the physical KnockLaunch Gate immediately after exact checkout and before cache restore, TypeScript, build, or other expensive validation. Preserve the existing final freshness race guard, full validation, protected main, heavyJobsParallel=1, and canonical release ownership. Ship through the same mission, one PR, KnockLaunch Gate, Forgejo squash merge, then prove current main.","constraints":[{"id":"no-safety-reduction","statement":"Preserve the canonical KnockLaunch Gate, protected main, full validation, existing final freshness race guard, and heavyJobsParallel=1.","proofConditionIds":["workflow-source","gate-active"]},{"id":"bounded-scope","statement":"Modify only .forgejo/workflows/knocklaunch.yml; do not touch product application source or release ownership.","proofConditionIds":["workflow-source"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"workflow-source","kind":"repository","claim":"Current Forgejo main contains an early stale-head freshness guard immediately after exact PR checkout and before Resolve gate cache key, while the existing final protected-main freshness check remains present.","route":null,"required":true,"expectedText":"Reject stale pull-request head before expensive gate work","targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"gate-active","kind":"runtime","claim":"The canonical workflow change passes KnockLaunch Gate, squash-merges to protected main, and is active as the current Forgejo workflow.","route":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestContractHash":"9cd24a9232fadc730c4c3db40a988aca651a872c3d74273e2cd16833265badc8","requestContractRevision":2,"previousRequestContractHash":"f7599f3da9ec7ac900d89b7aad9abce370cb95b64b406cb38f6053f1e7e12f1f"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-31T14:32:48.312895+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:1cbefe2c-89c7-47ef-a2bc-3543e60c8554:request-contract-revision:2:9cd24a9232fadc730c4c3db40a988aca651a872c3d74273e2cd16833265badc8","mission_step_id":"7ec1f170-f9bc-4aef-8e7f-d81713a81ee7","command_center_event_id":"1cbefe2c-89c7-47ef-a2bc-3543e60c8554"},{"id":"e2ca7427-22a7-4f1e-a961-ed0815654a9a","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-4fde40ec5e2e","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":23248,"releaseCount":0,"toolCallCount":18,"repeatedCallCount":12,"executorlessWaitMs":218956,"firstUsefulResultAt":"2026-10-05T01:25:55.934Z","recoveryAttemptCount":3,"ownerInterruptionCount":0},"version":null,"prNumber":4884,"terminal":false,"missionId":"4fde40ec-5e2e-4256-9712-de2e31f34d37","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":2216,"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":"4fde40ec-5e2e-4256-9712-de2e31f34d37"},"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":null},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T01:29:31.982406+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4884","receipt_type":"automatic_mission_resume","idempotency_key":"mission:4fde40ec-5e2e-4256-9712-de2e31f34d37:automatic-mission-resume:4884:repair_mission_pr_ready_retryable","mission_step_id":"79f5618c-d490-463d-bbba-1258616c5dfe","command_center_event_id":"4fde40ec-5e2e-4256-9712-de2e31f34d37"},{"id":"e2cb7430-baac-4342-a030-6c534cddd71a","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"release","branch":"ai/objective-first-repair-1b15dfb55293","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":62695,"releaseCount":1,"toolCallCount":12,"repeatedCallCount":4,"executorlessWaitMs":2518584,"firstUsefulResultAt":"2026-09-28T12:31:56.742Z","recoveryAttemptCount":4,"ownerInterruptionCount":0},"version":"1.58.301-premium-visual-system","prNumber":3983,"terminal":false,"missionId":"1b15dfb5-5293-48f6-9e55-34f0ed6d82a6","operation":"execute_mission","proofGate":"canonical_release_reconciliation_pending","sourceSha":"c80ad8e6c3d3be55135309a5bb80fa8e72e10112","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":2522,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":202,"approvedPlanMs":0,"missionSetupMs":213,"providerAuthMs":0,"shipAndProveMs":1877,"ledgerPrepareMs":213,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":213,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":213,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"1b15dfb5-5293-48f6-9e55-34f0ed6d82a6"},"performance":null,"deploymentId":"forgejo-main-c80ad8e6c3d3","releaseState":"pending","workflowRunId":12535,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["operator-respond"]},"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":3011,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T13:14:27.625381+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":"c80ad8e6c3d3be55135309a5bb80fa8e72e10112","external_id":"forgejo-main-c80ad8e6c3d3","receipt_type":"execute_mission","idempotency_key":"mission:1b15dfb5-5293-48f6-9e55-34f0ed6d82a6:execute_mission:canonical_release_reconciliation_pending:current-generation","mission_step_id":"e009c4fe-f471-4314-895e-7c2b1ca64ef6","command_center_event_id":"1b15dfb5-5293-48f6-9e55-34f0ed6d82a6"},{"id":"e2cbe1a4-96e7-439b-a071-d65d9b3036b9","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in release.","nextAction":{"lane":"production-release-conductor","action":"reconcile_release","reason":"merged_source_requires_release_proof","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"owner_progress_heartbeat\",\"status\":\"waiting\",\"proofGate\":\"owner_progress_heartbeat\"},\"activeStep\":{\"key\":\"implementation\",\"status\":\"waiting\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"waiting\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_release\",\"recoveryOwner\":\"production-release-conductor\"},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"visual_proof\",\"deadlineAt\":\"2026-10-06T08:33:13.056202+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":5163,\"sourceSha\":\"d059e784c8fb33ceeb0e36baec00e818ef3753e8\",\"deploymentId\":\"forgejo-main-d059e784c8fb\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T07:07:42.508245+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:6cd825d0-ddfe-4532-8e8e-5f72704f5be5:owner-progress-heartbeat:119418030","mission_step_id":"8f1c0a7d-df5b-4529-9b5e-b41c824b98db","command_center_event_id":"6cd825d0-ddfe-4532-8e8e-5f72704f5be5"},{"id":"e2cc12b2-8e7c-422d-855d-eb1537fae793","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"5ded2c83f2744168c759bc7291064ea369567164","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"5ded2c83f2744168c759bc7291064ea369567164","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":"2f938139d897b62c7b5f36d1aff88123be8bf943367cdfa9591464751aaceb3b","forgejoWorkflowProof":{"runId":7088,"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-11T14:56:53.058243+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"5ded2c83f2744168c759bc7291064ea369567164","external_id":"forgejo-main-5ded2c83f274","receipt_type":"canonical_release_status","idempotency_key":"mission:ebfb2a81-0c43-43bc-bb31-983384f7cc10:forgejo-release-status:5ded2c83f2744168c759bc7291064ea369567164:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"3bac6690-8df4-4f1f-8bee-14ee46ab2ef7","command_center_event_id":"ebfb2a81-0c43-43bc-bb31-983384f7cc10"},{"id":"e2cc2cf7-58cc-46b8-a954-4ca72e0e1bc9","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-275e9d881cfc","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":19470,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":0,"executorlessWaitMs":12423,"firstUsefulResultAt":"2026-09-26T18:00:55.636Z","recoveryAttemptCount":1,"ownerInterruptionCount":0},"version":null,"prNumber":3814,"terminal":false,"missionId":"275e9d88-1cfc-403f-899a-6ae4fd410ca9","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":5568,"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":"275e9d88-1cfc-403f-899a-6ae4fd410ca9"},"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-26T18:01:08.10216+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"3814","receipt_type":"automatic_mission_resume","idempotency_key":"mission:275e9d88-1cfc-403f-899a-6ae4fd410ca9:automatic-mission-resume:3814:repair_mission_pr_ready_retryable","mission_step_id":"e35f7ade-26d0-4cf0-b7a4-bb10eaf99d20","command_center_event_id":"275e9d88-1cfc-403f-899a-6ae4fd410ca9"},{"id":"e2cdf423-c9c6-4976-b634-18c316be6149","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in pull request.","nextAction":{"lane":"cc-execution","action":"reconcile_pull_request","reason":"durable_state:pull_request","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":null,\"activeStep\":null,\"nextStep\":null,\"nextSafeAction\":{\"action\":\"reconcile_pull_request\",\"lane\":\"cc-execution\",\"reason\":\"durable_state:pull_request\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_pull_request\",\"recoveryOwner\":\"cc-execution\"},\"acceptance\":{\"total\":0,\"verified\":0,\"pending\":0,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":null,\"deadlineAt\":null,\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":null,\"sourceSha\":null,\"deploymentId\":null}"},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-10-04T10:55:35.480057+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:ce7a107e-6ee2-4665-8840-ee19e686ab95:owner-progress-heartbeat:119407422","mission_step_id":"7ecf9a20-5336-486f-b58f-b613c80fe8ef","command_center_event_id":"ce7a107e-6ee2-4665-8840-ee19e686ab95"},{"id":"e2ce2c3e-80a1-4d70-ac06-2033609cec2b","source":"cc-execution","status":"release_verified_contract_pending","payload":{"ok":true,"jobId":null,"phase":"release","branch":"ai/objective-first-repair-0e6b4dcc5bc7","reason":null,"status":"release_verified_contract_pending","metrics":{"receiptBytes":52427,"releaseCount":0,"toolCallCount":24,"repeatedCallCount":14,"executorlessWaitMs":92652,"firstUsefulResultAt":"2026-10-02T23:40:36.713Z","recoveryAttemptCount":7,"ownerInterruptionCount":0},"version":"1.64.60-paul-long-horizon-state","prNumber":4564,"terminal":false,"missionId":"0e6b4dcc-5bc7-45ee-ab36-bb2c4dfdf3e1","operation":"execute_mission","proofGate":"canonical_release_already_verified","sourceSha":"a992baf75b84d579fd1b350b721a18ab38cd19ab","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":956,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":98,"approvedPlanMs":0,"missionSetupMs":220,"providerAuthMs":0,"shipAndProveMs":433,"ledgerPrepareMs":220,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":220,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":220,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"0e6b4dcc-5bc7-45ee-ab36-bb2c4dfdf3e1"},"performance":null,"deploymentId":"forgejo-main-a992baf75b84","releaseState":"pending","workflowRunId":14606,"releaseTargets":{"frontend":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2497,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T23:42:36.846858+00:00","proof_gate":"canonical_release_already_verified","source_sha":"a992baf75b84d579fd1b350b721a18ab38cd19ab","external_id":"forgejo-main-a992baf75b84","receipt_type":"execute_mission","idempotency_key":"mission:0e6b4dcc-5bc7-45ee-ab36-bb2c4dfdf3e1:execute_mission:canonical_release_already_verified:current-generation","mission_step_id":"c58a06e3-06bd-4717-b2f4-1b746f1747d4","command_center_event_id":"0e6b4dcc-5bc7-45ee-ab36-bb2c4dfdf3e1"},{"id":"e2d081f8-f296-4333-a50d-223fde7d1301","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Unfreeze the control plane for this exact maintenance repair and prevent failed or retried Command Center objectives from leaving empty orphan ai/* branches. Defer branch creation until a validated non-empty patch exists; reuse the active mission branch/PR on retry; safely recycle only proven empty unprotected no-open-PR mission branches; then lock normal protected-file behavior back behind the existing maintenance authorization contract. Use one branch, one PR, KnockLaunch Gate, squash merge, cc-execution release, and live runtime proof.","wordingChanged":false,"canonicalIntent":"Unfreeze the control plane for this exact maintenance repair and prevent failed or retried Command Center objectives from leaving empty orphan ai/* branches. Defer branch creation until a validated non-empty patch exists; reuse the active mission branch/PR on retry; safely recycle only proven empty unprotected no-open-PR mission branches; then lock normal protected-file behavior back behind the existing maintenance authorization contract. Use one branch, one PR, KnockLaunch Gate, squash merge, cc-execution release, and live runtime proof.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"Unfreeze the control plane only for this exact repair so no-op or failed mutations cannot create or leave an empty orphan branch and active mission retries reuse the same branch identity.","proofConditionIds":["proof-repository","proof-production"]}],"objective":"Unfreeze the control plane for this exact maintenance repair and prevent failed or retried Command Center objectives from leaving empty orphan ai/* branches. Defer branch creation until a validated non-empty patch exists; reuse the active mission branch/PR on retry; safely recycle only proven empty unprotected no-open-PR mission branches; then lock normal protected-file behavior back behind the existing maintenance authorization contract. Use one branch, one PR, KnockLaunch Gate, squash merge, cc-execution release, and live runtime proof.","constraints":[{"id":"constraint-1","statement":"Forgejo only; one canonical branch/PR/Gate/merge/release path; never delete unique-work, protected, or open-PR branches; normal control-plane protection remains enforced after this exact maintenance mutation.","proofConditionIds":["proof-repository","proof-production"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-repository","kind":"repository","claim":"Current Forgejo source and regression coverage prove deferred branch creation, proven-empty branch recycling, exact same-branch retry reuse, and fail-closed preservation of protected/open-PR/unique-work branches.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"proof-production","kind":"runtime","claim":"Live cc-execution runtime reports the merged repaired source SHA.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestContractHash":"74092e9afd6722566505fbbb184b009d949fa417de8e9ed02633f76ab9d8dd67","requestContractRevision":2,"previousRequestContractHash":"a3fdb10f53c8c203cc65cf58abfddf782fdb7f85689aa9b812675732145bf22c"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-09T17:39:24.770456+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:df2024ae-a7cb-4df9-98f1-336e1c691cbd:request-contract:74092e9afd6722566505fbbb184b009d949fa417de8e9ed02633f76ab9d8dd67","mission_step_id":"bb041af0-69a4-41c8-a262-080507a0a588","command_center_event_id":"df2024ae-a7cb-4df9-98f1-336e1c691cbd"},{"id":"e2d151cc-8b93-4dd4-a1de-5590ab41c1b9","source":"forgejo-runtime","status":"pending","payload":{"mainSha":"83cb99b692f64372351d421adeffb9d18e8b9d0e","sourceSha":"81b71f9313d64361374353cd894012a643fe83e1","sourceInMain":false,"compareStatus":"main_history_page_inconclusive","ancestryProofResolved":false},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-10-03T11:10:00.611524+00:00","proof_gate":"canonical_release_ancestry_pending","source_sha":"81b71f9313d64361374353cd894012a643fe83e1","external_id":"canonical-release-81b71f9313d6","receipt_type":"canonical_release_status","idempotency_key":"mission:795c50b8-5547-4657-93f4-d24222e62562:forgejo-release-ancestry:81b71f9313d64361374353cd894012a643fe83e1:83cb99b692f64372351d421adeffb9d18e8b9d0e:main_history_page_inconclusive","mission_step_id":"21cce259-8750-48d2-b86b-9afa191fb553","command_center_event_id":"795c50b8-5547-4657-93f4-d24222e62562"},{"id":"e2d26eac-f5d5-47ef-9344-007c1a5f7643","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/big-papis-calendar-discoverability","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.161-forgejo-repository-file-pagination","prNumber":2912,"terminal":false,"missionId":"bc344b73-c1e3-46ef-abc0-a64235b1c3fa","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"355c0f45ad8f67079c02fdc4df8abc4483ce66a4","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":8340,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":486,"approvedPlanMs":0,"missionSetupMs":656,"providerAuthMs":0,"shipAndProveMs":3179,"ledgerPrepareMs":656,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":656,"repositoryMutationMs":4598,"repositoryProviderMs":3761,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2036,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":656,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1725},"nextAction":null,"receiptRef":{"mode":"full","missionId":"bc344b73-c1e3-46ef-abc0-a64235b1c3fa"},"performance":null,"deploymentId":"forgejo-main-355c0f45ad8f","workflowRunId":null,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":4539,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-16T15:40:33.732757+00:00","proof_gate":"canonical_release_dispatched","source_sha":"355c0f45ad8f67079c02fdc4df8abc4483ce66a4","external_id":"forgejo-main-355c0f45ad8f","receipt_type":"execute_mission","idempotency_key":"mission:bc344b73-c1e3-46ef-abc0-a64235b1c3fa:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"514fc052-7c4b-4c52-9b2a-5b2799e68eac","command_center_event_id":"bc344b73-c1e3-46ef-abc0-a64235b1c3fa"},{"id":"e2d4838d-78a9-49aa-ba0e-4219c7d9c6a5","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"objective_received","branch":null,"reason":"retryable_provider_transport:The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":961,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.50.48-visual-proof-intent-routing","prNumber":727,"terminal":false,"missionId":"ab554076-c98e-4e5c-af6b-ebbc161f125e","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"handlerMs":5000,"prReadinessMs":5000,"approvedPlanMs":0,"missionSetupMs":2370,"shipAndProveMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"ab554076-c98e-4e5c-af6b-ebbc161f125e"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":5190,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-26T01:31:56.686588+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"727","receipt_type":"execute_mission","idempotency_key":"mission:ab554076-c98e-4e5c-af6b-ebbc161f125e:execute_mission:repair_mission_pr_ready_retryable","mission_step_id":"20cee88d-7e8d-4b05-9eed-aa37e867e067","command_center_event_id":"ab554076-c98e-4e5c-af6b-ebbc161f125e"},{"id":"e2d7107f-0f5c-4514-af73-943e1f806fd5","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair","reason":null,"status":"source_resolution_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.46.1-predictive-reliability-speed-guardrails","prNumber":null,"terminal":false,"missionId":"fc6b8f1a-b88d-4e0a-bf99-08e7500806f8","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":null,"nextAction":"Resolve bounded authoritative Forgejo source targets, then continue this same mission with exact files or anchored_edits. Do not call the synthesis helper again until source exists.","receiptRef":{"mode":"full","missionId":"fc6b8f1a-b88d-4e0a-bf99-08e7500806f8"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3045,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-15T03:20:36.212455+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:fc6b8f1a-b88d-4e0a-bf99-08e7500806f8:execute_mission:repair_mission_source_resolution_required","mission_step_id":"8a9a74d2-cdb3-44ef-a68f-5fe72d41d64a","command_center_event_id":"fc6b8f1a-b88d-4e0a-bf99-08e7500806f8"},{"id":"e2d7f532-703e-4a7d-807c-b74b39cbec9a","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-82fbe38dbeba","prNumber":4547,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"29a65a4aa3dcaf91318d349374528ba394f2e6b5","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T22:41:57.003605+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"29a65a4aa3dcaf91318d349374528ba394f2e6b5","external_id":"4547","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:82fbe38d-beba-4c5c-b731-fd3af7f88b8c:merged-pr:4547:29a65a4aa3dcaf91318d349374528ba394f2e6b5","mission_step_id":"6f46dbf3-eb71-417d-9bde-f2824c185bd5","command_center_event_id":"82fbe38d-beba-4c5c-b731-fd3af7f88b8c"},{"id":"e2d97d2e-41a9-4772-b39b-5f8e48a7ba3c","source":"cc-execution","status":"blocked","payload":{"reason":"anchored_edit_invalid","fingerprint":"b842fc94b29447860922c82af28a9b128ef67f0a306e4a4bd3c73657db8cb151"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T15:21:57.061717+00:00","proof_gate":"repository_mutation_intent_deterministic_failure","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent_blocked","idempotency_key":"mission:05331765-9277-4b18-bd61-d3dca2ae50b6:repository-mutation-intent-blocked:b842fc94b29447860922c82af28a9b128ef67f0a306e4a4bd3c73657db8cb151","mission_step_id":"a28125ae-0708-45df-a797-ad6cd0ab3b99","command_center_event_id":"05331765-9277-4b18-bd61-d3dca2ae50b6"},{"id":"e2db5827-348b-4104-a617-19250b93d33e","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"runtime_proof","branch":"ai/big-papis-dashboard-one-screen","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":1,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.200-durable-chat-resume-relevance","prNumber":3328,"terminal":false,"missionId":"c3f1f22e-1fe3-4a42-b4f1-cde0e09d3f52","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4784,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":743,"missionSetupMs":223,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":223,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":223,"repositoryMutationMs":4041,"repositoryProviderMs":4041,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2261,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":223,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1780},"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":"c3f1f22e-1fe3-4a42-b4f1-cde0e09d3f52"},"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":3283,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-21T00:52:45.986769+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3328","receipt_type":"execute_mission","idempotency_key":"mission:c3f1f22e-1fe3-4a42-b4f1-cde0e09d3f52:execute_mission:repair_mission_pr_handed_off_to_supervisor:generation-1","mission_step_id":"005a4057-6d6c-40ea-96f3-c4c0f4f44fd1","command_center_event_id":"c3f1f22e-1fe3-4a42-b4f1-cde0e09d3f52"},{"id":"e2dbed8f-99bd-4575-ad89-253d5c1af53c","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-724e7a5f3e78","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.79-durable-synthesis-continuation","prNumber":null,"terminal":false,"missionId":"724e7a5f-3e78-4f18-af21-1fda7a4c9468","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":12,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":526,"providerAuthMs":0,"ledgerPrepareMs":526,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":526,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":526,"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":"724e7a5f-3e78-4f18-af21-1fda7a4c9468"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":5188,"likelyAffectedFiles":["scripts/visual-witness-hosted-runner/src/bounded-mission-queue.mjs","src/components/CallFlow/WorkflowLiveCoachingFocus.tsx","scripts/cloudflare-native-verify.mjs","scripts/verify-production-contracts.mjs","scripts/verify-production-identities.mjs","scripts/visual-witness-hosted-runner/src/auth-state-refresh.mjs","scripts/visual-witness-hosted-runner/src/durable-coordinator.mjs","scripts/generate-cc-execution-action-schema.mjs","scripts/visual-witness-hosted-runner/src/mission-gateway.mjs"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-09T12:10:40.656636+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:724e7a5f-3e78-4f18-af21-1fda7a4c9468:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"e2967dfe-e076-4290-aba0-aeed6da48f9c","command_center_event_id":"724e7a5f-3e78-4f18-af21-1fda7a4c9468"},{"id":"e2dd7355-a658-414f-9062-ba2fc73d9761","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/redfish-application-route-integrity-20260901","reason":"retryable_provider_transport:The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":21879,"releaseCount":0,"toolCallCount":13,"repeatedCallCount":7,"ownerInterruptionCount":0},"version":null,"prNumber":1306,"terminal":false,"missionId":"c417b477-62c0-4014-a60a-054912f42257","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":3116,"approvedPlanMs":0,"shipAndProveMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"c417b477-62c0-4014-a60a-054912f42257"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":699,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"de8369b6-a78f-40bb-ae1f-28ffca62bc7e","created_at":"2026-09-01T21:33:27.899013+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"1306","receipt_type":"automatic_mission_resume","idempotency_key":"mission:c417b477-62c0-4014-a60a-054912f42257:automatic-mission-resume:1306:repair_mission_pr_ready_retryable","mission_step_id":"0a71dce6-cd9a-49f6-9b12-1721283f088e","command_center_event_id":"c417b477-62c0-4014-a60a-054912f42257"},{"id":"e2e096b0-3fa1-4909-8d35-a1960ce7d4f1","source":"cc-execution","status":"cancelled","payload":{"cancelled":true,"missionId":"460b58d9-1124-44ad-bfda-ac1df965b0f5"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T15:00:05.806064+00:00","proof_gate":"durable_mission_cancelled","source_sha":null,"external_id":null,"receipt_type":"owner_mission_cancelled","idempotency_key":"mission:460b58d9-1124-44ad-bfda-ac1df965b0f5:mission-cancel:460b58d9-1124-44ad-bfda-ac1df965b0f5","mission_step_id":"00d094a7-ed60-4dfa-8fe1-0c169472f94e","command_center_event_id":"460b58d9-1124-44ad-bfda-ac1df965b0f5"},{"id":"e2e11421-a37a-4411-a0ae-2bd54c39ec4c","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","cc-execution/runtime-proof":"pending"},"mainSha":"de64ca1f424f052864d618a4287b052f37b43a18","missing":[],"pending":["forgejo-release/workflow","cc-execution/runtime-proof"],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"de64ca1f424f052864d618a4287b052f37b43a18","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":"ff85ef1a10439378058a7bb676861d959fd2f64c5f2f04510a0e19c729300700","forgejoWorkflowProof":{"runId":7188,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"ccExecution":"pending"},"targetJobCount":7,"observedTargetStates":{"ccExecution":"pending"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"e0aa6c99c2ae222610d5a4c58986c52508d49dfe","deploymentId":"forgejo-main-e0aa6c99c2ae222610d5a4c58986c52508d49dfe","compareStatus":null,"identitySource":"local_build_metadata","runtimeVersion":"1.58.107-exact-green-no-prearm","containsSourceSha":false},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-11T20:58:34.474758+00:00","proof_gate":"canonical_release_pending","source_sha":"de64ca1f424f052864d618a4287b052f37b43a18","external_id":"forgejo-main-de64ca1f424f","receipt_type":"canonical_release_status","idempotency_key":"mission:ea4cc383-e1ba-49f5-8128-19c2910fb428:forgejo-release-status:de64ca1f424f052864d618a4287b052f37b43a18:pending:forgejo-main/source=success|forgejo-release/workflow=pending|cc-execution/runtime-proof=pending","mission_step_id":"d19386b9-6acf-4012-b027-a8363704f57b","command_center_event_id":"ea4cc383-e1ba-49f5-8128-19c2910fb428"},{"id":"e2e196a1-6055-4db7-a272-87ca3996dd58","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-a339bd3b3200","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":18252,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":0,"executorlessWaitMs":12842,"firstUsefulResultAt":"2026-09-25T13:48:30.999Z","recoveryAttemptCount":1,"ownerInterruptionCount":0},"version":null,"prNumber":3734,"terminal":false,"missionId":"a339bd3b-3200-4f8c-906b-6dc4fb6d2d59","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":5440,"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":"a339bd3b-3200-4f8c-906b-6dc4fb6d2d59"},"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":819,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T13:48:43.89205+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"3734","receipt_type":"automatic_mission_resume","idempotency_key":"mission:a339bd3b-3200-4f8c-906b-6dc4fb6d2d59:automatic-mission-resume:3734:repair_mission_pr_ready_retryable","mission_step_id":"c358c230-4281-4d09-9562-cda7829ee1b6","command_center_event_id":"a339bd3b-3200-4f8c-906b-6dc4fb6d2d59"},{"id":"e2e2026e-a510-4eb2-954f-76d81c05d24f","source":"onrunner","status":"failed","payload":{"ok":false,"jobId":"01ca1fc2-c6a4-4461-89f0-7dd8b437863a","phase":"universal_visual_witness_status","branch":"ai/objective-first-repair-c4fa3bd4a214","reason":null,"status":"completed_unverified","metrics":{"receiptBytes":336545,"releaseCount":0,"toolCallCount":61,"repeatedCallCount":27,"executorlessWaitMs":2959298,"firstUsefulResultAt":"2026-09-28T14:48:56.110Z","recoveryAttemptCount":5,"ownerInterruptionCount":0},"version":null,"prNumber":4007,"terminal":true,"missionId":"c4fa3bd4-a214-4085-8049-946a709c2dff","operation":"visual_proof_status","proofGate":"visual_witness_objective_acceptance_unproven","sourceSha":"1c84f5c2fe1b5789eec64a9436384b4e2be4c578","timingsMs":{"queue":1190,"total":64886,"execution":63696},"nextAction":null,"receiptRef":{"mode":"full","missionId":"c4fa3bd4-a214-4085-8049-946a709c2dff"},"performance":null,"deploymentId":"forgejo-main-1c84f5c2fe1b","releaseState":"verified","visualWitness":{"role":"GodMode","jobId":"01ca1fc2-c6a4-4461-89f0-7dd8b437863a","tenant":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","runnerUrl":"https://laptop-witness.knocklaunch.app","runnerLane":"laptop","attemptsUsed":1,"supervisorId":"01ca1fc2-c6a4-4461-89f0-7dd8b437863a","failureReason":null,"observedRoute":"/admin/console","runnerVersion":"laptop-cd17b09fdb31","attemptLineage":[{"jobId":"16d7664b-fbb5-40e6-ab14-3a93d2b5ee2e","attempt":1,"category":"completed_with_findings","sourceSha":"cd17b09fdb31a85433ce5c1c6f9cbbd563eced82","startedAt":"2026-09-28T15:35:20.844Z","completedAt":"2026-09-28T15:36:24.622Z","runtimeLane":"cc-execution -> Local Laptop -> universal-witness.mjs","browserEngine":"chromium","failureReason":null,"retryRecovery":null,"runnerVersion":"laptop-cd17b09fdb31","browserLaunchReason":"display_unavailable_headless","checkpointAccounting":{"route":{"required":5,"completed":5,"missingIds":[]},"action":{"required":0,"completed":0,"missingIds":[]},"missing":0,"resumed":0,"complete":true,"evidence":{"required":5,"completed":5,"missingIds":[]},"completed":10,"remaining":0,"duplicates":0,"duplicateIds":[],"expectedTotal":10}}],"missionOutcome":"completed_with_findings","requestedRoute":"/admin/console","runnerSourceSha":"cd17b09fdb31a85433ce5c1c6f9cbbd563eced82","selectedViewports":["desktop","mobile"],"checkpointAccounting":{"route":{"required":5,"completed":5,"missingIds":[]},"action":{"required":0,"completed":0,"missingIds":[]},"missing":0,"resumed":0,"complete":true,"evidence":{"required":5,"completed":5,"missingIds":[]},"completed":10,"remaining":0,"duplicates":0,"duplicateIds":[],"expectedTotal":10},"correctiveGeneration":0,"restartReplayHistory":[]},"workflowRunId":12585,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"ENDED","pendingProofKinds":[],"verificationState":"failed","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":63730,"ownerActionRequired":false,"ownerFacingTerminal":true,"requestContractHash":"d7cca715c5409403004d1bb219ef6782e1663dc490c7c660b5305f20114119a2","continuationRequired":false,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T15:38:16.538146+00:00","proof_gate":"visual_witness_objective_acceptance_unproven","source_sha":"laptop-cd17b09fdb31","external_id":"01ca1fc2-c6a4-4461-89f0-7dd8b437863a","receipt_type":"visual_proof_status","idempotency_key":"mission:c4fa3bd4-a214-4085-8049-946a709c2dff:visual:01ca1fc2-c6a4-4461-89f0-7dd8b437863a:failed","mission_step_id":"fbe0182b-5eb9-47f3-be48-789708c8bcc7","command_center_event_id":"c4fa3bd4-a214-4085-8049-946a709c2dff"},{"id":"e2e2115f-92aa-443c-985f-c2c785033f96","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"961a3c7e9b626892549d1d85b7db0d4b18d0c1d1","priorProofGate":"canonical_release_terminal_verified","requestContractHash":"6e29cf10ae583ad725c49d7c1e88e8ed273ed7ff4b155c521811c9b1fcf817d9","reconciliationReason":"durable_terminal_release_proof_reused","durableReleaseProofReused":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-27T16:33:44.410998+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"961a3c7e9b626892549d1d85b7db0d4b18d0c1d1","external_id":"forgejo-main-961a3c7e9b62","receipt_type":"canonical_release_status","idempotency_key":"mission:ea7d9b16-8768-4cd6-aace-2c258e9598e4:durable-terminal-release-proof:961a3c7e9b626892549d1d85b7db0d4b18d0c1d1:6e29cf10ae583ad725c49d7c1e88e8ed273ed7ff4b155c521811c9b1fcf817d9","mission_step_id":"1fc04d5f-6c8a-4e7d-bcdf-5343276fa1a2","command_center_event_id":"ea7d9b16-8768-4cd6-aace-2c258e9598e4"},{"id":"e2e2863e-40a5-4ecc-b654-59b676b45d28","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-81d9311f180c","reason":"retryable_provider_transport:GET:The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.105-orphan-compare-evidence-adoption","prNumber":null,"terminal":false,"missionId":"81d9311f-180c-4a51-aff3-95afed0de855","operation":"execute_mission","proofGate":"repair_mission_execution_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":28954,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":530,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":530,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":530,"repositoryMutationMs":28954,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":530,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"81d9311f-180c-4a51-aff3-95afed0de855"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1560,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-11T19:32:56.087897+00:00","proof_gate":"repair_mission_execution_retryable","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:81d9311f-180c-4a51-aff3-95afed0de855:execute_mission:repair_mission_execution_retryable:current-generation","mission_step_id":"661a43ca-d3c4-4d90-925e-baca083c051f","command_center_event_id":"81d9311f-180c-4a51-aff3-95afed0de855"},{"id":"e2e42d31-1dbc-4ead-b660-902b02f3c253","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/fix-storage-move-migration-auth","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.64-mutation-ledger-handoff","prNumber":1895,"terminal":false,"missionId":"48324922-59ea-4ae3-bbe5-64520eb8e844","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"2b8f065ebf4d762a39f87cf8b65290f9eff7fd18","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3729,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":577,"approvedPlanMs":0,"missionSetupMs":829,"providerAuthMs":0,"shipAndProveMs":3003,"ledgerPrepareMs":829,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":829,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":829,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"48324922-59ea-4ae3-bbe5-64520eb8e844"},"performance":null,"deploymentId":"forgejo-main-2b8f065ebf4d","workflowRunId":null,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":true,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2589,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-06T00:12:28.238444+00:00","proof_gate":"canonical_release_dispatched","source_sha":"2b8f065ebf4d762a39f87cf8b65290f9eff7fd18","external_id":"forgejo-main-2b8f065ebf4d","receipt_type":"execute_mission","idempotency_key":"mission:48324922-59ea-4ae3-bbe5-64520eb8e844:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"9e64a6e8-80e4-4498-a364-7752231f044f","command_center_event_id":"48324922-59ea-4ae3-bbe5-64520eb8e844"},{"id":"e2e7afe1-ebc7-460b-b9a7-2fc8f7a09309","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-f7a750346cb7","reason":"pull_request_gate_missing","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.77-mcp-oauth-es256","prNumber":2166,"terminal":false,"missionId":"f7a75034-6cb7-4a20-b3d0-18a26ef9020d","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":6416,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":2830,"approvedPlanMs":0,"missionSetupMs":425,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":275,"ledgerReconcileMs":0,"lineageReconcileMs":150,"resolvePreflightMs":425,"repositoryMutationMs":3582,"repositoryProviderMs":1877,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":1728,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":275,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":149},"nextAction":"Reconcile this same mission and pull request after the exact-head KnockLaunch Gate changes state.","receiptRef":{"mode":"full","missionId":"f7a75034-6cb7-4a20-b3d0-18a26ef9020d"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1512,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-08T20:26:25.52801+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"2166","receipt_type":"execute_mission","idempotency_key":"mission:f7a75034-6cb7-4a20-b3d0-18a26ef9020d:execute_mission:repair_mission_waiting_for_gate:current-generation","mission_step_id":"b63b3354-cf3c-41d1-8656-bb911e1b54c9","command_center_event_id":"f7a75034-6cb7-4a20-b3d0-18a26ef9020d"},{"id":"e2e9909d-cc8e-4360-a302-567d29fd266e","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","cc-execution/runtime-proof":"success"},"mainSha":"6c33dd9fdf21b649b3b4e5ca892f0c3c210c794d","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"6c33dd9fdf21b649b3b4e5ca892f0c3c210c794d","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"ccExecution":"success"},"requestContractHash":"8a17379bcfb5c02a2b35510c6c817a41dac88bfe54d84a8a659ecb7e3e81576f","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/7300","runId":7300,"status":"success","sourceSha":"6c33dd9fdf21b649b3b4e5ca892f0c3c210c794d","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"ccExecution":"success"},"targetJobCount":7,"observedTargetStates":{"ccExecution":"success"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"6c33dd9fdf21b649b3b4e5ca892f0c3c210c794d","proofGate":"cc_execution_historical_runtime_identity_verified","deploymentId":"forgejo-main-6c33dd9fdf21b649b3b4e5ca892f0c3c210c794d","compareStatus":"exact_release_workflow_runtime_verified","workflowRunId":7300,"identitySource":"canonical_release_workflow_exact_runtime_identity","runtimeVersion":"1.58.118-architecture-exclusivity","containsSourceSha":true,"historicalExactSourceProof":true},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T01:57:11.159545+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"6c33dd9fdf21b649b3b4e5ca892f0c3c210c794d","external_id":"forgejo-main-6c33dd9fdf21","receipt_type":"canonical_release_status","idempotency_key":"mission:4270fc5d-8654-49e4-8119-ff77b992c37f:forgejo-release-status:6c33dd9fdf21b649b3b4e5ca892f0c3c210c794d:verified:forgejo-main/source=success|forgejo-release/workflow=success|cc-execution/runtime-proof=success","mission_step_id":"4981e079-1a21-4dc4-97ac-3a64adbf7d33","command_center_event_id":"4270fc5d-8654-49e4-8119-ff77b992c37f"},{"id":"e2ed7807-6eb7-461a-832a-ec68edb64f3e","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/big-papi-food-truck-love-20260825","reason":"The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":12829,"releaseCount":0,"toolCallCount":8,"repeatedCallCount":3,"ownerInterruptionCount":0},"version":"1.50.48-visual-proof-intent-routing","prNumber":755,"terminal":false,"missionId":"8dd9bc3e-9d8b-41ef-9a93-34e16bbd6010","operation":"execute_mission","proofGate":"canonical_release_transport_retryable","sourceSha":null,"timingsMs":{"handlerMs":25657,"prReadinessMs":486,"approvedPlanMs":0,"missionSetupMs":655,"shipAndProveMs":25171},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"8dd9bc3e-9d8b-41ef-9a93-34e16bbd6010"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":4914,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-25T20:06:11.959852+00:00","proof_gate":"canonical_release_transport_retryable","source_sha":null,"external_id":"755","receipt_type":"execute_mission","idempotency_key":"mission:8dd9bc3e-9d8b-41ef-9a93-34e16bbd6010:execute_mission:canonical_release_transport_retryable","mission_step_id":"e0058f64-d256-49e2-afca-9b55a2007b2d","command_center_event_id":"8dd9bc3e-9d8b-41ef-9a93-34e16bbd6010"},{"id":"e2eefc5d-d767-42c4-b179-0458e0d9b48a","source":"cc-execution","status":"verified","payload":{"paths":["workers/cc-execution/src/index-scoped-repo-patch.js"],"baseSha":"86f1fec0973ac7011108db860d8f574b437d690a","consumedAt":1787857942746,"consumerToken":"4dc8c435-9718-4062-9922-e10d4904d219","authorizationId":"5eb9d429-ac73-40a9-8bc0-cc23137f2273"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-27T19:12:24.386899+00:00","proof_gate":"control_plane_maintenance_single_use_consumed","source_sha":"86f1fec0973ac7011108db860d8f574b437d690a","external_id":null,"receipt_type":"control_plane_maintenance_consumed","idempotency_key":"control-plane-maintenance-consume:5eb9d429-ac73-40a9-8bc0-cc23137f2273","mission_step_id":"3551c96c-0dfa-43ef-99f5-68a9f09366d3","command_center_event_id":"e57906ff-764d-4381-9f3a-8b48dc1874fe"},{"id":"e2f16e22-7482-485c-a9b4-1d94240ad883","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-bd9e7f457a8e","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.182-witness-render-cold-start-aware","prNumber":3247,"terminal":false,"missionId":"bd9e7f45-7a8e-471f-a460-03ff4fffc5eb","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":5456,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":955,"missionSetupMs":258,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":258,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":258,"repositoryMutationMs":4501,"repositoryProviderMs":4501,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2440,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":258,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":2061},"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":"bd9e7f45-7a8e-471f-a460-03ff4fffc5eb"},"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":3391,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-20T01:49:50.738335+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3247","receipt_type":"execute_mission","idempotency_key":"mission:bd9e7f45-7a8e-471f-a460-03ff4fffc5eb:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"9d01f325-2fd1-47a7-a636-c0a9036ba719","command_center_event_id":"bd9e7f45-7a8e-471f-a460-03ff4fffc5eb"},{"id":"e2f2a9b7-01c7-40d3-8223-69180a49466d","source":"github-status","status":"pending","payload":{"failed":[],"states":{"canonical-production-release/verified":"pending"},"missing":["supabase-edge-production/live"],"pending":["canonical-production-release/verified"],"required":["canonical-production-release/verified","supabase-edge-production/live"],"sourceSha":"f9076ca64284027e46f16bfbe8835231d94e96e2","releaseState":"pending","exactConductorRun":{"id":31638632704,"status":"in_progress","headSha":"f9076ca64284027e46f16bfbe8835231d94e96e2","conclusion":null,"compareStatus":"identical","sourceMatches":true,"containsSourceSha":true,"reconciliationMode":null},"ccExecutionRuntimeProof":null},"tenant_id":"fe5cc9d9-c2fe-4062-84c7-a334663cd63c","created_at":"2026-08-12T20:38:27.897661+00:00","proof_gate":"canonical_release_pending","source_sha":"f9076ca64284027e46f16bfbe8835231d94e96e2","external_id":"canonical-release-f9076ca64284","receipt_type":"canonical_release_status","idempotency_key":"mission:2c5f8391-2400-4366-a739-54ded99cac48:release-status:f9076ca64284027e46f16bfbe8835231d94e96e2:31638632704:pending:canonical-production-release/verified=pending|supabase-edge-production/live=missing","mission_step_id":"0d88f65d-6920-4475-ae1c-770ba07d49b8","command_center_event_id":"2c5f8391-2400-4366-a739-54ded99cac48"},{"id":"e2f419ff-6ce7-48f5-8db0-1a3938a530e3","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":null,"reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":191931,"releaseCount":0,"toolCallCount":127,"repeatedCallCount":125,"executorlessWaitMs":6983466,"firstUsefulResultAt":"2026-10-06T13:37:04.754Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":5171,"terminal":false,"missionId":"d345d7f1-9f90-4abc-a2d3-ed42ff69dffc","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":1502,"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":"d345d7f1-9f90-4abc-a2d3-ed42ff69dffc"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":819,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T15:33:33.666824+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"5171","receipt_type":"automatic_mission_resume","idempotency_key":"mission:d345d7f1-9f90-4abc-a2d3-ed42ff69dffc:automatic-mission-resume:5171:repair_mission_pr_ready_retryable","mission_step_id":"c42cc793-c3df-48a7-ba94-c48d415d7fd4","command_center_event_id":"d345d7f1-9f90-4abc-a2d3-ed42ff69dffc"},{"id":"e2f54b97-2b62-48a0-9f42-3c9ce59b9144","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-49edcf8df518","writes":[],"patches":[],"approved":true,"missionId":"49edcf8d-f518-44f9-8940-a4b24536c859","objective":"Continue the same browser-recovery repair. For browser context/page creation timeouts, stop cycling through Firefox/WebKit: retry with a fresh headless Chromium browser, which is the canonical Playwright image and avoids engine-specific context startup instability. Preserve the ephemeral screenshot/no-Supabase-image behavior.","repository":"noel/KnockLaunchOS","ownerApproved":true,"anchored_edits":[{"path":"scripts/visual-witness-hosted-runner/src/universal-witness.mjs","anchor":"  if (contextDeath) {\n    noteBrowserContextFailure(failureReason);\n    if (browser) await browser.close().catch(() => undefined);\n    sharedBrowserPromise = null;\n    forcedBrowserEngineOnNextLaunch = fromEngine === 'chromium' ? null : fromEngine;\n    forcedHeadlessOnNextLaunch = sharedBrowserHeadlessPreference === true;\n    lastBrowserLaunchReason = `context_recovery_${fromEngine}`;\n    return { completed: true, browserRecycled: Boolean(browser), browserRestartScheduled: true, fromEngine, nextEngine: fromEngine, failureReason, recoveryMode: 'same_engine_fresh_browser' };\n  }","replacement":"  if (contextDeath) {\n    noteBrowserContextFailure(failureReason);\n    if (browser) await browser.close().catch(() => undefined);\n    sharedBrowserPromise = null;\n    // Context/page startup failures are process-health failures, not rendering\n    // incompatibilities. Recover on the canonical Chromium image instead of\n    // carrying a sick Firefox/WebKit process forward or rotating engines.\n    forcedBrowserEngineOnNextLaunch = null;\n    forcedHeadlessOnNextLaunch = true;\n    sharedBrowserEngine = 'chromium';\n    sharedBrowserHeadlessPreference = true;\n    lastBrowserLaunchReason = 'context_recovery_chromium';\n    return { completed: true, browserRecycled: Boolean(browser), browserRestartScheduled: true, fromEngine, nextEngine: 'chromium', failureReason, recoveryMode: 'canonical_chromium_fresh_browser' };\n  }"}],"implementation":{"files":[],"writes":[]},"durableMutationResume":true},"recovery":false,"fingerprint":"e055d0b48bd713668fd71f8c8bc1fe3767423adf8fcae40284c7c54b10762fa8","replayCount":0,"serializedBytes":2182},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T12:33:48.017163+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:49edcf8d-f518-44f9-8940-a4b24536c859:repository-mutation-intent:e055d0b48bd713668fd71f8c8bc1fe3767423adf8fcae40284c7c54b10762fa8:0","mission_step_id":"3e040adb-fca8-497e-ad8e-b4e40b7cf9e4","command_center_event_id":"49edcf8d-f518-44f9-8940-a4b24536c859"},{"id":"e2f690a8-f89f-419e-b94c-2d8df9c9f7c9","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-7df148408e75","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":29863,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"executorlessWaitMs":6474,"firstUsefulResultAt":"2026-09-24T16:42:49.534Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":3641,"terminal":false,"missionId":"7df14840-8e75-4d69-b05d-b38e6ef15dca","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"e23eb5d2eac0de2a4e1590cae908211f39a85d97","timingsMs":{"prReadinessMs":568,"approvedPlanMs":0,"shipAndProveMs":3572,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"7df14840-8e75-4d69-b05d-b38e6ef15dca"},"performance":null,"deploymentId":"forgejo-main-e23eb5d2eac0","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":2041,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"d60e3c27-73ed-4a5f-a49b-c37636455daf","created_at":"2026-09-24T16:43:36.656531+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"3641","receipt_type":"automatic_mission_resume","idempotency_key":"mission:7df14840-8e75-4d69-b05d-b38e6ef15dca:automatic-mission-resume:3641:canonical_release_reconciliation_pending","mission_step_id":"f910f13a-ea8e-4c67-b252-ac96beef83e4","command_center_event_id":"7df14840-8e75-4d69-b05d-b38e6ef15dca"},{"id":"e2f87aa2-c516-4685-b1a8-46b6e3725f45","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"f321d66ba16217a31a8d9e326518446460fd6682","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"f321d66ba16217a31a8d9e326518446460fd6682","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"requestContractHash":"d7081457d43f717c6bfdb8b81a57022aa913179a6eceda879454fd987b8be99d","forgejoWorkflowProof":{"error":"workflow_run_id_missing","runId":null},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-27T15:33:18.603988+00:00","proof_gate":"canonical_release_pending","source_sha":"f321d66ba16217a31a8d9e326518446460fd6682","external_id":"forgejo-main-f321d66ba162","receipt_type":"canonical_release_status","idempotency_key":"mission:7be90d26-82c5-4ab7-8167-46f2c5476878:forgejo-release-status:f321d66ba16217a31a8d9e326518446460fd6682:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"86552579-d95e-47b8-8adb-7d48892d4ab4","command_center_event_id":"7be90d26-82c5-4ab7-8167-46f2c5476878"},{"id":"e2f94c89-6619-4e1a-8eac-55077478bfaf","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/curri-properties-campaign-more-polish-20260906","reason":"auto_progress_pr_patch_failed:The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.68-visual-witness-self-heal-proof","prNumber":1993,"terminal":false,"missionId":"f700c415-457b-4c07-89a8-4d6af48d4766","operation":"execute_mission","proofGate":"repair_mission_auto_progress_authorization_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":10814,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":1177,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":1177,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":1177,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":1177,"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":"f700c415-457b-4c07-89a8-4d6af48d4766"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1494,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"90ed5bf4-8abd-4d3a-af7c-024664b5b99d","created_at":"2026-09-06T20:04:41.760567+00:00","proof_gate":"repair_mission_auto_progress_authorization_retryable","source_sha":null,"external_id":"1993","receipt_type":"execute_mission","idempotency_key":"mission:f700c415-457b-4c07-89a8-4d6af48d4766:execute_mission:repair_mission_auto_progress_authorization_retryable:current-generation","mission_step_id":"72960f96-54f7-45f0-92f1-9e94ddc0aa9d","command_center_event_id":"f700c415-457b-4c07-89a8-4d6af48d4766"},{"id":"e2fce828-fc71-4ec1-8ac8-aca935608122","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Unfreeze the control plane for this exact release-queue repair, make the repair, prove it live, then refreeze the control plane.","wordingChanged":false,"canonicalIntent":"Unfreeze the control plane for this exact release-queue repair, make the repair, prove it live, then refreeze the control plane.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-queue-snapshot","statement":"forgejo_queue_reconcile consumes a valid authoritative Forgejo Actions snapshot when the same provider path is healthy, no longer reports global_actions_snapshot_unavailable_exact_head_fallback_active in that healthy case, and preserves fail-closed cleanup when the provider is genuinely unavailable.","proofConditionIds":["proof-runtime","proof-repository"]}],"objective":"Unfreeze the control plane for this exact release-queue repair, make the repair, prove it live, then refreeze the control plane.","constraints":[{"id":"constraint-one-path","statement":"Use the existing ai/* branch for mission 266a63f3-42d6-46e3-8ab7-541b93cd53e8, one PR, canonical KnockLaunch Gate, Forgejo squash merge, deploy only cc-execution if affected, and refreeze the control plane after live proof.","proofConditionIds":["proof-repository","proof-runtime"]},{"id":"constraint-no-duplication","statement":"Do not create duplicate queue supervisors, workflows, validators, fallback systems, branches, PRs, or releases.","proofConditionIds":["proof-repository"]},{"id":"constraint-no-visual","statement":"Do not run Visual Witness.","proofConditionIds":["proof-repository"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-runtime","kind":"runtime","claim":"A live forgejo_queue_reconcile call receives the authoritative Actions snapshot and does not enter global_actions_snapshot_unavailable_exact_head_fallback_active while forgejo_actions_runs is healthy.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"proof-repository","kind":"repository","claim":"Current Forgejo source proves the reconciler uses the successful Actions snapshot path and still fails closed on genuine snapshot failure.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestContractHash":"fe0c4b949b1b5bc3b585b388fd9a783a6a753054fd9ec43a41a6d78e6b3723e0","requestContractRevision":2,"previousRequestContractHash":"b4bfc302f1ef7f214d5842bfdb606981f1d3a0452c63a753174b067b27a91aa3"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T01:17:57.466825+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:266a63f3-42d6-46e3-8ab7-541b93cd53e8:request-contract:fe0c4b949b1b5bc3b585b388fd9a783a6a753054fd9ec43a41a6d78e6b3723e0","mission_step_id":"6f011fd3-abc2-43ef-ba6e-d46694439943","command_center_event_id":"266a63f3-42d6-46e3-8ab7-541b93cd53e8"},{"id":"e2fd3ff6-5d31-42e5-8229-e9516dd757f5","source":"cc-execution","status":"in_progress","payload":{"ok":true,"jobId":null,"phase":"release","branch":"ai/visual-witness-ccexecution-runtime-version","reason":null,"status":"in_progress","metrics":{"receiptBytes":0,"releaseCount":1,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":1745,"terminal":false,"missionId":"843e0c0e-de65-40cf-809c-9749401a55cd","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"f20312bf5c0652a009427cab93f847a7204d3633","timingsMs":{"prReadinessMs":472,"approvedPlanMs":0,"shipAndProveMs":4131,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create replacement work.","receiptRef":{"mode":"full","missionId":"843e0c0e-de65-40cf-809c-9749401a55cd"},"performance":null,"deploymentId":"forgejo-main-f20312bf5c06","workflowRunId":5297,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":793,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T19:39:38.36251+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"1745","receipt_type":"automatic_mission_resume","idempotency_key":"mission:843e0c0e-de65-40cf-809c-9749401a55cd:automatic-mission-resume:1745:canonical_release_reconciliation_pending","mission_step_id":"7de535ff-7be7-4f80-895e-870761853a86","command_center_event_id":"843e0c0e-de65-40cf-809c-9749401a55cd"},{"id":"e2fd5a51-6443-4db0-a436-59c2e2fe1537","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"8d31339c9286d132e713f5eec6647e0266a64e73","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"8d31339c9286d132e713f5eec6647e0266a64e73","releaseState":"verified","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"success"},"requestContractHash":"33c34168e5a161ea1d292162ce535ed00cd47ff102acc3ba34440e3ae6634450","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/5645","runId":5645,"status":"success","sourceSha":"8d31339c9286d132e713f5eec6647e0266a64e73","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":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-09-05T23:17:14.621176+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"8d31339c9286d132e713f5eec6647e0266a64e73","external_id":"forgejo-main-8d31339c9286","receipt_type":"canonical_release_status","idempotency_key":"mission:fb07d762-3a54-4613-a183-b51851fee555:forgejo-release-status:8d31339c9286d132e713f5eec6647e0266a64e73:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"c72b5c21-f383-4993-b95f-2e0cb310f263","command_center_event_id":"fb07d762-3a54-4613-a183-b51851fee555"},{"id":"e2fe7d1a-82fd-41f6-98d0-be3896410980","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Update get-shared-storm-report on PR #1897 to sign PDFs from the owning tenant bucket. Do not release yet.","wordingChanged":false,"canonicalIntent":"Update get-shared-storm-report on PR #1897 to sign PDFs from the owning tenant bucket. Do not release yet.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"storm-reader","statement":"Public storm report viewer signs PDFs from the owning tenant bucket.","proofConditionIds":["repo-proof"]}],"objective":"Update get-shared-storm-report on PR #1897 to sign PDFs from the owning tenant bucket. Do not release yet.","constraints":[{"id":"same-pr","statement":"PR #1897 only; no release.","proofConditionIds":["repo-proof"]}],"terminalPolicy":"repository_mutation_only_no_release","proofConditions":[{"id":"repo-proof","kind":"repository","claim":"get-shared-storm-report resolves the tenant storage bucket.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":"resolveTenantStorageBucket","targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestContractHash":"dd4a0a9b6530dc0dace3fc38b6d0240baf15d273c9515488bfa838608d828ebc","requestContractRevision":11,"previousRequestContractHash":"8294883e49277cdce77b2d05d4e545145a0770abbcc17d67a81ce42955d05657"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-06T00:34:22.024934+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:6937df13-bcf1-4128-b5eb-c8aa6626b43d:request-contract:dd4a0a9b6530dc0dace3fc38b6d0240baf15d273c9515488bfa838608d828ebc","mission_step_id":"3370cc73-f50e-46b7-a76e-123686902ca9","command_center_event_id":"6937df13-bcf1-4128-b5eb-c8aa6626b43d"},{"id":"e2feda2e-ccb4-4a1e-a747-3dc041c777e8","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-cb6fcc96c1d1","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":16482,"releaseCount":0,"toolCallCount":8,"repeatedCallCount":3,"executorlessWaitMs":180931,"firstUsefulResultAt":"2026-10-01T20:48:13.720Z","recoveryAttemptCount":5,"ownerInterruptionCount":0},"version":null,"prNumber":4407,"terminal":false,"missionId":"cb6fcc96-c1d1-4d03-a749-40c11c17c9db","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"d29d0f21fdf19a331af3c0a6056d84757cb81d6c","timingsMs":{"prReadinessMs":1180,"approvedPlanMs":0,"shipAndProveMs":2695,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"cb6fcc96-c1d1-4d03-a749-40c11c17c9db"},"performance":null,"deploymentId":"forgejo-main-d29d0f21fdf1","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["tenant-provider-connections"]},"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":1868,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-01T20:51:21.949257+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"4407","receipt_type":"automatic_mission_resume","idempotency_key":"mission:cb6fcc96-c1d1-4d03-a749-40c11c17c9db:automatic-mission-resume:4407:canonical_release_reconciliation_pending","mission_step_id":"36b62902-2ec7-4dca-b7cb-ff34fbf2e60e","command_center_event_id":"cb6fcc96-c1d1-4d03-a749-40c11c17c9db"},{"id":"e307d4d7-66e6-4721-9544-3ee086c7879e","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-a0a841418ea4","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":34307,"releaseCount":1,"toolCallCount":19,"repeatedCallCount":6,"executorlessWaitMs":231991,"firstUsefulResultAt":"2026-09-24T04:32:30.272Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.234-source-evidence-boundary","prNumber":3579,"terminal":false,"missionId":"a0a84141-8ea4-4370-b75a-62ca0487a6bc","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"78e638ea710926d1d097b7787a140d50e9a2cfd5","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4966,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":644,"approvedPlanMs":0,"missionSetupMs":421,"providerAuthMs":0,"shipAndProveMs":3915,"ledgerPrepareMs":260,"ledgerReconcileMs":0,"lineageReconcileMs":161,"resolvePreflightMs":421,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":260,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"a0a84141-8ea4-4370-b75a-62ca0487a6bc"},"performance":null,"deploymentId":"forgejo-main-78e638ea7109","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2543,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T04:33:35.63504+00:00","proof_gate":"canonical_release_dispatched","source_sha":"d3fab2832c94ed71f7d40091c8bea8c17047386a","external_id":"forgejo-main-d3fab2832c94","receipt_type":"execute_mission","idempotency_key":"mission:a0a84141-8ea4-4370-b75a-62ca0487a6bc:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"459c3757-79de-4e37-853b-0d32efdd6779","command_center_event_id":"a0a84141-8ea4-4370-b75a-62ca0487a6bc"},{"id":"e3091930-c680-40e7-83a5-30951eb276c9","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"93064c139668f44c9d4e8552a19cb550ace90959","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"compiler-repair","satisfied":true,"statement":"Restore reliable exact-source compiler mutation and production deployment","proofConditionIds":["compiler-live"]}],"satisfied":true,"constraints":[{"id":"preserve","satisfied":true,"statement":"Preserve tenant operations, canonical Forgejo Gate and protected-main release; authorize temporary exact-path control plane unfreeze and automatic refreeze","proofConditionIds":["compiler-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":["compiler-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":["compiler-live"]}],"contractHash":"a7a6501f392faefa6b971a112847cb41cfa67859f727acbd92b4df48ecef3155","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"compiler-live","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"ccExecution":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["ccExecution"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"a7a6501f392faefa6b971a112847cb41cfa67859f727acbd92b4df48ecef3155"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["ccExecution"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-13T16:08:12.398052+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"93064c139668f44c9d4e8552a19cb550ace90959","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:125741a0-d0b3-4b85-9a96-9f06abbcceaf:request-contract:a7a6501f392faefa6b971a112847cb41cfa67859f727acbd92b4df48ecef3155:93064c139668f44c9d4e8552a19cb550ace90959:verified:","mission_step_id":"a9b0d091-3862-4388-a6c0-718850f8870f","command_center_event_id":"125741a0-d0b3-4b85-9a96-9f06abbcceaf"},{"id":"e309383f-6f0a-4541-9a2b-d34503d728ab","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/fix-cloudflare-output-file-path-20260829","reason":"The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":6039,"releaseCount":0,"toolCallCount":5,"repeatedCallCount":1,"ownerInterruptionCount":0},"version":null,"prNumber":1021,"terminal":false,"missionId":"6d6272fd-0877-41aa-9b3c-e4b46fef2263","operation":"automatic_mission_resume","proofGate":"canonical_release_transport_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":597,"approvedPlanMs":0,"shipAndProveMs":17108},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"6d6272fd-0877-41aa-9b3c-e4b46fef2263"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":677,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-29T14:51:07.68649+00:00","proof_gate":"canonical_release_transport_retryable","source_sha":null,"external_id":"1021","receipt_type":"automatic_mission_resume","idempotency_key":"mission:6d6272fd-0877-41aa-9b3c-e4b46fef2263:automatic-mission-resume:1021:canonical_release_transport_retryable","mission_step_id":"c2b9601d-ff58-402b-b618-ad7d30b5a6b6","command_center_event_id":"6d6272fd-0877-41aa-9b3c-e4b46fef2263"},{"id":"e3097d6b-a14c-4b59-8f0f-396f97b10de5","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-cfa819cdb0ed","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":18533,"releaseCount":0,"toolCallCount":11,"repeatedCallCount":8,"executorlessWaitMs":298582,"firstUsefulResultAt":"2026-09-27T23:17:11.871Z","recoveryAttemptCount":10,"ownerInterruptionCount":0},"version":null,"prNumber":3903,"terminal":false,"missionId":"49a751a5-aa62-4690-adee-6c8145482eb5","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"7dc8e19247909a803780bdf122f27e3d785300d4","timingsMs":{"prReadinessMs":460,"approvedPlanMs":0,"shipAndProveMs":2405,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"49a751a5-aa62-4690-adee-6c8145482eb5"},"performance":null,"deploymentId":"forgejo-main-7dc8e1924790","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["entertainment-fanbase"]},"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":1921,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T23:23:26.275166+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"3903","receipt_type":"automatic_mission_resume","idempotency_key":"mission:49a751a5-aa62-4690-adee-6c8145482eb5:automatic-mission-resume:3903:canonical_release_reconciliation_pending","mission_step_id":"6c1656a9-72cf-4b34-ad94-667d37a7954d","command_center_event_id":"49a751a5-aa62-4690-adee-6c8145482eb5"},{"id":"e30af1d9-b2f3-4227-8693-39f09dd0fab2","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-662295c97746","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":35718,"releaseCount":0,"toolCallCount":12,"repeatedCallCount":4,"executorlessWaitMs":179809,"firstUsefulResultAt":"2026-10-03T03:40:53.332Z","recoveryAttemptCount":4,"ownerInterruptionCount":0},"version":"1.64.70-paul-conversation-examples","prNumber":4612,"terminal":false,"missionId":"662295c9-7746-4480-b0dc-356be287b9c6","operation":"execute_mission","proofGate":"canonical_release_reconciliation_pending","sourceSha":"55e5c03a242f70fe5e4ba05fa45240c002baa7a6","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1401,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":637,"approvedPlanMs":0,"missionSetupMs":353,"providerAuthMs":0,"shipAndProveMs":270,"ledgerPrepareMs":254,"ledgerReconcileMs":0,"lineageReconcileMs":99,"resolvePreflightMs":353,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":254,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"662295c9-7746-4480-b0dc-356be287b9c6"},"performance":null,"deploymentId":"forgejo-main-55e5c03a242f","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2567,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T03:44:00.698643+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":"55e5c03a242f70fe5e4ba05fa45240c002baa7a6","external_id":"forgejo-main-55e5c03a242f","receipt_type":"execute_mission","idempotency_key":"mission:662295c9-7746-4480-b0dc-356be287b9c6:execute_mission:canonical_release_reconciliation_pending:current-generation","mission_step_id":"ec5a9ea0-d254-428f-afb1-2addafaf6fad","command_center_event_id":"662295c9-7746-4480-b0dc-356be287b9c6"},{"id":"e30bf455-11fe-4e99-a62c-2a7952d3606b","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Adopt the existing green PR #1886 and its exact head 0036e52f371acde5d42b41cb4534c2c3654bd30f. Make no source changes. Squash merge this same PR, release frontend only, and prove the corrected Big Papi Mail reader and current signature logo source live.","wordingChanged":false,"canonicalIntent":"Adopt the existing green PR #1886 and its exact head 0036e52f371acde5d42b41cb4534c2c3654bd30f. Make no source changes. Squash merge this same PR, release frontend only, and prove the corrected Big Papi Mail reader and current signature logo source live.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-reader","statement":"Big Papi Mail desktop reader uses the available pane/viewport instead of a narrow centered island, with readable subject/from/body sizing and full-height pane scrolling.","proofConditionIds":["proof-mail-live","proof-mail-visual"]},{"id":"outcome-logo","statement":"Big Papi Mail signatures and branded mail resolve the logo from the live tenant company_logo_url and no longer override it with the legacy hardcoded Big Papi logo asset.","proofConditionIds":["proof-mail-live","proof-logo-source"]},{"id":"outcome-images","statement":"Existing received-email HTML/CID/image containment remains intact so images cannot expand or repaint the entire reader surface.","proofConditionIds":["proof-mail-live"]}],"objective":"Adopt the existing green PR #1886 and its exact head 0036e52f371acde5d42b41cb4534c2c3654bd30f. Make no source changes. Squash merge this same PR, release frontend only, and prove the corrected Big Papi Mail reader and current signature logo source live.","constraints":[{"id":"constraint-scope","statement":"Use existing PR #1886 and its exact gated head; do not create another branch or PR and release frontend only.","proofConditionIds":["proof-mail-live"]},{"id":"constraint-mail-behavior","statement":"Preserve compose, reply/forward, attachments, search, folders, templates, signatures, event scanning, CID hydration and mobile behavior.","proofConditionIds":["proof-mail-live"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-mail-live","kind":"runtime","claim":"The exact PR #1886 frontend source is released live on /big-papis/owner/email.","route":"/big-papis/owner/email","roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"]},{"id":"proof-logo-source","kind":"repository","claim":"MailWorkspace no longer contains the legacy Big Papi logo hardcode and uses the live tenant brand company_logo_url.","route":"/big-papis/owner/email","roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"proof-mail-visual","kind":"visual","claim":"Desktop Big Papi Mail visibly uses the available reader pane rather than rendering the message as a tiny centered column with excessive dead space.","route":"/big-papis/owner/email","roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestContractHash":"e0b24720bca23d0709296ebb140ba16786296eb3a9397bdf0ade9c31c05a7295","requestContractRevision":2,"previousRequestContractHash":"e1a21744a7d1d35d3889fec41c9d1d40af3211a5100341d5fc6768c5297315c9"},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-09-05T23:24:58.469211+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:5e54bf13-67e0-425f-abbd-4712ed4fe248:request-contract:e0b24720bca23d0709296ebb140ba16786296eb3a9397bdf0ade9c31c05a7295","mission_step_id":"2d377a8e-c18f-4147-bf54-961a792a0353","command_center_event_id":"5e54bf13-67e0-425f-abbd-4712ed4fe248"},{"id":"e30e2863-6a03-4b08-9ad4-af47570fbaeb","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-f18f706d68f0","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":13560,"releaseCount":0,"toolCallCount":6,"repeatedCallCount":3,"executorlessWaitMs":20654,"firstUsefulResultAt":"2026-10-05T13:23:41.689Z","recoveryAttemptCount":5,"ownerInterruptionCount":0},"version":null,"prNumber":4910,"terminal":false,"missionId":"f18f706d-68f0-40b4-89cf-3ddbb5cff5fa","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"248c93dc93110878b22924bf4974c8535d2bb476","timingsMs":{"prReadinessMs":830,"approvedPlanMs":0,"shipAndProveMs":3048,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"f18f706d-68f0-40b4-89cf-3ddbb5cff5fa"},"performance":null,"deploymentId":"forgejo-main-248c93dc9311","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":false,"migrations":true,"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":1859,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T13:24:07.30246+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"4910","receipt_type":"automatic_mission_resume","idempotency_key":"mission:f18f706d-68f0-40b4-89cf-3ddbb5cff5fa:automatic-mission-resume:4910:canonical_release_reconciliation_pending","mission_step_id":"55591929-31b4-48c9-8878-86ef9d8355fd","command_center_event_id":"f18f706d-68f0-40b4-89cf-3ddbb5cff5fa"},{"id":"e30fc941-3a25-4f9f-b5f4-b23325f1b651","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/src/mission-ledger.js","workers/cc-execution/test/capability-release-reconciliation.test.js"],"reason":"Fix proven false terminal cc-execution control-plane release failure while authoritative workflow is still active.","baseSha":"d9e54d51a5e3fae00cbc058015a402afe322011b","issuedAt":1790122706097,"expiresAt":1790122886097,"missionId":"69c4dc4c-0c19-4260-b754-633bed778141","authorizationId":"9422806c-a198-4e6f-afcc-20fa00a9bfe4","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T00:18:26.410703+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"d9e54d51a5e3fae00cbc058015a402afe322011b","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:9422806c-a198-4e6f-afcc-20fa00a9bfe4","mission_step_id":"e704cf4d-621f-41d2-8df7-09200a3e1a57","command_center_event_id":"69c4dc4c-0c19-4260-b754-633bed778141"},{"id":"e31499e6-ae50-45ae-ae50-03f58e20c10f","source":"forgejo-exact-source","status":"verified","payload":{"sourceSha":"a24f3f209c9c1e2263ba778e61aef130060da0a5","repository":"noel/KnockLaunchOS","repositoryProofs":[{"id":"repo","path":null,"proof":"forgejo_merged_pr_exact_head_gate","headSha":"6b29a5998cb5f81a373f1af27b8f810f3b12cb31","prNumber":4677,"gateRunId":14940,"gateContext":"KnockLaunch Gate / KnockLaunch Gate (pull_request)","expectedText":null,"gateTargetUrl":"/noel/KnockLaunchOS/actions/runs/14940/jobs/1","mergeCommitSha":"a24f3f209c9c1e2263ba778e61aef130060da0a5"}],"requestContractHash":"97639635359d02a23c3da8461c44a900d0fe637985cfba85d4027a27a6d14778","namedGateEvidenceReceiptVersion":null},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T21:42:48.585836+00:00","proof_gate":"request_contract_repository_verified","source_sha":"a24f3f209c9c1e2263ba778e61aef130060da0a5","external_id":null,"receipt_type":"request_contract_repository_status","idempotency_key":"mission:25acfaac-ccd4-4a71-9b73-22f3f9a3e7ea:request-contract-repository:97639635359d02a23c3da8461c44a900d0fe637985cfba85d4027a27a6d14778:a24f3f209c9c1e2263ba778e61aef130060da0a5","mission_step_id":"0aeda130-c186-4b11-b372-2b7a87c6a955","command_center_event_id":"25acfaac-ccd4-4a71-9b73-22f3f9a3e7ea"},{"id":"e314b3c3-a20f-490c-99f8-c237aabfc852","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in implementation.","nextAction":{"lane":"cc-execution","action":"reconcile_pull_request","reason":"durable_state:pull_request","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"implementation\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"owner_progress_heartbeat\",\"status\":\"waiting\",\"proofGate\":\"owner_progress_heartbeat\"},\"activeStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"release\",\"status\":\"ready\",\"lane\":\"production-release-conductor\"},\"nextSafeAction\":{\"action\":\"reconcile_pull_request\",\"lane\":\"cc-execution\",\"reason\":\"durable_state:pull_request\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_pull_request\",\"recoveryOwner\":\"cc-execution\"},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"runtime_proof\",\"deadlineAt\":\"2026-10-06T14:54:20.947247+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":null,\"sourceSha\":null,\"deploymentId\":null}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T11:39:02.142399+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:8461f374-86b0-422f-bb81-3fb39febaab9:owner-progress-heartbeat:119419116","mission_step_id":"a036e1a4-6bb7-4248-b530-a16b22bcaaa4","command_center_event_id":"8461f374-86b0-422f-bb81-3fb39febaab9"},{"id":"e315382f-d0c6-4589-92ba-3ce45ca4dded","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/papi-sce-routing-inbox-customers","reason":"pull_request_checks_failed","status":"retryable","metrics":{"receiptBytes":22155,"releaseCount":0,"toolCallCount":14,"repeatedCallCount":11,"ownerInterruptionCount":0},"version":null,"prNumber":124,"terminal":false,"missionId":"5ff45856-f831-4c07-8071-060bc58b2d1d","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":null,"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"5ff45856-f831-4c07-8071-060bc58b2d1d"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":922,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-15T14:33:13.545939+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"124","receipt_type":"automatic_mission_resume","idempotency_key":"mission:5ff45856-f831-4c07-8071-060bc58b2d1d:automatic-mission-resume:124:repair_mission_pr_ready_retryable","mission_step_id":"fc74c486-1add-4bf8-8764-046ac3c480b1","command_center_event_id":"5ff45856-f831-4c07-8071-060bc58b2d1d"},{"id":"e3167a53-b9aa-441c-98f5-e40a486df8b7","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"2d88724e1edc6cfa81ca1490c1786fd99e743526","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"2d88724e1edc6cfa81ca1490c1786fd99e743526","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/404","runId":404,"status":"running","conclusion":null,"failedJobs":[]},"ccExecutionRuntimeProof":null},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-15T16:54:56.280681+00:00","proof_gate":"canonical_release_pending","source_sha":"2d88724e1edc6cfa81ca1490c1786fd99e743526","external_id":"forgejo-main-2d88724e1edc","receipt_type":"canonical_release_status","idempotency_key":"mission:b320d2a1-4793-4597-abc7-8dd66073a907:forgejo-release-status:2d88724e1edc6cfa81ca1490c1786fd99e743526:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"fe27973a-5c36-473c-a93c-13dd352e8042","command_center_event_id":"b320d2a1-4793-4597-abc7-8dd66073a907"},{"id":"e31708c6-eb5b-4f96-a548-68ced1c999e9","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"c760a8f3c6d101da884ed424f9b868384fb146b5","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"c5aded20595a078d2df92660e7e8281319332a33","releaseState":"verified","sourceInMain":false,"compareStatus":null,"forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/1455","runId":1455,"status":"success","conclusion":null,"failedJobs":[],"diagnostics":null},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"exactReleaseVerifiedAfterMainAdvanced":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-19T17:04:05.12647+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"c5aded20595a078d2df92660e7e8281319332a33","external_id":"forgejo-main-c5aded20595a","receipt_type":"canonical_release_status","idempotency_key":"mission:6e41acdd-c38a-4c1b-9c24-de697fd2475d:forgejo-release-status:c5aded20595a078d2df92660e7e8281319332a33:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"994a5bd0-4725-4296-9393-75704d0b04ba","command_center_event_id":"6e41acdd-c38a-4c1b-9c24-de697fd2475d"},{"id":"e31795a9-5464-48b0-b232-535fa563dea4","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/square-finance-ledger-20260824","reason":"The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":1137,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":662,"terminal":false,"missionId":"2f660a4e-cafe-4c66-a798-950396b974cb","operation":"automatic_mission_resume","proofGate":"canonical_release_transport_retryable","sourceSha":null,"timingsMs":null,"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"2f660a4e-cafe-4c66-a798-950396b974cb"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":599,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-24T15:23:44.903058+00:00","proof_gate":"canonical_release_transport_retryable","source_sha":null,"external_id":"662","receipt_type":"automatic_mission_resume","idempotency_key":"mission:2f660a4e-cafe-4c66-a798-950396b974cb:automatic-mission-resume:662:canonical_release_transport_retryable","mission_step_id":"546dbe91-41ea-4485-94ed-4c9c0cfcc826","command_center_event_id":"2f660a4e-cafe-4c66-a798-950396b974cb"},{"id":"e3183f23-0612-4eb6-afd1-79c7ea43ff19","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","supabase-migrations/live":"success"},"mainSha":"2b8f065ebf4d762a39f87cf8b65290f9eff7fd18","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","supabase-migrations/live"],"sourceSha":"2b8f065ebf4d762a39f87cf8b65290f9eff7fd18","releaseState":"verified","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":false,"onrunner":false,"migrations":true,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"migrations":"success"},"requestContractHash":"9c7bf42778cc155b70c510865166a424bf8619ed478625d92526f262c307515d","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/5672","runId":5672,"status":"success","sourceSha":"2b8f065ebf4d762a39f87cf8b65290f9eff7fd18","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"migrations":"success"},"targetJobCount":7,"observedTargetStates":{"migrations":"success"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-06T00:14:33.515565+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"2b8f065ebf4d762a39f87cf8b65290f9eff7fd18","external_id":"forgejo-main-2b8f065ebf4d","receipt_type":"canonical_release_status","idempotency_key":"mission:48324922-59ea-4ae3-bbe5-64520eb8e844:forgejo-release-status:2b8f065ebf4d762a39f87cf8b65290f9eff7fd18:verified:forgejo-main/source=success|forgejo-release/workflow=success|supabase-migrations/live=success","mission_step_id":"4a980d2b-9d32-4f1e-ad4f-e8f595696358","command_center_event_id":"48324922-59ea-4ae3-bbe5-64520eb8e844"},{"id":"e3188434-673b-4eb4-a399-f305668b70df","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/fix-seaside-team-readiness-schema","reason":"content validation failed","status":"blocked","metrics":{"receiptBytes":6279,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":3,"ownerInterruptionCount":0},"version":"1.31.24-exact-release-classification","prNumber":null,"terminal":false,"missionId":"6a3357bc-64b3-48f2-a457-c0f14b4c3e74","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"6a3357bc-64b3-48f2-a457-c0f14b4c3e74"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":344,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-08-09T12:06:27.8421+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:6a3357bc-64b3-48f2-a457-c0f14b4c3e74:execute_mission:repair_mission_execution_blocked","mission_step_id":"4687aeb9-729c-4a3c-94ef-18ac2d014e55","command_center_event_id":"6a3357bc-64b3-48f2-a457-c0f14b4c3e74"},{"id":"e31a6d51-228f-4535-9e5d-ee40ead9c43f","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":"0c77f06cf3e7ba8d401acfb5d1c2a9a501424514","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live","frontend-cloudflare/live"],"sourceSha":"0c77f06cf3e7ba8d401acfb5d1c2a9a501424514","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["calendar-provider-connections"]},"releaseTargetStates":{"frontend":"pending","supabaseEdge":"success"},"requestContractHash":"4190ece4995181daabd63269d213198607600550e51c894c3020ecfa802e028c","forgejoWorkflowProof":{"runId":13418,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"frontend":"pending","supabaseEdge":"success"},"targetJobCount":6,"observedTargetStates":{"frontend":"pending","supabaseEdge":"success"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T15:39:24.2434+00:00","proof_gate":"canonical_release_pending","source_sha":"0c77f06cf3e7ba8d401acfb5d1c2a9a501424514","external_id":"forgejo-main-0c77f06cf3e7","receipt_type":"canonical_release_status","idempotency_key":"mission:7f26976f-af12-445c-9d64-72844a1fbee4:forgejo-release-status:0c77f06cf3e7ba8d401acfb5d1c2a9a501424514:pending:forgejo-main/source=success|forgejo-release/workflow=pending|supabase-edge-production/live=success|frontend-cloudflare/live=pending","mission_step_id":"b5abbb08-bd54-4e5b-8ce4-f42e30ba4a22","command_center_event_id":"7f26976f-af12-445c-9d64-72844a1fbee4"},{"id":"e31e0fb8-c281-4309-b000-533d5ea6b9a8","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-2ed2b67c2a95","writes":[],"patches":[],"version":1,"approved":true,"missionId":"2ed2b67c-2a95-4846-93a3-14318a9bf21d","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"anchored_edits":[{"path":"src/pages/card-grading/PCGWorkspace.tsx","new_string":"const vaultControlDeckMobile=<div className=\"w-full bg-[#09090a]/98 px-2.5 py-2 shadow-[0_14px_34px_rgba(0,0,0,.35)] backdrop-blur-xl sm:hidden\"><div className=\"flex items-center gap-2\"><input aria-label=\"Search Card Vault\" value={vaultQuery} onChange={event=>{setVaultQuery(event.target.value);setVaultPage(0)}} placeholder=\"Search cards…\" className=\"h-10 min-w-0 flex-1 rounded-lg border border-[#d8bb78]/25 bg-black/50 px-3 text-sm text-white outline-none placeholder:text-white/30 focus:border-[#d8bb78]/70\"/><span className=\"shrink-0 text-[9px] font-black uppercase tracking-[.08em] text-white/45\">{vaultLoading?'…':vaultCount.toLocaleString()}</span></div><div className=\"mt-2 flex gap-2 overflow-x-auto pb-0.5 [scrollbar-width:none] [&::-webkit-scrollbar]:hidden\"><select aria-label=\"Filter Card Vault by status\" value={vaultStatus} onChange={event=>{setVaultStatus(event.target.value);setVaultPage(0)}} className=\"h-9 min-w-[132px] shrink-0 rounded-lg border border-white/[0.10] bg-[#09090a] px-2 text-[10px] font-bold text-white\"><option value=\"all\">All statuses</option><option value=\"received\">Received</option><option value=\"intake_imaging\">Intake imaging</option><option value=\"authentication\">Authentication</option><option value=\"grading\">Grading</option><option value=\"encapsulation\">Encapsulation</option><option value=\"qa\">QA</option><option value=\"ready\">Ready</option><option value=\"shipped\">Shipped</option><option value=\"picked_up\">Picked up</option></select><select aria-label=\"Filter Card Vault by grading status\" value={vaultGrade} onChange={event=>{setVaultGrade(event.target.value);setVaultPage(0)}} className=\"h-9 min-w-[110px] shrink-0 rounded-lg border border-white/[0.10] bg-[#09090a] px-2 text-[10px] font-bold text-white\"><option value=\"all\">All grades</option><option value=\"graded\">Graded</option><option value=\"ungraded\">Ungraded</option></select><select aria-label=\"Filter Card Vault by customer or submission\" value={vaultSubmission} onChange={event=>{setVaultSubmission(event.target.value);setVaultPage(0)}} className=\"h-9 min-w-[190px] shrink-0 rounded-lg border border-white/[0.10] bg-[#09090a] px-2 text-[10px] font-bold text-white\"><option value=\"all\">All customers / submissions</option>{submissionOptions.map(option=><option key={option.id} value={option.id}>{option.submission_number} · {option.customer_name||option.customer_email||'Collector'}</option>)}</select><button type=\"button\" disabled={vaultPage===0||vaultLoading} onClick={()=>setVaultPage(page=>Math.max(0,page-1))} className=\"h-9 shrink-0 rounded-lg border border-white/[0.10] px-3 text-[9px] font-black uppercase tracking-[.06em] text-white/65 disabled:opacity-30\">Prev</button><button type=\"button\" disabled={!vaultHasMore||vaultLoading} onClick={()=>setVaultPage(page=>page+1)} className=\"h-9 shrink-0 rounded-lg border border-white/[0.10] px-3 text-[9px] font-black uppercase tracking-[.06em] text-white/65 disabled:opacity-30\">Next</button></div></div>;const vaultControlDeckFixed=","old_string":"const vaultControlDeckFixed="}],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"2ed2b67c-2a95-4846-93a3-14318a9bf21d","ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"requestContract":null,"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":"Prime structured exact mutation continuation"},"proofRequirements":null,"controlPlaneUnfreeze":true,"durableMutationResume":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":"Prime structured exact mutation continuation"},"recovery":false,"fingerprint":"ba343701739f32d012256d00f8efe47105beba61d7f6a9c0dd6eefe1ac35d029","replayCount":0,"serializedBytes":4199},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T21:05:47.37519+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:2ed2b67c-2a95-4846-93a3-14318a9bf21d:repository-mutation-intent:ba343701739f32d012256d00f8efe47105beba61d7f6a9c0dd6eefe1ac35d029:0","mission_step_id":"4078c6c1-8c46-4ef6-8a30-c083db10ebec","command_center_event_id":"2ed2b67c-2a95-4846-93a3-14318a9bf21d"},{"id":"e31e116f-3560-4839-94c2-966581ed05d7","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-e3637e99822c","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":15585,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"executorlessWaitMs":43254,"firstUsefulResultAt":"2026-09-25T17:11:32.373Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.282-lineage-main-guard","prNumber":3744,"terminal":false,"missionId":"e3637e99-822c-4fd0-89e9-cf7e381a4c62","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3610,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":572,"missionSetupMs":986,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":986,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":986,"repositoryMutationMs":3038,"repositoryProviderMs":3038,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":1839,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":986,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1199},"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":"e3637e99-822c-4fd0-89e9-cf7e381a4c62"},"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":3106,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T17:12:20.969306+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3744","receipt_type":"execute_mission","idempotency_key":"mission:e3637e99-822c-4fd0-89e9-cf7e381a4c62:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"4988188c-dbbc-4520-9407-6d6fde7f1037","command_center_event_id":"e3637e99-822c-4fd0-89e9-cf7e381a4c62"},{"id":"e31fcf04-3994-4a84-a7a6-34015bea90d2","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[{"path":"src/components/admin/user-management/UserInspectorSheet.tsx","content":"/**\n * UserInspectorSheet — single, unified user-detail surface.\n *\n * Replaces the \"9 modals stacked\" architecture with one right-side Sheet\n * containing all user operations as tabs:\n *   • Overview — identity, status, tenancies (read-only summary)\n *   • Edit     — inline editing of name/email/phone/active\n *   • Tenants  — add/remove/role-change memberships\n *   • Activity — quick links to the deeper Leads/Clients/Calls dialogs\n *   • Security — password reset + danger-zone delete\n *\n * The deep-dive Leads/Clients/Calls dialogs remain intact (they're rich\n * data-grids in their own right); the sheet just stops users having to\n * close & re-open modals to get to them.\n */\n\nimport { useState, useEffect } from 'react';\nimport { useQuery } from '@tanstack/react-query';\nimport {\n  Sheet,\n  SheetContent,\n  SheetHeader,\n  SheetTitle,\n  SheetDescription,\n} from '@/components/ui/sheet';\nimport { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs';\nimport { Button } from '@/components/ui/button';\nimport { Badge } from '@/components/ui/badge';\nimport { Separator } from '@/components/ui/separator';\nimport { Avatar, AvatarFallback } from '@/components/ui/avatar';\nimport {\n  Loader2, Save, User, Building2, Activity, Shield, Trash2, Key,\n  Briefcase, Phone, FileSpreadsheet, Mail, AlertTriangle, Clock3, Eye, LogIn, MousePointer2,\n} from 'lucide-react';\nimport { supabase } from '@/integrations/supabase/client';\nimport { toast } from '@/lib/notify';\nimport { useUserDetails } from '@/hooks/useUserDetails';\nimport { UserDetailFields, type EditableUserFields } from './UserDetailFields';\nimport { TenancyEditor } from './TenancyEditor';\nimport type { UserWithRole, TenantOption } from './types';\nimport { DashboardAvatarLink } from '@/components/common/DashboardAvatarLink';\n\ninterface UserInspectorSheetProps {\n  user: UserWithRole | null;\n  open: boolean;\n  onOpenChange: (open: boolean) => void;\n  tenants: TenantOption[];\n  onSaved: () => void;\n  onResetPassword: (userId: string, email: string) => void;\n  onDelete: (userId: string) => void;\n  onOpenLeads: (user: UserWithRole) => void;\n  onOpenClients: (user: UserWithRole) => void;\n  onOpenCallLogs: (user: UserWithRole) => void;\n}\n\nexport function UserInspectorSheet({\n  user,\n  open,\n  onOpenChange,\n  tenants,\n  onSaved,\n  onResetPassword,\n  onDelete,\n  onOpenLeads,\n  onOpenClients,\n  onOpenCallLogs,\n}: UserInspectorSheetProps) {\n  const { data: hydrated, isLoading, isError, error, refetch } = useUserDetails(user?.id, { enabled: open });\n  const [tab, setTab] = useState<'overview' | 'edit' | 'tenants' | 'activity' | 'security'>('overview');\n  const [values, setValues] = useState<EditableUserFields>({ name: '', email: '', phone: '', active: true });\n  const [saving, setSaving] = useState(false);\n  const [activityKind, setActivityKind] = useState<'all' | 'session' | 'page' | 'action'>('all');\n  const [activityDays, setActivityDays] = useState<7 | 30 | 90 | 365>(30);\n\n  // Reset to overview tab whenever a new user is opened\n  useEffect(() => {\n    if (open) setTab('overview');\n  }, [open, user?.id]);\n\n  useEffect(() => {\n    if (hydrated) {\n      setValues({\n        name: hydrated.name || '',\n        email: hydrated.email || '',\n        phone: hydrated.phone || '',\n        active: hydrated.active,\n      });\n    }\n  }, [hydrated]);\n\n  const activityQuery = useQuery({\n    queryKey: ['admin-user-activity', user?.id, activityDays],\n    enabled: open && tab === 'activity' && Boolean(user?.id),\n    staleTime: 15_000,\n    queryFn: async () => {\n      const cutoff = new Date(Date.now() - activityDays * 86_400_000).toISOString();\n      const [sessionsResult, firstSessionResult, lastSessionResult, pageViewsResult, auditResult] = await Promise.all([\n        (supabase as any).from('user_sessions')\n          .select('id,tenant_id,started_at,last_activity_at,ended_at,is_active,current_page,current_page_title,device_info', { count: 'exact' })\n          .eq('user_id', user!.id).gte('started_at', cutoff).order('started_at', { ascending: false }).limit(500),\n        (supabase as any).from('user_sessions')\n          .select('started_at').eq('user_id', user!.id).order('started_at', { ascending: true }).limit(1).maybeSingle(),\n        (supabase as any).from('user_sessions')\n          .select('started_at,last_activity_at,current_page,current_page_title,is_active').eq('user_id', user!.id).order('started_at', { ascending: false }).limit(1).maybeSingle(),\n        (supabase as any).from('page_views')\n          .select('id,tenant_id,page_path,page_title,entered_at,exited_at,duration_seconds,referrer_path', { count: 'exact' })\n          .eq('user_id', user!.id).gte('entered_at', cutoff).order('entered_at', { ascending: false }).limit(1000),\n        (supabase as any).from('comprehensive_audit_logs')\n          .select('id,timestamp,created_at,tenant_id,event_type,event_category,event_action,resource_type,resource_name,human_summary,success,severity', { count: 'exact' })\n          .eq('user_id', user!.id).gte('timestamp', cutoff).order('timestamp', { ascending: false }).limit(1000),\n      ]);\n      const failures = [sessionsResult.error, firstSessionResult.error, lastSessionResult.error, pageViewsResult.error, auditResult.error].filter(Boolean);\n      if (failures.length) throw failures[0];\n      return {\n        sessions: sessionsResult.data || [],\n        sessionCount: sessionsResult.count || 0,\n        firstSession: firstSessionResult.data || null,\n        lastSession: lastSessionResult.data || null,\n        pageViews: pageViewsResult.data || [],\n        pageViewCount: pageViewsResult.count || 0,\n        audits: auditResult.data || [],\n        auditCount: auditResult.count || 0,\n      };\n    },\n  });\n\n  if (!user) return null;\n\n  const hasChanges = hydrated\n    ? values.name !== (hydrated.name || '') ||\n      values.email !== (hydrated.email || '') ||\n      values.phone !== (hydrated.phone || '') ||\n      values.active !== hydrated.active\n    : false;\n\n  const activityUser: UserWithRole = hydrated ? {\n    ...user,\n    id: hydrated.id,\n    email: hydrated.email,\n    name: hydrated.name || undefined,\n    phone: hydrated.phone || undefined,\n    active: hydrated.active,\n    created_at: hydrated.created_at,\n    tenant_roles: hydrated.tenant_roles,\n  } : user;\n  const tenantNameById = new Map(tenants.map((tenant) => [tenant.id, tenant.name]));\n\n  const humanizeToken = (value: unknown) => String(value || '')\n    .replace(/[_./:-]+/g, ' ')\n    .replace(/\\s+/g, ' ')\n    .trim()\n    .replace(/\\b\\w/g, (character) => character.toUpperCase());\n\n  const humanizeActivity = (item: any) => {\n    if (item.human_summary && String(item.human_summary).trim()) return String(item.human_summary).trim();\n\n    const action = String(item.event_action || item.event_type || '').toLowerCase();\n    const resource = humanizeToken(item.resource_name || item.resource_type || 'account');\n    const readableAction = action.includes('invite') ? 'Sent invitation'\n      : action.includes('password') && action.includes('reset') ? 'Sent password reset'\n      : action.includes('login') || action.includes('sign_in') || action.includes('signin') ? 'Signed in'\n      : action.includes('logout') || action.includes('sign_out') || action.includes('signout') ? 'Signed out'\n      : action.includes('assign') && action.includes('role') ? 'Changed role access'\n      : action.includes('membership') || action.includes('tenant_access') ? 'Changed tenant access'\n      : action.includes('delete') || action.includes('remove') ? 'Removed'\n      : action.includes('create') || action.includes('insert') || action.includes('add') ? 'Created'\n      : action.includes('update') || action.includes('edit') || action.includes('change') ? 'Updated'\n      : action.includes('view') || action.includes('read') || action.includes('open') ? 'Viewed'\n      : humanizeToken(action || 'Activity');\n\n    if (['Signed in', 'Signed out', 'Sent invitation', 'Sent password reset', 'Changed role access', 'Changed tenant access'].includes(readableAction)) {\n      return readableAction;\n    }\n    return `${readableAction} ${resource}`.trim();\n  };\n\n  const formatActivityTime = (value?: string | null) => {\n    if (!value) return 'Never';\n    const date = new Date(value);\n    return Number.isNaN(date.getTime())\n      ? 'Unknown'\n      : new Intl.DateTimeFormat(undefined, { month: 'short', day: 'numeric', year: 'numeric', hour: 'numeric', minute: '2-digit' }).format(date);\n  };\n\n  const formatDuration = (seconds?: number | null) => {\n    const value = Number(seconds || 0);\n    if (value < 60) return value > 0 ? `${value}s` : '< 1 min';\n    const minutes = Math.round(value / 60);\n    if (minutes < 60) return `${minutes}m`;\n    return `${Math.floor(minutes / 60)}h ${minutes % 60}m`;\n  };\n\n  const activityData = activityQuery.data || {\n    sessions: [], sessionCount: 0, firstSession: null, lastSession: null,\n    pageViews: [], pageViewCount: 0, audits: [], auditCount: 0,\n  };\n  const firstLoginAt = activityData.firstSession?.started_at || null;\n  const lastLoginAt = activityData.lastSession?.started_at || hydrated?.last_login || null;\n  const lastActiveAt = activityData.lastSession?.last_activity_at || lastLoginAt;\n  const lastPage = activityData.lastSession?.current_page_title\n    || activityData.lastSession?.current_page\n    || activityData.pageViews?.[0]?.page_title\n    || activityData.pageViews?.[0]?.page_path\n    || 'Never';\n  const trackedSeconds = (activityData.pageViews || []).reduce((sum: number, row: any) => sum + Number(row.duration_seconds || 0), 0);\n  const activityTimeline = [\n    ...(activityData.sessions || []).map((item: any) => ({\n      id: `session-${item.id}`, kind: 'session' as const, at: item.started_at,\n      title: item.is_active ? 'Active session' : 'Signed in',\n      detail: item.current_page_title || item.current_page || 'Session started',\n      tenantId: item.tenant_id, duration: null, success: true,\n    })),\n    ...(activityData.pageViews || []).map((item: any) => ({\n      id: `page-${item.id}`, kind: 'page' as const, at: item.entered_at,\n      title: item.page_title || item.page_path || 'Page view',\n      detail: `Visited ${item.page_path || 'page'}${item.referrer_path ? ` · from ${item.referrer_path}` : ''}`,\n      tenantId: item.tenant_id, duration: item.duration_seconds, success: true,\n    })),\n    ...(activityData.audits || []).map((item: any) => ({\n      id: `action-${item.id}`, kind: 'action' as const, at: item.timestamp || item.created_at,\n      title: humanizeActivity(item),\n      detail: [humanizeToken(item.event_category), humanizeToken(item.resource_type), humanizeToken(item.resource_name)].filter(Boolean).join(' · '),\n      tenantId: item.tenant_id, duration: null, success: item.success !== false,\n    })),\n  ]\n    .filter((item) => activityKind === 'all' || item.kind === activityKind)\n    .sort((left, right) => String(right.at || '').localeCompare(String(left.at || '')));\n\n  const handleSave = async () => {\n    if (!hydrated) return;\n    const nextEmail = values.email.trim().toLowerCase();\n    const nextPhone = values.phone.trim();\n    if (!nextEmail && !nextPhone) { toast.error('Email or phone is required'); return; }\n    if ((hydrated.email || '') && !nextEmail) { toast.error('Replace the email instead of clearing it'); return; }\n    if ((hydrated.phone || '') && !nextPhone) { toast.error('Replace the phone instead of clearing it'); return; }\n    setSaving(true);\n    try {\n      const updates: Record<string, any> = {};\n      if (values.name !== (hydrated.name || '')) updates.name = values.name.trim();\n      if (nextEmail !== (hydrated.email || '')) updates.email = nextEmail;\n      if (nextPhone !== (hydrated.phone || '')) updates.phone = nextPhone;\n      if (values.active !== hydrated.active) updates.active = values.active;\n\n      if (Object.keys(updates).length === 0) return;\n\n      const { data, error } = await supabase.functions.invoke('admin-operations', {\n        body: { action: 'update_user', user_id: hydrated.id, updates },\n      });\n      if (error) throw error;\n      if (!data?.ok) throw new Error(data?.error || 'Failed to update user');\n\n      toast.success('User updated');\n      await refetch();\n      onSaved();\n    } catch (error: any) {\n      toast.error('Failed to update: ' + (error.message || 'Unknown error'));\n    } finally {\n      setSaving(false);\n    }\n  };\n\n  const initial = (hydrated?.name || hydrated?.email || hydrated?.phone || user.name || user.email || user.phone || '?').charAt(0).toUpperCase();\n\n  return (\n    <Sheet open={open} onOpenChange={onOpenChange}>\n      <SheetContent side=\"right\" className=\"w-full sm:max-w-2xl flex flex-col p-0\">\n        {/* Header */}\n        <SheetHeader className=\"px-6 pt-6 pb-4 border-b\">\n          <div className=\"flex items-start gap-3\">\n            <DashboardAvatarLink>\n              <Avatar className=\"h-12 w-12\">\n                <AvatarFallback className=\"bg-primary/10 text-primary font-semibold\">{initial}</AvatarFallback>\n              </Avatar>\n            </DashboardAvatarLink>\n            <div className=\"flex-1 min-w-0\">\n              <SheetTitle className=\"truncate\">{hydrated?.name || user.name || 'User'}</SheetTitle>\n              <SheetDescription className=\"flex items-center gap-2 flex-wrap\">\n                <span className=\"truncate\">{hydrated?.email || hydrated?.phone || user.email || user.phone || 'No sign-in identity'}</span>\n                <Badge variant={hydrated?.active ?? user.active ? 'default' : 'secondary'} className=\"text-xs\">\n                  {(hydrated?.active ?? user.active) ? 'Active' : 'Inactive'}\n                </Badge>\n                <Badge variant=\"outline\" className=\"text-xs\">\n                  {(hydrated?.tenant_roles ?? user.tenant_roles).length} tenancies\n                </Badge>\n              </SheetDescription>\n            </div>\n          </div>\n        </SheetHeader>\n\n        {/* Body */}\n        <div className=\"flex-1 overflow-y-auto\">\n          {isLoading ? (\n            <div className=\"flex items-center justify-center py-16\">\n              <Loader2 className=\"h-6 w-6 animate-spin text-muted-foreground\" />\n            </div>\n          ) : isError || !hydrated ? (\n            <div className=\"mx-6 my-8 rounded-lg border border-destructive/30 bg-destructive/5 p-5\">\n              <div className=\"flex items-start gap-3\">\n                <AlertTriangle className=\"mt-0.5 h-5 w-5 text-destructive\" />\n                <div className=\"flex-1\">\n                  <p className=\"text-sm font-semibold\">User details could not load</p>\n                  <p className=\"mt-1 text-xs text-muted-foreground\">{error instanceof Error ? error.message : 'The identity record could not be hydrated.'}</p>\n                  <Button variant=\"outline\" size=\"sm\" className=\"mt-3\" onClick={() => void refetch()}>Retry</Button>\n                </div>\n              </div>\n            </div>\n          ) : (\n            <Tabs value={tab} onValueChange={(v) => setTab(v as any)} className=\"w-full\">\n              <div className=\"px-6 pt-4 sticky top-0 bg-background z-10 border-b\">\n                <TabsList className=\"grid w-full grid-cols-5\">\n                  <TabsTrigger value=\"overview\" className=\"gap-1.5\"><User className=\"h-3.5 w-3.5\" /><span className=\"hidden sm:inline\">Overview</span></TabsTrigger>\n                  <TabsTrigger value=\"edit\" className=\"gap-1.5\"><Save className=\"h-3.5 w-3.5\" /><span className=\"hidden sm:inline\">Edit</span></TabsTrigger>\n                  <TabsTrigger value=\"tenants\" className=\"gap-1.5\"><Building2 className=\"h-3.5 w-3.5\" /><span className=\"hidden sm:inline\">Tenants</span></TabsTrigger>\n                  <TabsTrigger value=\"activity\" className=\"gap-1.5\"><Activity className=\"h-3.5 w-3.5\" /><span className=\"hidden sm:inline\">Activity</span></TabsTrigger>\n                  <TabsTrigger value=\"security\" className=\"gap-1.5\"><Shield className=\"h-3.5 w-3.5\" /><span className=\"hidden sm:inline\">Security</span></TabsTrigger>\n                </TabsList>\n              </div>\n\n              <div className=\"px-6 py-5\">\n                <TabsContent value=\"overview\" className=\"mt-0\">\n                  <UserDetailFields mode=\"view\" user={hydrated} />\n                </TabsContent>\n\n                <TabsContent value=\"edit\" className=\"mt-0 space-y-4\">\n                  <UserDetailFields mode=\"edit\" user={hydrated} values={values} onChange={setValues} />\n                  <div className=\"flex justify-end gap-2 pt-2\">\n                    <Button variant=\"outline\" onClick={() => setValues({\n                      name: hydrated.name || '',\n                      email: hydrated.email || '',\n                      phone: hydrated.phone || '',\n                      active: hydrated.active,\n                    })} disabled={saving || !hasChanges}>\n                      Reset\n                    </Button>\n                    <Button onClick={handleSave} disabled={saving || !hasChanges}>\n                      {saving ? <Loader2 className=\"h-4 w-4 mr-2 animate-spin\" /> : <Save className=\"h-4 w-4 mr-2\" />}\n                      Save Changes\n                    </Button>\n                  </div>\n                </TabsContent>\n\n                <TabsContent value=\"tenants\" className=\"mt-0\">\n                  <TenancyEditor\n                    userId={hydrated.id}\n                    userName={hydrated.name || hydrated.email || hydrated.phone || 'User'}\n                    currentTenantRoles={hydrated.tenant_roles}\n                    allTenants={tenants}\n                    onUpdated={() => { refetch(); onSaved(); }}\n                  />\n                </TabsContent>\n\n                <TabsContent value=\"activity\" className=\"mt-0 space-y-4\">\n                  <div className=\"flex flex-col gap-3 sm:flex-row sm:items-end sm:justify-between\">\n                    <div>\n                      <h3 className=\"text-sm font-semibold\">Owner activity</h3>\n                      <p className=\"mt-1 text-xs text-muted-foreground\">Access history, pages visited, time spent, and meaningful actions across this person's KNOCKLAUNCH workspaces.</p>\n                    </div>\n                    <select\n                      value={activityDays}\n                      onChange={(event) => setActivityDays(Number(event.target.value) as 7 | 30 | 90 | 365)}\n                      className=\"h-9 rounded-md border border-input bg-background px-3 text-xs font-medium\"\n                      aria-label=\"Activity date range\"\n                    >\n                      <option value={7}>Last 7 days</option>\n                      <option value={30}>Last 30 days</option>\n                      <option value={90}>Last 90 days</option>\n                      <option value={365}>Last year</option>\n                    </select>\n                  </div>\n\n                  {activityQuery.isLoading ? (\n                    <div className=\"flex items-center justify-center py-10\"><Loader2 className=\"h-5 w-5 animate-spin text-muted-foreground\" /></div>\n                  ) : activityQuery.isError ? (\n                    <div className=\"rounded-lg border border-destructive/30 bg-destructive/5 p-4 text-sm\">\n                      <p className=\"font-medium\">Activity could not load.</p>\n                      <p className=\"mt-1 text-xs text-muted-foreground\">No partial activity is being shown as complete.</p>\n                      <Button variant=\"outline\" size=\"sm\" className=\"mt-3\" onClick={() => void activityQuery.refetch()}>Retry</Button>\n                    </div>\n                  ) : (\n                    <>\n                      <div className=\"grid grid-cols-2 gap-2\">\n                        <div className=\"rounded-xl border bg-muted/20 p-3\">\n                          <p className=\"text-[10px] font-semibold uppercase tracking-[0.14em] text-muted-foreground\">First login</p>\n                          <p className=\"mt-1 text-sm font-semibold\">{firstLoginAt ? formatActivityTime(firstLoginAt) : hydrated.last_login ? 'Not recorded' : 'Never'}</p>\n                        </div>\n                        <div className=\"rounded-xl border bg-muted/20 p-3\">\n                          <p className=\"text-[10px] font-semibold uppercase tracking-[0.14em] text-muted-foreground\">Last login</p>\n                          <p className=\"mt-1 text-sm font-semibold\">{formatActivityTime(lastLoginAt)}</p>\n                        </div>\n                        <div className=\"rounded-xl border bg-muted/20 p-3\">\n                          <p className=\"text-[10px] font-semibold uppercase tracking-[0.14em] text-muted-foreground\">Last active</p>\n                          <p className=\"mt-1 text-sm font-semibold\">{formatActivityTime(lastActiveAt)}</p>\n                        </div>\n                        <div className=\"rounded-xl border bg-muted/20 p-3\">\n                          <p className=\"text-[10px] font-semibold uppercase tracking-[0.14em] text-muted-foreground\">Last page</p>\n                          <p className=\"mt-1 truncate text-sm font-semibold\" title={lastPage}>{lastPage}</p>\n                        </div>\n                      </div>\n\n                      <div className=\"grid grid-cols-2 gap-2 sm:grid-cols-4\">\n                        <div className=\"rounded-xl border p-3\">\n                          <LogIn className=\"h-4 w-4 text-muted-foreground\" />\n                          <p className=\"mt-2 text-[10px] font-semibold uppercase tracking-[0.12em] text-muted-foreground\">Sessions</p>\n                          <p className=\"mt-1 text-lg font-bold\">{activityData.sessionCount}</p>\n                        </div>\n                        <div className=\"rounded-xl border p-3\">\n                          <Eye className=\"h-4 w-4 text-muted-foreground\" />\n                          <p className=\"mt-2 text-[10px] font-semibold uppercase tracking-[0.12em] text-muted-foreground\">Page views</p>\n                          <p className=\"mt-1 text-lg font-bold\">{activityData.pageViewCount}</p>\n                        </div>\n                        <div className=\"rounded-xl border p-3\">\n                          <Clock3 className=\"h-4 w-4 text-muted-foreground\" />\n                          <p className=\"mt-2 text-[10px] font-semibold uppercase tracking-[0.12em] text-muted-foreground\">Tracked time</p>\n                          <p className=\"mt-1 text-lg font-bold\">{formatDuration(trackedSeconds)}</p>\n                        </div>\n                        <div className=\"rounded-xl border p-3\">\n                          <MousePointer2 className=\"h-4 w-4 text-muted-foreground\" />\n                          <p className=\"mt-2 text-[10px] font-semibold uppercase tracking-[0.12em] text-muted-foreground\">Actions</p>\n                          <p className=\"mt-1 text-lg font-bold\">{activityData.auditCount}</p>\n                        </div>\n                      </div>\n\n                      <div className=\"flex flex-wrap gap-1.5\">\n                        {([\n                          ['all', 'All'],\n                          ['session', 'Sessions'],\n                          ['page', 'Pages'],\n                          ['action', 'Actions'],\n                        ] as const).map(([value, label]) => (\n                          <Button key={value} type=\"button\" variant={activityKind === value ? 'default' : 'outline'} size=\"sm\" onClick={() => setActivityKind(value)}>\n                            {label}\n                          </Button>\n                        ))}\n                      </div>\n\n                      {activityTimeline.length === 0 ? (\n                        <div className=\"rounded-lg border bg-muted/20 p-5 text-sm text-muted-foreground\">No recorded activity in this period.</div>\n                      ) : (\n                        <div className=\"space-y-2\">\n                          {activityTimeline.slice(0, 250).map((item) => {\n                            const tenantName = item.tenantId ? tenantNameById.get(String(item.tenantId)) : null;\n                            const icon = item.kind === 'session'\n                              ? <LogIn className=\"h-4 w-4\" />\n                              : item.kind === 'page'\n                                ? <Eye className=\"h-4 w-4\" />\n                                : <MousePointer2 className=\"h-4 w-4\" />;\n                            return (\n                              <div key={item.id} className=\"rounded-xl border bg-card p-3\">\n                                <div className=\"flex items-start gap-3\">\n                                  <div className=\"mt-0.5 flex h-8 w-8 shrink-0 items-center justify-center rounded-full bg-muted text-muted-foreground\">{icon}</div>\n                                  <div className=\"min-w-0 flex-1\">\n                                    <div className=\"flex flex-wrap items-center gap-2\">\n                                      <p className=\"text-sm font-semibold\">{item.title}</p>\n                                      <Badge variant=\"outline\" className=\"text-[10px] capitalize\">{item.kind}</Badge>\n                                      {!item.success ? <Badge variant=\"destructive\" className=\"text-[10px]\">Failed</Badge> : null}\n                                    </div>\n                                    {item.detail ? <p className=\"mt-1 break-words text-xs text-muted-foreground\">{item.detail}</p> : null}\n                                    <div className=\"mt-2 flex flex-wrap items-center gap-2 text-[11px] text-muted-foreground\">\n                                      <span>{tenantName || 'Platform'}</span>\n                                      {item.duration != null ? <span>{formatDuration(item.duration)}</span> : null}\n                                      <span>{formatActivityTime(item.at)}</span>\n                                    </div>\n                                  </div>\n                                </div>\n                              </div>\n                            );\n                          })}\n                        </div>\n                      )}\n                    </>\n                  )}\n\n                  <Separator />\n                  <div>\n                    <p className=\"mb-2 text-xs font-medium text-muted-foreground\">Record drill-downs</p>\n                    <div className=\"grid grid-cols-1 sm:grid-cols-3 gap-2\">\n                      <Button variant=\"outline\" className=\"h-auto py-3 flex-col gap-1\" onClick={() => onOpenLeads(activityUser)}>\n                        <Briefcase className=\"h-4 w-4\" />\n                        <span className=\"text-xs\">Leads</span>\n                      </Button>\n                      <Button variant=\"outline\" className=\"h-auto py-3 flex-col gap-1\" onClick={() => onOpenClients(activityUser)}>\n                        <FileSpreadsheet className=\"h-4 w-4\" />\n                        <span className=\"text-xs\">Clients</span>\n                      </Button>\n                      <Button variant=\"outline\" className=\"h-auto py-3 flex-col gap-1\" onClick={() => onOpenCallLogs(activityUser)}>\n                        <Phone className=\"h-4 w-4\" />\n                        <span className=\"text-xs\">Call Logs</span>\n                      </Button>\n                    </div>\n                  </div>\n                </TabsContent>\n\n                <TabsContent value=\"security\" className=\"mt-0 space-y-4\">\n                  <div className=\"space-y-2\">\n                    <h3 className=\"text-sm font-semibold flex items-center gap-2\"><Key className=\"h-4 w-4\" /> Password</h3>\n                    {hydrated.email ? (\n                      <>\n                        <p className=\"text-xs text-muted-foreground\">Send a password-reset email.</p>\n                        <Button variant=\"outline\" onClick={() => onResetPassword(hydrated.id, hydrated.email)}>\n                          <Mail className=\"h-4 w-4 mr-2\" /> Reset Password\n                        </Button>\n                      </>\n                    ) : (\n                      <p className=\"text-xs text-muted-foreground\">This account signs in by phone, so email password reset is not available.</p>\n                    )}\n                  </div>\n\n                  <Separator />\n\n                  <div className=\"space-y-2 rounded-lg border border-destructive/30 bg-destructive/5 p-4\">\n                    <h3 className=\"text-sm font-semibold flex items-center gap-2 text-destructive\">\n                      <AlertTriangle className=\"h-4 w-4\" /> Danger Zone\n                    </h3>\n                    <p className=\"text-xs text-muted-foreground\">\n                      Permanently delete this user's account and remove all tenant memberships. This cannot be undone.\n                    </p>\n                    <Button variant=\"destructive\" size=\"sm\" onClick={() => { onDelete(hydrated.id); onOpenChange(false); }}>\n                      <Trash2 className=\"h-4 w-4 mr-2\" /> Delete User\n                    </Button>\n                  </div>\n                </TabsContent>\n              </div>\n            </Tabs>\n          )}\n        </div>\n      </SheetContent>\n    </Sheet>\n  );\n}\n"}],"route":"/admin/people","branch":"ai/objective-first-repair-10537c192b88","writes":[],"patches":[],"version":1,"approved":true,"missionId":"10537c19-2b88-4637-9b64-d2a82ec654b0","objective":"Implement and ship the approved God Mode People Activity upgrade in the existing user inspector. Replace the shallow audit-only Activity tab with accurate access/session/page/action visibility using canonical user_sessions, page_views, and comprehensive_audit_logs data. Preserve all existing identity, edit, tenancy, security, leads, clients, and call-log behavior.","sourceSha":"ff3dded211c8063fdcdb0a645633f5fe91b13987","viewports":["desktop","mobile"],"repository":"noel/KnockLaunchOS","autoProgress":true,"ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/components/admin/user-management/UserInspectorSheet.tsx"],"evaluateChecks":true,"implementation":{"files":[],"writes":[]},"openPullRequest":true,"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"10537c19-2b88-4637-9b64-d2a82ec654b0","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/components/admin/user-management/UserInspectorSheet.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":"389d9e92fd0fa25133030d360c1e8cd9e0aae369ade44254ab4bf09e7fccf284","replayCount":0,"serializedBytes":31596},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T14:03:35.577471+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:10537c19-2b88-4637-9b64-d2a82ec654b0:repository-mutation-intent:389d9e92fd0fa25133030d360c1e8cd9e0aae369ade44254ab4bf09e7fccf284:0","mission_step_id":"29665892-0e7f-4ca1-8e93-d9112e4a466e","command_center_event_id":"10537c19-2b88-4637-9b64-d2a82ec654b0"},{"id":"e320fb31-c774-4e9e-98c0-3b5fceca265f","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in pull request.","nextAction":{"lane":"cc-execution","action":"reconcile_pull_request","reason":"durable_state:pull_request","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":null,\"activeStep\":null,\"nextStep\":null,\"nextSafeAction\":{\"action\":\"reconcile_pull_request\",\"lane\":\"cc-execution\",\"reason\":\"durable_state:pull_request\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_pull_request\",\"recoveryOwner\":\"cc-execution\"},\"acceptance\":{\"total\":0,\"verified\":0,\"pending\":0,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":null,\"deadlineAt\":null,\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":null,\"sourceSha\":null,\"deploymentId\":null}"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-10-03T15:26:27.190399+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:94c8c660-c3e6-44f1-b40e-cfed722fbd11:owner-progress-heartbeat:119402745","mission_step_id":"bd43e8ef-8314-43d0-a42e-f53bc2883459","command_center_event_id":"94c8c660-c3e6-44f1-b40e-cfed722fbd11"},{"id":"e32129fa-ad8b-4b93-abfb-dfa2e728c2a7","source":"cc-execution","status":"waiting","payload":{"sourceTargets":["src/lib/tenants/tenantMediaBranding.ts","src/lib/tenantBackground.ts"],"continuationObjective":"Continue the existing image-settings authority mission. Make Profile & Settings canonical media the sole runtime authority for workspace background/loading/logo/hero, with existing legacy imagery used only as migration/adoption input and not as parallel rendering authority."},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T15:14:48.267525+00:00","proof_gate":"mission_continuation_scope_persisted","source_sha":null,"external_id":null,"receipt_type":"mission_continuation_scope_updated","idempotency_key":"mission:9b1cee92-eaac-417e-938c-ae4840a84e13:mission_continuation_scope_updated:mission_continuation_scope_persisted:waiting","mission_step_id":"26d6c3d3-4823-4f5e-b22b-15766299812a","command_center_event_id":"9b1cee92-eaac-417e-938c-ae4840a84e13"},{"id":"e32132a3-e97c-452a-95b0-899c56a2e8c6","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/godmode-tenant-authority-runtime-20260819","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":2053,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":411,"terminal":false,"missionId":"e962cf1b-cb39-429c-9300-a839af8bdaa7","operation":"automatic_mission_resume","proofGate":"canonical_release_dispatched","sourceSha":"c99c3ca6f4d3dbfac95dc6026d9987db5702e8b8","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"e962cf1b-cb39-429c-9300-a839af8bdaa7"},"performance":null,"deploymentId":"forgejo-main-c99c3ca6f4d3","workflowRunId":1413,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":true,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["canvassing-doors"]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1766,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-19T04:39:57.415804+00:00","proof_gate":"canonical_release_dispatched","source_sha":null,"external_id":"411","receipt_type":"automatic_mission_resume","idempotency_key":"mission:e962cf1b-cb39-429c-9300-a839af8bdaa7:automatic-mission-resume:411:canonical_release_dispatched","mission_step_id":"dd5298b7-3cb8-4bb9-9da0-9bc4277b343b","command_center_event_id":"e962cf1b-cb39-429c-9300-a839af8bdaa7"},{"id":"e3228dd2-33d1-4287-a0f8-675958fa4b85","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-e1d57e8bfd8c","prNumber":3130,"nextAction":null,"mergeCommitSha":"b1155b4f6a85def1ed7fcf4ca464a8f1fe78bc13","branchDeletedAfterMerge":false,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-18T17:31:01.041016+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"b1155b4f6a85def1ed7fcf4ca464a8f1fe78bc13","external_id":"3130","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:e1d57e8b-fd8c-46e8-bbc6-17ddd74c0b65:merged-pr:3130:b1155b4f6a85def1ed7fcf4ca464a8f1fe78bc13","mission_step_id":"77674d12-2ddd-436d-8ed6-c188a155aa81","command_center_event_id":"e1d57e8b-fd8c-46e8-bbc6-17ddd74c0b65"},{"id":"e322ca38-ca76-45ff-9e74-96e2e9a6181e","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-3a8ba09f79eb","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.196-replay-fenced-mission-runtime","prNumber":null,"terminal":false,"missionId":"3a8ba09f-79eb-4cb7-bd86-b39e2df205ec","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":6,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":268,"providerAuthMs":0,"ledgerPrepareMs":268,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":268,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":268,"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":"3a8ba09f-79eb-4cb7-bd86-b39e2df205ec"},"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":4810,"likelyAffectedFiles":["workers/cc-execution/src/mission-ledger.js","workers/cc-execution/src/index-mission-control.js","config/control-plane-capabilities.json"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-20T21:15:20.018521+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:3a8ba09f-79eb-4cb7-bd86-b39e2df205ec:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"058151f1-582b-4081-b4e5-5bf9eac8e33b","command_center_event_id":"3a8ba09f-79eb-4cb7-bd86-b39e2df205ec"},{"id":"e32468b8-25bc-40b5-bf02-d71e5207f824","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-cbcc769c6cbf","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":10540,"releaseCount":0,"toolCallCount":5,"repeatedCallCount":0,"executorlessWaitMs":28171,"firstUsefulResultAt":"2026-10-04T10:12:07.623Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.90-owner-contract-autocompile","prNumber":4729,"terminal":false,"missionId":"cbcc769c-6cbf-46b4-80d3-cad3b862e268","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4378,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":747,"missionSetupMs":254,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":254,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":254,"repositoryMutationMs":3631,"repositoryProviderMs":3631,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2137,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":254,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1494},"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":"cbcc769c-6cbf-46b4-80d3-cad3b862e268"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3735,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T10:12:42.534734+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"4729","receipt_type":"execute_mission","idempotency_key":"mission:cbcc769c-6cbf-46b4-80d3-cad3b862e268:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"8a143392-c889-43d4-bf23-a91465fe1add","command_center_event_id":"cbcc769c-6cbf-46b4-80d3-cad3b862e268"},{"id":"e324f215-aef2-4b66-a441-a1f18e437a94","source":"cc-execution","status":"authorized","payload":{"paths":["config/control-plane-capabilities.json","workers/cc-execution/scripts/cloudflare-credential-repair.mjs","workers/cc-execution/test/cloudflare-credential-repair.test.js","workers/cc-execution/test/release-orchestration-invariants.test.js"],"reason":"Owner explicitly authorized unfreezing the control plane to complete canonical Cloudflare credential management and Visual Witness repair, then refreezing. Failed run 5319 proved Cloudflare's account-owned token catalog omits Containers; this corrective generation handles that provider compatibility gap without new owner credentials.","baseSha":"a32029f016462f56ebe7972127262d9027be9bb4","issuedAt":1788556341363,"expiresAt":1788556521363,"missionId":"1f4343b6-833e-42d5-9d6e-03736cca5e02","authorizationId":"1b6e5df1-d28b-4298-998f-105f612e6c7a","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T21:12:21.89273+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"a32029f016462f56ebe7972127262d9027be9bb4","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:1b6e5df1-d28b-4298-998f-105f612e6c7a","mission_step_id":"1cf49e0e-af3f-4009-b695-af6718a00da7","command_center_event_id":"1f4343b6-833e-42d5-9d6e-03736cca5e02"},{"id":"e3263e7d-7326-478a-aa85-65f5f214ba5d","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/tenant-modes-experience-primitive-20260911","reason":"orphaned_branch_recovery_requires_exact_applied_state:ai/tenant-modes-experience-primitive-20260911","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.118-architecture-exclusivity","prNumber":null,"terminal":false,"missionId":"02d5d119-88a2-458f-b6a0-5b60326bc5b7","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":14575,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":905,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":395,"ledgerReconcileMs":0,"lineageReconcileMs":510,"resolvePreflightMs":905,"repositoryMutationMs":14575,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":395,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"02d5d119-88a2-458f-b6a0-5b60326bc5b7"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1587,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T03:29:00.531828+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:02d5d119-88a2-458f-b6a0-5b60326bc5b7:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"f0ddeec2-30e8-48b3-8da4-8248bcb338cd","command_center_event_id":"02d5d119-88a2-458f-b6a0-5b60326bc5b7"},{"id":"e32806eb-dd6b-4d8c-abd6-2ef32e9a24d6","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-505fd36ee309","reason":"existing_branch_without_open_pr_branch_diverged_or_unproven:ai/objective-first-repair-505fd36ee309","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.118-architecture-exclusivity","prNumber":null,"terminal":false,"missionId":"505fd36e-e309-43d7-8905-9d3fffad6920","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":8474,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":263,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":263,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":263,"repositoryMutationMs":8474,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":263,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"505fd36e-e309-43d7-8905-9d3fffad6920"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1580,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T20:09:16.828818+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:505fd36e-e309-43d7-8905-9d3fffad6920:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"2df6ebfe-0466-4dd9-99d4-40d0f3f32e93","command_center_event_id":"505fd36e-e309-43d7-8905-9d3fffad6920"},{"id":"e32954ef-085a-4d45-8c33-06b63a4176f6","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"6eabac9a014a19b9494cb31e29452b7089578f14","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"6eabac9a014a19b9494cb31e29452b7089578f14","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false},"releaseTargetStates":{"frontend":"pending"},"requestContractHash":"2d7303081b8aaa974601d4b4f26c9307a4755c8270cbbaa231a34275442fc9da","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/5690","runId":5690,"status":"running","sourceSha":"6eabac9a014a19b9494cb31e29452b7089578f14","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"frontend":"pending"},"targetJobCount":7,"observedTargetStates":{"frontend":"pending"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-06T00:38:02.842642+00:00","proof_gate":"canonical_release_pending","source_sha":"6eabac9a014a19b9494cb31e29452b7089578f14","external_id":null,"receipt_type":"canonical_release_status","idempotency_key":"mission:319f0b91-fbcb-4452-8a73-85dda5ec5c35:forgejo-release-status:6eabac9a014a19b9494cb31e29452b7089578f14:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"7cce2a30-07f0-443f-afc1-62aac89e771e","command_center_event_id":"319f0b91-fbcb-4452-8a73-85dda5ec5c35"},{"id":"e329b2ef-9f95-4bf8-b623-01e0b39d671b","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[{"path":"src/components/assets/TenantAssetEngine.tsx","content":"import React from 'react';\nimport { AlertTriangle, CheckCircle2, Gamepad2, Image, RefreshCw, RotateCcw, Trash2, Upload, WandSparkles, ZoomIn, ZoomOut } from 'lucide-react';\nimport { useMultiTenant } from '@/contexts/MultiTenantContext';\nimport { supabase } from '@/integrations/supabase/client';\n\ntype Asset = {\n  id: string;\n  tenant_id?: string;\n  collection_key?: string | null;\n  display_name?: string | null;\n  title?: string | null;\n  mime_type?: string | null;\n  preview_url?: string | null;\n  stable_url?: string | null;\n  size_bytes?: number | null;\n  metadata?: Record<string, any> | null;\n};\n\ntype Category = {\n  key: string;\n  label: string;\n  description: string;\n  accept: string;\n};\n\nexport const TENANT_ASSET_ENGINE_CATEGORIES: Category[] = [\n  { key: 'asset-logo', label: 'Logo', description: 'Primary approved brand mark.', accept: 'image/*' },\n  { key: 'asset-background', label: 'Background', description: 'Workspace, website, proposal and creative backgrounds.', accept: 'image/*,video/*' },\n  { key: 'asset-hero', label: 'Hero image / video', description: 'Primary campaign and website hero media.', accept: 'image/*,video/*' },\n  { key: 'asset-loader', label: 'Loader', description: 'Tenant loading identity and motion.', accept: 'image/*,video/*' },\n  { key: 'asset-people', label: 'People / character poses', description: 'Owner, staff and approved character references.', accept: 'image/*' },\n  { key: 'asset-vehicle', label: 'Vehicle / truck / trailer', description: 'Branded vehicles and mobile setups.', accept: 'image/*,video/*' },\n  { key: 'asset-product', label: 'Product shots', description: 'Products, cups, packaging and service visuals.', accept: 'image/*,video/*' },\n  { key: 'asset-product-art', label: 'Flavor / product art', description: 'Approved flavor, menu and product artwork.', accept: 'image/*' },\n  { key: 'asset-mascot', label: 'Pets / mascots', description: 'Mascots, pets and branded characters.', accept: 'image/*,video/*' },\n  { key: 'asset-partner', label: 'Partners / vendors', description: 'Partner logos, people and booth assets.', accept: 'image/*' },\n  { key: 'asset-environment', label: 'Environment scenes', description: 'Places and environments approved for creative use.', accept: 'image/*,video/*' },\n  { key: 'asset-crowd', label: 'Crowd / extras', description: 'Approved extras and crowd reference imagery.', accept: 'image/*' },\n  { key: 'asset-signage', label: 'Signs / slogans', description: 'Signs, slogans and approved brand copy graphics.', accept: 'image/*' },\n  { key: 'asset-ui', label: 'Icons / UI elements', description: 'Tenant UI art and reusable decorative assets.', accept: 'image/*' },\n  { key: 'asset-misc', label: 'Miscellaneous', description: 'Other approved reusable tenant assets.', accept: 'image/*,video/*,application/pdf' },\n];\n\nfunction mediaUrl(asset?: Asset | null) {\n  return String(asset?.preview_url || asset?.stable_url || '').trim();\n}\n\nfunction assetTitle(asset?: Asset | null) {\n  return String(asset?.display_name || asset?.title || asset?.metadata?.original_filename || 'Untitled asset');\n}\n\nfunction isBigPapis(slug: string) {\n  return ['big-papis', 'big-papis-coquito-iceys'].includes(slug);\n}\n\nfunction inferCategory(asset: Asset) {\n  const explicit = String(asset.collection_key || '').trim().toLowerCase();\n  if (explicit.startsWith('asset-')) return explicit;\n  const hint = [explicit, assetTitle(asset), asset.metadata?.media_category_key, asset.metadata?.media_subject_key]\n    .map((value) => String(value || '').toLowerCase()).join(' ');\n  if (/logo|brand-mark/.test(hint)) return 'asset-logo';\n  if (/loader|loading/.test(hint)) return 'asset-loader';\n  if (/hero/.test(hint)) return 'asset-hero';\n  if (/background|wallpaper/.test(hint)) return 'asset-background';\n  if (/truck|trailer|vehicle|van/.test(hint)) return 'asset-vehicle';\n  if (/santino|mascot|\\bdog\\b|\\bpet\\b/.test(hint)) return 'asset-mascot';\n  if (/pizza boys|partner|vendor/.test(hint)) return 'asset-partner';\n  if (/flavor|menu art|product art/.test(hint)) return 'asset-product-art';\n  if (/cup|product|icey|slush/.test(hint)) return 'asset-product';\n  if (/environment|scene|beach|waterfront|festival|venue/.test(hint)) return 'asset-environment';\n  if (/crowd|extras/.test(hint)) return 'asset-crowd';\n  if (/sign|slogan|tagline/.test(hint)) return 'asset-signage';\n  if (/icon|ui|interface/.test(hint)) return 'asset-ui';\n  if (/character|person|people|owner|portrait|headshot|pose/.test(hint)) return 'asset-people';\n  return 'asset-misc';\n}\nfunction formatBytes(value?: number | null) {\n  const size = Number(value || 0);\n  if (!size) return '';\n  if (size < 1024 * 1024) return Math.round(size / 1024) + ' KB';\n  return (size / 1024 / 1024).toFixed(1) + ' MB';\n}\n\nasync function getDimensions(file: File) {\n  return await new Promise<{ width?: number; height?: number; duration?: number }>((resolve) => {\n    if (file.type.startsWith('image/')) {\n      const image = document.createElement('img');\n      image.onload = () => {\n        resolve({ width: image.naturalWidth, height: image.naturalHeight });\n        URL.revokeObjectURL(image.src);\n      };\n      image.onerror = () => resolve({});\n      image.src = URL.createObjectURL(file);\n      return;\n    }\n    if (file.type.startsWith('video/')) {\n      const video = document.createElement('video');\n      video.preload = 'metadata';\n      video.onloadedmetadata = () => {\n        resolve({ width: video.videoWidth, height: video.videoHeight, duration: video.duration });\n        URL.revokeObjectURL(video.src);\n      };\n      video.onerror = () => resolve({});\n      video.src = URL.createObjectURL(file);\n      return;\n    }\n    resolve({});\n  });\n}\nfunction AssetThumb({ asset }: { asset: Asset }) {\n  const src = mediaUrl(asset);\n  const mime = String(asset.mime_type || '');\n  if (!src) {\n    return <div className=\"grid aspect-[4/3] place-items-center rounded-xl border border-dashed border-white/15 bg-white/[.03] text-xs text-white/35\">No preview</div>;\n  }\n  if (mime.startsWith('video/')) {\n    return <video src={src} muted playsInline controls className=\"aspect-[4/3] w-full rounded-xl bg-black/40 object-cover\" />;\n  }\n  if (mime.startsWith('image/')) {\n    return <img src={src} alt={assetTitle(asset)} className=\"aspect-[4/3] w-full rounded-xl bg-black/30 object-cover\" />;\n  }\n  return <a href={src} target=\"_blank\" rel=\"noreferrer\" className=\"grid aspect-[4/3] place-items-center rounded-xl border border-white/10 text-xs font-bold text-sky-300\">Open file</a>;\n}\n\nexport default function TenantAssetEngine({ embedded = false }: { embedded?: boolean }) {\n  const { activeTenant } = useMultiTenant();\n  const tenantId = String(activeTenant?.id || '').trim();\n  const tenantSlug = String(activeTenant?.company_slug || '').trim().toLowerCase();\n  const tenantName = String(activeTenant?.company_dba_name || activeTenant?.company_legal_name || activeTenant?.name || 'Tenant');\n\n  const [assets, setAssets] = React.useState<Asset[]>([]);\n  const [loading, setLoading] = React.useState(false);\n  const [busy, setBusy] = React.useState('');\n  const [error, setError] = React.useState('');\n  const [notice, setNotice] = React.useState('');\n  const [selectedCategory, setSelectedCategory] = React.useState(TENANT_ASSET_ENGINE_CATEGORIES[0].key);\n  const [difficulty, setDifficulty] = React.useState<'easy' | 'medium' | 'hard'>('easy');\n  const [crowd, setCrowd] = React.useState(70);\n  const [zoom, setZoom] = React.useState(100);\n  const [seed, setSeed] = React.useState(1);\n  const [season, setSeason] = React.useState('default');\n  const [generatingScene, setGeneratingScene] = React.useState(false);\n\n  const refresh = React.useCallback(async () => {\n    if (!tenantId) return;\n    setLoading(true);\n    setError('');\n    try {\n      const { data, error: invokeError } = await supabase.functions.invoke('tenant-media-library', {\n        body: { action: 'list', tenantId },\n      });\n      if (invokeError || !data?.ok) throw new Error(data?.error || 'Could not load tenant assets.');\n      const rows = (Array.isArray(data.assets) ? data.assets : []) as Asset[];\n      setAssets(rows.filter((asset) => /^(image|video)\\//.test(String(asset.mime_type || '')) || String(asset.mime_type || '') === 'application/pdf'));\n    } catch (caught: any) {\n      setError(caught?.message || 'Could not load tenant assets.');\n    } finally {\n      setLoading(false);\n    }\n  }, [tenantId]);\n\n  React.useEffect(() => {\n    void refresh();\n  }, [refresh]);\n  const upload = async (category: Category, file: File | null, extraTags: string[] = []) => {\n    if (!tenantId || !file || busy) return;\n    setBusy(category.key);\n    setError('');\n    setNotice('');\n    try {\n      const dimensions = await getDimensions(file);\n      const { data: created, error: createError } = await supabase.functions.invoke('tenant-media-library', {\n        body: {\n          action: 'create_upload',\n          tenantId,\n          name: file.name,\n          type: file.type || 'application/octet-stream',\n          size: file.size,\n          collection: category.key,\n          title: file.name,\n          published: false,\n          assetEngineTags: [category.key, ...extraTags],\n          ...dimensions,\n        },\n      });\n      if (createError || !created?.ok || !created?.asset?.id || !created?.bucket || !created?.path || !created?.token) {\n        throw new Error(created?.error || 'Could not prepare upload.');\n      }\n      const stored = await supabase.storage.from(String(created.bucket)).uploadToSignedUrl(\n        String(created.path),\n        String(created.token),\n        file,\n        { contentType: file.type || undefined },\n      );\n      if (stored.error) throw stored.error;\n      const { data: finalized, error: finalizeError } = await supabase.functions.invoke('tenant-media-library', {\n        body: { action: 'finalize_upload', tenantId, assetId: created.asset.id },\n      });\n      if (finalizeError || !finalized?.ok) throw new Error(finalized?.error || 'Could not finalize upload.');\n      setNotice(category.label + ' uploaded.');\n      await refresh();\n    } catch (caught: any) {\n      setError(caught?.message || 'Upload failed.');\n    } finally {\n      setBusy('');\n    }\n  };\n\n  const change = async (asset: Asset, patch: Record<string, unknown>) => {\n    if (!tenantId || busy) return;\n    setBusy(asset.id);\n    setError('');\n    setNotice('');\n    try {\n      const { data, error: invokeError } = await supabase.functions.invoke('tenant-media-library', {\n        body: { action: 'update', tenantId, assetId: asset.id, ...patch },\n      });\n      if (invokeError || !data?.ok) throw new Error(data?.error || 'Could not update asset.');\n      setNotice('Asset updated.');\n      await refresh();\n    } catch (caught: any) {\n      setError(caught?.message || 'Could not update asset.');\n    } finally {\n      setBusy('');\n    }\n  };\n  const remove = async (asset: Asset) => {\n    if (!tenantId || busy) return;\n    if (!window.confirm('Archive this tenant asset?')) return;\n    setBusy(asset.id);\n    setError('');\n    try {\n      const { data, error: invokeError } = await supabase.functions.invoke('tenant-media-library', {\n        body: { action: 'delete', tenantId, assetId: asset.id },\n      });\n      if (invokeError || !data?.ok) throw new Error(data?.error || 'Could not archive asset.');\n      setNotice('Asset archived.');\n      await refresh();\n    } catch (caught: any) {\n      setError(caught?.message || 'Could not archive asset.');\n    } finally {\n      setBusy('');\n    }\n  };\n\n  const grouped = React.useMemo(\n    () => new Map(TENANT_ASSET_ENGINE_CATEGORIES.map((category) => [\n      category.key,\n      assets.filter((asset) => inferCategory(asset) === category.key),\n    ])),\n    [assets],\n  );\n  const category = TENANT_ASSET_ENGINE_CATEGORIES.find((item) => item.key === selectedCategory) || TENANT_ASSET_ENGINE_CATEGORIES[0];\n  const selectedAssets = grouped.get(selectedCategory) || [];\n  const bigPapiAsset = (grouped.get('asset-people') || [])[0];\n  const truckAsset = (grouped.get('asset-vehicle') || [])[0];\n  const environmentAssets = grouped.get('asset-environment') || [];\n  const backgroundAssets = grouped.get('asset-background') || [];\n  const backgroundAsset = environmentAssets[Number(season) || 0] || environmentAssets[0] || backgroundAssets[0];\n  const productAsset = (grouped.get('asset-product') || [])[0];\n  const mascotAsset = (grouped.get('asset-mascot') || [])[0];\n  const partnerAsset = (grouped.get('asset-partner') || [])[0];\n  const peopleAssets = grouped.get('asset-people') || [];\n  const decoys = peopleAssets.slice(1, 5);\n  const renderGame = isBigPapis(tenantSlug);\n  const requiredGameMissing = [\n    ['Big Papi', bigPapiAsset],\n    ['Truck', truckAsset],\n    ['Background', backgroundAsset],\n  ].filter(([, asset]) => !asset);\n\n  const generateScene = async () => {\n    if (!tenantId || generatingScene || requiredGameMissing.length) return;\n    setGeneratingScene(true);\n    setError('');\n    setNotice('');\n    try {\n      const roleAssets = [\n        ['big-papi', bigPapiAsset],\n        ['truck', truckAsset],\n        ['environment', backgroundAsset],\n        ['product', productAsset],\n        ['mascot', mascotAsset],\n        ['partner', partnerAsset],\n      ].filter((entry): entry is [string, Asset] => Boolean(entry[1]?.id));\n      const { data, error: invokeError } = await supabase.functions.invoke('tenant-photo-studio', {\n        body: {\n          action: 'generate_asset_scene',\n          tenantId,\n          sceneKind: 'where-big-papi',\n          assetIds: roleAssets.map(([, asset]) => asset.id),\n          roles: roleAssets.map(([role, asset]) => ({ role, assetId: asset.id })),\n          crowdDensity: crowd,\n          difficulty,\n          season: backgroundAsset ? assetTitle(backgroundAsset) : season,\n          aspectRatio: 'landscape',\n          quality: 'high',\n        },\n      });\n      if (invokeError || !data?.ok || !data?.image?.dataUrl) throw new Error(data?.error || 'Could not generate the hidden-object scene.');\n      const generated = await fetch(String(data.image.dataUrl));\n      const blob = await generated.blob();\n      if (!blob.size || !blob.type.startsWith('image/')) throw new Error('Generated scene was not a usable image.');\n      const file = new File([blob], `where-big-papi-${Date.now()}.png`, { type: 'image/png' });\n      const sceneCategory = TENANT_ASSET_ENGINE_CATEGORIES.find((item) => item.key === 'asset-environment') || TENANT_ASSET_ENGINE_CATEGORIES[0];\n      await upload(sceneCategory, file, ['generated-scene', 'where-big-papi', `difficulty:${difficulty}`]);\n      setSeason('0');\n      setSeed((value) => value + 1);\n    } catch (caught: any) {\n      setError(caught?.message || 'Could not generate the hidden-object scene.');\n    } finally {\n      setGeneratingScene(false);\n    }\n  };\n\n  const positions = React.useMemo(() => {\n    const base = (n: number) => (Math.sin(seed * 97 + n * 41) + 1) / 2;\n    const papi = { left: 12 + base(1) * 66, top: 20 + base(2) * 58 };\n    let truck = { left: 8 + base(3) * 70, top: 18 + base(4) * 54 };\n    if (Math.hypot(papi.left - truck.left, papi.top - truck.top) < 32) {\n      truck = { left: ((papi.left + 48) % 78) + 5, top: ((papi.top + 36) % 58) + 16 };\n    }\n    return { papi, truck };\n  }, [seed]);\n  return (\n    <section data-tenant-asset-engine=\"true\" data-tenant-id={tenantId} className={embedded ? 'w-full' : 'min-h-full w-full bg-[#050505] p-3 text-white sm:p-5'}>\n      <div className={embedded ? 'w-full rounded-2xl border border-border/80 bg-card p-4' : 'mx-auto w-full max-w-[1680px] rounded-3xl border border-amber-300/25 bg-[#090909] p-4 text-white shadow-2xl'}>\n        <header className=\"flex flex-wrap items-center justify-between gap-3 border-b border-white/10 pb-4\">\n          <div>\n            <div className=\"text-[10px] font-black uppercase tracking-[.2em] text-amber-300\">Tenant Creative Primitive</div>\n            <h2 className=\"mt-1 text-2xl font-black\">{tenantName} Asset Engine</h2>\n            <p className=\"mt-1 text-sm text-white/50\">One tenant-scoped asset source for proposals, flyers, email, websites, documents and creative tools.</p>\n          </div>\n          <button type=\"button\" onClick={() => void refresh()} disabled={loading} className=\"inline-flex min-h-10 items-center gap-2 rounded-xl border border-white/10 px-4 text-xs font-black\">\n            <RefreshCw className={'h-4 w-4 ' + (loading ? 'animate-spin' : '')} /> Refresh\n          </button>\n        </header>\n        {error ? <div className=\"mt-3 rounded-xl border border-red-400/25 bg-red-500/10 px-4 py-3 text-sm font-bold text-red-100\">{error}</div> : null}\n        {notice ? <div className=\"mt-3 rounded-xl border border-emerald-400/25 bg-emerald-500/10 px-4 py-3 text-sm font-bold text-emerald-100\">{notice}</div> : null}\n\n        <div className=\"mt-4 grid gap-4 xl:grid-cols-[360px_minmax(0,1fr)]\">\n          <aside className=\"min-w-0 rounded-2xl border border-white/10 bg-black/30 p-3\">\n            <div className=\"mb-3 flex items-center gap-2 text-sm font-black\"><Image className=\"h-4 w-4 text-amber-300\" /> Tenant Asset Library</div>\n            <div className=\"grid grid-cols-2 gap-2\">\n              {TENANT_ASSET_ENGINE_CATEGORIES.map((item) => {\n                const count = (grouped.get(item.key) || []).length;\n                const selected = selectedCategory === item.key;\n                return (\n                  <button key={item.key} type=\"button\" onClick={() => setSelectedCategory(item.key)} className={'rounded-xl border p-3 text-left transition ' + (selected ? 'border-amber-300/60 bg-amber-300/10' : 'border-white/10 bg-white/[.03] hover:bg-white/[.06]')}>\n                    <div className=\"text-xs font-black\">{item.label}</div>\n                    <div className=\"mt-1 text-[10px] text-white/40\">{count ? count + ' file' + (count === 1 ? '' : 's') : 'Missing · upload'}</div>\n                  </button>\n                );\n              })}\n            </div>\n          </aside>\n\n          <main className=\"min-w-0 rounded-2xl border border-white/10 bg-black/25 p-4\">\n            <div className=\"flex flex-wrap items-start justify-between gap-3\">\n              <div><h3 className=\"text-lg font-black\">{category.label}</h3><p className=\"mt-1 text-sm text-white/45\">{category.description}</p></div>\n              <label className=\"inline-flex min-h-10 cursor-pointer items-center gap-2 rounded-xl bg-amber-300 px-4 text-xs font-black text-black\">\n                <Upload className=\"h-4 w-4\" />{busy === category.key ? 'Uploading…' : 'Upload'}\n                <input type=\"file\" className=\"hidden\" accept={category.accept} disabled={Boolean(busy)} onChange={(event) => {\n                  const file = event.currentTarget.files?.[0] || null;\n                  event.currentTarget.value = '';\n                  void upload(category, file);\n                }} />\n              </label>\n            </div>\n            <div className=\"mt-4 grid gap-3 sm:grid-cols-2 lg:grid-cols-3\">\n              {selectedAssets.map((asset, index) => (\n                <article key={asset.id} className=\"rounded-2xl border border-white/10 bg-white/[.035] p-3\">\n                  <AssetThumb asset={asset} />\n                  <input defaultValue={assetTitle(asset)} onBlur={(event) => {\n                    const value = event.currentTarget.value.trim();\n                    if (value && value !== assetTitle(asset)) void change(asset, { title: value });\n                  }} className=\"mt-3 h-10 w-full rounded-lg border border-white/10 bg-black/30 px-3 text-xs font-bold outline-none\" />\n                  <div className=\"mt-2 flex items-center justify-between gap-2 text-[10px] text-white/35\">\n                    <span>{formatBytes(asset.size_bytes)}</span>\n                    <span>{asset.metadata?.width && asset.metadata?.height ? asset.metadata.width + '×' + asset.metadata.height : ''}</span>\n                  </div>\n                  <div className=\"mt-3 grid grid-cols-[1fr_auto] gap-2\">\n                    <select value={inferCategory(asset)} onChange={(event) => void change(asset, { collection: event.currentTarget.value })} className=\"min-w-0 rounded-lg border border-white/10 bg-black/40 px-2 py-2 text-xs\">\n                      {TENANT_ASSET_ENGINE_CATEGORIES.map((item) => <option key={item.key} value={item.key}>{item.label}</option>)}\n                    </select>\n                    <button type=\"button\" onClick={() => void remove(asset)} className=\"grid h-9 w-9 place-items-center rounded-lg border border-white/10 text-white/50 hover:text-red-300\"><Trash2 className=\"h-4 w-4\" /></button>\n                  </div>\n                  <button type=\"button\" onClick={() => void change(asset, { assetEngineDefault: true, assetEngineOrder: index })} className=\"mt-2 w-full rounded-lg border border-white/10 px-3 py-2 text-[10px] font-black text-white/60\">Set as default</button>\n                </article>\n              ))}\n              {!selectedAssets.length ? (\n                <div className=\"col-span-full grid min-h-44 place-items-center rounded-2xl border border-dashed border-white/10 text-center\">\n                  <div><AlertTriangle className=\"mx-auto h-6 w-6 text-amber-300\" /><div className=\"mt-2 text-sm font-black\">No {category.label.toLowerCase()} yet</div><div className=\"mt-1 text-xs text-white/35\">Upload the real tenant asset. KnockLaunch will not invent one.</div></div>\n                </div>\n              ) : null}\n            </div>\n          </main>\n        </div>\n\n        {renderGame ? (\n          <section data-big-papis-asset-game=\"true\" className=\"mt-4 rounded-2xl border border-amber-300/25 bg-black/40 p-3 sm:p-4\">\n            <div className=\"flex flex-wrap items-center justify-between gap-3\">\n              <div><div className=\"flex items-center gap-2 text-xs font-black uppercase tracking-[.16em] text-amber-300\"><Gamepad2 className=\"h-4 w-4\" /> Where’s Big Papi?</div><h3 className=\"mt-1 text-xl font-black\">Scene Composer + Live Game Preview</h3></div>\n              <button type=\"button\" onClick={() => void generateScene()} disabled={generatingScene || Boolean(requiredGameMissing.length)} className=\"inline-flex min-h-10 items-center gap-2 rounded-xl bg-amber-300 px-4 text-xs font-black text-black disabled:cursor-not-allowed disabled:opacity-45\"><WandSparkles className={'h-4 w-4 ' + (generatingScene ? 'animate-pulse' : '')} /> {generatingScene ? 'Generating with tenant assets…' : 'Generate scene'}</button>\n            </div>\n            {requiredGameMissing.length ? <div className=\"mt-3 rounded-xl border border-amber-300/20 bg-amber-300/10 p-3 text-xs font-bold text-amber-100\">Missing real tenant assets: {requiredGameMissing.map(([name]) => name).join(', ')}. Upload them above before publishing the game.</div> : null}\n            <div className=\"mt-4 grid gap-4 xl:grid-cols-[320px_minmax(0,1fr)]\">\n              <div className=\"space-y-3 rounded-2xl border border-white/10 bg-[#0c0c0c] p-3\">\n                <label className=\"block\"><span className=\"text-[10px] font-black uppercase text-white/45\">Crowd density</span><input type=\"range\" min=\"20\" max=\"100\" value={crowd} onChange={(event) => setCrowd(Number(event.currentTarget.value))} className=\"mt-2 w-full\" /></label>\n                <div><div className=\"text-[10px] font-black uppercase text-white/45\">Difficulty</div><div className=\"mt-2 grid grid-cols-3 gap-2\">{(['easy', 'medium', 'hard'] as const).map((item) => <button key={item} type=\"button\" onClick={() => setDifficulty(item)} className={'rounded-lg border px-2 py-2 text-xs font-black uppercase ' + (difficulty === item ? 'border-amber-300 bg-amber-300 text-black' : 'border-white/10')}>{item}</button>)}</div></div>\n                <label className=\"block\"><span className=\"text-[10px] font-black uppercase text-white/45\">Scene / season</span><select value={season} onChange={(event) => setSeason(event.currentTarget.value)} className=\"mt-2 w-full rounded-lg border border-white/10 bg-black/50 px-3 py-2 text-xs\">{environmentAssets.length ? environmentAssets.map((asset, index) => <option key={asset.id} value={String(index)}>{assetTitle(asset)}</option>) : <option value=\"default\">Upload a scene</option>}</select></label>\n                <div className=\"rounded-xl border border-white/10 bg-white/[.03] p-3 text-xs text-white/55\">\n                  <div className=\"font-black text-white\">Rules enforced</div>\n                  <div className=\"mt-2 space-y-1\"><div>✓ Big Papi is not tied to the truck</div><div>✓ Minimum separation between Big Papi and truck</div><div>✓ Randomized hiding zones per scene</div><div>✓ Decoys use approved tenant people assets</div><div>✓ Safe clickable hitboxes</div><div>✓ Real tenant assets only</div></div>\n                </div>\n                <div className=\"rounded-xl border border-white/10 p-3\">\n                  <div className=\"text-[10px] font-black uppercase text-white/45\">Output variants</div>\n                  <div className=\"mt-2 grid grid-cols-2 gap-2 text-[10px] font-bold text-white/55\"><div className=\"rounded-lg border border-white/10 p-2\">Email Campaign</div><div className=\"rounded-lg border border-white/10 p-2\">Flyer / Print</div><div className=\"rounded-lg border border-white/10 p-2\">Proposal Deck</div><div className=\"rounded-lg border border-emerald-400/25 bg-emerald-400/10 p-2 text-emerald-200\">Website Game · wired</div></div>\n                </div>\n              </div>\n              <div className=\"min-w-0 rounded-2xl border border-white/10 bg-[#111] p-2\">\n                <div className=\"mb-2 flex flex-wrap items-center gap-2 rounded-xl border border-white/10 bg-black/70 p-2\">\n                  <div className=\"mr-auto font-black text-amber-300\">WHERE’S BIG PAPI?</div>\n                  <div className=\"rounded-lg border border-white/10 px-3 py-1.5 text-xs font-black\">TIME 00:00</div>\n                  <div className=\"rounded-lg border border-white/10 px-3 py-1.5 text-xs font-black\">FOUND 0/8</div>\n                  <div className=\"rounded-lg border border-white/10 px-3 py-1.5 text-[10px] font-black uppercase\">{difficulty}</div>\n                </div>\n                <div className=\"overflow-auto rounded-xl border border-white/10 bg-[#070707]\">\n                  <div className=\"relative min-h-[420px] min-w-[720px] overflow-hidden bg-gradient-to-b from-sky-800/35 to-amber-700/20\" style={{ transform: 'scale(' + zoom / 100 + ')', transformOrigin: 'center' }}>\n                    {backgroundAsset && mediaUrl(backgroundAsset) ? <img src={mediaUrl(backgroundAsset)} alt=\"\" className=\"absolute inset-0 h-full w-full object-cover opacity-70\" /> : <div className=\"absolute inset-0 grid place-items-center text-sm font-black text-white/25\">Upload an environment scene</div>}\n                    <div className=\"absolute inset-0 bg-black/10\" style={{ opacity: Math.max(.05, (crowd - 20) / 180) }} />\n                    {truckAsset && mediaUrl(truckAsset) ? <button type=\"button\" aria-label=\"Big Papi truck target\" className=\"absolute z-10 h-24 w-32 overflow-hidden rounded-xl border border-white/15 bg-black/20\" style={{ left: positions.truck.left + '%', top: positions.truck.top + '%', transform: 'translate(-50%,-50%)' }}><img src={mediaUrl(truckAsset)} alt=\"Big Papi truck\" className=\"h-full w-full object-contain\" /></button> : null}\n                    {decoys.map((asset, index) => <img key={asset.id} src={mediaUrl(asset)} alt=\"\" className=\"absolute z-10 h-16 w-14 object-contain opacity-90\" style={{ left: (20 + index * 17) + '%', top: (34 + ((index * 19) % 42)) + '%' }} />)}\n                    {bigPapiAsset && mediaUrl(bigPapiAsset) ? <button type=\"button\" aria-label=\"Big Papi target\" className=\"absolute z-20 h-20 w-16 overflow-hidden rounded-xl border border-transparent bg-transparent\" style={{ left: positions.papi.left + '%', top: positions.papi.top + '%', transform: 'translate(-50%,-50%)' }}><img src={mediaUrl(bigPapiAsset)} alt=\"Big Papi\" className=\"h-full w-full object-contain\" /></button> : null}\n                    {productAsset && mediaUrl(productAsset) ? <img src={mediaUrl(productAsset)} alt=\"\" className=\"absolute bottom-[9%] left-[42%] z-10 h-16 w-16 object-contain\" /> : null}\n                    {mascotAsset && mediaUrl(mascotAsset) ? <img src={mediaUrl(mascotAsset)} alt=\"\" className=\"absolute bottom-[12%] right-[18%] z-10 h-20 w-20 object-contain\" /> : null}\n                    {partnerAsset && mediaUrl(partnerAsset) ? <img src={mediaUrl(partnerAsset)} alt=\"\" className=\"absolute left-[8%] top-[10%] z-10 h-16 w-28 object-contain\" /> : null}\n                    <aside className=\"absolute right-2 top-2 z-30 w-40 rounded-xl border border-black/20 bg-[#f4e8c9]/95 p-2 text-black shadow-xl\">\n                      <div className=\"text-xs font-black\">FIND THESE:</div>\n                      <div className=\"mt-2 space-y-1 text-[10px] font-bold\"><div>Big Papi</div><div>Food Truck</div><div>Coquito Icey</div><div>Pizza Boys</div><div>Santino</div><div>Pineapple</div><div>Wine Slushie</div><div>Hidden Crown</div></div>\n                    </aside>\n                  </div>\n                </div>\n                <div className=\"mt-2 flex items-center justify-end gap-2\">\n                  <button type=\"button\" onClick={() => setZoom((value) => Math.max(70, value - 10))} className=\"grid h-9 w-9 place-items-center rounded-lg border border-white/10\"><ZoomOut className=\"h-4 w-4\" /></button>\n                  <span className=\"w-12 text-center text-xs font-black\">{zoom}%</span>\n                  <button type=\"button\" onClick={() => setZoom((value) => Math.min(160, value + 10))} className=\"grid h-9 w-9 place-items-center rounded-lg border border-white/10\"><ZoomIn className=\"h-4 w-4\" /></button>\n                  <button type=\"button\" onClick={() => setZoom(100)} className=\"inline-flex h-9 items-center gap-2 rounded-lg border border-white/10 px-3 text-xs font-black\"><RotateCcw className=\"h-4 w-4\" /> Reset</button>\n                </div>\n              </div>\n            </div>\n          </section>\n        ) : null}\n\n        <footer className=\"mt-4 flex flex-wrap items-center gap-3 border-t border-white/10 pt-4 text-[11px] text-white/40\">\n          <span className=\"inline-flex items-center gap-1.5 text-emerald-300\"><CheckCircle2 className=\"h-3.5 w-3.5\" /> Tenant isolated</span>\n          <span>Canonical source: tenant-media-library</span>\n          <span>Consumers: proposals · flyers · email · websites · documents · creative tools</span>\n        </footer>\n      </div>\n    </section>\n  );\n}"},{"path":"src/lib/tenantAssetEngine.ts","content":"export type TenantAssetLike = {\n  id: string;\n  tenant_id?: string | null;\n  collection_key?: string | null;\n  metadata?: Record<string, unknown> | null;\n};\n\nexport type TenantAssetQuery = {\n  category?: string;\n  tag?: string;\n  defaultOnly?: boolean;\n};\n\nfunction metadataOf(asset: TenantAssetLike) {\n  return asset.metadata && typeof asset.metadata === 'object' ? asset.metadata : {};\n}\n\nexport function resolveTenantAssets<T extends TenantAssetLike>(assets: T[], query: TenantAssetQuery = {}): T[] {\n  const category = String(query.category || '').trim();\n  const tag = String(query.tag || '').trim().toLowerCase();\n  return assets\n    .filter((asset) => !category || String(asset.collection_key || '') === category)\n    .filter((asset) => {\n      if (!tag) return true;\n      const tags = Array.isArray(metadataOf(asset).asset_engine_tags) ? metadataOf(asset).asset_engine_tags as unknown[] : [];\n      return tags.some((value) => String(value || '').trim().toLowerCase() === tag);\n    })\n    .filter((asset) => !query.defaultOnly || metadataOf(asset).asset_engine_default === true)\n    .sort((left, right) => {\n      const leftDefault = metadataOf(left).asset_engine_default === true ? 0 : 1;\n      const rightDefault = metadataOf(right).asset_engine_default === true ? 0 : 1;\n      if (leftDefault !== rightDefault) return leftDefault - rightDefault;\n      const leftOrder = Number(metadataOf(left).asset_engine_order || 0);\n      const rightOrder = Number(metadataOf(right).asset_engine_order || 0);\n      return leftOrder - rightOrder;\n    });\n}\n\nexport function resolveDefaultTenantAsset<T extends TenantAssetLike>(assets: T[], category: string, tag?: string): T | null {\n  return resolveTenantAssets(assets, { category, tag })[0] || null;\n}\n\nexport const TENANT_ASSET_ENGINE_CONTRACT = {\n  version: 'TENANT_ASSET_ENGINE_V1',\n  tenantScoped: true,\n  source: 'tenant-media-library',\n  consumers: ['proposals', 'flyers', 'email', 'website', 'documents', 'creative-tools'],\n} as const;"}],"branch":"ai/objective-first-repair-f0a489191f2c","writes":[],"patches":[],"version":1,"approved":true,"missionId":"f0a48919-1f2c-40c9-b679-1294398234de","objective":"Continue and complete the existing Tenant Asset Engine mission. Ship the platform primitive live now: add the shared tenant asset resolver and Asset Engine UI to universal Settings/Profile, keep all reads/writes tenant scoped through tenant-media-library, and wire Big Papi's Where's Big Papi scene generator to use actual tenant media references through tenant-photo-studio image editing. Generated base scenes must be saved back into the tenant Asset Engine, while Big Papi and the truck remain separate real uploaded assets with randomized separated hitboxes. Preserve current main, use the existing mission/branch, run canonical Gate, squash merge, deploy frontend plus affected Supabase edge function, and complete runtime and visual proof. Do not leave this mission in implementation.","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"anchored_edits":[{"path":"src/pages/settings/TenantSettingsPageWithWebsiteAssets.tsx","edits":[{"new_content":"import { TENANT_PUBLIC_SURFACE_MEDIA_COLLECTIONS } from '@/lib/tenantMedia';\nimport TenantAssetEngine from '@/components/assets/TenantAssetEngine';","old_content":"import { TENANT_PUBLIC_SURFACE_MEDIA_COLLECTIONS } from '@/lib/tenantMedia';"},{"new_content":"            <div className=\"border-t border-border/70 [&>section]:!mt-0 [&>section]:!max-w-none [&>section]:!rounded-none [&>section]:!border-0 [&>section]:!bg-transparent [&>section]:!p-4 [&>section]:!shadow-none [&>section]:!backdrop-blur-none sm:[&>section]:!p-5\">\n              <TenantAssetEngine embedded />\n              {showWebsiteMedia ? <WebsiteAssetsSettingsSection /> : null}\n              <CustomerSurfaceAssetsSettingsSection />\n            </div>","old_content":"            <div className=\"border-t border-border/70 [&>section]:!mt-0 [&>section]:!max-w-none [&>section]:!rounded-none [&>section]:!border-0 [&>section]:!bg-transparent [&>section]:!p-4 [&>section]:!shadow-none [&>section]:!backdrop-blur-none sm:[&>section]:!p-5\">\n              {showWebsiteMedia ? <WebsiteAssetsSettingsSection /> : null}\n              <CustomerSurfaceAssetsSettingsSection />\n            </div>"}]},{"path":"supabase/functions/tenant-photo-studio/index.ts","edits":[{"new_content":"async function tenantAssetReferenceBlob(row: any) {\n  const bucket = String(row?.bucket_name || '').trim();\n  const key = String(row?.storage_key || row?.original_key || '').trim();\n  const mime = String(row?.mime_type || row?.original_content_type || '').trim() || browserMediaContentType(key, null);\n  if (!bucket || !key || !mime.startsWith('image/')) throw new Error('asset_scene_reference_must_be_image');\n  const provider = String(row?.storage_provider || '').trim().toLowerCase();\n  if (provider === 'supabase' || (!provider && bucket !== 'external')) {\n    const downloaded = await admin.storage.from(bucket).download(key);\n    if (downloaded.error || !downloaded.data) throw downloaded.error || new Error('asset_scene_reference_unavailable');\n    if (downloaded.data.size > MAX_FILE_BYTES) throw new Error('asset_scene_reference_too_large');\n    return new File([downloaded.data], String(row?.title || row?.metadata?.original_filename || 'reference.png'), { type: mime });\n  }\n  if (provider === 'r2') {\n    const response = await r2Get(bucket, key);\n    const blob = await response.blob();\n    if (blob.size > MAX_FILE_BYTES) throw new Error('asset_scene_reference_too_large');\n    return new File([blob], String(row?.title || row?.metadata?.original_filename || 'reference.png'), { type: mime });\n  }\n  throw new Error('asset_scene_reference_provider_not_supported');\n}\n\nasync function generateTenantAssetScene(req: Request, body: any) {\n  if (!OPENAI_API_KEY) throw new Error('openai_image_generation_not_configured');\n  const tenant = await loadTenant({ tenantId: String(body?.tenantId || '') });\n  const user = await requireTenantUser(req, tenant.id);\n  const sceneKind = String(body?.sceneKind || 'tenant-creative').trim().toLowerCase();\n  const tenantSlug = String(tenant?.company_slug || '').trim().toLowerCase();\n  if (sceneKind === 'where-big-papi' && !['big-papis', 'big-papis-coquito-iceys'].includes(tenantSlug)) throw new Error('asset_scene_kind_not_allowed_for_tenant');\n  const assetIds = [...new Set((Array.isArray(body?.assetIds) ? body.assetIds : []).map((value: unknown) => String(value || '').trim()).filter(Boolean))].slice(0, 6);\n  if (!assetIds.length) throw new Error('asset_scene_reference_assets_required');\n  const found = await admin.from('tenant_media_assets').select('*').eq('tenant_id', tenant.id).in('id', assetIds).is('deleted_at', null);\n  if (found.error) throw found.error;\n  const byId = new Map((found.data || []).map((row: any) => [String(row.id), row]));\n  if (assetIds.some((id) => !byId.has(id))) throw new Error('asset_scene_reference_scope_mismatch');\n  const rows = assetIds.map((id) => byId.get(id));\n  const { aspect, quality, size } = labImageSettings(body);\n  const crowd = Math.max(20, Math.min(100, Number(body?.crowdDensity || 70)));\n  const difficulty = ['easy', 'medium', 'hard'].includes(String(body?.difficulty || '')) ? String(body.difficulty) : 'medium';\n  const season = String(body?.season || 'default').slice(0, 80);\n  const roleEntries = Array.isArray(body?.roles) ? body.roles.slice(0, 12) : [];\n  const roleText = roleEntries.map((entry: any) => `${String(entry?.role || 'reference')}: ${String(entry?.assetId || '')}`).join('; ');\n  const prompt = sceneKind === 'where-big-papi'\n    ? `Create an original premium dense hidden-object picture-book base scene for Big Papi's Coquito Iceys. Use the supplied reference images as canonical tenant brand, product, people, vehicle, partner and environment references. Preserve recognizable brand colors, logos, products and real asset identity where they appear. This BASE SCENE is for an interactive game: do not place Big Papi himself or the hero food truck as hidden targets inside the generated raster because KnockLaunch overlays the tenant's exact uploaded Big Papi and truck assets afterward with precise clickable hitboxes. Build a lively tropical waterfront / food-truck-festival world with ${crowd}% crowd density, rich visual distractions, decoy silhouettes and believable brand-adjacent details. Difficulty target: ${difficulty}. Scene/season hint: ${season}. Keep open but visually busy hiding zones across foreground, midground and background so overlaid targets can blend naturally. No game UI, timer, checklist or text panels inside the image. Do not invent replacement logos or substitute character identities. Reference roles: ${roleText}.`\n    : `Create an original premium tenant-branded creative scene using the supplied tenant reference images as canonical source material. Preserve brand identity and do not invent substitute logos or people. Scene hint: ${season}. Reference roles: ${roleText}.`;\n  const form = new FormData();\n  form.append('model', OPENAI_IMAGE_MODEL);\n  form.append('prompt', prompt);\n  form.append('size', size);\n  form.append('quality', quality);\n  form.append('output_format', 'png');\n  form.append('background', 'opaque');\n  form.append('input_fidelity', 'high');\n  for (let index = 0; index < rows.length; index += 1) {\n    const reference = await tenantAssetReferenceBlob(rows[index]);\n    form.append('image[]', reference, reference.name || `reference-${index + 1}.png`);\n  }\n  const response = await fetch('https://api.openai.com/v1/images/edits', { method: 'POST', headers: { Authorization: `Bearer ${OPENAI_API_KEY}` }, body: form });\n  const payload = await response.json().catch(() => null) as any;\n  if (!response.ok) throw new Error(`openai_asset_scene_generation_failed:${response.status}:${String(payload?.error?.message || 'provider_error').slice(0, 240)}`);\n  const encoded = String(payload?.data?.[0]?.b64_json || '');\n  if (!encoded) throw new Error('asset_scene_generation_output_missing');\n  const bytes = decodeBase64Image(encoded);\n  if (!bytes.byteLength || bytes.byteLength > MAX_LAB_GENERATED_IMAGE_BYTES) throw new Error('asset_scene_generated_image_size_invalid');\n  await audit(user.id, tenant.id, 'tenant_asset_scene_generated', crypto.randomUUID(), { sceneKind, assetIds, crowd, difficulty, season, model: OPENAI_IMAGE_MODEL });\n  return { saved: false, sceneKind, sourceAssetIds: assetIds, image: { dataUrl: `data:image/png;base64,${encoded}`, mimeType: 'image/png', byteLength: bytes.byteLength, model: OPENAI_IMAGE_MODEL, aspectRatio: aspect, quality } };\n}\n\nasync function handlePost(req: Request) {\n  const contentType = req.headers.get('content-type') || '';\n  if (contentType.includes('multipart/form-data')) return await handleUpload(req, await req.formData());\n  const body = await req.json().catch(() => null) as any;\n  if (!body || typeof body !== 'object') return json({ ok: false, error: 'invalid_json' }, 400);\n  const action = String(body.action || '').trim();\n  if (action === 'generate_lab_image') return json({ ok: true, ...(await generateLabImage(req, body)) });\n  if (action === 'generate_asset_scene') return json({ ok: true, ...(await generateTenantAssetScene(req, body)) });\n  const tenant = await loadTenant({ tenantId: String(body.tenantId || '') });","old_content":"async function handlePost(req: Request) {\n  const contentType = req.headers.get('content-type') || '';\n  if (contentType.includes('multipart/form-data')) return await handleUpload(req, await req.formData());\n  const body = await req.json().catch(() => null) as any;\n  if (!body || typeof body !== 'object') return json({ ok: false, error: 'invalid_json' }, 400);\n  const action = String(body.action || '').trim();\n  if (action === 'generate_lab_image') return json({ ok: true, ...(await generateLabImage(req, body)) });\n  const tenant = await loadTenant({ tenantId: String(body.tenantId || '') });"}]}],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"f0a48919-1f2c-40c9-b679-1294398234de","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":"f2840b8c06d410894ab2466bc31cfa0b0e2e4a4e0551890f54a66dc0918d2119","replayCount":0,"serializedBytes":44214},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T15:36:39.374779+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:f0a48919-1f2c-40c9-b679-1294398234de:repository-mutation-intent:f2840b8c06d410894ab2466bc31cfa0b0e2e4a4e0551890f54a66dc0918d2119:0","mission_step_id":"f86cb121-3509-4aee-bc9d-daee762177f1","command_center_event_id":"f0a48919-1f2c-40c9-b679-1294398234de"},{"id":"e32b2d50-96f6-4b3d-98b1-55338154fb60","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/gate-stale-main-auto-refresh","writes":[],"patches":[],"pr_body":"<!-- knocklaunch:auto-progress -->\n\nClassify canonical stale-main Gate evidence as release_freshness so the existing supervisor refreshes and re-Gates automatically.","version":1,"approved":true,"pr_title":"Fix stale-main Gate classification and auto-refresh","missionId":"b6f1b293-4ec5-4a3b-8cf2-6543e84018aa","objective":"Fix Gate failure classification so canonical stale-main Gate evidence is classified as release_freshness instead of source_failure. Preserve deterministic quarantine for real source/code failures. Add a direct regression test, bump cc-execution to 1.63.3-stale-main-auto-refresh, Gate, squash merge, release cc-execution, then prove on existing PR #4093 that the supervisor refreshes and re-Gates instead of quarantining unchanged source.","sourceSha":"fb479a2dc7958367311b2dd529efb2761e1803c1","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["workers/cc-execution/src/entrypoint-owner-status.js","workers/cc-execution/test/release-orchestration-invariants.test.js","workers/cc-execution/src/version.js"],"workstreamKey":"gate-stale-main-freshness-classifier-1633","anchored_edits":[{"path":"workers/cc-execution/src/entrypoint-owner-status.js","edits":[{"new_content":"export function gateFailureLooksReleaseFreshness(evidence = \"\") {\n  const text = String(evidence || \"\");\n  return /protected main advanced during Gate|refresh \\\\+ re-gate required|yielding stale generation after main advanced during QA/i.test(text);\n}\n\nasync function classifyGateFailureForQueue(env, runId) {\n  try {\n    const logs = await inspectActionRunLogs(env, DEFAULT_REPOSITORY, { runId: Number(runId) });","old_content":"async function classifyGateFailureForQueue(env, runId) {\n  try {\n    const logs = await inspectActionRunLogs(env, DEFAULT_REPOSITORY, { runId: Number(runId) });"},{"new_content":"    const evidence = [...(logs?.failureLines || []).map((entry) => String(entry?.content || entry || \"\")), ...(logs?.logLines || []).map((entry) => String(entry || \"\"))].join(\"\\n\");\n    if (gateFailureLooksReleaseFreshness(evidence)) return \"release_freshness\";\n    if (gateFailureLooksTransientInfrastructure(evidence)) return \"infrastructure_transient\";","old_content":"    const evidence = [...(logs?.failureLines || []).map((entry) => String(entry?.content || entry || \"\")), ...(logs?.logLines || []).map((entry) => String(entry || \"\"))].join(\"\\n\");\n    if (gateFailureLooksTransientInfrastructure(evidence)) return \"infrastructure_transient\";"}]},{"path":"workers/cc-execution/test/release-orchestration-invariants.test.js","edits":[{"new_content":"import { deterministicGateHeadDecision, gateFailureLooksReleaseFreshness, terminalMissionByLatestPrMission, waitingGateStarvationRecoveryDecision, zombieGateRecoveryDecision } from \"../src/entrypoint-owner-status.js\";","old_content":"import { deterministicGateHeadDecision, terminalMissionByLatestPrMission, waitingGateStarvationRecoveryDecision, zombieGateRecoveryDecision } from \"../src/entrypoint-owner-status.js\";"},{"new_content":"test(\"stale-main Gate evidence is release freshness, not source failure\", () => {\n  assert.equal(gateFailureLooksReleaseFreshness(\"::error::protected main advanced during Gate gate_start_main=a current_main=b; refresh + re-gate required\"), true);\n  assert.equal(gateFailureLooksReleaseFreshness(\"KnockLaunch Gate yielding stale generation after main advanced during QA\"), true);\n  assert.equal(gateFailureLooksReleaseFreshness(\"TypeScript error TS2322\"), false);\n});\n\ntest(\"newer resumed mission supersedes older terminal mission for the same PR\", () => {","old_content":"test(\"newer resumed mission supersedes older terminal mission for the same PR\", () => {"}]},{"path":"workers/cc-execution/src/version.js","edits":[{"new_content":"// Release marker: Forgejo is the canonical repository and self-hosted Actions control plane.\nexport const CC_EXECUTION_VERSION = \"1.63.3-stale-main-auto-refresh\";","old_content":"// Release marker: Forgejo is the canonical repository and self-hosted Actions control plane.\nexport const CC_EXECUTION_VERSION = \"1.63.2-gate-starvation-auto-recovery\";"}]}],"implementation":{"files":[],"writes":[]},"requestContract":{"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"Stale-main Gate failures enter refresh + re-Gate recovery instead of deterministic source quarantine.","proofConditionIds":["proof-live"]}],"objective":"Fix Gate failure classification so canonical stale-main Gate evidence is classified as release_freshness instead of source_failure. Preserve deterministic quarantine for real source/code failures. Add a direct regression test, bump cc-execution to 1.63.3-stale-main-auto-refresh, Gate, squash merge, release cc-execution, then prove on existing PR #4093 that the supervisor refreshes and re-Gates instead of quarantining unchanged source.","constraints":[{"id":"preserve-quarantine","statement":"Real code_validation and source_failure Gate failures remain quarantined until source changes.","proofConditionIds":["proof-live"]},{"id":"scope","statement":"Modify only Gate failure classification, its regression test, and the cc-execution version marker.","proofConditionIds":["proof-live"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-live","kind":"runtime","claim":"Live cc-execution reports 1.63.3-stale-main-auto-refresh and existing PR #4093 refreshes/re-Gates from its stale-main failure instead of source-quarantining.","route":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":["ccExecution"]}]},"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":null,"ownerApproved":true,"releaseIntent":null,"sourceTargets":["workers/cc-execution/src/entrypoint-owner-status.js","workers/cc-execution/test/release-orchestration-invariants.test.js","workers/cc-execution/src/version.js"],"requestContract":{"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"Stale-main Gate failures enter refresh + re-Gate recovery instead of deterministic source quarantine.","proofConditionIds":["proof-live"]}],"objective":"Fix Gate failure classification so canonical stale-main Gate evidence is classified as release_freshness instead of source_failure. Preserve deterministic quarantine for real source/code failures. Add a direct regression test, bump cc-execution to 1.63.3-stale-main-auto-refresh, Gate, squash merge, release cc-execution, then prove on existing PR #4093 that the supervisor refreshes and re-Gates instead of quarantining unchanged source.","constraints":[{"id":"preserve-quarantine","statement":"Real code_validation and source_failure Gate failures remain quarantined until source changes.","proofConditionIds":["proof-live"]},{"id":"scope","statement":"Modify only Gate failure classification, its regression test, and the cc-execution version marker.","proofConditionIds":["proof-live"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-live","kind":"runtime","claim":"Live cc-execution reports 1.63.3-stale-main-auto-refresh and existing PR #4093 refreshes/re-Gates from its stale-main failure instead of source-quarantining.","route":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":["ccExecution"]}]},"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["workers/cc-execution/src/entrypoint-owner-status.js","workers/cc-execution/test/release-orchestration-invariants.test.js","workers/cc-execution/src/version.js"],"controlPlaneMaintenanceReason":"Owner-authorized repair for stale-main Gate failures being misclassified as deterministic source failures."},"proofRequirements":null,"controlPlaneUnfreeze":true,"durableMutationResume":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["workers/cc-execution/src/entrypoint-owner-status.js","workers/cc-execution/test/release-orchestration-invariants.test.js","workers/cc-execution/src/version.js"],"controlPlaneMaintenanceReason":"Owner-authorized repair for stale-main Gate failures being misclassified as deterministic source failures."},"recovery":false,"fingerprint":"eb5eae9152471832e3c7fec84da2da33c2ae9f676e304d1779b541feb9e2503f","replayCount":0,"serializedBytes":8518},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T04:05:27.953256+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:b6f1b293-4ec5-4a3b-8cf2-6543e84018aa:repository-mutation-intent:eb5eae9152471832e3c7fec84da2da33c2ae9f676e304d1779b541feb9e2503f:0","mission_step_id":"68f7da82-7a95-4a23-9aa6-f7bcb9a73143","command_center_event_id":"b6f1b293-4ec5-4a3b-8cf2-6543e84018aa"},{"id":"e32c1f09-a374-4bd3-b13b-7871538d4a86","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"objective_received","branch":null,"reason":"anchored_edits resolution failed","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.31.3-direct-scoped-patch","prNumber":null,"terminal":false,"missionId":"b5771baa-c4ae-40de-8f83-f11ce52eccef","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"b5771baa-c4ae-40de-8f83-f11ce52eccef"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":437,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-07T16:41:07.852322+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:b5771baa-c4ae-40de-8f83-f11ce52eccef:execute_mission:repair_mission_execution_blocked","mission_step_id":"23dc8191-68be-461d-8465-249dc83d38f3","command_center_event_id":"b5771baa-c4ae-40de-8f83-f11ce52eccef"},{"id":"e32d82aa-ae6d-437e-9666-6c4c21a5e569","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/321-auto-unlock-premium-20260901","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":8502,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.0-frontend-build-velocity-freeze","prNumber":1228,"terminal":false,"missionId":"16b4f5f4-48f7-43e0-a1b7-3bd603580d2f","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"e93706970540e5bca86854e973784efaf76c19a3","timingsMs":{"handlerMs":8595,"prReadinessMs":1066,"approvedPlanMs":0,"missionSetupMs":1424,"shipAndProveMs":6738},"nextAction":null,"receiptRef":{"mode":"full","missionId":"16b4f5f4-48f7-43e0-a1b7-3bd603580d2f"},"performance":null,"deploymentId":"forgejo-main-e93706970540","workflowRunId":null,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2105,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"d60e3c27-73ed-4a5f-a49b-c37636455daf","created_at":"2026-09-01T02:40:59.048752+00:00","proof_gate":"canonical_release_dispatched","source_sha":"e93706970540e5bca86854e973784efaf76c19a3","external_id":"forgejo-main-e93706970540","receipt_type":"execute_mission","idempotency_key":"mission:16b4f5f4-48f7-43e0-a1b7-3bd603580d2f:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"0111f34a-075c-4d30-bdb6-d1f313c7edf4","command_center_event_id":"16b4f5f4-48f7-43e0-a1b7-3bd603580d2f"},{"id":"e32e1933-6932-4b51-98de-01c18fa54b51","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":"36ccce8501708b7d8d3703bfa5029d0e157f9b1a","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live","frontend-cloudflare/live"],"sourceSha":"36ccce8501708b7d8d3703bfa5029d0e157f9b1a","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["ai-respond"]},"releaseTargetStates":{"frontend":"pending","supabaseEdge":"success"},"requestContractHash":"17e201180e7b711da49eb6e324f9cab3500dbe13952c267a680f207a19bfa15c","forgejoWorkflowProof":{"runId":13302,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"frontend":"pending","supabaseEdge":"success"},"targetJobCount":6,"observedTargetStates":{"frontend":"pending","supabaseEdge":"success"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T04:03:44.37405+00:00","proof_gate":"canonical_release_pending","source_sha":"36ccce8501708b7d8d3703bfa5029d0e157f9b1a","external_id":"forgejo-main-36ccce850170","receipt_type":"canonical_release_status","idempotency_key":"mission:ec2812df-65ea-410e-b105-349362de5c46:forgejo-release-status:36ccce8501708b7d8d3703bfa5029d0e157f9b1a:pending:forgejo-main/source=success|forgejo-release/workflow=pending|supabase-edge-production/live=success|frontend-cloudflare/live=pending","mission_step_id":"33a2c483-6771-4ac1-a5eb-386d249a7631","command_center_event_id":"ec2812df-65ea-410e-b105-349362de5c46"},{"id":"e32e6865-d54d-443e-af2d-c0549a2ff757","source":"cc-execution","status":"pending","payload":{"ok":true,"jobId":"a60569b8-372c-4fc7-b807-81753d1d77c6","phase":"universal_visual_witness_supervised","branch":"ai/repair-vista-public-visual-regressions-20260829","reason":null,"status":"pending","metrics":{"receiptBytes":14857,"releaseCount":1,"toolCallCount":6,"repeatedCallCount":1,"ownerInterruptionCount":0},"version":null,"prNumber":1063,"terminal":false,"missionId":"3cfb7ead-7e0c-41af-b7de-fffdf0a8c6fa","operation":"visual_proof_started","proofGate":"universal_visual_witness_pending","sourceSha":"a4c6f109ea61e3457056f0da4b39874dcac832da","timingsMs":{"wake":118,"total":771,"submit":653,"wakeAttempts":1},"nextAction":"Poll inspect_route_status or cancel with inspect_route_cancel.","receiptRef":{"mode":"full","missionId":"3cfb7ead-7e0c-41af-b7de-fffdf0a8c6fa"},"performance":null,"deploymentId":"forgejo-main-a4c6f109ea61","workflowRunId":3471,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":663,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"71b397ba-b9ad-496b-914c-985d97dbb12e","created_at":"2026-08-29T22:24:47.197016+00:00","proof_gate":"post_release_visual_proof_started","source_sha":"a4c6f109ea61e3457056f0da4b39874dcac832da","external_id":"a60569b8-372c-4fc7-b807-81753d1d77c6","receipt_type":"visual_proof_started","idempotency_key":"mission:3cfb7ead-7e0c-41af-b7de-fffdf0a8c6fa:visual-start:a60569b8-372c-4fc7-b807-81753d1d77c6","mission_step_id":"8dfb5d43-99ef-4784-a8ee-c5f28697e60c","command_center_event_id":"3cfb7ead-7e0c-41af-b7de-fffdf0a8c6fa"},{"id":"e32f48d7-a62d-4673-8d54-1a8830317069","source":"cc-execution","status":"waiting","payload":{"sourceTargets":["src/pages/settings/TenantSettingsPageWithWebsiteAssets.tsx","src/pages/card-grading/PCGPublicSite.tsx","supabase/functions/pcg-customer-progress/index.ts"],"continuationObjective":"Finish the PCG website imagery cutover now. Wire the PCG website editor's fixed media slots to the already-live pcg-r2-media Website/public-site namespace, persist signed R2 URLs/object keys in tenant settings, make Process/Grading, Vault/Collection, and Submission CTA imagery render tastefully and remain directly editable, and expose those R2 media roles through pcg-customer-progress public_profile. Preserve non-PCG media behavior. Gate, squash merge, release frontend and pcg-customer-progress, and prove live."},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T15:52:59.894424+00:00","proof_gate":"mission_continuation_scope_persisted","source_sha":null,"external_id":null,"receipt_type":"mission_continuation_scope_updated","idempotency_key":"mission:dc78fb7c-fd94-44b6-b51f-e6fc10e4a6fa:mission_continuation_scope_updated:mission_continuation_scope_persisted:waiting","mission_step_id":"f9db9bcd-83ff-4ae6-8d1f-4eaa39e4e18c","command_center_event_id":"dc78fb7c-fd94-44b6-b51f-e6fc10e4a6fa"},{"id":"e32f691f-b1ed-4655-8941-e1d990fe5672","source":"cc-execution","status":"authorized","payload":{"paths":[".forgejo/workflows/knocklaunch.yml"],"reason":"Replace the live-proven PR-scoped promotion cache assumption with a repository-visible compressed Gate artifact.","baseSha":"c0d36eec1cdb436859de51dc1927ca459bd94f39","issuedAt":1789069177058,"expiresAt":1789069357058,"missionId":"cef66441-ff0b-471b-9438-28df206b17bb","authorizationId":"ca620e21-2fd5-403e-86c5-10a5ac485530","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-10T19:39:37.51722+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"c0d36eec1cdb436859de51dc1927ca459bd94f39","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:ca620e21-2fd5-403e-86c5-10a5ac485530","mission_step_id":"6e62e963-f100-4260-a7f0-1d1f5d628dfb","command_center_event_id":"cef66441-ff0b-471b-9438-28df206b17bb"},{"id":"e330dcde-6e21-469b-8f75-1eda919de0fd","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-ff2c4454a0e3","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":38852,"releaseCount":0,"toolCallCount":21,"repeatedCallCount":16,"executorlessWaitMs":370576,"firstUsefulResultAt":"2026-10-05T18:36:12.504Z","recoveryAttemptCount":18,"ownerInterruptionCount":0},"version":"1.64.99-positive-mutation-admission","prNumber":5028,"terminal":false,"missionId":"ff2c4454-a0e3-48ae-84be-f490534e047c","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3762,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":2358,"approvedPlanMs":1318,"missionSetupMs":409,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":326,"ledgerReconcileMs":0,"lineageReconcileMs":83,"resolvePreflightMs":409,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":326,"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":"ff2c4454-a0e3-48ae-84be-f490534e047c"},"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":1525,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T18:37:05.03223+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"5028","receipt_type":"execute_mission","idempotency_key":"mission:ff2c4454-a0e3-48ae-84be-f490534e047c:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"21e0ee5a-2a46-41dd-a7e3-b9e0285e4f31","command_center_event_id":"ff2c4454-a0e3-48ae-84be-f490534e047c"},{"id":"e330f8aa-0432-4386-94f9-06e5744948f7","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-0c674ae01c3e","reason":null,"status":"source_resolution_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.113-orphan-cache-absence-proof","prNumber":null,"terminal":false,"missionId":"0c674ae0-1c3e-42e8-9fa3-8bcb9891a26d","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":10,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":299,"providerAuthMs":0,"ledgerPrepareMs":269,"ledgerReconcileMs":0,"lineageReconcileMs":30,"resolvePreflightMs":299,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":269,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Resolve bounded authoritative Forgejo source targets, then call /mission/execute again with this same missionId and exact files or anchored_edits. Do not switch workflows.","receiptRef":{"mode":"full","missionId":"0c674ae0-1c3e-42e8-9fa3-8bcb9891a26d"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3022,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T00:38:45.825159+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:0c674ae0-1c3e-42e8-9fa3-8bcb9891a26d:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"5d987285-7cbb-47ef-9625-a103de13d0bc","command_center_event_id":"0c674ae0-1c3e-42e8-9fa3-8bcb9891a26d"},{"id":"e3324c79-2d32-4e33-9d7d-0b479163d198","source":"forgejo-runtime","status":"verified","payload":{"headSha":"ff8eb117130dce6b40a0faf9c950b65c4979eee9","prNumber":6489,"sourceSha":"d314d69a2c1731693f93156b9a1c8ea70cda36d7","headRefreshed":false,"mergedPrVerified":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-13T16:08:52.686229+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"d314d69a2c1731693f93156b9a1c8ea70cda36d7","external_id":"6489","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:1157786a-d8c5-41ca-92cd-00016be75190:merged-pr:6489:d314d69a2c1731693f93156b9a1c8ea70cda36d7","mission_step_id":"fd34a265-d35d-4e4a-b508-770d729d8410","command_center_event_id":"1157786a-d8c5-41ca-92cd-00016be75190"},{"id":"e335537b-bc61-4a45-8db0-86a44818ce9c","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"reasoning_required","branch":"ai/objective-first-repair-10d32d39b8a7","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":4486,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":2,"executorlessWaitMs":11312,"firstUsefulResultAt":"2026-10-05T20:56:12.255Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.65.4-release-terminal-proof-unblocks-queue","prNumber":null,"terminal":false,"missionId":"10d32d39-b8a7-4798-ba5d-a545249fc092","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3194,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":344,"providerAuthMs":0,"ledgerPrepareMs":344,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":344,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":344,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Synthesize exact mutation from the resolved authoritative source targets and continue this same mission.","receiptRef":{"mode":"full","missionId":"10d32d39-b8a7-4798-ba5d-a545249fc092"},"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":3399,"likelyAffectedFiles":["scripts/command-center-host-agent/forgejo-watchdog.sh","scripts/command-center-host-agent/install-forgejo-watchdog.sh","scripts/command-center-host-agent/knocklaunch-forgejo-watchdog.service","scripts/command-center-host-agent/knocklaunch-forgejo-watchdog.timer"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T20:56:14.502669+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:10d32d39-b8a7-4798-ba5d-a545249fc092:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"43010cd2-f8d8-4be4-bead-3866b0a053f5","command_center_event_id":"10d32d39-b8a7-4798-ba5d-a545249fc092"},{"id":"e3368fa4-3aca-4599-9618-8d1cad8b3954","source":"cc-execution","status":"blocked","payload":{"reason":"anchored_edit_anchor_missing:src/components/messages/PlatformMessagesHost.tsx","fingerprint":"e38dd4a06d761f48c49dd727f554703955bd59b66979d93258dd64ebd341011e"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T03:26:22.421574+00:00","proof_gate":"repository_mutation_intent_deterministic_failure","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent_blocked","idempotency_key":"mission:9e70b509-736d-4207-909a-df2e4ddcca15:repository-mutation-intent-blocked:e38dd4a06d761f48c49dd727f554703955bd59b66979d93258dd64ebd341011e","mission_step_id":"e4f0e171-96e8-4fef-b702-6ddc6f8d7a98","command_center_event_id":"9e70b509-736d-4207-909a-df2e4ddcca15"},{"id":"e3386fcc-6773-41e0-b6a5-13c54f9858a1","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"ac6b7171e9a35f9670131ea97b0f95adb963ff36","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"operator-tail-latency","satisfied":true,"statement":"Bounded idempotent direct-operator Forgejo GETs launch their second hedge after 250ms instead of inheriting the global 900ms delay.","proofConditionIds":["operator-hedge-runtime"]}],"satisfied":true,"constraints":[{"id":"global-provider-unchanged","satisfied":true,"statement":"The shared global Forgejo provider keeps its 900ms hedge policy and heavier callers retain their existing budgets.","proofConditionIds":["operator-hedge-runtime"]},{"id":"writes-unhedged","satisfied":true,"statement":"Forgejo mutations remain unhedged and maximum physical GET count remains two.","proofConditionIds":["operator-hedge-runtime"]},{"id":"capability-completeness","satisfied":true,"statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["operator-hedge-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":["operator-hedge-runtime"]}],"contractHash":"00bc7f087600fafb23459175758c64ff00687fbf6c98bbcd57473206f525c4cf","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"operator-hedge-runtime","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"ccExecution":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["ccExecution"],"allowedReleaseTargets":[],"requiredReleaseTargets":["ccExecution"],"migrationReleaseVerified":null,"releaseRequestContractHash":"00bc7f087600fafb23459175758c64ff00687fbf6c98bbcd57473206f525c4cf"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["ccExecution"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T00:17:48.655391+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"ac6b7171e9a35f9670131ea97b0f95adb963ff36","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:44f070bd-c846-4e51-8ed8-ec3fbe1a75aa:request-contract:00bc7f087600fafb23459175758c64ff00687fbf6c98bbcd57473206f525c4cf:ac6b7171e9a35f9670131ea97b0f95adb963ff36:verified:","mission_step_id":"c34cbf88-77f5-4f69-8958-56c87bba8e77","command_center_event_id":"44f070bd-c846-4e51-8ed8-ec3fbe1a75aa"},{"id":"e339f1d4-6794-4a28-86b8-a54db95f4da7","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"963e5ecb5fcbeea0b23ca230e7208ba46fcc22d5","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"963e5ecb5fcbeea0b23ca230e7208ba46fcc22d5","releaseState":"verified","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"success"},"requestContractHash":"f0532c9d0ccd4b6e107ec8d68afa56d62732109d47fc6ac62184264526f5fada","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/6028","runId":6028,"status":"success","sourceSha":"963e5ecb5fcbeea0b23ca230e7208ba46fcc22d5","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":"60911b66-2940-4f68-9b88-cd17d1bdf5b6","created_at":"2026-09-07T00:51:17.263271+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"963e5ecb5fcbeea0b23ca230e7208ba46fcc22d5","external_id":"forgejo-main-963e5ecb5fcb","receipt_type":"canonical_release_status","idempotency_key":"mission:63646652-e10d-4736-ac17-7a9be3ba5235:forgejo-release-status:963e5ecb5fcbeea0b23ca230e7208ba46fcc22d5:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"1c439ecf-2d38-416b-be81-4b245da0796b","command_center_event_id":"63646652-e10d-4736-ac17-7a9be3ba5235"},{"id":"e33a4028-4525-4f55-a07a-af283319ab4d","source":"cc-execution","status":"recorded","payload":{"objective":"Continue PR 2012 / ai/objective-first-repair-mtqhb50h on the same workstream. Reconcile gate state, refresh the same PR onto current main if needed, require fresh KnockLaunch Gate after any refresh, squash merge through Forgejo, release frontend only, and satisfy every explicit proof condition. If the live visual result still shows generic CRM rails, inherited app chrome, wrong/duplicate background, poor scaling, placeholder-card sprawl, or an obvious mismatch with the Curri Realtor shell, make the smallest corrective frontend change on the SAME workstream and continue through the same proof contract. Do not report complete before all live proofs pass.","tenantRef":"60911b66-2940-4f68-9b88-cd17d1bdf5b6","receivedAt":"2026-09-07T00:15:25.134Z","fingerprint":"0d0830f46a021216538259a532a5562a08ae43d55c1166324c6fe2b9a885a9fe","workstreamRef":"60911b6629404f689b88cd17d1bdf5b6","conversationId":null,"canonicalBranch":"ai/objective-first-repair-mtqhb50h","requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Continue PR 2012 / ai/objective-first-repair-mtqhb50h on the same workstream. Reconcile gate state, refresh the same PR onto current main if needed, require fresh KnockLaunch Gate after any refresh, squash merge through Forgejo, release frontend only, and satisfy every explicit proof condition. If the live visual result still shows generic CRM rails, inherited app chrome, wrong/duplicate background, poor scaling, placeholder-card sprawl, or an obvious mismatch with the Curri Realtor shell, make the smallest corrective frontend change on the SAME workstream and continue through the same proof contract. Do not report complete before all live proofs pass.","wordingChanged":false,"canonicalIntent":"Continue PR 2012 / ai/objective-first-repair-mtqhb50h on the same workstream. Reconcile gate state, refresh the same PR onto current main if needed, require fresh KnockLaunch Gate after any refresh, squash merge through Forgejo, release frontend only, and satisfy every explicit proof condition. If the live visual result still shows generic CRM rails, inherited app chrome, wrong/duplicate background, poor scaling, placeholder-card sprawl, or an obvious mismatch with the Curri Realtor shell, make the smallest corrective frontend change on the SAME workstream and continue through the same proof contract. Do not report complete before all live proofs pass.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"curri-control-center-visual","statement":"Curri Control Center uses the Curri Realtor visual system but with executive-control purpose and no generic MISC/CRM artifacts.","proofConditionIds":["production-route","live-visual"]}],"objective":"Continue PR 2012 / ai/objective-first-repair-mtqhb50h on the same workstream. Reconcile gate state, refresh the same PR onto current main if needed, require fresh KnockLaunch Gate after any refresh, squash merge through Forgejo, release frontend only, and satisfy every explicit proof condition. If the live visual result still shows generic CRM rails, inherited app chrome, wrong/duplicate background, poor scaling, placeholder-card sprawl, or an obvious mismatch with the Curri Realtor shell, make the smallest corrective frontend change on the SAME workstream and continue through the same proof contract. Do not report complete before all live proofs pass.","constraints":[{"id":"preserve-realtor","statement":"Do not alter or degrade the existing curri-properties Realtor tenant.","proofConditionIds":["realtor-preserved"]},{"id":"reuse-pr","statement":"Continue the existing PR 2012 / ai/objective-first-repair-mtqhb50h workstream; do not create a duplicate branch or PR.","proofConditionIds":["same-pr-lineage"]},{"id":"real-hierarchy","statement":"One Call remains one child tenant inside Curri Control Center; businesses use the real control_center_profile hierarchy and do not fabricate tenant or KPI data.","proofConditionIds":["hierarchy-live"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"production-route","kind":"runtime","claim":"The production Curri Control Center route is live after the exact frontend release.","route":"https://app.knocklaunch.app/curri-control-center/dashboard","roleRef":null,"userRef":null,"required":true,"expectedText":"Curri Control Center","targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"live-visual","kind":"visual","claim":"The production Curri Control Center visually matches the Curri Realtor shell family on desktop and mobile while presenting executive-purpose navigation/content and no generic CRM/MISC shell artifacts.","route":"https://app.knocklaunch.app/curri-control-center/dashboard","roleRef":null,"userRef":null,"required":true,"expectedText":"Curri Control Center","targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"realtor-preserved","kind":"visual","claim":"The production curri-properties Realtor tenant remains visually intact and continues to use its existing Realtor shell.","route":"https://app.knocklaunch.app/curri-properties","roleRef":null,"userRef":null,"required":true,"expectedText":"Curri Properties","targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"same-pr-lineage","kind":"repository","claim":"The repair continues through the existing PR 2012 and branch ai/objective-first-repair-mtqhb50h without creating a duplicate PR.","route":"https://app.knocklaunch.app/curri-control-center/dashboard","roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"hierarchy-live","kind":"runtime","claim":"The live Curri Control Center presents One Call as a child business inside the umbrella Control Center rather than as the parent identity.","route":"https://app.knocklaunch.app/curri-control-center/dashboard?tab=businesses","roleRef":null,"userRef":null,"required":true,"expectedText":"One Call Maintenance & Property Management","targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestedBranch":"ai/objective-first-repair-mtqhb50h","conversationContext":null,"requestContractHash":"98a6304d4935c90a287ca001006a3456ca359eaab218beebc772cea96a444528","requestContractRevision":2},"tenant_id":"60911b66-2940-4f68-9b88-cd17d1bdf5b6","created_at":"2026-09-07T00:15:25.631035+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:035a6503-b36a-4d77-b27b-2c87d213cb8f:tenant-workstream-contribution:0d0830f46a021216538259a532a5562a08ae43d55c1166324c6fe2b9a885a9fe","mission_step_id":"4d8998b9-4098-47bc-9c25-f7ad4fcbbaeb","command_center_event_id":"035a6503-b36a-4d77-b27b-2c87d213cb8f"},{"id":"e33a4259-6d2c-436d-8383-a80ceeeac5a4","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-ebd3912d2c4b","writes":[],"patches":[],"version":1,"approved":true,"missionId":"ebd3912d-2c4b-40b6-948c-663d4f2393f2","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/PrivateAppShell.tsx"],"anchored_edits":[{"path":"src/PrivateAppShell.tsx"}],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"ebd3912d-2c4b-40b6-948c-663d4f2393f2","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/PrivateAppShell.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":"cdcec18aca5c4054528515464fb4949409260ef4ddae21d7906e65f30d1c784b","replayCount":0,"serializedBytes":1030},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T02:12:28.978931+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:ebd3912d-2c4b-40b6-948c-663d4f2393f2:repository-mutation-intent:cdcec18aca5c4054528515464fb4949409260ef4ddae21d7906e65f30d1c784b:0","mission_step_id":"6fc68e38-c3a3-44d4-932c-7c4e45a6e130","command_center_event_id":"ebd3912d-2c4b-40b6-948c-663d4f2393f2"},{"id":"e33cc9ae-d5e8-4f86-8959-cacbb4f3ec7e","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-d27d85a38b56","writes":[],"patches":[],"version":1,"approved":true,"missionId":"d27d85a3-8b56-4025-a059-daa74675fb58","objective":"Finish shipping the already-merged Visual Witness supervisor persistence optimization through the now-repaired heavy ccExecution release lane. Make one semantics-preserving cleanup in mission-supervisor.mjs so the heavy release is correctly classified from a Visual Witness changed path: name the existing 10-second persistence liveness window on the supervisor instance and use that named value instead of the inline literal. Do not change behavior. Then Gate, merge, run the heavy ccExecution release, and prove production from release/runtime receipts and Supabase Storage write rates. Do not invoke Visual Witness and do not use Desktop Commander.","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["scripts/visual-witness-hosted-runner/src/mission-supervisor.mjs"],"anchored_edits":[{"path":"scripts/visual-witness-hosted-runner/src/mission-supervisor.mjs","edits":[{"new_content":"    this.persistRaw = persist;\n    this.persistState = new Map();\n    this.persistLivenessMs = 10_000;\n    this.persist = async (item) => {","old_content":"    this.persistRaw = persist;\n    this.persistState = new Map();\n    this.persist = async (item) => {"},{"new_content":"      if (!terminal && prior?.signature === signature && nowMs - prior.persistedAt < this.persistLivenessMs) return;","old_content":"      if (!terminal && prior?.signature === signature && nowMs - prior.persistedAt < 10_000) return;"}]}],"implementation":{"files":[],"writes":[]},"requestContract":{"source":"owner_explicit","version":1,"outcomes":[{"id":"heavy-release","statement":"The mission-supervisor persistence dedupe code is included in a successful heavy ccExecution release.","proofConditionIds":["proof-live"]},{"id":"same-semantics","statement":"The liveness ceiling remains exactly 10 seconds and terminal/cancel persistence behavior is unchanged.","proofConditionIds":["proof-live"]}],"objective":"Force a correctly classified heavy ccExecution release of the supervisor persistence dedupe code without changing its behavior.","constraints":[{"id":"no-visual","statement":"Do not invoke Visual Witness for proof.","proofConditionIds":["proof-live"]},{"id":"no-dc","statement":"Do not use Desktop Commander.","proofConditionIds":["proof-live"]},{"id":"scope","statement":"Only change mission-supervisor.mjs for the semantics-preserving liveness constant cleanup.","proofConditionIds":["proof-live"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-live","kind":"runtime","claim":"A heavy ccExecution release succeeds from the changed Visual Witness path, live runtime is healthy, and subsequent Supabase Storage status-write rate is materially reduced.","required":true,"requiredReleaseTargets":["ccExecution"]}]},"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":null,"ownerApproved":true,"releaseIntent":null,"sourceTargets":["scripts/visual-witness-hosted-runner/src/mission-supervisor.mjs"],"requestContract":{"source":"owner_explicit","version":1,"outcomes":[{"id":"heavy-release","statement":"The mission-supervisor persistence dedupe code is included in a successful heavy ccExecution release.","proofConditionIds":["proof-live"]},{"id":"same-semantics","statement":"The liveness ceiling remains exactly 10 seconds and terminal/cancel persistence behavior is unchanged.","proofConditionIds":["proof-live"]}],"objective":"Force a correctly classified heavy ccExecution release of the supervisor persistence dedupe code without changing its behavior.","constraints":[{"id":"no-visual","statement":"Do not invoke Visual Witness for proof.","proofConditionIds":["proof-live"]},{"id":"no-dc","statement":"Do not use Desktop Commander.","proofConditionIds":["proof-live"]},{"id":"scope","statement":"Only change mission-supervisor.mjs for the semantics-preserving liveness constant cleanup.","proofConditionIds":["proof-live"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-live","kind":"runtime","claim":"A heavy ccExecution release succeeds from the changed Visual Witness path, live runtime is healthy, and subsequent Supabase Storage status-write rate is materially reduced.","required":true,"requiredReleaseTargets":["ccExecution"]}]},"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":"f0b33e8380939fc259199e3d1bcbf7e60ef89016651f36eae9a4b1b914d5cdaa","replayCount":0,"serializedBytes":4902},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T16:28:08.466875+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:d27d85a3-8b56-4025-a059-daa74675fb58:repository-mutation-intent:f0b33e8380939fc259199e3d1bcbf7e60ef89016651f36eae9a4b1b914d5cdaa:0","mission_step_id":"677ebffe-8c81-40c1-ae3c-20992997e1ee","command_center_event_id":"d27d85a3-8b56-4025-a059-daa74675fb58"},{"id":"e33ef425-8756-4384-81e0-c6d5d9f9c527","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/modes-storage-bootstrap-owner-operation","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.121-bounded-transient-gate-recovery","prNumber":2596,"terminal":false,"missionId":"49bc5ce2-638c-460c-9464-65fde270f820","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"07b736a893a5cb1870df89405a73f0cb1450de2a","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":9381,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":858,"approvedPlanMs":0,"missionSetupMs":702,"providerAuthMs":0,"shipAndProveMs":8029,"ledgerPrepareMs":253,"ledgerReconcileMs":0,"lineageReconcileMs":449,"resolvePreflightMs":702,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":253,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"49bc5ce2-638c-460c-9464-65fde270f820"},"performance":null,"deploymentId":"forgejo-main-07b736a893a5","workflowRunId":null,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2651,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-13T01:45:43.638524+00:00","proof_gate":"canonical_release_dispatched","source_sha":"07b736a893a5cb1870df89405a73f0cb1450de2a","external_id":"forgejo-main-07b736a893a5","receipt_type":"execute_mission","idempotency_key":"mission:49bc5ce2-638c-460c-9464-65fde270f820:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"416a79a3-df36-4d5a-a2ad-ff2caca3e0bd","command_center_event_id":"49bc5ce2-638c-460c-9464-65fde270f820"},{"id":"e3415541-ec49-4194-a777-0c0660a8dc07","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in release.","nextAction":{"lane":"production-release-conductor","action":"reconcile_release","reason":"merged_source_requires_release_proof","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_pending\"},\"activeStep\":{\"key\":\"pull_request\",\"status\":\"waiting\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"release\",\"status\":\"waiting\",\"lane\":\"production-release-conductor\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_release\",\"recoveryOwner\":\"production-release-conductor\"},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"release\",\"deadlineAt\":\"2026-10-04T13:12:02.253624+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-cbcc769c6cbf\",\"prNumber\":4729,\"sourceSha\":\"c70184b0eb7587724160feb3006d7f8c6f57e193\",\"deploymentId\":\"forgejo-main-c70184b0eb75\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T10:14:46.945009+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:cbcc769c-6cbf-46b4-80d3-cad3b862e268:owner-progress-heartbeat:119407259","mission_step_id":"315026d5-c2e9-4523-b9ae-f38988ddf04c","command_center_event_id":"cbcc769c-6cbf-46b4-80d3-cad3b862e268"},{"id":"e3424ccc-f8ed-40aa-bec2-2b7e200ad59d","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-e911b9a45fed","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":2826,"terminal":false,"missionId":"e911b9a4-5fed-4a34-9391-3412ad63cf3d","operation":"automatic_mission_resume","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"prReadinessMs":641,"approvedPlanMs":0,"shipAndProveMs":0,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request after the exact-head KnockLaunch Gate changes state.","receiptRef":{"mode":"full","missionId":"e911b9a4-5fed-4a34-9391-3412ad63cf3d"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1283,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-15T14:53:21.290494+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"2826","receipt_type":"automatic_mission_resume","idempotency_key":"mission:e911b9a4-5fed-4a34-9391-3412ad63cf3d:automatic-mission-resume:2826:repair_mission_waiting_for_gate","mission_step_id":"b5599335-e37e-4bef-abec-0f6285d2d90b","command_center_event_id":"e911b9a4-5fed-4a34-9391-3412ad63cf3d"},{"id":"e3434e6c-832b-4b16-8420-62136731810c","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":"f33fdb3b-73a8-4df8-a2f5-550eddbbbeca","phase":"pull_request","branch":"ai/visual-witness-shell-overlay-order-g6","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":6,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":2890,"terminal":false,"missionId":"25776a3e-f543-4fb8-921f-4747b7def5a8","operation":"automatic_mission_resume","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"prReadinessMs":634,"approvedPlanMs":0,"shipAndProveMs":0,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request after the exact-head KnockLaunch Gate changes state.","receiptRef":{"mode":"full","missionId":"25776a3e-f543-4fb8-921f-4747b7def5a8"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1285,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-16T05:47:53.804228+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"2890","receipt_type":"automatic_mission_resume","idempotency_key":"mission:25776a3e-f543-4fb8-921f-4747b7def5a8:automatic-mission-resume:2890:repair_mission_waiting_for_gate","mission_step_id":"ec620f30-6028-498f-8775-1fb288c73025","command_center_event_id":"25776a3e-f543-4fb8-921f-4747b7def5a8"},{"id":"e34429aa-ac8d-4b19-a59e-42e710a8d7a4","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/tranzformer-auto-detailing-tenant","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":1929,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.47.2-release-lineage-compare","prNumber":null,"terminal":false,"missionId":"8cc57824-b325-440a-9b4a-f988eeb2f23e","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":null,"nextAction":"Inspect the bounded repository paths, synthesize exact files or anchored_edits, and call /repair/continue-mission automatically with this missionId without another owner prompt.","receiptRef":{"mode":"full","missionId":"8cc57824-b325-440a-9b4a-f988eeb2f23e"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":11305,"likelyAffectedFiles":[".forgejo/workflows/knocklaunch.yml","src/__tests__/contracts/knocklaunch-os-registry.contract.test.ts","scripts/supabase-migration-release.mjs","src/__tests__/contracts/command-center-event-runtime.test.ts","scripts/__tests__/supabase-migration-release.test.mjs","scripts/visual-witness-hosted-runner/src/async-gateway.mjs","scripts/visual-witness-hosted-runner/src/mission-gateway.mjs","src/components/admin/TenantUserCommandCenters.tsx","src/__tests__/commandCenter/deployDetection.test.ts","src/__tests__/contracts/cc-execution-onrunner-deploy-lane.contract.test.ts","src/__tests__/contracts/experience-editor-universal-tenant-runtime.contract.test.ts","scripts/resolve-production-workflow-run.mjs"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-18T14:56:14.910768+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:8cc57824-b325-440a-9b4a-f988eeb2f23e:execute_mission:repair_mission_synthesis_ready","mission_step_id":"72ac296f-d019-4976-9951-6f7ada2d1c0b","command_center_event_id":"8cc57824-b325-440a-9b4a-f988eeb2f23e"},{"id":"e3473a5a-1775-464a-b8b8-f3632e604d94","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-627f39874f8c","reason":"control_plane_maintenance_authorization_required","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.155-cancelled-release-signed-push-lineage","prNumber":null,"terminal":false,"missionId":"627f3987-4f8c-44c3-bbaf-129caf528a4c","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":360,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":360,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":360,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":360,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"627f3987-4f8c-44c3-bbaf-129caf528a4c"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1571,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-16T01:44:08.049343+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:627f3987-4f8c-44c3-bbaf-129caf528a4c:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"84a14702-fe6a-4add-bdb0-6d6b32bc1784","command_center_event_id":"627f3987-4f8c-44c3-bbaf-129caf528a4c"},{"id":"e34860bf-dcb3-442b-8488-e07e8ab7cfb7","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"route":"/tennex-tax-solutions/contacts?mode=clients&modeApp=contacts","branch":"ai/objective-first-repair-f6a507df2831","writes":[],"patches":[],"version":1,"approved":true,"missionId":"f6a507df-2831-4ade-be07-a314c109992d","objective":"Fix Tennex Tax Solutions contacts so the live contacts workspace uses Tennex-specific client/contact semantics instead of generic CRM tenant taxonomy. Scope this only to Tennex and preserve every other tenant's existing CRM behavior.","repository":"noel/KnockLaunchOS","visualProof":true,"ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"anchored_edits":[{"path":"src/components/ContactsRouter.tsx","edits":[{"new_content":"const CUSTOMER_SURFACE_LABELS: Partial<Record<ContactsViewId, Pick<ContactsView, 'label' | 'description'>>> = {\n  'active-clients': { label: 'All Customers', description: 'Customers with an established service relationship.' },\n  'assigned-to-me': { label: 'Assigned to Me', description: 'Customers currently assigned to you.' },\n  appointments: { label: 'Scheduled', description: 'Customers with a scheduled service or appointment.' },\n  'claims-jobs': { label: 'Jobs / Service', description: 'Customers with active or completed service work.' },\n  'needs-followup': { label: 'Needs Follow-Up', description: 'Customers with a follow-up or callback due.' },\n  dnc: { label: 'Do Not Contact', description: 'Customers on the Do-Not-Contact suppression list.' },\n  archived: { label: 'Archived', description: 'Customers archived from active operations.' },\n};\n\nconst TENNEX_CONTACT_VIEW_IDS = new Set<ContactsViewId>(['all-contacts', 'assigned-to-me', 'active-clients', 'appointments', 'archived']);\nconst TENNEX_CONTACT_LABELS: Partial<Record<ContactsViewId, Pick<ContactsView, 'label' | 'description'>>> = {\n  'all-contacts': { label: 'All Clients', description: 'Every Tennex client and tax contact.' },\n  'assigned-to-me': { label: 'Assigned to Me', description: 'Tennex clients currently assigned to you.' },\n  'active-clients': { label: 'Active Clients', description: 'Clients with active Tennex tax work.' },\n  appointments: { label: 'Appointments', description: 'Clients with a scheduled Tennex appointment.' },\n  archived: { label: 'Archived', description: 'Tennex client records archived from active work.' },\n};","old_content":"const CUSTOMER_SURFACE_LABELS: Partial<Record<ContactsViewId, Pick<ContactsView, 'label' | 'description'>>> = {\n  'active-clients': { label: 'All Customers', description: 'Customers with an established service relationship.' },\n  'assigned-to-me': { label: 'Assigned to Me', description: 'Customers currently assigned to you.' },\n  appointments: { label: 'Scheduled', description: 'Customers with a scheduled service or appointment.' },\n  'claims-jobs': { label: 'Jobs / Service', description: 'Customers with active or completed service work.' },\n  'needs-followup': { label: 'Needs Follow-Up', description: 'Customers with a follow-up or callback due.' },\n  dnc: { label: 'Do Not Contact', description: 'Customers on the Do-Not-Contact suppression list.' },\n  archived: { label: 'Archived', description: 'Customers archived from active operations.' },\n};"},{"new_content":"  const location = useLocation();\n  const [searchParams, setSearchParams] = useSearchParams();\n  const surface = useMemo(() => resolveContactsSurface(location.pathname), [location.pathname]);\n  const workspaceSlug = canonicalizeTenantRouteSlug(activeTenant?.tenant_type, activeTenant?.company_slug || activeTenant?.name || '', activeTenant?.name);\n  const isTennexWorkspace = workspaceSlug === 'tennex-tax-solutions';\n  const surfaceViews = useMemo(() => {\n    const baseViews = getContactsSurfaceViews(surface);\n    if (!isTennexWorkspace || surface !== 'contacts') return baseViews;\n    return baseViews\n      .filter((item) => TENNEX_CONTACT_VIEW_IDS.has(item.id))\n      .map<ContactsView>((item) => ({ ...item, type: 'contacts', ...(TENNEX_CONTACT_LABELS[item.id] || {}) }));\n  }, [isTennexWorkspace, surface]);\n  const isLawnCareWorkspace = String(activeTenant?.tenant_type || '').trim().toUpperCase() === 'LAWN_CARE';","old_content":"  const location = useLocation();\n  const [searchParams, setSearchParams] = useSearchParams();\n  const surface = useMemo(() => resolveContactsSurface(location.pathname), [location.pathname]);\n  const surfaceViews = useMemo(() => getContactsSurfaceViews(surface), [surface]);\n  const workspaceSlug = canonicalizeTenantRouteSlug(activeTenant?.tenant_type, activeTenant?.company_slug || activeTenant?.name || '', activeTenant?.name);\n  const isLawnCareWorkspace = String(activeTenant?.tenant_type || '').trim().toUpperCase() === 'LAWN_CARE';"}]}],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":null,"ownerApproved":true,"releaseIntent":null,"sourceTargets":[],"requestContract":null,"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":false,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"proofRequirements":null,"controlPlaneUnfreeze":false,"durableMutationResume":true,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"recovery":false,"fingerprint":"0177ee330eacdf72ac7d73a9d74264d25d7544e59fca5ef0264ee24cd7eda36f","replayCount":0,"serializedBytes":5354},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-01T20:57:14.622472+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:f6a507df-2831-4ade-be07-a314c109992d:repository-mutation-intent:0177ee330eacdf72ac7d73a9d74264d25d7544e59fca5ef0264ee24cd7eda36f:0","mission_step_id":"af356b13-6df0-43bf-b12e-2c7cd702bbb3","command_center_event_id":"f6a507df-2831-4ade-be07-a314c109992d"},{"id":"e3488e2f-aef0-4bd5-8957-0c1ae3d990d2","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.300-queue-self-heal","prNumber":null,"terminal":false,"missionId":"8fe6d035-27ca-47f6-8fd3-3785f886b65a","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1334,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":375,"providerAuthMs":0,"ledgerPrepareMs":375,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":375,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":375,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Supply exact sourceTargets on the same mission; planner guesses cannot replace missing mission scope.","receiptRef":{"mode":"full","missionId":"8fe6d035-27ca-47f6-8fd3-3785f886b65a"},"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-28T02:44:09.940846+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:8fe6d035-27ca-47f6-8fd3-3785f886b65a:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"1dffa053-ffa2-40b7-910c-c0b387a99648","command_center_event_id":"8fe6d035-27ca-47f6-8fd3-3785f886b65a"},{"id":"e34b65bc-8f4e-4c05-a0c2-7d9b9c9d0bc7","source":"cc-execution","status":"implementation_payload_required","payload":{"reason":"compiler_model_generation_failed","failureClass":"retryable","sourceTargets":["src/pages/card-grading/PCGSlabUpload.tsx"],"dependencyReason":"model_provider_http_429","dependencyStatus":429,"providerAttempts":[{"role":"deep","reason":"model_provider_attempt_timeout","status":504,"provider":"cloudflare-workers-ai","formatRepair":false},{"role":"primary","reason":"model_provider_attempt_timeout","status":504,"provider":"cloudflare-workers-ai","formatRepair":false},{"role":"fallback","reason":"model_provider_http_429","status":429,"provider":"openai","formatRepair":false}],"automaticExecutorAssigned":false},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-10-13T20:23:33.413045+00:00","proof_gate":"first_party_exact_source_edit_continuation_persisted","source_sha":"1b3f37645b5ffebc2eb855aa7c7fad88b508c7b1","external_id":null,"receipt_type":"bounded_implementation_continuation","idempotency_key":"mission:62933b7b-b6f5-47f6-b0b7-a4829f547d5c:compiler:1b3f37645b5ffebc2eb855aa7c7fad88b508c7b1:src/pages/card-grading/PCGSlabUpload.tsx","mission_step_id":"9f9ba19e-b4bc-4fed-aec1-8f78d9b86287","command_center_event_id":"62933b7b-b6f5-47f6-b0b7-a4829f547d5c"},{"id":"e34ba5f2-5bbc-4d56-9b47-878e3d442ca8","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"58f895d0be42f89e1ac6ffe947026160747a8a8f","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"58f895d0be42f89e1ac6ffe947026160747a8a8f","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"pending"},"requestContractHash":"e5d952b9426468765a70f665adce32d5063f93633e3e2cc2634ccf97b24852ef","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/15788","runId":15788,"status":"running","sourceSha":"58f895d0be42f89e1ac6ffe947026160747a8a8f","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"frontend":"pending"},"targetJobCount":7,"observedTargetStates":{"frontend":"pending"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T16:13:27.745212+00:00","proof_gate":"canonical_release_pending","source_sha":"58f895d0be42f89e1ac6ffe947026160747a8a8f","external_id":"forgejo-main-58f895d0be42","receipt_type":"canonical_release_status","idempotency_key":"mission:711a68cb-9cbb-4228-a0d4-8ce32eb889e2:forgejo-release-status:58f895d0be42f89e1ac6ffe947026160747a8a8f:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"61039bf5-d917-4c60-a2ea-591c1643de16","command_center_event_id":"711a68cb-9cbb-4228-a0d4-8ce32eb889e2"},{"id":"e34bfd70-8ad7-45b3-a8b8-6984b0ae4248","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":"094d25c2f08eb5406fbf9e5fd6f5f388fd9fc1d9","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":"094d25c2f08eb5406fbf9e5fd6f5f388fd9fc1d9","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["tenant-media-library","tenant-storage-migration-v1"]},"releaseTargetStates":{"frontend":"pending","supabaseEdge":"pending"},"requestContractHash":"f5e9ba99597be21de0d998056477eda4dfdaedff35f9fed032f36bb8ab855355","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/5782","runId":5782,"status":"running","sourceSha":"094d25c2f08eb5406fbf9e5fd6f5f388fd9fc1d9","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"frontend":"pending","supabaseEdge":"pending"},"targetJobCount":7,"observedTargetStates":{"frontend":"pending","supabaseEdge":"pending"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-09-06T03:04:54.225708+00:00","proof_gate":"canonical_release_pending","source_sha":"094d25c2f08eb5406fbf9e5fd6f5f388fd9fc1d9","external_id":"forgejo-main-094d25c2f08e","receipt_type":"canonical_release_status","idempotency_key":"mission:f09c02cf-f022-4b83-9db0-90e830bac2fd:forgejo-release-status:094d25c2f08eb5406fbf9e5fd6f5f388fd9fc1d9:pending:forgejo-main/source=success|forgejo-release/workflow=pending|supabase-edge-production/live=pending|frontend-cloudflare/live=pending","mission_step_id":"b01ee080-de24-44f5-96b7-c6fa1290a4a4","command_center_event_id":"f09c02cf-f022-4b83-9db0-90e830bac2fd"},{"id":"e34fc3fb-6af3-4c40-a613-39a786a1b2eb","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":null,"reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":null,"recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.27-paul-operational-awareness","prNumber":null,"terminal":false,"missionId":"799330f6-898e-4144-9568-67afee1f3ce1","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"d422029f84054395a26723fc6f21878ddbc7975f","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":830,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":419,"providerAuthMs":0,"shipAndProveMs":536,"ledgerPrepareMs":419,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":419,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":419,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"799330f6-898e-4144-9568-67afee1f3ce1"},"performance":null,"deploymentId":"forgejo-main-d422029f8405","releaseState":null,"workflowRunId":13490,"releaseTargets":{"frontend":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2649,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T21:22:04.313576+00:00","proof_gate":"canonical_release_dispatched","source_sha":"d422029f84054395a26723fc6f21878ddbc7975f","external_id":"forgejo-main-d422029f8405","receipt_type":"execute_mission","idempotency_key":"mission:799330f6-898e-4144-9568-67afee1f3ce1:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"7f0a351b-93fa-427d-a4d0-6eabeac2288d","command_center_event_id":"799330f6-898e-4144-9568-67afee1f3ce1"},{"id":"e3504eaf-feac-4b60-b795-a6d31f60016e","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","cc-execution/runtime-proof":"success"},"mainSha":"553300bc16e81144945a2f091540f0e288846189","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"553300bc16e81144945a2f091540f0e288846189","releaseState":"verified","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":false},"releaseTargetStates":{"ccExecution":"success"},"requestContractHash":"b21ecf63f41866ede04e76b1f9eda076edb3ed2c684e3492ae186e6bdccbfb53","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/5166","runId":5166,"status":"success","sourceSha":"553300bc16e81144945a2f091540f0e288846189","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"ccExecution":"success"},"targetJobCount":8,"observedTargetStates":{"ccExecution":"success"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"553300bc16e81144945a2f091540f0e288846189","proofGate":"cc_execution_historical_runtime_identity_verified","deploymentId":"forgejo-main-553300bc16e81144945a2f091540f0e288846189","compareStatus":"exact_release_workflow_runtime_verified","workflowRunId":5166,"identitySource":"canonical_release_workflow_exact_runtime_identity","runtimeVersion":"1.58.42-gate-ack-async-refreeze","containsSourceSha":true,"historicalExactSourceProof":true},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T13:02:53.384013+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"553300bc16e81144945a2f091540f0e288846189","external_id":null,"receipt_type":"canonical_release_status","idempotency_key":"mission:cbf51bf3-98d4-4f4f-b869-d08e2128eee9:forgejo-release-status:553300bc16e81144945a2f091540f0e288846189:verified:forgejo-main/source=success|forgejo-release/workflow=success|cc-execution/runtime-proof=success","mission_step_id":"c796ae95-29cf-44f9-85da-6f7e52499e2a","command_center_event_id":"cbf51bf3-98d4-4f4f-b869-d08e2128eee9"},{"id":"e3506c5f-38fc-4328-945e-8c211b04a90a","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/historical-release-proof-recovery","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.138-release-lineage-transient-classification","prNumber":2676,"terminal":false,"missionId":"7481862c-26f9-442b-9f72-082d1a22cfed","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":24961,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":3000,"approvedPlanMs":0,"missionSetupMs":869,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":869,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":869,"repositoryMutationMs":21953,"repositoryProviderMs":15415,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":9648,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":869,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":5767},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"7481862c-26f9-442b-9f72-082d1a22cfed"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1537,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-13T19:51:57.466694+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"2676","receipt_type":"execute_mission","idempotency_key":"mission:7481862c-26f9-442b-9f72-082d1a22cfed:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"f287e118-c837-4504-ae67-276762a8b85f","command_center_event_id":"7481862c-26f9-442b-9f72-082d1a22cfed"},{"id":"e3561178-3300-4957-b7e8-809ebf6a54bb","source":"cc-execution","status":"waiting","payload":{"body":{"branch":"ai/objective-first-repair-d8662b64f4c7","approved":true,"missionId":"d8662b64-f4c7-4580-bb6d-fc4147fd0b17","objective":"Continue the existing durable mission using exact structured edits.","repository":"noel/KnockLaunchOS","trackMission":true,"ownerApproved":true,"sourceTargets":["src/pages/card-grading/PCGAIGradingWorkbench.tsx","supabase/functions/pcg-google-drive-media/index.ts"],"anchored_edits":[{"path":"src/pages/card-grading/PCGAIGradingWorkbench.tsx","after":"import {useEffect,useMemo,useRef,useState} from 'react';","before":"import {useEffect,useMemo,useState} from 'react';"},{"path":"src/pages/card-grading/PCGAIGradingWorkbench.tsx","after":"  const[slabUploading,setSlabUploading]=useState(false);\n  const autoGradeRequested=useRef<Set<string>>(new Set());","before":"  const[slabUploading,setSlabUploading]=useState(false);"},{"path":"src/pages/card-grading/PCGAIGradingWorkbench.tsx","after":"    setDrafts(Object.fromEntries(nextCards.map(card=>[card.id,{grade_label:card.grade_label||'',grader_notes:card.grader_notes||''}])));\n    setIdentityDrafts(Object.fromEntries(nextCards.map(card=>[card.id,{category:card.category||'',year:card.year||'',brand_set:card.brand_set||'',player_character:card.player_character||'',card_number:card.card_number||'',variation:card.variation||'',card_description:card.card_description||''}])));","before":"    setDrafts(current=>{const next={...current};for(const card of nextCards)if(!next[card.id])next[card.id]={grade_label:card.grade_label||'',grader_notes:card.grader_notes||''};return next});\n    setIdentityDrafts(current=>{const next={...current};for(const card of nextCards)if(!next[card.id])next[card.id]={category:card.category||'',year:card.year||'',brand_set:card.brand_set||'',player_character:card.player_character||'',card_number:card.card_number||'',variation:card.variation||'',card_description:card.card_description||''};return next});"},{"path":"src/pages/card-grading/PCGAIGradingWorkbench.tsx","after":"  useEffect(()=>{const first=reviewCards[0]?.id||batchCards[0]?.id||'';setSelectedCardId(current=>reviewCards.some(card=>card.id===current)||batchCards.some(card=>card.id===current)?current:first);setImageSide('front');setZoom(1)},[selectedSubmissionId,cards,reviewFilter,reviewCards,batchCards]);\n  useEffect(()=>{\n    if(view!=='review'||!selectedSubmissionId||analyzing)return;\n    const ready=batchCards.filter(card=>card.front_image_url&&card.back_image_url&&!aiFor(card).updated_at&&aiFor(card).suggested_grade==null&&!aiFor(card).suggested_designation&&!autoGradeRequested.current.has(card.id));\n    if(!ready.length)return;\n    ready.forEach(card=>autoGradeRequested.current.add(card.id));\n    void analyze(ready.map(card=>card.id));\n  },[view,selectedSubmissionId,batchCards,analyzing]);","before":"  useEffect(()=>{const first=reviewCards[0]?.id||batchCards[0]?.id||'';setSelectedCardId(current=>reviewCards.some(card=>card.id===current)?current:first);setImageSide('front');setZoom(1)},[selectedSubmissionId,cards.length,reviewFilter,reviewCards.length]);"},{"path":"src/pages/card-grading/PCGAIGradingWorkbench.tsx","after":"  const selectedImage=selectedCard?(imageSide==='back'?selectedCard.back_image_url:selectedCard.front_image_url):null;","before":"  const selectedImage=selectedCard?(imageSide==='back'?(selectedCard.back_image_url||selectedCard.front_image_url):(selectedCard.front_image_url||selectedCard.back_image_url)):null;"},{"path":"src/pages/card-grading/PCGAIGradingWorkbench.tsx","after":"body:JSON.stringify({tenant_id:tenantId,card_ids:cardIds.slice(i,i+12),purpose:'grade',contract_version:1,canonical_card_identity:true,preserve_human_confirmed:true,evidence_policy:'retain',require_complete_pair:true})","before":"body:JSON.stringify({tenant_id:tenantId,card_ids:cardIds.slice(i,i+12),purpose:'grade',contract_version:1,canonical_card_identity:true,preserve_human_confirmed:true,evidence_policy:'retain'})"}],"update_strategy":"auto","controlPlaneUnfreeze":true,"durableMutationResume":true,"controlPlaneMaintenance":true,"controlPlaneMaintenanceReason":"Prime structured exact mutation continuation"},"recovery":false,"fingerprint":"e0de5cfadbfb2f1223e932030631a5d1da5628c3b1332f4a4ff3f0bbf3f60264","replayCount":0,"serializedBytes":4138},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T00:03:50.734233+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:d8662b64-f4c7-4580-bb6d-fc4147fd0b17:repository-mutation-intent:e0de5cfadbfb2f1223e932030631a5d1da5628c3b1332f4a4ff3f0bbf3f60264:0","mission_step_id":"d8516f2a-bd48-4093-ac3b-5d86f60923f8","command_center_event_id":"d8662b64-f4c7-4580-bb6d-fc4147fd0b17"},{"id":"e35626a9-dcd6-41b4-852d-7fac43678657","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"objective_received","branch":null,"reason":"anchored_edits resolution failed","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.30.20-pr-scoped-release-missions","prNumber":null,"terminal":false,"missionId":"7b06670b-4b1b-4979-bad4-d557b308c43d","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"7b06670b-4b1b-4979-bad4-d557b308c43d"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"onePullRequest":true,"terminalProofRequired":true},"sourceReceiptBytes":620,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-06T21:30:05.997163+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:7b06670b-4b1b-4979-bad4-d557b308c43d:execute_mission:repair_mission_execution_blocked","mission_step_id":"a77a5589-6d80-4f94-98ef-515897db4d62","command_center_event_id":"7b06670b-4b1b-4979-bad4-d557b308c43d"},{"id":"e35810d5-519b-427d-a406-ec127c8c1d1c","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-mu2q1r7a","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":2819,"terminal":false,"missionId":"a37fb99d-608d-4a18-acb3-b58d89750d79","operation":"automatic_mission_resume","proofGate":"canonical_release_dispatched","sourceSha":"3712b1eccc93035efd76de11a6331919c9d1db10","timingsMs":{"prReadinessMs":798,"approvedPlanMs":0,"shipAndProveMs":6822,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"a37fb99d-608d-4a18-acb3-b58d89750d79"},"performance":null,"deploymentId":"forgejo-main-3712b1eccc93","workflowRunId":null,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":true,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2271,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-15T14:06:24.621976+00:00","proof_gate":"canonical_release_dispatched","source_sha":null,"external_id":"2819","receipt_type":"automatic_mission_resume","idempotency_key":"mission:a37fb99d-608d-4a18-acb3-b58d89750d79:automatic-mission-resume:2819:canonical_release_dispatched","mission_step_id":"e39f05a3-526b-486f-8242-020cdbd1333e","command_center_event_id":"a37fb99d-608d-4a18-acb3-b58d89750d79"},{"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":"e35aa953-7a3d-45be-ae79-a24f494ea3c1","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-9b2ffbd12a6d","prNumber":3976,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"cd9db0fc42181fbb457be9b60bc8fc8bf62c62e5","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T11:58:47.427452+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"cd9db0fc42181fbb457be9b60bc8fc8bf62c62e5","external_id":"3976","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:9b2ffbd1-2a6d-49a8-94eb-7bd1326a6dc3:merged-pr:3976:cd9db0fc42181fbb457be9b60bc8fc8bf62c62e5","mission_step_id":"b6a3b024-19ad-4b99-8073-c1c471982efc","command_center_event_id":"9b2ffbd1-2a6d-49a8-94eb-7bd1326a6dc3"},{"id":"e35b9370-bb93-476f-8d86-7cb2f826c271","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-acdb75211245","writes":[],"patches":[],"version":1,"approved":true,"missionId":"acdb7521-1245-4b43-881a-bd2345be622b","objective":"Recreate the clean maintenance branch and continue the exact authorized two-file control-plane timeout repair through PR, Gate, squash merge, cc-execution release, and runtime proof.","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["workers/cc-execution/src/scoped-repo-patch-policy.js","workers/cc-execution/src/version.js"],"anchored_edits":[{"path":"workers/cc-execution/src/scoped-repo-patch-policy.js","new_content":"atomicCommitHardTimeoutMs: 12000,\n  atomicFinalReconcileBudgetMs: 6000,","old_content":"atomicCommitHardTimeoutMs: 5000,\n  atomicFinalReconcileBudgetMs: 2500,"},{"path":"workers/cc-execution/src/version.js","new_content":"export const CC_EXECUTION_VERSION = \"1.58.250-scoped-patch-timeout-recovery\";","old_content":"export const CC_EXECUTION_VERSION = \"1.58.249-semantic-conflict-generation\";"}],"implementation":{"files":[],"writes":[]},"requestContract":{"intent":{"rawUtterance":"Fix the mutation blocker now.","wordingChanged":false,"canonicalIntent":"Increase bounded scoped-patch commit/reconcile timeouts and release cc-execution.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"owner_explicit","version":1,"outcomes":[{"id":"outcome-timeout","statement":"Scoped repository patches can survive 8-9 second Forgejo write latency without false timeout failure.","proofConditionIds":["proof-cc"]}],"objective":"Increase the scoped repository patch write/reconcile budget so Forgejo mutations can complete reliably.","constraints":[{"id":"bounded-control-plane","statement":"Only scoped-repo-patch-policy.js and version.js change.","proofConditionIds":["proof-cc"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-cc","kind":"runtime","claim":"Updated cc-execution runtime is deployed and healthy.","required":true,"allowedReleaseTargets":["ccExecution"],"requiredReleaseTargets":["ccExecution"]}]},"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"acdb7521-1245-4b43-881a-bd2345be622b","ownerApproved":true,"releaseIntent":null,"sourceTargets":["workers/cc-execution/src/scoped-repo-patch-policy.js","workers/cc-execution/src/version.js"],"requestContract":{"intent":{"rawUtterance":"Fix the mutation blocker now.","wordingChanged":false,"canonicalIntent":"Increase bounded scoped-patch commit/reconcile timeouts and release cc-execution.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"owner_explicit","version":1,"outcomes":[{"id":"outcome-timeout","statement":"Scoped repository patches can survive 8-9 second Forgejo write latency without false timeout failure.","proofConditionIds":["proof-cc"]}],"objective":"Increase the scoped repository patch write/reconcile budget so Forgejo mutations can complete reliably.","constraints":[{"id":"bounded-control-plane","statement":"Only scoped-repo-patch-policy.js and version.js change.","proofConditionIds":["proof-cc"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-cc","kind":"runtime","claim":"Updated cc-execution runtime is deployed and healthy.","required":true,"allowedReleaseTargets":["ccExecution"],"requiredReleaseTargets":["ccExecution"]}]},"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["workers/cc-execution/src/scoped-repo-patch-policy.js","workers/cc-execution/src/version.js"],"controlPlaneMaintenanceReason":"Owner-authorized repair required to unblock repeated scoped repository mutation timeouts that are preventing the Big Papi production fix."},"proofRequirements":null,"controlPlaneUnfreeze":true,"durableMutationResume":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["workers/cc-execution/src/scoped-repo-patch-policy.js","workers/cc-execution/src/version.js"],"controlPlaneMaintenanceReason":"Owner-authorized repair required to unblock repeated scoped repository mutation timeouts that are preventing the Big Papi production fix."},"recovery":false,"fingerprint":"342da38170d9da642f3c52d760f455caae6a494889082925daaf196edc3a8312","replayCount":0,"serializedBytes":4351},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T07:15:52.196812+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:acdb7521-1245-4b43-881a-bd2345be622b:repository-mutation-intent:342da38170d9da642f3c52d760f455caae6a494889082925daaf196edc3a8312:0","mission_step_id":"d6b7a3db-9925-440a-b818-536f37244864","command_center_event_id":"acdb7521-1245-4b43-881a-bd2345be622b"},{"id":"e35cacb6-f27f-4516-a5ee-0f57d1ade0b9","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":"b8cd859f2f4f8c47623557a142705d0070335934","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live","frontend-cloudflare/live"],"sourceSha":"b8cd859f2f4f8c47623557a142705d0070335934","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["tenant-photo-studio"]},"releaseTargetStates":{"frontend":"pending","supabaseEdge":"success"},"requestContractHash":"2dec2eccf1d120c8b09309a18ab900f65710335df2c5150cf8e90fdcdcf63692","forgejoWorkflowProof":{"runId":12556,"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-28T14:26:07.61321+00:00","proof_gate":"canonical_release_pending","source_sha":"b8cd859f2f4f8c47623557a142705d0070335934","external_id":"forgejo-main-b8cd859f2f4f","receipt_type":"canonical_release_status","idempotency_key":"mission:8fab9106-a8de-4203-a8a4-2e3f007112f9:forgejo-release-status:b8cd859f2f4f8c47623557a142705d0070335934:pending:forgejo-main/source=success|forgejo-release/workflow=pending|supabase-edge-production/live=success|frontend-cloudflare/live=pending","mission_step_id":"062fe00a-3cb0-4934-8624-b5e8b4f70b7d","command_center_event_id":"8fab9106-a8de-4203-a8a4-2e3f007112f9"},{"id":"e35cd069-18f4-4c0a-b2c1-508d82b6c8df","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":null,"reason":"anchored_edit_anchor_not_unique:src/pages/owner/KnockLaunchRelationships.tsx","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.209-visual-certification-hardening","prNumber":null,"terminal":false,"missionId":"9731a232-1037-41a9-bb7e-be70523f9c1b","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1625,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":1625,"missionSetupMs":290,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":290,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":290,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":290,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"9731a232-1037-41a9-bb7e-be70523f9c1b"},"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":1533,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-21T17:09:45.670159+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:9731a232-1037-41a9-bb7e-be70523f9c1b:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"aed5b8d8-c9ef-4f40-a235-0a1352b46cef","command_center_event_id":"9731a232-1037-41a9-bb7e-be70523f9c1b"},{"id":"e35d319a-8a7e-405d-a7db-e7f5fc2dd34e","source":"owner_authorized_full_backlog_cleanup","status":"recorded","payload":{"category":"platform_reliability","disposition":"superseded_execution_attempt","previousStatus":"blocked","sourcePreserved":true,"noCompletionClaim":true,"recoveryPortfolioId":"6eb26921-1579-51d6-318e-98f625550bfa"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-11T16:14:39.646808+00:00","proof_gate":"source_objective_preserved_in_existing_mission_ledger","source_sha":null,"external_id":null,"receipt_type":"owner_backlog_disposition","idempotency_key":"owner-full-backlog-cleanup-20261011:c773265b-fed6-4dfb-985f-547b06c0e765","mission_step_id":null,"command_center_event_id":"c773265b-fed6-4dfb-985f-547b06c0e765"},{"id":"e35ebb77-d4ba-4be3-b2d1-513ae2c497f8","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"reasoning_required","branch":null,"reason":"authoritative_source_resolution_failed","status":"source_resolution_required","metrics":{"receiptBytes":2638,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"executorlessWaitMs":2042,"firstUsefulResultAt":"2026-10-05T20:59:57.474Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.65.4-release-terminal-proof-unblocks-queue","prNumber":null,"terminal":false,"missionId":"a85957ed-2b2a-4bb2-83f1-8002aebcc49a","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3674,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":300,"providerAuthMs":0,"ledgerPrepareMs":300,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":300,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":300,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Supply exact sourceTargets on the same mission; planner guesses cannot replace missing mission scope.","receiptRef":{"mode":"full","missionId":"a85957ed-2b2a-4bb2-83f1-8002aebcc49a"},"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":1697,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T21:00:26.959953+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:a85957ed-2b2a-4bb2-83f1-8002aebcc49a:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"02d898e1-04be-445b-aaaf-3e5b18f0d94d","command_center_event_id":"a85957ed-2b2a-4bb2-83f1-8002aebcc49a"},{"id":"e360a1be-3c20-4a0d-9581-12ba3b29200e","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-8c64d55109cd","writes":[],"patches":[],"version":1,"approved":true,"missionId":"8c64d551-09cd-4a22-8649-a04d9e811c37","objective":"Continue the existing PCG calendar background mission. Root cause is a contradictory PCG self-contained background ownership contract in current main: usePcgSharedApplicationBackground is true for PCG, effectiveBackgroundOwner is marked 'platform', but SiteBackground is rendered without that owner and therefore defaults to 'tenant'. Make ownership explicit and coherent: PCG shared application background owner must be 'tenant', and SiteBackground must receive effectiveBackgroundOwner. This guarantees /pcg/calendar and the PCG self-contained route family resolve the exact uploaded tenant background and tenant media presentation settings through SpaceBackground. Preserve other route ownership by passing backgroundOwnership.owner for non-PCG. One focused PR, Gate, squash merge, frontend release, runtime proof. No Visual Witness.","sourceSha":"8de988c794849cd5084dd0a38e45e46f3e90712d","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/PrivateAppShell.tsx"],"anchored_edits":[{"path":"src/PrivateAppShell.tsx","edits":[{"new_content":"const usePcgSharedApplicationBackground=isSelfContainedPcgWorkspace;const effectiveBackgroundOwner=usePcgSharedApplicationBackground?'tenant':backgroundOwnership.owner;const effectiveBackgroundContractValid=usePcgSharedApplicationBackground?true:backgroundOwnership.contractValid;","old_content":"const usePcgSharedApplicationBackground=isSelfContainedPcgWorkspace;const effectiveBackgroundOwner=usePcgSharedApplicationBackground?'platform':backgroundOwnership.owner;const effectiveBackgroundContractValid=usePcgSharedApplicationBackground?true:backgroundOwnership.contractValid;"},{"new_content":"{(backgroundOwnership.renderPlatformBackground||usePcgSharedApplicationBackground)&&!useTenantModesShell?<SiteBackground owner={effectiveBackgroundOwner}/>:null}","old_content":"{(backgroundOwnership.renderPlatformBackground||usePcgSharedApplicationBackground)&&!useTenantModesShell?<SiteBackground/>:null}"}]}],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"8c64d551-09cd-4a22-8649-a04d9e811c37","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/PrivateAppShell.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":"53090b5d69a3a615a5fac777e4fa5dc9a3c94bddabb48015b8257245d53e9ddf","replayCount":0,"serializedBytes":2869},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T22:56:09.193976+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:8c64d551-09cd-4a22-8649-a04d9e811c37:repository-mutation-intent:53090b5d69a3a615a5fac777e4fa5dc9a3c94bddabb48015b8257245d53e9ddf:0","mission_step_id":"6fa8fd82-f663-4c1c-9dc1-cd027f9f18a7","command_center_event_id":"8c64d551-09cd-4a22-8649-a04d9e811c37"},{"id":"e36351c1-1143-434a-bc1f-d3861e0928eb","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-076b6e03265d","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.182-witness-render-cold-start-aware","prNumber":3161,"terminal":false,"missionId":"076b6e03-265d-492a-aef1-cd09d9976aed","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":6063,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":3137,"missionSetupMs":476,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":284,"ledgerReconcileMs":0,"lineageReconcileMs":192,"resolvePreflightMs":476,"repositoryMutationMs":2926,"repositoryProviderMs":2926,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2784,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":284,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":142},"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":"076b6e03-265d-492a-aef1-cd09d9976aed"},"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":3426,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-19T00:10:26.32806+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3161","receipt_type":"execute_mission","idempotency_key":"mission:076b6e03-265d-492a-aef1-cd09d9976aed:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"4f866e1a-8592-44f3-b182-fb724c897f6f","command_center_event_id":"076b6e03-265d-492a-aef1-cd09d9976aed"},{"id":"e3637903-02b8-4304-af40-e26c93943ab1","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-d272b4e3c8ef","reason":"fresh_pr_provider_receipt_already_proves_auto_progress_gate_notifier_owns_next_state","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.118-architecture-exclusivity","prNumber":2544,"terminal":false,"missionId":"d272b4e3-c8ef-4bd4-8156-93e249ef717d","operation":"execute_mission","proofGate":"repair_mission_fresh_pr_handed_off_to_gate","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":5072,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":285,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":285,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":285,"repositoryMutationMs":5072,"repositoryProviderMs":4090,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2178,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":285,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1912},"nextAction":"Canonical KnockLaunch Gate notifier and mission supervisor own progression from this exact PR head; do not synchronously poll Forgejo from the owner request.","receiptRef":{"mode":"full","missionId":"d272b4e3-c8ef-4bd4-8156-93e249ef717d"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3596,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T20:33:17.421611+00:00","proof_gate":"repair_mission_fresh_pr_handed_off_to_gate","source_sha":null,"external_id":"2544","receipt_type":"execute_mission","idempotency_key":"mission:d272b4e3-c8ef-4bd4-8156-93e249ef717d:execute_mission:repair_mission_fresh_pr_handed_off_to_gate:current-generation","mission_step_id":"9a10dad0-d8cc-4e5a-a922-dde14ee40f8c","command_center_event_id":"d272b4e3-c8ef-4bd4-8156-93e249ef717d"},{"id":"e3663372-3b40-4cb7-89f1-bcf504dd2af0","source":"cc-execution","status":"authorized","payload":{"paths":["config/control-plane-capabilities.json","workers/cc-execution/src/index-mission-control.js","workers/cc-execution/test/mission-provider-latency.test.js"],"reason":"Owner-approved MCP/control-plane performance optimization to eliminate long-tail interactive latency while preserving security and canonical release architecture.","baseSha":"6cf44a6edc45a6f19b3810b76d96fed72c27565f","issuedAt":1788892272766,"expiresAt":1788892452766,"missionId":"533967b3-3120-45c1-9076-b46ae519bb75","authorizationId":"c3d57174-ba70-4762-bfe9-99d5113a80f0","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-08T18:31:13.312858+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"6cf44a6edc45a6f19b3810b76d96fed72c27565f","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:c3d57174-ba70-4762-bfe9-99d5113a80f0","mission_step_id":"b41504d7-8d1a-4c02-9092-c82e65c79efd","command_center_event_id":"533967b3-3120-45c1-9076-b46ae519bb75"},{"id":"e3674817-d72e-4b72-b4e1-15e57f4fa5f4","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-911bc3a670f0","prNumber":4927,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"b95b63e73436abef3728ddc270b8a20273945958","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T15:36:32.345292+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"b95b63e73436abef3728ddc270b8a20273945958","external_id":"4927","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:911bc3a6-70f0-4ab3-b463-bb05311024bc:merged-pr:4927:b95b63e73436abef3728ddc270b8a20273945958","mission_step_id":"e4f94b2c-ccf5-4fdf-a76e-e17ce8461954","command_center_event_id":"911bc3a6-70f0-4ab3-b463-bb05311024bc"},{"id":"e367e4e9-d0ef-4c48-b43e-3ce8bd9631a9","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":null,"reason":"retryable_provider_transport:GET:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":2239,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"executorlessWaitMs":5758,"firstUsefulResultAt":"2026-09-24T07:58:41.496Z","recoveryAttemptCount":1,"ownerInterruptionCount":0},"version":"1.58.249-semantic-conflict-generation","prNumber":null,"terminal":false,"missionId":"b5c9a025-624d-45d3-be42-ebea98062421","operation":"execute_mission","proofGate":"repair_mission_execution_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":6750,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":6750,"missionSetupMs":331,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":331,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":331,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":331,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"b5c9a025-624d-45d3-be42-ebea98062421"},"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":1527,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T07:58:47.295288+00:00","proof_gate":"repair_mission_execution_retryable","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:b5c9a025-624d-45d3-be42-ebea98062421:execute_mission:repair_mission_execution_retryable:current-generation","mission_step_id":"8540b068-ffe7-46a5-9219-bbd2fe9f8ac2","command_center_event_id":"b5c9a025-624d-45d3-be42-ebea98062421"},{"id":"e367e593-f1de-4c07-b9b1-34a0429608a5","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-2678466667da","reason":null,"status":"source_resolution_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.118-architecture-exclusivity","prNumber":null,"terminal":false,"missionId":"26784666-67da-4f8e-b1fa-064ccc63d708","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":414,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":1625,"providerAuthMs":0,"ledgerPrepareMs":1625,"ledgerReconcileMs":270,"lineageReconcileMs":0,"resolvePreflightMs":1625,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":1895,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Resolve bounded authoritative Forgejo source targets, then call /mission/execute again with this same missionId and exact files or anchored_edits. Do not switch workflows.","receiptRef":{"mode":"full","missionId":"26784666-67da-4f8e-b1fa-064ccc63d708"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":4521,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T19:56:11.197054+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:26784666-67da-4f8e-b1fa-064ccc63d708:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"def8cbda-9e8f-4384-a370-fdfc7683eb09","command_center_event_id":"26784666-67da-4f8e-b1fa-064ccc63d708"},{"id":"e369214a-d27e-488f-baae-ca32c56b9f55","source":"cc-execution","status":"pending","payload":{"ok":true,"jobId":"2f3c617a-cf48-41b7-a2d9-a578426b63c7","phase":"universal_visual_witness_supervised","branch":"ai/objective-first-repair-d6357c3686c8","reason":null,"status":"pending","metrics":{"receiptBytes":34299,"releaseCount":0,"toolCallCount":25,"repeatedCallCount":13,"executorlessWaitMs":425065,"firstUsefulResultAt":"2026-09-30T20:50:23.832Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":4270,"terminal":false,"missionId":"d6357c36-86c8-4fbf-8123-5460dd0ef2c7","operation":"visual_proof_started","proofGate":"universal_visual_witness_pending","sourceSha":"67efcaafe3aafdaca4a0d1e14008941e53bf066c","timingsMs":{"queue":279,"total":438,"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":"d6357c36-86c8-4fbf-8123-5460dd0ef2c7"},"performance":null,"deploymentId":"forgejo-main-67efcaafe3aa","releaseState":"verified","visualWitness":{"role":"GodMode","jobId":"2f3c617a-cf48-41b7-a2d9-a578426b63c7","tenant":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","runnerUrl":"https://laptop-witness.knocklaunch.app","runnerLane":"laptop","attemptsUsed":0,"supervisorId":"2f3c617a-cf48-41b7-a2d9-a578426b63c7","failureReason":null,"observedRoute":null,"runnerVersion":null,"attemptLineage":[],"missionOutcome":null,"requestedRoute":"/pcg/dashboard","runnerSourceSha":null,"selectedViewports":["desktop"],"checkpointAccounting":null,"correctiveGeneration":0,"restartReplayHistory":[]},"workflowRunId":13468,"releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1790,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-09-30T20:57:30.681972+00:00","proof_gate":"post_release_visual_proof_started","source_sha":"67efcaafe3aafdaca4a0d1e14008941e53bf066c","external_id":"2f3c617a-cf48-41b7-a2d9-a578426b63c7","receipt_type":"visual_proof_started","idempotency_key":"mission:d6357c36-86c8-4fbf-8123-5460dd0ef2c7:visual-start:2f3c617a-cf48-41b7-a2d9-a578426b63c7","mission_step_id":"2e7d2cfb-bfaa-491c-b581-db3a956db146","command_center_event_id":"d6357c36-86c8-4fbf-8123-5460dd0ef2c7"},{"id":"e36acd55-419d-4648-9a3e-14ef29c5b931","source":"owner_authorized_full_backlog_cleanup","status":"recorded","payload":{"category":"platform_reliability","disposition":"superseded_execution_attempt","previousStatus":"blocked","sourcePreserved":true,"noCompletionClaim":true,"recoveryPortfolioId":"a4802fad-d162-cf0a-22ac-109a197b3183"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-11T16:14:39.646808+00:00","proof_gate":"source_objective_preserved_in_existing_mission_ledger","source_sha":null,"external_id":null,"receipt_type":"owner_backlog_disposition","idempotency_key":"owner-full-backlog-cleanup-20261011:2145dc17-2e5f-4d97-9075-022b43c18f86","mission_step_id":null,"command_center_event_id":"2145dc17-2e5f-4d97-9075-022b43c18f86"},{"id":"e36c8d4a-1444-4411-8ab4-4c50e473f076","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"6c3e5389a654860c53dce4378206dcdf28b89ae1","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"6c3e5389a654860c53dce4378206dcdf28b89ae1","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":"92b89f50b017d53eebdeb6085d0b23aedabcd9df610de9afa2743feafd6f7978","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/10059","runId":10059,"status":"running","sourceSha":"6c3e5389a654860c53dce4378206dcdf28b89ae1","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"frontend":"pending"},"targetJobCount":7,"observedTargetStates":{"frontend":"pending"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"f72c9e82-e623-42a4-99f9-eb36752e622b","created_at":"2026-09-19T14:38:16.075181+00:00","proof_gate":"canonical_release_pending","source_sha":"6c3e5389a654860c53dce4378206dcdf28b89ae1","external_id":"forgejo-main-6c3e5389a654","receipt_type":"canonical_release_status","idempotency_key":"mission:88270c97-2772-4707-82ae-773c69a5b3db:forgejo-release-status:6c3e5389a654860c53dce4378206dcdf28b89ae1:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"46c4532d-c5a0-4014-9c05-3dd4068ef30a","command_center_event_id":"88270c97-2772-4707-82ae-773c69a5b3db"},{"id":"e36cd851-0cd3-43d0-b927-a9d8a5677d2e","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/strict-tenant-type-contract-db-20260830","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":1175,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.56.3-source-scope-boundary","prNumber":null,"terminal":false,"missionId":"cf6ff56d-3524-421b-a805-3767829d8159","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"handlerMs":329,"missionSetupMs":1127},"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":"cf6ff56d-3524-421b-a805-3767829d8159"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":8502,"likelyAffectedFiles":["supabase/migrations/20260830152000_enforce_strict_tenant_type_contract.sql"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-30T15:17:07.880503+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:cf6ff56d-3524-421b-a805-3767829d8159:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"0678d011-86c0-4f01-bd2b-b77303938b90","command_center_event_id":"cf6ff56d-3524-421b-a805-3767829d8159"},{"id":"e36d20c2-5997-4cd0-a086-c1be3900642e","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in objective received.","nextAction":{"lane":"cc-execution","action":"resolve_preflight","reason":"durable_state:preflight","automationAllowed":false,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"objective_received\",\"ownerFacingState\":null,\"latest\":null,\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"resolve_preflight\",\"lane\":\"cc-execution\",\"reason\":\"durable_state:preflight\",\"automationAllowed\":false,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":0,\"pending\":6,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"preflight\",\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"preflight\",\"deadlineAt\":\"2026-08-04T15:39:10.227351+00:00\",\"recoveryAction\":\"resolve_preflight\"},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":null,\"sourceSha\":null,\"deploymentId\":null}"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-21T00:44:00.751422+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:c69db441-3989-44da-8ec4-aa0651727dce:owner-progress-heartbeat:119330096","mission_step_id":"89552fb1-d54d-4662-ab57-59bbef8380af","command_center_event_id":"c69db441-3989-44da-8ec4-aa0651727dce"},{"id":"e36d4df5-bf94-40a1-8440-04cece8402ab","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-40c6e5637eb1","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.50.11-bounded-provider-control-plane","prNumber":null,"terminal":false,"missionId":"40c6e563-7eb1-4273-bcf5-d9cdd5f28de4","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":null,"nextAction":"Inspect the bounded repository paths, synthesize exact files or anchored_edits, and call /mission/execute again automatically with this same missionId without another owner prompt or workflow switch.","receiptRef":{"mode":"full","missionId":"40c6e563-7eb1-4273-bcf5-d9cdd5f28de4"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":8510,"likelyAffectedFiles":["src/__tests__/contracts/command-center-forgejo-transport-reliability.contract.test.ts","src/__tests__/contracts/command-center-release-reconciliation-budget.contract.test.ts","src/__tests__/contracts/command-center-existing-branch-refresh.contract.test.ts","src/__tests__/commandCenter/deployDetection.test.ts","src/__tests__/contracts/command-center-mission-control.test.ts",".forgejo/workflows/knocklaunch.yml","config/control-plane-capabilities.json","scripts/validate-command-center-contracts.mjs"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-21T18:27:23.129726+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:40c6e563-7eb1-4273-bcf5-d9cdd5f28de4:execute_mission:repair_mission_synthesis_ready","mission_step_id":"5b7a61dd-8937-4fd8-a165-55bc711f9d8f","command_center_event_id":"40c6e563-7eb1-4273-bcf5-d9cdd5f28de4"},{"id":"e36d8900-2845-4191-b3e9-4fb09b59fe7a","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-d97159d5ef8a","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.144-request-contract-inference","prNumber":null,"terminal":false,"missionId":"d97159d5-ef8a-41e3-bd9a-7a541b2cee81","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":395,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":903,"providerAuthMs":0,"ledgerPrepareMs":903,"ledgerReconcileMs":279,"lineageReconcileMs":0,"resolvePreflightMs":903,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":1182,"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":"d97159d5-ef8a-41e3-bd9a-7a541b2cee81"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":5151,"likelyAffectedFiles":["config/capabilities/tenant-workspace-experience.json","config/capabilities/tenant-workspace-ui-contract-v2.json","config/capabilities/tenant-bootstrap.json","config/capabilities/tenant-creation.json","config/contracts/PREHISTORIC-001-TENANT-MEDIA.json","scripts/tenant-module-architecture-guard.mjs","scripts/visual-witness-hosted-runner/src/server-tenant-projection.mjs","scripts/visual-witness-hosted-runner/src/tenant-owner-preflight.mjs","scripts/check-route-registry.mjs","src/__tests__/contracts/tenant-router-isolation.contract.test.ts","src/App.css","src/App.tsx"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-14T05:24:27.58742+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:d97159d5-ef8a-41e3-bd9a-7a541b2cee81:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"e370400c-1940-4be3-be7d-ac622e2dca77","command_center_event_id":"d97159d5-ef8a-41e3-bd9a-7a541b2cee81"},{"id":"e36db7ff-c147-4b35-a2d0-57a42ee438f8","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":null,"reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.50.6-auto-merge-release-persistence","prNumber":541,"terminal":false,"missionId":"a46b7959-6069-452f-b384-a5212fc80ffa","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"b0067f9783b31ee17159972d88d70479223497a6","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"a46b7959-6069-452f-b384-a5212fc80ffa"},"performance":null,"deploymentId":"forgejo-main-b0067f9783b3","workflowRunId":null,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":6170,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-21T04:19:49.681116+00:00","proof_gate":"canonical_release_dispatched","source_sha":"b0067f9783b31ee17159972d88d70479223497a6","external_id":"forgejo-main-b0067f9783b3","receipt_type":"execute_mission","idempotency_key":"mission:a46b7959-6069-452f-b384-a5212fc80ffa:execute_mission:canonical_release_dispatched","mission_step_id":"c06e54ba-9e60-4856-a09d-8fd42fbdc522","command_center_event_id":"a46b7959-6069-452f-b384-a5212fc80ffa"},{"id":"e36e8443-0650-4f80-88bb-d23d45fbdef0","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/test/release-orchestration-invariants.test.js"],"reason":"Correct the stale control-plane regression guard on the existing authorized repair PR so it enforces the new bounded merge-read contract instead of the retired 5-second value.","baseSha":"781c9b334806982b04a5444075f1360d5e2a2ccc","issuedAt":1788125681700,"expiresAt":1788125861700,"missionId":"07ac6e7d-db24-4c2a-a3be-cdac6adcbeb3","singleUse":true,"authorizationId":"7ef0030c-9b52-410c-b3a2-db2324648b60"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-30T21:34:42.490517+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"781c9b334806982b04a5444075f1360d5e2a2ccc","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:7ef0030c-9b52-410c-b3a2-db2324648b60","mission_step_id":"518f9ebb-fd7b-47ff-a2eb-91ddd126a6e4","command_center_event_id":"07ac6e7d-db24-4c2a-a3be-cdac6adcbeb3"},{"id":"e36ea4ef-3770-42c6-a989-d73597561b8d","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":null,"reason":"pull_request_gate_missing","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.64-mutation-ledger-handoff","prNumber":1896,"terminal":false,"missionId":"e6cf2da1-df30-4f81-b53d-3b9387b79b3f","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":5764,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":3041,"approvedPlanMs":0,"missionSetupMs":424,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":424,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":424,"repositoryMutationMs":2719,"repositoryProviderMs":1952,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":1640,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":424,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":312},"nextAction":"Reconcile this same mission and pull request after the exact-head KnockLaunch Gate changes state.","receiptRef":{"mode":"full","missionId":"e6cf2da1-df30-4f81-b53d-3b9387b79b3f"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1510,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-06T00:15:36.475486+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"1896","receipt_type":"execute_mission","idempotency_key":"mission:e6cf2da1-df30-4f81-b53d-3b9387b79b3f:execute_mission:repair_mission_waiting_for_gate:current-generation","mission_step_id":"2c6d8cde-7bc6-4462-9f1a-66f383534bdf","command_center_event_id":"e6cf2da1-df30-4f81-b53d-3b9387b79b3f"},{"id":"e3711fda-8d14-4bed-93e0-adb16ce30e60","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-1e80df0f2421","reason":"control_plane_maintenance_base_sha_mismatch","status":"blocked","metrics":{"receiptBytes":170434,"releaseCount":0,"toolCallCount":96,"repeatedCallCount":72,"executorlessWaitMs":13698386,"firstUsefulResultAt":"2026-09-28T19:24:21.623Z","recoveryAttemptCount":49,"ownerInterruptionCount":0},"version":"1.59.3-direct-commit-ancestry","prNumber":4040,"terminal":false,"missionId":"1e80df0f-2421-4b73-90c6-6db618326f6d","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1114,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":1114,"missionSetupMs":714,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":510,"ledgerReconcileMs":0,"lineageReconcileMs":204,"resolvePreflightMs":714,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":510,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"1e80df0f-2421-4b73-90c6-6db618326f6d"},"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":1480,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T19:36:48.467231+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:1e80df0f-2421-4b73-90c6-6db618326f6d:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"d6746049-97e9-4527-9847-5801d0b9cfd3","command_center_event_id":"1e80df0f-2421-4b73-90c6-6db618326f6d"},{"id":"e3727ca2-265d-401c-95f8-591a9750cae1","source":"cc-execution","status":"pending","payload":{"ok":true,"jobId":"e8a6db29-f634-4cb6-945a-4b236e9fa6d3","phase":"universal_visual_witness_supervised","branch":"ai/objective-first-repair-3f38f89df562","reason":null,"status":"pending","metrics":{"receiptBytes":107253,"releaseCount":0,"toolCallCount":31,"repeatedCallCount":15,"executorlessWaitMs":1188057,"firstUsefulResultAt":"2026-09-29T18:27:16.029Z","recoveryAttemptCount":6,"ownerInterruptionCount":0},"version":null,"prNumber":4162,"terminal":false,"missionId":"3f38f89d-f562-44d5-80ee-ba4a718879b7","operation":"visual_proof_started","proofGate":"universal_visual_witness_pending","sourceSha":"49eddf35a4bc9954b138e033a32c5b3199738b17","timingsMs":{"queue":252,"total":361,"execution":109},"nextAction":"Execution is pending; poll inspect_route_status only when fresh progress is expected, or cancel with inspect_route_cancel.","receiptRef":{"mode":"full","missionId":"3f38f89d-f562-44d5-80ee-ba4a718879b7"},"performance":null,"deploymentId":"forgejo-main-49eddf35a4bc","releaseState":"verified","visualWitness":{"role":"GodMode","jobId":"e8a6db29-f634-4cb6-945a-4b236e9fa6d3","tenant":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","runnerUrl":"https://laptop-witness.knocklaunch.app","runnerLane":"laptop","attemptsUsed":0,"supervisorId":"e8a6db29-f634-4cb6-945a-4b236e9fa6d3","failureReason":null,"observedRoute":null,"runnerVersion":null,"attemptLineage":[],"missionOutcome":null,"requestedRoute":"https://whatsmyprogress.com/pcg","runnerSourceSha":null,"selectedViewports":["desktop"],"checkpointAccounting":null,"correctiveGeneration":0,"restartReplayHistory":[]},"workflowRunId":13138,"releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["customer-portal"]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1807,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-09-29T18:47:06.512751+00:00","proof_gate":"post_release_visual_proof_started","source_sha":"49eddf35a4bc9954b138e033a32c5b3199738b17","external_id":"e8a6db29-f634-4cb6-945a-4b236e9fa6d3","receipt_type":"visual_proof_started","idempotency_key":"mission:3f38f89d-f562-44d5-80ee-ba4a718879b7:visual-start:e8a6db29-f634-4cb6-945a-4b236e9fa6d3","mission_step_id":"ad2daee5-ddb1-4a22-9d1b-a240c31a4e30","command_center_event_id":"3f38f89d-f562-44d5-80ee-ba4a718879b7"},{"id":"e372d2fa-08a9-4cdb-b296-763609c2de47","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-6cb5dff52192","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":4229,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"executorlessWaitMs":14426,"firstUsefulResultAt":"2026-10-02T14:31:14.230Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.48-guarded-legacy-pr-retirement","prNumber":4471,"terminal":false,"missionId":"6cb5dff5-2192-4a29-84f6-8b14c16f48d5","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4802,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":632,"missionSetupMs":173,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":173,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":173,"repositoryMutationMs":4170,"repositoryProviderMs":4170,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2521,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":173,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1649},"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":"6cb5dff5-2192-4a29-84f6-8b14c16f48d5"},"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":3733,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T14:31:34.326587+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"4471","receipt_type":"execute_mission","idempotency_key":"mission:6cb5dff5-2192-4a29-84f6-8b14c16f48d5:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"f655f27b-4497-4677-8fe8-58266f2aa701","command_center_event_id":"6cb5dff5-2192-4a29-84f6-8b14c16f48d5"},{"id":"e375169a-fbae-4b8e-86c0-e76656d62403","source":"cc-execution","status":"waiting","payload":{"body":{"branch":"ai/objective-first-repair-6339b761ad28","approved":true,"missionId":"6339b761-ad28-41c0-8f13-9f10773d0ae6","objective":"Continue the existing durable mission using exact structured edits.","repository":"noel/KnockLaunchOS","trackMission":true,"ownerApproved":true,"anchored_edits":[{"path":".forgejo/workflows/knocklaunch.yml","after":"          # Hydrate both live-main and merge-base diffs under an explicit bounded\n          # retry before semantic validation. Adaptive QA may validate against the\n          # merge base rather than current main, so both object sets must be local\n          # before later validators intentionally disable lazy fetching.\n          validation_base=\"$(git merge-base \"$current_main\" \"$head_sha\")\"\n          [ -n \"$validation_base\" ] || { echo \"::error::gate_validation_merge_base_unresolved\"; exit 75; }\n          gate_diff_hydrate_log=\"$(mktemp)\"\n          for hydrate_base in \"$current_main\" \"$validation_base\"; do\n            gate_diff_hydrated=false\n            for attempt in 1 2; do\n              : > \"$gate_diff_hydrate_log\"\n              if git diff --no-ext-diff --binary \"$hydrate_base\" \"$head_sha\" >/dev/null 2>\"$gate_diff_hydrate_log\"; then\n                gate_diff_hydrated=true\n                break\n              fi\n              if [ \"$attempt\" -lt 2 ] && grep -Eqi 'requested URL returned error: 50[234]|could not fetch .*promisor remote|timed out|timeout|connection reset|connection refused|TLS handshake timeout|fetch failed|network is unreachable' \"$gate_diff_hydrate_log\"; then\n                sleep 1\n                continue\n              fi\n              break\n            done\n            if [ \"$gate_diff_hydrated\" != \"true\" ]; then\n              cat \"$gate_diff_hydrate_log\" >&2\n              rm -f \"$gate_diff_hydrate_log\"\n              echo \"::error::gate_exact_diff_hydration_failed:base=$hydrate_base\"\n              exit 75\n            fi\n          done\n          rm -f \"$gate_diff_hydrate_log\"","before":"          # Hydrate the exact base-to-head diff under an explicit bounded retry\n          # before semantic validation. Later validators run networkless instead\n          # of discovering missing promisor blobs in the middle of QA.\n          gate_diff_hydrate_log=\"$(mktemp)\"\n          gate_diff_hydrated=false\n          for attempt in 1 2; do\n            : > \"$gate_diff_hydrate_log\"\n            if git diff --no-ext-diff --binary \"$current_main\" \"$head_sha\" >/dev/null 2>\"$gate_diff_hydrate_log\"; then\n              gate_diff_hydrated=true\n              break\n            fi\n            if [ \"$attempt\" -lt 2 ] && grep -Eqi 'requested URL returned error: 50[234]|could not fetch .*promisor remote|timed out|timeout|connection reset|connection refused|TLS handshake timeout|fetch failed|network is unreachable' \"$gate_diff_hydrate_log\"; then\n              sleep 1\n              continue\n            fi\n            break\n          done\n          if [ \"$gate_diff_hydrated\" != \"true\" ]; then\n            cat \"$gate_diff_hydrate_log\" >&2\n            rm -f \"$gate_diff_hydrate_log\"\n            echo \"::error::gate_exact_diff_hydration_failed\"\n            exit 75\n          fi\n          rm -f \"$gate_diff_hydrate_log\""}],"update_strategy":"auto","controlPlaneUnfreeze":true,"durableMutationResume":true,"controlPlaneMaintenance":true,"controlPlaneMaintenanceReason":"Prime structured exact mutation continuation"},"recovery":false,"fingerprint":"7ba9a3fe3fb98649371900f405638b5be381e312468ee538e55d7cf7dc6e6499","replayCount":0,"serializedBytes":3509},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T21:04:24.276225+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:6339b761-ad28-41c0-8f13-9f10773d0ae6:repository-mutation-intent:7ba9a3fe3fb98649371900f405638b5be381e312468ee538e55d7cf7dc6e6499:0","mission_step_id":"23724272-9b8c-43a9-84d2-f57ccda5ca46","command_center_event_id":"6339b761-ad28-41c0-8f13-9f10773d0ae6"},{"id":"e376ad16-1d7d-41b8-9dc4-4d39d84ba840","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in release.","nextAction":{"lane":"production-release-conductor","action":"reconcile_release","reason":"merged_source_requires_release_proof","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_pending\"},\"activeStep\":{\"key\":\"pull_request\",\"status\":\"waiting\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"release\",\"status\":\"waiting\",\"lane\":\"production-release-conductor\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"visual_proof\",\"deadlineAt\":\"2026-09-22T16:12:37.003352+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-43899946e338\",\"prNumber\":3419,\"sourceSha\":\"4901fb6b7b810f4e74b53c9383356745e69eb414\",\"deploymentId\":\"forgejo-main-4901fb6b7b81\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-22T12:42:58.893154+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:43899946-e338-495b-b014-83ad37d832f0:owner-progress-heartbeat:119338731","mission_step_id":"92d374a7-2718-4fa6-9d47-2f8cd7ab1cc8","command_center_event_id":"43899946-e338-495b-b014-83ad37d832f0"},{"id":"e37a7678-78ab-4f0a-bfe2-ee998110ea99","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-0681e9b8101f","reason":"control_plane_maintenance_request_contract_required","status":"blocked","metrics":{"receiptBytes":15647,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":1,"executorlessWaitMs":580666,"firstUsefulResultAt":"2026-09-27T05:31:38.123Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.292-release-target-parity","prNumber":null,"terminal":false,"missionId":"0681e9b8-101f-48b7-bece-3cca02923ca9","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":285,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":285,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":285,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":285,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"0681e9b8-101f-48b7-bece-3cca02923ca9"},"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":1452,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T05:39:23.158583+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:0681e9b8-101f-48b7-bece-3cca02923ca9:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"5963fda4-8d74-41ef-87ca-91adc71e7840","command_center_event_id":"0681e9b8-101f-48b7-bece-3cca02923ca9"},{"id":"e37b177b-8925-4681-8827-b57508d2a7ed","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-2fd15150c943","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.182-witness-render-cold-start-aware","prNumber":null,"terminal":false,"missionId":"2fd15150-c943-427e-bb63-0ea8d4de82e6","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":136,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":616,"providerAuthMs":0,"ledgerPrepareMs":616,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":616,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":616,"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":"2fd15150-c943-427e-bb63-0ea8d4de82e6"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":5057,"likelyAffectedFiles":["src/PrivateAppShell.tsx","config/capabilities/tenant-brand-character.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","config/capabilities/mail-workspace-v1.json","config/capabilities/pcg-google-workspace-gmail.json","config/capabilities/platform-application-registry.json","config/capabilities/tenant-activation-certification.json"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-19T19:11:12.208083+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:2fd15150-c943-427e-bb63-0ea8d4de82e6:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"49d0ca61-fa70-483b-9d10-1331f49200d5","command_center_event_id":"2fd15150-c943-427e-bb63-0ea8d4de82e6"},{"id":"e37b314e-b830-415d-a22a-1d0028832294","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-323dacb86338","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":98498,"releaseCount":0,"toolCallCount":27,"repeatedCallCount":19,"executorlessWaitMs":33137170,"firstUsefulResultAt":"2026-10-05T14:41:00.659Z","recoveryAttemptCount":16,"ownerInterruptionCount":0},"version":null,"prNumber":4926,"terminal":false,"missionId":"323dacb8-6338-448d-80db-abe5d76c62d4","operation":"automatic_mission_resume","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"prReadinessMs":4000,"approvedPlanMs":0,"shipAndProveMs":0,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request after the exact-head KnockLaunch Gate changes state.","receiptRef":{"mode":"full","missionId":"323dacb8-6338-448d-80db-abe5d76c62d4"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1006,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T14:46:08.189932+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"4926","receipt_type":"automatic_mission_resume","idempotency_key":"mission:323dacb8-6338-448d-80db-abe5d76c62d4:automatic-mission-resume:4926:repair_mission_waiting_for_gate","mission_step_id":"2fc9677a-1ac4-407f-9939-68624b2868fc","command_center_event_id":"323dacb8-6338-448d-80db-abe5d76c62d4"},{"id":"e37c02b2-2952-4c7d-890c-a9c2d5d771e2","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"objective_received","branch":null,"reason":"pull_request_merge_failed:405:Pull Request is still a draft","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.30.6-batched-repair-release-gate","prNumber":3957,"terminal":true,"missionId":"d2a57544-a095-45b9-af71-43e4064ce26d","operation":"ship_and_prove","proofGate":"canonical_release_blocked","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"d2a57544-a095-45b9-af71-43e4064ce26d"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"sourceReceiptBytes":192,"ownerActionRequired":false},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-04T12:43:31.179466+00:00","proof_gate":"canonical_release_blocked","source_sha":null,"external_id":"3957","receipt_type":"ship_and_prove","idempotency_key":"mission:d2a57544-a095-45b9-af71-43e4064ce26d:ship_and_prove:canonical_release_blocked","mission_step_id":"7c6407c8-e817-450e-b31c-cc95ff6f81dd","command_center_event_id":"d2a57544-a095-45b9-af71-43e4064ce26d"},{"id":"e37d5c02-7d54-461e-95d6-518315672f84","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\":\"ship_and_prove\",\"status\":\"deployment_dispatched\",\"proofGate\":\"canonical_release_dispatched\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":0,\"pending\":6,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"preflight\",\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"preflight\",\"deadlineAt\":\"2026-08-03T21:01:00.506189+00:00\",\"recoveryAction\":\"reconcile_release\"},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":3905,\"sourceSha\":\"ce4a32df103b47d3f6c2cd5405233a19cfd49f46\",\"deploymentId\":\"canonical-release-ce4a32df103b\"}"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T21:35:05.407269+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:1569586c-6a8f-428a-bf85-604728d861b7:owner-progress-heartbeat:119329340","mission_step_id":"144b775f-898d-48c2-9661-f06944c8dab2","command_center_event_id":"1569586c-6a8f-428a-bf85-604728d861b7"},{"id":"e3810652-9f96-4b69-9ca5-ecedbc68486c","source":"durable-mission-ledger","status":"pending","payload":{"sourceSha":"b4e00efb5a74d258c64305cbb68854991facaccf","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-reader","satisfied":false,"statement":"Big Papi Mail desktop reader uses the available pane/viewport instead of a narrow centered island, with readable subject/from/body sizing and full-height pane scrolling.","proofConditionIds":["proof-mail-live","proof-mail-visual"]},{"id":"outcome-logo","satisfied":false,"statement":"Big Papi Mail signatures and branded mail resolve the logo from the live tenant company_logo_url and no longer override it with the legacy hardcoded Big Papi logo asset.","proofConditionIds":["proof-mail-live","proof-logo-source"]},{"id":"outcome-images","satisfied":true,"statement":"Existing received-email HTML/CID/image containment remains intact so images cannot expand or repaint the entire reader surface.","proofConditionIds":["proof-mail-live"]}],"satisfied":false,"constraints":[{"id":"constraint-scope","satisfied":true,"statement":"Use existing PR #1886 and its exact gated head; do not create another branch or PR and release frontend only.","proofConditionIds":["proof-mail-live"]},{"id":"constraint-mail-behavior","satisfied":true,"statement":"Preserve compose, reply/forward, attachments, search, folders, templates, signatures, event scanning, CID hydration and mobile behavior.","proofConditionIds":["proof-mail-live"]}],"contractHash":"b059d5ed66e0990d03b108897a5cdfdcec84430e921e07dc8ad01121f3975e7a","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"proof-mail-live","kind":"runtime","evidence":{"releaseState":"verified","activeReleaseTargets":["frontend"],"releaseRequestContractHash":"b059d5ed66e0990d03b108897a5cdfdcec84430e921e07dc8ad01121f3975e7a"},"required":true,"satisfied":true},{"id":"proof-logo-source","kind":"repository","evidence":{"repositoryProofGate":null,"requestContractHash":"b059d5ed66e0990d03b108897a5cdfdcec84430e921e07dc8ad01121f3975e7a","repositoryProofStatus":"required","repositoryProofSourceSha":null},"required":true,"satisfied":false},{"id":"proof-mail-visual","kind":"visual","evidence":{"verificationState":null,"witnessRequestContractHash":"b059d5ed66e0990d03b108897a5cdfdcec84430e921e07dc8ad01121f3975e7a"},"required":true,"satisfied":false}],"validationErrors":[],"pendingProofKinds":["repository","visual"],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":7},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-09-05T23:33:51.292089+00:00","proof_gate":"request_contract_pending","source_sha":"b4e00efb5a74d258c64305cbb68854991facaccf","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:5e54bf13-67e0-425f-abbd-4712ed4fe248:request-contract:b059d5ed66e0990d03b108897a5cdfdcec84430e921e07dc8ad01121f3975e7a:b4e00efb5a74d258c64305cbb68854991facaccf:pending:repository,visual","mission_step_id":"60b4162e-a6ac-46b8-9a81-dab547132f6c","command_center_event_id":"5e54bf13-67e0-425f-abbd-4712ed4fe248"},{"id":"e382c4fb-bb25-431d-83a3-d9fb8a669c82","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/src/model-provider-gateway.js","workers/cc-execution/src/platform-sidekick-intelligence.js","workers/cc-execution/src/version.js"],"reason":"Owner-authorized bounded source-page research upgrade for canonical PAUL.","baseSha":"16ed6954a338fb69fbfa0dfad38a8a5f9e62dbdd","issuedAt":1790991259071,"expiresAt":1790991439071,"missionId":"d9f6454c-184f-4821-88e2-3454a9885322","authorizationId":"6cff550b-132b-4fc0-a543-0ebdb26b210b","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T01:34:19.414635+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"16ed6954a338fb69fbfa0dfad38a8a5f9e62dbdd","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:6cff550b-132b-4fc0-a543-0ebdb26b210b","mission_step_id":"de17baf1-ffe7-4828-ab50-257ed31588dd","command_center_event_id":"d9f6454c-184f-4821-88e2-3454a9885322"},{"id":"e383e7c3-5d63-43ef-8c3b-46966c7d8f9a","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/roof-help-finder-trust-intake-20260827","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":39455,"releaseCount":0,"toolCallCount":13,"repeatedCallCount":3,"ownerInterruptionCount":0},"version":"1.55.0-godmode-restore-points","prNumber":900,"terminal":false,"missionId":"594d8a85-0a52-489b-9c1e-63b12931e12a","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"handlerMs":18762,"prReadinessMs":18752,"approvedPlanMs":0,"missionSetupMs":1950,"shipAndProveMs":0},"nextAction":"Reconcile this same mission and pull request after the exact-head KnockLaunch Gate changes state.","receiptRef":{"mode":"full","missionId":"594d8a85-0a52-489b-9c1e-63b12931e12a"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":6060,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"c3f09b56-5ff5-4521-8a0a-39cbeb4b5275","created_at":"2026-08-28T02:35:51.953064+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"900","receipt_type":"execute_mission","idempotency_key":"mission:594d8a85-0a52-489b-9c1e-63b12931e12a:execute_mission:repair_mission_waiting_for_gate:current-generation","mission_step_id":"480726e9-e7aa-4c3a-ab43-65a360d8f322","command_center_event_id":"594d8a85-0a52-489b-9c1e-63b12931e12a"},{"id":"e3853c95-f73b-4045-8148-b4e22cc084c7","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/big-papis-navigation-contract","reason":"pull_request_checks_failed","status":"retryable","metrics":{"receiptBytes":6825,"releaseCount":0,"toolCallCount":5,"repeatedCallCount":2,"ownerInterruptionCount":0},"version":null,"prNumber":213,"terminal":false,"missionId":"4e474648-45d0-49e4-9c1b-50e7ffce30eb","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":null,"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"4e474648-45d0-49e4-9c1b-50e7ffce30eb"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":888,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-16T01:58:58.189173+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"213","receipt_type":"automatic_mission_resume","idempotency_key":"mission:4e474648-45d0-49e4-9c1b-50e7ffce30eb:automatic-mission-resume:213:repair_mission_pr_ready_retryable","mission_step_id":"056feb0b-6783-4653-a399-7a04a60661ef","command_center_event_id":"4e474648-45d0-49e4-9c1b-50e7ffce30eb"},{"id":"e385eb7b-6bcf-4350-b3b8-10a148b980e2","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-1a7fc909ee75","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":8255,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"executorlessWaitMs":20809,"firstUsefulResultAt":"2026-10-03T04:12:54.075Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.72-knocklaunch-mcp-fast-batch","prNumber":4619,"terminal":false,"missionId":"1a7fc909-ee75-46b5-8938-fac461de6e81","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4678,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":1268,"missionSetupMs":177,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":177,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":177,"repositoryMutationMs":3410,"repositoryProviderMs":3410,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2134,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":177,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1276},"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":"1a7fc909-ee75-46b5-8938-fac461de6e81"},"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":3702,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T04:13:20.43436+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"4619","receipt_type":"execute_mission","idempotency_key":"mission:1a7fc909-ee75-46b5-8938-fac461de6e81:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"f6a45f81-aaaa-4977-85cc-cfea6f502a55","command_center_event_id":"1a7fc909-ee75-46b5-8938-fac461de6e81"},{"id":"e3882460-4463-432d-8139-8834eb93e577","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-0511015fcd2a","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.284-control-plane-source-fast-path","prNumber":null,"terminal":false,"missionId":"0511015f-cd2a-4e8f-9b7c-0b38fbfab0d4","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1172,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":406,"providerAuthMs":0,"ledgerPrepareMs":406,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":406,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":406,"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":"0511015f-cd2a-4e8f-9b7c-0b38fbfab0d4"},"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":3504,"likelyAffectedFiles":["src/__tests__/contracts/cc-tools-full-repository-capability.test.ts"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-26T02:26:02.640146+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:0511015f-cd2a-4e8f-9b7c-0b38fbfab0d4:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"2b9b3795-24ad-4a2b-b842-c665924f01df","command_center_event_id":"0511015f-cd2a-4e8f-9b7c-0b38fbfab0d4"},{"id":"e389e1f1-ca2a-4e4b-a080-bbb74a7fccfb","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"98ad701cb686fdb470fb58457462798c5f92dc06","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":true,"statement":"Repair existing PR #5025 only by adding the missing canonical capability manifest required by its proven Gate failure. Preserve all existing PR product changes. Add config/capabilities/pcg-public-card-intake.json with the exact supplied content, covering src/pages/card-grading/PCGPublicCardIntake.tsx and supabase/functions/pcg-public-card-intake. Then continue the same outcome through fresh Gate, squash merge, affected releases, and live proof.","proofConditionIds":["proof-production"]}],"satisfied":true,"constraints":[{"id":"capability-completeness","satisfied":true,"statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["proof-production"]},{"id":"atomic-capability-lifecycle","satisfied":true,"statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["proof-production"]}],"contractHash":"e457c77d60ab6e3d68498dcf92faa76c5a85f3c7793dd3e5b1d4413c0bd9e546","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"proof-production","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{},"unsuccessfulTargets":[],"activeReleaseTargets":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"e457c77d60ab6e3d68498dcf92faa76c5a85f3c7793dd3e5b1d4413c0bd9e546"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":[]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T19:28:18.069061+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"98ad701cb686fdb470fb58457462798c5f92dc06","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:a896b3ac-2c46-4e8d-b398-a239d417e491:request-contract:e457c77d60ab6e3d68498dcf92faa76c5a85f3c7793dd3e5b1d4413c0bd9e546:98ad701cb686fdb470fb58457462798c5f92dc06:verified:","mission_step_id":"33f535fa-08a2-4988-aed3-8e556fc0aa90","command_center_event_id":"a896b3ac-2c46-4e8d-b398-a239d417e491"},{"id":"e38ae431-6862-497c-bddb-798f198d43f1","source":"cc-execution","status":"authorized","payload":{"paths":[".forgejo/workflows/knocklaunch.yml","workers/cc-execution/test/release-orchestration-invariants.test.js"],"reason":"Run 5222 missing package-lock manifest hydration.","baseSha":"35431881b2be8ff1bb51fe19e147d7865d90bdc0","issuedAt":1788532381407,"expiresAt":1788532561407,"missionId":"f67115ab-1891-4fea-b8d4-4ce71203ae10","authorizationId":"a0f7eb8d-397c-49dc-b4c0-c6469ee613e7","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T14:33:01.938711+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"35431881b2be8ff1bb51fe19e147d7865d90bdc0","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:a0f7eb8d-397c-49dc-b4c0-c6469ee613e7","mission_step_id":"44f8dc01-b987-4775-b428-e04ef926468d","command_center_event_id":"f67115ab-1891-4fea-b8d4-4ce71203ae10"},{"id":"e38bfd13-6c1c-4b2e-b19c-b92bb3390e00","source":"cc-execution","status":"verified","payload":{"ownerWaitSloMs":{"merge_to_live_ms":170912,"owner_action_to_pr_ms":314973,"green_gate_to_merge_ms":null,"owner_action_to_useful_response_ms":309828},"ownerWaitLiveAt":"2026-09-27T21:38:04.912Z"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T21:38:05.226234+00:00","proof_gate":"owner_wait_live_milestone_recorded","source_sha":null,"external_id":null,"receipt_type":"owner_wait_live_milestone","idempotency_key":"mission:b5caa786-5cbc-4f48-bda1-698ebdf96507:owner-wait-live","mission_step_id":"cb751efa-55f4-493b-adeb-1087f8d5fa00","command_center_event_id":"b5caa786-5cbc-4f48-bda1-698ebdf96507"},{"id":"e38d2da9-f156-492a-ae95-5bede5362e25","source":"onrunner","status":"verified","payload":{"ok":true,"jobId":"3318470b-bf00-4fe3-a7b4-102b32412c29","phase":"universal_visual_witness_status","branch":"ai/objective-first-repair-c8d8c6d675e0","reason":null,"status":"verification_pending","metrics":{"receiptBytes":94574,"releaseCount":1,"toolCallCount":41,"repeatedCallCount":23,"executorlessWaitMs":842457,"firstUsefulResultAt":"2026-09-25T12:05:16.596Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":3715,"terminal":false,"missionId":"c8d8c6d6-75e0-47f9-8427-1f33e91dc2c9","operation":"visual_proof_status","proofGate":"interactive_visual_witness_verified","sourceSha":"e52fc7056f656be0bfe1efa5ce077b6dbb30d9e3","timingsMs":{"queue":810,"total":38653,"execution":37843},"nextAction":null,"receiptRef":{"mode":"full","missionId":"c8d8c6d6-75e0-47f9-8427-1f33e91dc2c9"},"performance":null,"deploymentId":"forgejo-main-e52fc7056f65","releaseState":"verified","visualWitness":{"role":"GodMode","jobId":"3318470b-bf00-4fe3-a7b4-102b32412c29","tenant":null,"runnerUrl":"https://knocklaunchcrm.onrender.com","runnerLane":"primary","attemptsUsed":1,"supervisorId":"3318470b-bf00-4fe3-a7b4-102b32412c29","failureReason":null,"observedRoute":"/knock-launch-os","runnerVersion":"onrunner-e52fc7056f65","attemptLineage":[{"jobId":"dccaaabc-bfba-45df-858e-4bc06f13bb86","attempt":1,"category":"verified","sourceSha":"e52fc7056f656be0bfe1efa5ce077b6dbb30d9e3","startedAt":"2026-09-25T12:18:28.175Z","completedAt":"2026-09-25T12:19:07.122Z","runtimeLane":"cc-execution -> Render OnRunner -> universal-witness.mjs","browserEngine":"chromium","failureReason":null,"retryRecovery":null,"runnerVersion":"onrunner-e52fc7056f65","browserLaunchReason":"managed_display","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":"/knock-launch-os","runnerSourceSha":"e52fc7056f656be0bfe1efa5ce077b6dbb30d9e3","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":11748,"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":11336,"ownerActionRequired":false,"ownerFacingTerminal":false,"requestContractHash":"1327d50b93210fd874c39862ecf0277ac79ac8389119cbf28e2ddd5b260a446e","continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T12:19:20.343307+00:00","proof_gate":"interactive_visual_witness_verified","source_sha":"onrunner-e52fc7056f65","external_id":"3318470b-bf00-4fe3-a7b4-102b32412c29","receipt_type":"visual_proof_status","idempotency_key":"mission:c8d8c6d6-75e0-47f9-8427-1f33e91dc2c9:visual:3318470b-bf00-4fe3-a7b4-102b32412c29:verified","mission_step_id":"5c65f24c-84c8-4eb2-a08e-8fd47a97f296","command_center_event_id":"c8d8c6d6-75e0-47f9-8427-1f33e91dc2c9"},{"id":"e38d6376-1751-4cc8-987b-13854f1d7489","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-faf0a20096d4","prNumber":4482,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"581067bb3423b2ec636ae7423cb3a58246338127","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T15:41:44.71615+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"581067bb3423b2ec636ae7423cb3a58246338127","external_id":"4482","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:faf0a200-96d4-4968-9e15-4037862db405:merged-pr:4482:581067bb3423b2ec636ae7423cb3a58246338127","mission_step_id":"96ff6f09-9af4-49fb-a4b0-79a5360c527a","command_center_event_id":"faf0a200-96d4-4968-9e15-4037862db405"},{"id":"e38d65bc-ba41-4918-adda-b4b5285a1561","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-3a8ba09f79eb","reason":"explicit_pull_request_identity_mismatch:3307","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.196-replay-fenced-mission-runtime","prNumber":3307,"terminal":false,"missionId":"3a8ba09f-79eb-4cb7-bd86-b39e2df205ec","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1602,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":1602,"missionSetupMs":1160,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":314,"ledgerReconcileMs":0,"lineageReconcileMs":846,"resolvePreflightMs":1160,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":314,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"3a8ba09f-79eb-4cb7-bd86-b39e2df205ec"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["repository","runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1483,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-20T21:24:04.67328+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":"3307","receipt_type":"execute_mission","idempotency_key":"mission:3a8ba09f-79eb-4cb7-bd86-b39e2df205ec:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"1cf8992d-5d53-48c0-8f1b-a3185e400449","command_center_event_id":"3a8ba09f-79eb-4cb7-bd86-b39e2df205ec"},{"id":"e38e7fc7-3501-4945-980c-170d50e04754","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in release.","nextAction":{"lane":"production-release-conductor","action":"reconcile_release","reason":"merged_source_requires_release_proof","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":1,\"pending\":5,\"percent\":17,\"satisfied\":false,\"verifiedIds\":[\"implementation\"],\"pendingIds\":[\"preflight\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"preflight\",\"deadlineAt\":\"2026-08-04T01:50:06.239781+00:00\",\"recoveryAction\":\"reconcile_release\"},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/bind-witness-to-visible-experience-preview-frame-r202608040140\",\"prNumber\":3937,\"sourceSha\":\"f3b26efa80a942c2b90798994cba48df93d46698\",\"deploymentId\":\"canonical-release-f3b26efa80a9\"}"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T22:09:31.941772+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:cc6e04c7-ba5d-47ef-a1d6-cd7eb9f76538:owner-progress-heartbeat:119329478","mission_step_id":"613a7e41-865c-4752-8a6c-dff48ca3fd93","command_center_event_id":"cc6e04c7-ba5d-47ef-a1d6-cd7eb9f76538"},{"id":"e38eb7e1-0a8a-4271-b388-8df98aee994c","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-dc8b0136d996","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":3991,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"executorlessWaitMs":27211,"firstUsefulResultAt":"2026-09-28T02:01:59.229Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.300-queue-self-heal","prNumber":null,"terminal":false,"missionId":"dc8b0136-d996-406c-8ce4-e51579f28743","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1587,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":414,"providerAuthMs":0,"ledgerPrepareMs":414,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":414,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":414,"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":"dc8b0136-d996-406c-8ce4-e51579f28743"},"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":3569,"likelyAffectedFiles":["config/paul-owner-profile.json","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-28T02:02:26.507667+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:dc8b0136-d996-406c-8ce4-e51579f28743:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"19d3e57d-6b72-423b-9b62-fd8e1055fa18","command_center_event_id":"dc8b0136-d996-406c-8ce4-e51579f28743"},{"id":"e3909fa2-8b01-4766-affe-1ac2a035dfc8","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"f118e6701b2482e84e6ce2c444934d5994eec29c","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":true,"statement":"PAUL behaves as the live KNOCKLAUNCH owner-operator contract specifies across capability answers, mutation authorization, durable continuity, and UI-to-backend context.","proofConditionIds":["proof-production"]}],"satisfied":true,"constraints":[{"id":"preserve-live-main","satisfied":true,"statement":"Preserve unrelated newer main changes and already-live capability grounding; make only bounded corrective edits.","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":"c6f9ad40bd2584d6422798c3fd6f0a157a0042e2992587088c24602aee3d1361","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"proof-production","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"frontend":"success","supabaseEdge":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["frontend","supabaseEdge"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"c6f9ad40bd2584d6422798c3fd6f0a157a0042e2992587088c24602aee3d1361"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["frontend","supabaseEdge"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T02:29:10.050532+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"f118e6701b2482e84e6ce2c444934d5994eec29c","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:f23d61df-851f-4be1-a9d6-cfd58e59fe05:request-contract:c6f9ad40bd2584d6422798c3fd6f0a157a0042e2992587088c24602aee3d1361:f118e6701b2482e84e6ce2c444934d5994eec29c:verified:","mission_step_id":"6d82458e-1fd9-4916-9980-228e063b5525","command_center_event_id":"f23d61df-851f-4be1-a9d6-cfd58e59fe05"},{"id":"e391494d-ed1e-4bfe-9429-998087d23beb","source":"cc-execution","status":"waiting","payload":{"sourceTargets":["src/pages/card-grading/PCGWorkspace.tsx"],"continuationObjective":"PCG mobile Card Vault truncation-safe repair. Mutate only src/pages/card-grading/PCGWorkspace.tsx using tiny exact anchored edits, one at a time. First edit: compact outer fixed deck spacing and hide explanatory intro on mobile only. Preserve desktop. No Visual Witness."},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T21:13:37.242385+00:00","proof_gate":"mission_continuation_scope_persisted","source_sha":null,"external_id":null,"receipt_type":"mission_continuation_scope_updated","idempotency_key":"mission:a263f340-2ead-499d-97d4-b8d0a170b1e1:mission_continuation_scope_updated:mission_continuation_scope_persisted:waiting","mission_step_id":"82226f7f-832d-4558-b7a0-b7103d9e85ea","command_center_event_id":"a263f340-2ead-499d-97d4-b8d0a170b1e1"},{"id":"e391e4e0-f136-4e1a-be4a-2a91b1ab004e","source":"owner_authorized_full_backlog_cleanup","status":"recorded","payload":{"category":"platform_reliability","disposition":"superseded_execution_attempt","previousStatus":"waiting","sourcePreserved":true,"noCompletionClaim":true,"recoveryPortfolioId":"ebe6b5df-7f2a-1b6c-69a8-1ad811c9e759"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-11T16:14:39.646808+00:00","proof_gate":"source_objective_preserved_in_existing_mission_ledger","source_sha":null,"external_id":null,"receipt_type":"owner_backlog_disposition","idempotency_key":"owner-full-backlog-cleanup-20261011:30a6fe8a-0808-4956-ab49-74d1d6de72cb","mission_step_id":null,"command_center_event_id":"30a6fe8a-0808-4956-ab49-74d1d6de72cb"},{"id":"e392463e-f167-4bb1-9437-325d32947bb0","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-e55149ca3c12","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.277-exact-gate-fast-path","prNumber":null,"terminal":false,"missionId":"e55149ca-3c12-47bd-89ec-d494f0b61731","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1054,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":479,"providerAuthMs":0,"ledgerPrepareMs":479,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":479,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":479,"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":"e55149ca-3c12-47bd-89ec-d494f0b61731"},"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":4279,"likelyAffectedFiles":["scripts/visual-witness-hosted-runner/src/universal-witness.mjs","scripts/visual-witness-hosted-runner/src/mission-supervisor.mjs"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T11:35:47.324141+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:e55149ca-3c12-47bd-89ec-d494f0b61731:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"f172e5ff-5ade-48c7-8e98-123f23ee244d","command_center_event_id":"e55149ca-3c12-47bd-89ec-d494f0b61731"},{"id":"e3927a75-dc0c-47d1-91ac-6f2876162287","source":"cc-execution","status":"waiting","payload":{"model":"@cf/openai/gpt-oss-120b","reason":"inference_returned_no_edits","provider":"cloudflare-workers-ai","latencyMs":7559,"structuredKeys":["0"]},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-10-04T02:30:05.95804+00:00","proof_gate":"paul_synthesis_no_edits","source_sha":null,"external_id":null,"receipt_type":"paul_synthesis_diagnostic","idempotency_key":"mission:4613f021-31ee-4103-ab05-28912e29dd7e:paul_synthesis_diagnostic:paul_synthesis_no_edits:waiting","mission_step_id":"684f5364-db4e-48b5-8a9a-f04de1901d4e","command_center_event_id":"4613f021-31ee-4103-ab05-28912e29dd7e"},{"id":"e39390ab-12b8-4e94-b45a-833f06f38355","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.46.2-autonomous-forgejo-merge-supervisor","prNumber":null,"terminal":false,"missionId":"7e358010-d960-4845-9335-06dcb6df253d","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":null,"nextAction":"Inspect the bounded repository paths, synthesize exact files or anchored_edits, and call /repair/continue-mission automatically with this missionId without another owner prompt.","receiptRef":{"mode":"full","missionId":"7e358010-d960-4845-9335-06dcb6df253d"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":7663,"likelyAffectedFiles":["src/__tests__/contracts/cc-execution-deploy-proof.test.ts","src/__tests__/contracts/cc-execution-onrunner-deploy-lane.contract.test.ts","src/__tests__/commandCenter/deployDetection.test.ts",".forgejo/workflows/knocklaunch.yml","src/__tests__/contracts/canonical-deploy-dispatchers.test.ts","src/__tests__/contracts/command-palette-platform-authority.contract.test.ts","scripts/generate-cc-execution-action-schema.mjs","src/components/admin/TenantUserCommandCenters.tsx","src/components/GlobalCommandPalette.tsx","src/__tests__/godmode/command-center.test.ts","src/__tests__/godmode/GodModeCommandConsole.test.tsx","scripts/validate-command-center-contracts.mjs"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-15T12:41:44.026923+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:7e358010-d960-4845-9335-06dcb6df253d:execute_mission:repair_mission_synthesis_ready","mission_step_id":"34607e69-9927-4adf-b6e1-bde858b7bd41","command_center_event_id":"7e358010-d960-4845-9335-06dcb6df253d"},{"id":"e396e125-be7d-4318-ba21-322f3ab95a74","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-533967b33120","reason":"pull_request_checks_failed","status":"retryable","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":2148,"terminal":false,"missionId":"533967b3-3120-45c1-9076-b46ae519bb75","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":2308,"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":"533967b3-3120-45c1-9076-b46ae519bb75"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1357,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-08T18:32:39.257953+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"2148","receipt_type":"automatic_mission_resume","idempotency_key":"mission:533967b3-3120-45c1-9076-b46ae519bb75:automatic-mission-resume:2148:repair_mission_pr_ready_retryable","mission_step_id":"85a7f3cc-44f3-4627-886b-d272ebeb44a2","command_center_event_id":"533967b3-3120-45c1-9076-b46ae519bb75"},{"id":"e39bdd62-0bef-447d-8600-9623d40c0362","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-91a97a3af3bf","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":12494,"releaseCount":0,"toolCallCount":6,"repeatedCallCount":2,"executorlessWaitMs":24140,"firstUsefulResultAt":"2026-10-01T20:05:46.640Z","recoveryAttemptCount":3,"ownerInterruptionCount":0},"version":null,"prNumber":4403,"terminal":false,"missionId":"91a97a3a-f3bf-4469-8cd5-3c4fb25f30cb","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"5bd82039ebfba19bab2b59ed6726ca4cad176517","timingsMs":{"prReadinessMs":2081,"approvedPlanMs":0,"shipAndProveMs":2261,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"91a97a3a-f3bf-4469-8cd5-3c4fb25f30cb"},"performance":null,"deploymentId":"forgejo-main-5bd82039ebfb","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["upsert-tenant-provider-secret"]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["repository","runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1872,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-01T20:06:16.504714+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"4403","receipt_type":"automatic_mission_resume","idempotency_key":"mission:91a97a3a-f3bf-4469-8cd5-3c4fb25f30cb:automatic-mission-resume:4403:canonical_release_reconciliation_pending","mission_step_id":"15817f75-9c3c-4fdb-9122-a613d49d0032","command_center_event_id":"91a97a3a-f3bf-4469-8cd5-3c4fb25f30cb"},{"id":"e39c935a-f1f3-4908-9cf0-d2b9f62e2523","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-c6ab03e691ff","prNumber":4487,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"4b13101aecbe77edbaf284548aa0f021784308bc","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T16:08:27.836367+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"4b13101aecbe77edbaf284548aa0f021784308bc","external_id":"4487","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:c6ab03e6-91ff-412e-bbf1-9ca46dbd6df5:merged-pr:4487:4b13101aecbe77edbaf284548aa0f021784308bc","mission_step_id":"93f6e5db-4131-4743-bc5c-64fd574a7e43","command_center_event_id":"c6ab03e6-91ff-412e-bbf1-9ca46dbd6df5"},{"id":"e39ea29b-83bf-49d5-a508-cfff24ec6ee7","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"pending","supabase-migrations/live":"pending"},"mainSha":"a269c6bc4f5fb2b8f22f0656b34e0e680e5e5c91","missing":[],"pending":["frontend-cloudflare/live","supabase-migrations/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live","supabase-migrations/live"],"sourceSha":"a269c6bc4f5fb2b8f22f0656b34e0e680e5e5c91","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"migrations":true,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"pending","migrations":"pending"},"requestContractHash":"f89e9e8fee5f81ccfc83f0ecb9cc6d9257519ee0e89a515922fe1c440288e94b","forgejoWorkflowProof":{"runId":14763,"source":"signed_push_receipt","status":"success","results":{},"conclusion":"success","targetStates":{"frontend":"pending","migrations":"pending"},"targetJobCount":7,"observedTargetStates":{"frontend":"pending","migrations":"pending"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T04:33:26.342335+00:00","proof_gate":"canonical_release_pending","source_sha":"a269c6bc4f5fb2b8f22f0656b34e0e680e5e5c91","external_id":"forgejo-main-a269c6bc4f5f","receipt_type":"canonical_release_status","idempotency_key":"mission:144d847a-7f7e-425a-9393-0252e2a4119e:forgejo-release-status:a269c6bc4f5fb2b8f22f0656b34e0e680e5e5c91:pending:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=pending|supabase-migrations/live=pending","mission_step_id":"a8d53a9f-4b2e-4bf6-b1d1-f5a87e42643a","command_center_event_id":"144d847a-7f7e-425a-9393-0252e2a4119e"},{"id":"e3a1f301-7cb5-4e97-a4ea-2bb48969923c","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/big-papis-proposal-alternatives-20260820","reason":null,"status":"source_resolution_required","metrics":{"receiptBytes":2301,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.48.9-single-mutation-lane","prNumber":null,"terminal":false,"missionId":"974fddac-526e-4d37-942e-0113114d8548","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":null,"nextAction":"Resolve bounded authoritative Forgejo source targets, then call /mission/execute again with this same missionId and exact files or anchored_edits. Do not switch workflows.","receiptRef":{"mode":"full","missionId":"974fddac-526e-4d37-942e-0113114d8548"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":7121,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-20T05:52:09.395189+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:974fddac-526e-4d37-942e-0113114d8548:execute_mission:repair_mission_source_resolution_required","mission_step_id":"a05b39d6-c45a-4cf2-93d9-4fb330a03074","command_center_event_id":"974fddac-526e-4d37-942e-0113114d8548"},{"id":"e3a1f8a8-b5a0-47db-8f21-cc96f3e254dd","source":"forgejo-runtime","status":"verified","payload":{"headSha":"8a10d3810426a6e217cbf38b7c5e637db1a10853","prNumber":6501,"sourceSha":"c2c5b7de821d52470305eea04b3f453383722733","headRefreshed":false,"mergedPrVerified":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-13T15:53:28.876452+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"c2c5b7de821d52470305eea04b3f453383722733","external_id":"6501","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:2df730c3-342d-4b15-9833-8ac72f9415fa:merged-pr:6501:c2c5b7de821d52470305eea04b3f453383722733","mission_step_id":"7032ff85-e4fb-42c7-bde2-f2f8d577a5ae","command_center_event_id":"2df730c3-342d-4b15-9833-8ac72f9415fa"},{"id":"e3a31562-5718-40af-9f14-d44d2117cde2","source":"cc-execution","status":"release_verification_pending","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":null,"reason":null,"status":"release_verification_pending","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.46.8-intent-aware-objectives","prNumber":128,"terminal":false,"missionId":"945ff95f-35e2-4cf9-8cab-171f2cf1592f","operation":"ship_and_prove","proofGate":"ship_and_prove_release_pending","sourceSha":"cce5b91b5e0461a30bdc442a32011736152837b4","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"945ff95f-35e2-4cf9-8cab-171f2cf1592f"},"performance":null,"deploymentId":"forgejo-main-cce5b91b5e04","workflowRunId":null,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3802,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-15T15:02:08.050559+00:00","proof_gate":"ship_and_prove_release_pending","source_sha":"cce5b91b5e0461a30bdc442a32011736152837b4","external_id":"forgejo-main-cce5b91b5e04","receipt_type":"ship_and_prove","idempotency_key":"mission:945ff95f-35e2-4cf9-8cab-171f2cf1592f:ship_and_prove:ship_and_prove_release_pending:cce5b91b5e0461a30bdc442a32011736152837b4:no-run","mission_step_id":"dbd4a4a9-9da5-4096-bb4f-72e2c7c807fa","command_center_event_id":"945ff95f-35e2-4cf9-8cab-171f2cf1592f"},{"id":"e3a7819e-070d-46c8-bd55-8bf9b2c865eb","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":null,"reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.71-mcp-oauth-owner-retry","prNumber":2003,"terminal":false,"missionId":"37f67094-73fa-453b-a450-d8c23d1dc988","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"20648a46375b3ce5db1c18dcf282a4bc2b47ca8d","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":15743,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":2485,"approvedPlanMs":0,"missionSetupMs":1285,"providerAuthMs":0,"shipAndProveMs":12472,"ledgerPrepareMs":326,"ledgerReconcileMs":0,"lineageReconcileMs":959,"resolvePreflightMs":1285,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":326,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"37f67094-73fa-453b-a450-d8c23d1dc988"},"performance":null,"deploymentId":"forgejo-main-20648a46375b","workflowRunId":null,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2522,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-07T22:42:59.149474+00:00","proof_gate":"canonical_release_dispatched","source_sha":"20648a46375b3ce5db1c18dcf282a4bc2b47ca8d","external_id":"forgejo-main-20648a46375b","receipt_type":"execute_mission","idempotency_key":"mission:37f67094-73fa-453b-a450-d8c23d1dc988:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"f5e4ab8b-2563-40a6-aa6f-1886e6a25c83","command_center_event_id":"37f67094-73fa-453b-a450-d8c23d1dc988"},{"id":"e3a7ba26-845d-49cf-bb16-42f3c23506d0","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/visual-witness-cloudflare-entitlement-diagnostic-20260905","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.64-mutation-ledger-handoff","prNumber":null,"terminal":false,"missionId":"682fc898-0270-49ec-b3d4-ea18305c544a","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":268,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":671,"providerAuthMs":0,"ledgerPrepareMs":671,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":671,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":671,"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":"682fc898-0270-49ec-b3d4-ea18305c544a"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":8065,"likelyAffectedFiles":["scripts/command-center-host-agent/install-forgejo-watchdog.sh","config/control-plane-capabilities.json","config/control-plane-restore-point.json","scripts/command-center-host-agent/forgejo-watchdog.sh","scripts/command-center-host-agent/knocklaunch-forgejo-watchdog.service","scripts/command-center-host-agent/knocklaunch-forgejo-watchdog.timer","scripts/command-center-host-agent/verify-forgejo-watchdog.sh","scripts/validate-command-center-contracts.mjs",".forgejo/workflows/knocklaunch.yml","src/__tests__/contracts/command-center-parallel-workstreams.contract.test.ts","scripts/protected-main-release-recovery.mjs","src/__tests__/commandCenter/deployDetection.test.ts"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-05T11:49:29.418273+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:682fc898-0270-49ec-b3d4-ea18305c544a:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"79371e75-4c32-424c-9383-536ef6e70bf7","command_center_event_id":"682fc898-0270-49ec-b3d4-ea18305c544a"},{"id":"e3a8c22d-9bd7-4083-ab41-eb2cafbb4d18","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in release.","nextAction":{"lane":"cc-execution","action":"reconcile_pull_request","reason":"pull_request_exists_without_merged_source","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"owner_progress_heartbeat\",\"status\":\"waiting\",\"proofGate\":\"owner_progress_heartbeat\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_pull_request\",\"lane\":\"cc-execution\",\"reason\":\"pull_request_exists_without_merged_source\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_pull_request\",\"recoveryOwner\":\"cc-execution\"},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-pcg-mobile-pagination-final\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"release\",\"deadlineAt\":\"2026-10-06T06:08:08.467348+00:00\",\"recoveryAction\":\"reconcile_pull_request\"},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":5151,\"sourceSha\":null,\"deploymentId\":null}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T06:11:58.715607+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:1ac7f316-f174-4a19-8f65-70f51fa4ba0e:owner-progress-heartbeat:119417807","mission_step_id":"3f87b5cc-95c7-45ca-a19c-5de0d9146e8d","command_center_event_id":"1ac7f316-f174-4a19-8f65-70f51fa4ba0e"},{"id":"e3a9c397-15a5-44cf-9327-d140ad0abfe0","source":"owner_authorized_full_backlog_cleanup","status":"recorded","payload":{"category":"other_product_work","disposition":"superseded_execution_attempt","previousStatus":"blocked","sourcePreserved":true,"noCompletionClaim":true,"recoveryPortfolioId":"bab983f2-5b27-75ee-2ba0-fc92336af889"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-11T16:14:39.646808+00:00","proof_gate":"source_objective_preserved_in_existing_mission_ledger","source_sha":null,"external_id":null,"receipt_type":"owner_backlog_disposition","idempotency_key":"owner-full-backlog-cleanup-20261011:f0ac1d5e-587a-4296-9ce6-84d1af484100","mission_step_id":null,"command_center_event_id":"f0ac1d5e-587a-4296-9ce6-84d1af484100"},{"id":"e3acc2ee-e06c-4f37-a514-a5ebb13b3be6","source":"owner_authorized_full_backlog_cleanup","status":"recorded","payload":{"category":"platform_reliability","disposition":"superseded_execution_attempt","previousStatus":"blocked","sourcePreserved":true,"noCompletionClaim":true,"recoveryPortfolioId":"6eb26921-1579-51d6-318e-98f625550bfa"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-11T16:14:39.646808+00:00","proof_gate":"source_objective_preserved_in_existing_mission_ledger","source_sha":null,"external_id":null,"receipt_type":"owner_backlog_disposition","idempotency_key":"owner-full-backlog-cleanup-20261011:ff5b42ab-0af6-47a6-9456-90e34827593a","mission_step_id":null,"command_center_event_id":"ff5b42ab-0af6-47a6-9456-90e34827593a"},{"id":"e3b07044-9fbf-405a-b2a5-4de8be467cbd","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/deterministic-incident-learning-20260815","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":3797,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":1,"ownerInterruptionCount":0},"version":"1.46.8-intent-aware-objectives","prNumber":null,"terminal":false,"missionId":"20cab9f4-ea18-4cd5-be3c-2109775ff917","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":null,"nextAction":"Inspect the bounded repository paths, synthesize exact files or anchored_edits, and call /repair/continue-mission automatically with this missionId without another owner prompt.","receiptRef":{"mode":"full","missionId":"20cab9f4-ea18-4cd5-be3c-2109775ff917"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":9350,"likelyAffectedFiles":["config/control-plane-capabilities.json","src/__tests__/contracts/cc-execution-onrunner-deploy-lane.contract.test.ts","src/__tests__/contracts/command-center-mission-control.test.ts","src/__tests__/contracts/command-center-mission-preflight.test.ts","src/__tests__/contracts/command-palette-platform-authority.contract.test.ts","src/components/admin/TenantUserCommandCenters.tsx","src/__tests__/commandCenter/deployDetection.test.ts","scripts/validate-command-center-contracts.mjs","scripts/__tests__/production-release-status.contract.test.mjs","src/components/GlobalCommandPalette.tsx","src/__tests__/godmode/command-center.test.ts","src/__tests__/godmode/GodModeCommandConsole.test.tsx"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-15T14:26:36.933147+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:20cab9f4-ea18-4cd5-be3c-2109775ff917:execute_mission:repair_mission_synthesis_ready","mission_step_id":"90dfb8c2-79eb-4616-beb4-4712e096a73b","command_center_event_id":"20cab9f4-ea18-4cd5-be3c-2109775ff917"},{"id":"e3b1000a-4915-49d1-80b1-fd27fd428f85","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"1d33e4d43be0477b2e3073ccdadc52be58cf519d","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"1d33e4d43be0477b2e3073ccdadc52be58cf519d","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":"8a9be2f3a2467b799f1b2e2cbf60fb38bb172ec1e843afc9c80cacf0799923ac","forgejoWorkflowProof":{"runId":6859,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"frontend":"pending"},"targetJobCount":7,"observedTargetStates":{"frontend":"pending"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-10T21:23:56.830122+00:00","proof_gate":"canonical_release_pending","source_sha":"1d33e4d43be0477b2e3073ccdadc52be58cf519d","external_id":"forgejo-main-1d33e4d43be0","receipt_type":"canonical_release_status","idempotency_key":"mission:c7e90ade-dce3-4e3c-9f73-68b8673111f4:forgejo-release-status:1d33e4d43be0477b2e3073ccdadc52be58cf519d:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"78a7cc49-4933-49e9-b24c-6e3fc64ba480","command_center_event_id":"c7e90ade-dce3-4e3c-9f73-68b8673111f4"},{"id":"e3b4075f-fada-45e6-81cd-a664d7acf7ac","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-35a08e98d190","reason":"anchored_edit_anchor_not_unique:src/__tests__/contracts/mobile-tenant-avatar-navigation.contract.test.ts","status":"blocked","metrics":{"receiptBytes":6215,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":0,"executorlessWaitMs":53087,"firstUsefulResultAt":"2026-09-28T04:09:15.951Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.301-premium-visual-system","prNumber":null,"terminal":false,"missionId":"35a08e98-d190-4c68-9845-4f9603809cc8","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":570,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":570,"missionSetupMs":282,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":282,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":282,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":282,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"35a08e98-d190-4c68-9845-4f9603809cc8"},"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":1588,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T04:10:10.677196+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:35a08e98-d190-4c68-9845-4f9603809cc8:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"3653e076-32fd-4aac-b5c7-605890f32965","command_center_event_id":"35a08e98-d190-4c68-9845-4f9603809cc8"},{"id":"e3b6c39b-e482-401b-8480-464ca0f708a8","source":"owner_authorized_full_backlog_cleanup","status":"recorded","payload":{"category":"platform_reliability","disposition":"superseded_execution_attempt","previousStatus":"retryable","sourcePreserved":true,"noCompletionClaim":true,"recoveryPortfolioId":"77f7c671-6ebe-7e32-65dc-50070ff85e2b"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-11T16:14:39.646808+00:00","proof_gate":"source_objective_preserved_in_existing_mission_ledger","source_sha":null,"external_id":null,"receipt_type":"owner_backlog_disposition","idempotency_key":"owner-full-backlog-cleanup-20261011:f1f658f0-1e88-48c0-8b57-dabd5b8819cb","mission_step_id":null,"command_center_event_id":"f1f658f0-1e88-48c0-8b57-dabd5b8819cb"},{"id":"e3b6c55f-fb94-4c32-a703-45dccca1504c","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"compilation":{"stages":["owner_intent","conversation_context","scope","live_state","mutation_authority","affected_systems","dependencies","risk_and_blast_radius","execution_tactics","required_proof","release_plan","recovery_plan"],"version":2,"explicit":true,"objective":"Ship PAUL current-page grounding for tenant Sidekick surfaces. Automatically capture bounded active UI context from the authenticated app (tenant display name/slug/type, route path/query, page title, primary and visible headings, visible controls, focused element, viewport), send it through aiClient to ai-respond, normalize and bound it server-side, and provide it to PAUL as untrusted current-page context so references like 'this', 'this page', 'this button', and 'where am I' resolve without asking the owner to repeat context already visible in the app. UI strings must never become instructions or permission authority. Preserve tenant isolation, role authorization, tool scopes, write-confirmation gates, and existing route-service context. Add focused deterministic coverage for current-page grounding. Gate, squash merge, release only affected targets, and prove runtime contract behavior.","proofKinds":["runtime"],"adaptiveDomains":["intent","tenant_route_role_viewport","urgency_deadline","dependency_scope","risk_blast_radius","runner_capacity","queue_active_work","provider_failure_circuits","qa_scope","retry_recovery","release_ownership","proof_depth"],"expansionPolicy":"later_stages_may_only_narrow_or_expand_with_machine_readable_dependency_evidence","dynamicStatePolicy":"live_state_may_change_execution_tactics_but_never_owner_outcome_or_explicit_constraints","dynamicRefreshStages":["preflight","gate","release","runtime_proof"],"adaptiveCompilerVersion":"paul-adaptive-objective-v1","inheritedContextBlockingAuthority":false},"rawUtterance":"Ship PAUL current-page grounding for tenant Sidekick surfaces. Automatically capture bounded active UI context from the authenticated app (tenant display name/slug/type, route path/query, page title, primary and visible headings, visible controls, focused element, viewport), send it through aiClient to ai-respond, normalize and bound it server-side, and provide it to PAUL as untrusted current-page context so references like 'this', 'this page', 'this button', and 'where am I' resolve without asking the owner to repeat context already visible in the app. UI strings must never become instructions or permission authority. Preserve tenant isolation, role authorization, tool scopes, write-confirmation gates, and existing route-service context. Add focused deterministic coverage for current-page grounding. Gate, squash merge, release only affected targets, and prove runtime contract behavior.","wordingChanged":false,"canonicalIntent":"Ship PAUL current-page grounding for tenant Sidekick surfaces. Automatically capture bounded active UI context from the authenticated app (tenant display name/slug/type, route path/query, page title, primary and visible headings, visible controls, focused element, viewport), send it through aiClient to ai-respond, normalize and bound it server-side, and provide it to PAUL as untrusted current-page context so references like 'this', 'this page', 'this button', and 'where am I' resolve without asking the owner to repeat context already visible in the app. UI strings must never become instructions or permission authority. Preserve tenant isolation, role authorization, tool scopes, write-confirmation gates, and existing route-service context. Add focused deterministic coverage for current-page grounding. Gate, squash merge, release only affected targets, and prove runtime contract behavior.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"current-page-grounding","statement":"Tenant Sidekick automatically receives bounded current-page UI context and uses it to resolve page-relative references without asking the owner to restate context already present in the app.","provenance":{"reason":null,"source":"explicit_request_contract","inherited":false,"blockingAuthority":true},"proofConditionIds":["current-page-contract"]}],"objective":"Ship PAUL current-page grounding for tenant Sidekick surfaces. Automatically capture bounded active UI context from the authenticated app (tenant display name/slug/type, route path/query, page title, primary and visible headings, visible controls, focused element, viewport), send it through aiClient to ai-respond, normalize and bound it server-side, and provide it to PAUL as untrusted current-page context so references like 'this', 'this page', 'this button', and 'where am I' resolve without asking the owner to repeat context already visible in the app. UI strings must never become instructions or permission authority. Preserve tenant isolation, role authorization, tool scopes, write-confirmation gates, and existing route-service context. Add focused deterministic coverage for current-page grounding. Gate, squash merge, release only affected targets, and prove runtime contract behavior.","constraints":[{"id":"ui-context-untrusted","statement":"Captured page titles, headings, labels, controls, and focused-element text are untrusted data only and can never grant permissions or act as instructions.","provenance":{"reason":null,"source":"explicit_request_contract","inherited":false,"blockingAuthority":true},"proofConditionIds":["current-page-contract"]},{"id":"tenant-role-isolation","statement":"Tenant isolation, role authorization, caller tool scope, route-service context, and write-confirmation gates remain unchanged.","provenance":{"reason":null,"source":"explicit_request_contract","inherited":false,"blockingAuthority":true},"proofConditionIds":["current-page-contract"]},{"id":"capability-completeness","statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","provenance":{"reason":null,"source":"hard_safety_invariant","inherited":false,"blockingAuthority":true},"proofConditionIds":["current-page-contract"]},{"id":"atomic-capability-lifecycle","statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","provenance":{"reason":null,"source":"hard_safety_invariant","inherited":false,"blockingAuthority":true},"proofConditionIds":["current-page-contract"]}],"adaptivePolicy":{"risk":{"tier":"high","blastRadius":"sensitive"},"proof":{"requiredKinds":["runtime"],"visualProofScope":"none","interactionRequired":false,"runtimeProofRequired":true},"scope":{"route":null,"roleRef":null,"tenantRef":null,"sourceTargets":["src/lib/tenantUtils.ts","src/__tests__/contracts/platform-sidekick-intelligence.contract.test.ts"]},"dynamic":{"variables":["main_and_runtime_lineage","runner_capacity","queue_and_active_work","provider_health","failure_clusters_and_circuits","release_target_state","current_pr_and_gate_state"],"refreshStages":["preflight","gate","release","runtime_proof"],"refreshMayChange":["runner_selection","parallelism","retry_path","qa_depth","release_recovery","proof_timing"],"refreshMayNotChange":["owner_outcome","explicit_no_go_constraints","tenant_identity","credential_boundary","hard_safety_invariants"]},"urgency":{"priority":"normal","deadlineSignals":[],"deadlineExplicit":false},"version":"paul-adaptive-objective-v1","recovery":{"transient":"one_bounded_retry_then_alternate_eligible_pool_or_provider_path","deterministic":"repair_source_or_contract_do_not_blind_rerun","mutationDependencyFailure":"prerequisite_required_or_targeted_recovery_never_invent","readOnlyDependencyFailure":"degrade_to_available_grounded_context_and_keep_conversation_alive"},"unknowns":["tenant","route","deadline"],"authority":{"outcome":"current_explicit_owner_request","tactics":"live_prime_truth","unknownPolicy":"preserve_unknown_never_invent","historicalContext":"advisory_unless_current_request_confirms"},"execution":{"mutation":true,"concurrency":"serialize_overlapping_mutations","scopePolicy":"start_bounded_expand_only_with_machine_readable_dependency_evidence","staleStatePolicy":"refresh_dynamic_state_before_irreversible_or_acceptance_stage","conversationIsolation":true,"ownerOutcomeMayBeChangedByAdaptation":false},"experience":{"visual":false,"viewports":["desktop","mobile"],"behavioral":false,"visualProofScope":"none"},"dependencies":{"requiredDomains":["frontend","backend_runtime","authentication_authorization","release_ownership","live_production_proof"],"capabilityDomains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"releaseTargetHints":["frontend"]},"inputSignals":{"rawUtterance":"Ship PAUL current-page grounding for tenant Sidekick surfaces. Automatically capture bounded active UI context from the authenticated app (tenant display name/slug/type, route path/query, page title, primary and visible headings, visible controls, focused element, viewport), send it through aiClient to ai-respond, normalize and bound it server-side, and provide it to PAUL as untrusted current-page context so references like 'this', 'this page', 'this button', and 'where am I' resolve without asking the owner to repeat context already visible in the app. UI strings must never become instructions or permission authority. Preserve tenant isolation, role authorization, tool scopes, write-confirmation gates, and existing route-service context. Add focused deterministic coverage for current-page grounding. Gate, squash merge, release only affected targets, and prove runtime contract behavior.","canonicalIntent":"Ship PAUL current-page grounding for tenant Sidekick surfaces. Automatically capture bounded active UI context from the authenticated app (tenant display name/slug/type, route path/query, page title, primary and visible headings, visible controls, focused element, viewport), send it through aiClient to ai-respond, normalize and bound it server-side, and provide it to PAUL as untrusted current-page context so references like 'this', 'this page', 'this button', and 'where am I' resolve without asking the owner to repeat context already visible in the app. UI strings must never become instructions or permission authority. Preserve tenant isolation, role authorization, tool scopes, write-confirmation gates, and existing route-service context. Add focused deterministic coverage for current-page grounding. Gate, squash merge, release only affected targets, and prove runtime contract behavior.","conversationContextPresent":false}},"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"current-page-contract","kind":"runtime","claim":"Affected frontend and ai-respond runtimes are released from the exact merged source and focused contract coverage verifies bounded current-page context capture, transport, normalization, grounding, and untrusted-data treatment.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}],"validationErrors":[],"capabilityManifest":{"id":"Ship-PAUL-current-page-grounding-for-tenant-Sidekick-surfaces.-Automatically-capture-bounded-active-","driftPolicy":"exact_manifest_source_release_dependency_or_runtime_identity_mismatch_is_nonterminal","proofLedger":"command_center_mission_ledger_request_contract_hash_bound","schemaVersion":1,"releaseTargets":[],"lifecycleStates":["prepare","deploy","verify","activate"],"activationPolicy":"dependencies_and_claim_matched_live_proof_before_exposure","dependencyDomains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_required_not_runtime_failures","compatibilityWindow":["N","N-1"],"failureIsolationPolicy":"quarantine_or_rollback_affected_capability_only_preserve_unrelated_working_capabilities","canaryProofConditionIds":["current-page-contract"]},"capabilityCompleteness":{"domains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"required":true,"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_states_not_runtime_failures"}},"requestContractHash":"f58a13cc7ab2c6369c0320d9820b151dcead9714e24511249c90b4387d8ebd3b","requestContractRevision":3,"previousRequestContractHash":"c86acbd7e9af8dfd7b9cd37c648e53a15892bc13f547f562f4ef68c0418dc013"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T03:55:40.911747+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:ec2812df-65ea-410e-b105-349362de5c46:request-contract:f58a13cc7ab2c6369c0320d9820b151dcead9714e24511249c90b4387d8ebd3b","mission_step_id":"35f958bc-8801-49c1-969b-5cf05e834066","command_center_event_id":"ec2812df-65ea-410e-b105-349362de5c46"},{"id":"e3b89d97-c3d1-4d32-9dc9-cf889b0c81ee","source":"cc-execution","status":"blocked","payload":{"reason":"compiler_recovery_diff_window_limit","failureClass":null,"sourceTargets":["src/pages/card-grading/PCGCardCustomerOrderAssignment.tsx","src/pages/card-grading/PCGCardVaultOperationsPanels.tsx"],"dependencyReason":null,"dependencyStatus":null,"providerAttempts":[],"automaticExecutorAssigned":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-15T22:33:54.676241+00:00","proof_gate":"bounded_implementation_checkpoint_persisted","source_sha":"150511c1aae5f7aab8db0dadad3f21ae4c301718","external_id":null,"receipt_type":"bounded_implementation_continuation","idempotency_key":"mission:7e5be496-8552-43a2-8c2f-484ebd16c072:compiler:150511c1aae5f7aab8db0dadad3f21ae4c301718:src/pages/card-grading/PCGCardCustomerOrderAssignment.tsx,src/pages/card-grading/PCGCardVaultOperationsPanels.tsx","mission_step_id":"4cf176c1-c359-4555-bb9c-30c9a503623b","command_center_event_id":"7e5be496-8552-43a2-8c2f-484ebd16c072"},{"id":"e3b9ab8d-9cfe-40b9-b592-e2d12436080f","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in release.","nextAction":{"lane":"production-release-conductor","action":"reconcile_release","reason":"merged_source_requires_release_proof","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_pending\"},\"activeStep\":{\"key\":\"pull_request\",\"status\":\"waiting\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"release\",\"status\":\"waiting\",\"lane\":\"production-release-conductor\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_release\",\"recoveryOwner\":\"production-release-conductor\"},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"visual_proof\",\"deadlineAt\":\"2026-10-04T19:07:17.97529+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-522bfcd3ecca\",\"prNumber\":4806,\"sourceSha\":\"469d5e5c2d52a522870917313ebc0cbeb38c63ee\",\"deploymentId\":\"forgejo-main-469d5e5c2d52\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T15:19:07.004723+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:522bfcd3-ecca-4d6f-a97e-9289c2f5a4c4:owner-progress-heartbeat:119408476","mission_step_id":"0d6de672-d9e0-4dd9-9aec-ece8abe6e737","command_center_event_id":"522bfcd3-ecca-4d6f-a97e-9289c2f5a4c4"},{"id":"e3b9d8fe-4fad-4d33-94f4-d327913d2204","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/fix-godmode-restore-authority-20260828","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":1161,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.55.0-godmode-restore-points","prNumber":null,"terminal":false,"missionId":"58f3ab9b-eb05-406f-b8a5-608379609972","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"handlerMs":273,"missionSetupMs":507},"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":"58f3ab9b-eb05-406f-b8a5-608379609972"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":8899,"likelyAffectedFiles":["src/components/UnifiedProtectedRoute.tsx","src/components/CallFlow/steps/OpeningScriptStep.tsx","src/components/InspectionRequestModal.tsx","src/components/academy/RoleplayFeedbackPanel.tsx","src/components/admin/InvoicePermissionsManager.tsx","src/components/CallFlow/WorkflowCallCockpit.tsx","src/components/CallFlow/WorkflowLiveCoachingFocus.tsx","src/components/CallFlow/WorkflowTabs.tsx","src/components/JobTracker/SendWorkAuthDialog.tsx","src/components/PreWorkflowScreen.tsx","src/components/ReleaseAllLeadsButton.tsx","src/components/ReleaseLeadButton.tsx"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-28T00:53:48.702335+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:58f3ab9b-eb05-406f-b8a5-608379609972:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"710076a8-53d8-44b3-a66f-cb9a7f3db725","command_center_event_id":"58f3ab9b-eb05-406f-b8a5-608379609972"},{"id":"e3ba0ed6-9a23-43e5-b060-7a930c87691f","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"87a8741af34ae83471b0a106f434ca5dc8f7fa13","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"87a8741af34ae83471b0a106f434ca5dc8f7fa13","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"success"},"requestContractHash":"d254e715960b6418368568061ee20f5aa52b5c21781ee290422f5d23eb2f51b3","forgejoWorkflowProof":{"runId":16091,"source":"signed_push_receipt","status":"success","results":{},"conclusion":"success","targetStates":{"frontend":"success"},"targetJobCount":7,"observedTargetStates":{"frontend":"success"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T23:21:56.41685+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"87a8741af34ae83471b0a106f434ca5dc8f7fa13","external_id":"forgejo-main-87a8741af34a","receipt_type":"canonical_release_status","idempotency_key":"mission:3fd8d7c6-415d-4e25-9d05-04103fee8bf7:forgejo-release-status:87a8741af34ae83471b0a106f434ca5dc8f7fa13:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"5868e6e1-788a-4e69-be79-4fd0391e023c","command_center_event_id":"3fd8d7c6-415d-4e25-9d05-04103fee8bf7"},{"id":"e3bddcbb-d9e9-4bc8-b072-c34823e6e121","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"f5e65fad8f5fe609fda1f7ed0e6625adf869cba1","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"route-inference","satisfied":true,"statement":"Command Center recognizes one absolute application route path in an objective as the proof route and no longer rejects that objective solely for inferred_visual_proof_route_required.","proofConditionIds":["runtime-proof"]}],"satisfied":true,"constraints":[{"id":"fail-closed","satisfied":true,"statement":"Control plane route inference remains fail-closed for zero or multiple route candidates and does not weaken authentication, authorization, credential, repository, Gate, or protected-main controls.","proofConditionIds":["runtime-proof"]},{"id":"capability-completeness","satisfied":true,"statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["runtime-proof"]},{"id":"atomic-capability-lifecycle","satisfied":true,"statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["runtime-proof"]}],"contractHash":"01788cfdeffcc7618b704cfd3f281510ebe6422cf4945e0fa22d69c1b68d2769","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"runtime-proof","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"ccExecution":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["ccExecution"],"allowedReleaseTargets":[],"requiredReleaseTargets":["ccExecution"],"migrationReleaseVerified":null,"releaseRequestContractHash":"01788cfdeffcc7618b704cfd3f281510ebe6422cf4945e0fa22d69c1b68d2769"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["ccExecution"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T12:53:50.68151+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"f5e65fad8f5fe609fda1f7ed0e6625adf869cba1","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:a86e0657-5d8e-474b-ae47-2d1148769b31:request-contract:01788cfdeffcc7618b704cfd3f281510ebe6422cf4945e0fa22d69c1b68d2769:f5e65fad8f5fe609fda1f7ed0e6625adf869cba1:verified:","mission_step_id":"b670d4f7-2689-4564-a7a6-f58630551d2b","command_center_event_id":"a86e0657-5d8e-474b-ae47-2d1148769b31"},{"id":"e3bf4cd0-7a9c-4300-90ab-0ff727c3bfd2","source":"cc-execution","status":"recorded","payload":{"objective":"Implement and ship PCG single simple universal uploader in src/pages/card-grading/PCGReceiveCardsGallery.tsx and shared src/components/crm/BatchPhotoUploader.tsx. One multi-photo picker for single/batch, simple Shop Cards or existing Customer Order selector, Review & Save. Hide CSV/TSV/JSON, Slack, advanced options, separate front/back file selectors from primary UI. Preserve auto cert/grade extraction, leading zeros, batch pairing, missing-back support, and existing data. Gate merge deploy and verify mobile live.","tenantRef":"PCG","receivedAt":"2026-10-15T15:06:16.856Z","fingerprint":"ee66e157b3767742a4d111e09f45d16588ed6dcfe81637098deb591ac8890b3f","workstreamRef":"pcg","conversationId":null,"canonicalBranch":null,"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"compilation":{"stages":["owner_intent","conversation_context","scope","live_state","mutation_authority","affected_systems","dependencies","risk_and_blast_radius","execution_tactics","required_proof","release_plan","recovery_plan"],"version":2,"explicit":false,"objective":"Implement and ship PCG single simple universal uploader in src/pages/card-grading/PCGReceiveCardsGallery.tsx and shared src/components/crm/BatchPhotoUploader.tsx. One multi-photo picker for single/batch, simple Shop Cards or existing Customer Order selector, Review & Save. Hide CSV/TSV/JSON, Slack, advanced options, separate front/back file selectors from primary UI. Preserve auto cert/grade extraction, leading zeros, batch pairing, missing-back support, and existing data. Gate merge deploy and verify mobile live.","proofKinds":[],"adaptiveDomains":["intent","tenant_route_role_viewport","urgency_deadline","dependency_scope","risk_blast_radius","runner_capacity","queue_active_work","provider_failure_circuits","qa_scope","retry_recovery","release_ownership","proof_depth"],"expansionPolicy":"later_stages_may_only_narrow_or_expand_with_machine_readable_dependency_evidence","dynamicStatePolicy":"live_state_may_change_execution_tactics_but_never_owner_outcome_or_explicit_constraints","dynamicRefreshStages":["preflight","gate","release","runtime_proof"],"adaptiveCompilerVersion":"paul-adaptive-objective-v1","inheritedContextBlockingAuthority":false},"rawUtterance":"Implement and ship PCG single simple universal uploader in src/pages/card-grading/PCGReceiveCardsGallery.tsx and shared src/components/crm/BatchPhotoUploader.tsx. One multi-photo picker for single/batch, simple Shop Cards or existing Customer Order selector, Review & Save. Hide CSV/TSV/JSON, Slack, advanced options, separate front/back file selectors from primary UI. Preserve auto cert/grade extraction, leading zeros, batch pairing, missing-back support, and existing data. Gate merge deploy and verify mobile live.","wordingChanged":false,"canonicalIntent":"Implement and ship PCG single simple universal uploader in src/pages/card-grading/PCGReceiveCardsGallery.tsx and shared src/components/crm/BatchPhotoUploader.tsx. One multi-photo picker for single/batch, simple Shop Cards or existing Customer Order selector, Review & Save. Hide CSV/TSV/JSON, Slack, advanced options, separate front/back file selectors from primary UI. Preserve auto cert/grade extraction, leading zeros, batch pairing, missing-back support, and existing data. Gate merge deploy and verify mobile live.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"legacy_derived","version":1,"outcomes":[{"id":"outcome-1","statement":"Implement and ship PCG single simple universal uploader in src/pages/card-grading/PCGReceiveCardsGallery.tsx and shared src/components/crm/BatchPhotoUploader.tsx. One multi-photo picker for single/batch, simple Shop Cards or existing Customer Order selector, Review & Save. Hide CSV/TSV/JSON, Slack, advanced options, separate front/back file selectors from primary UI. Preserve auto cert/grade extraction, leading zeros, batch pairing, missing-back support, and existing data. Gate merge deploy and verify mobile live.","provenance":{"reason":null,"source":"current_request_inference","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]}],"objective":"Implement and ship PCG single simple universal uploader in src/pages/card-grading/PCGReceiveCardsGallery.tsx and shared src/components/crm/BatchPhotoUploader.tsx. One multi-photo picker for single/batch, simple Shop Cards or existing Customer Order selector, Review & Save. Hide CSV/TSV/JSON, Slack, advanced options, separate front/back file selectors from primary UI. Preserve auto cert/grade extraction, leading zeros, batch pairing, missing-back support, and existing data. Gate merge deploy and verify mobile live.","constraints":[{"id":"visual-content-truth","statement":"Do not present invented names, metrics, prices, dates, services, testimonials, credentials, customer records, or other unknown business facts as real. Omit unknowns or mark them clearly as placeholder/example content.","provenance":{"reason":null,"source":"heuristic_current_objective","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]},{"id":"visual-viewport-authority","statement":"The requested mobile viewport/form factor is authoritative. Do not create a mixed-device composite or add another viewport unless explicitly requested.","provenance":{"reason":null,"source":"heuristic_current_objective","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]},{"id":"reference-visual-fidelity","statement":"The approved reference owns the material visual composition: hierarchy, major geometry, typography scale, spacing rhythm, image placement/crop, color treatment, radii, shadows/glow, and overall density. Material deviation is a failed visual acceptance, not a stylistic reinterpretation.","provenance":{"reason":null,"source":"heuristic_current_objective","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]},{"id":"responsive-visual-continuity","statement":"Responsive adaptation may reflow for the target viewport, but it must preserve information hierarchy, branding, functionality, and design language. It must not invent a second design.","provenance":{"reason":null,"source":"heuristic_current_objective","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]},{"id":"reference-visual-authority","statement":"The supplied or approved reference visual is immutable acceptance evidence. Generating another mockup, image, or concept cannot satisfy this implementation request; completion requires source implementation, deployment, and reference-matched visual proof.","provenance":{"reason":null,"source":"heuristic_current_objective","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]},{"id":"capability-completeness","statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","provenance":{"reason":null,"source":"heuristic_current_objective","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]},{"id":"atomic-capability-lifecycle","statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","provenance":{"reason":null,"source":"heuristic_current_objective","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]}],"adaptivePolicy":{"risk":{"tier":"bounded","blastRadius":"narrow"},"proof":{"requiredKinds":["repository"],"visualProofScope":"targeted","interactionRequired":true,"runtimeProofRequired":true},"scope":{"route":null,"roleRef":null,"tenantRef":"PCG","sourceTargets":["src/pages/card-grading/PCGReceiveCardsGallery.tsx","src/components/crm/BatchPhotoUploader.tsx"]},"dynamic":{"variables":["main_and_runtime_lineage","runner_capacity","queue_and_active_work","provider_health","failure_clusters_and_circuits","release_target_state","current_pr_and_gate_state"],"refreshStages":["preflight","gate","release","runtime_proof"],"refreshMayChange":["runner_selection","parallelism","retry_path","qa_depth","release_recovery","proof_timing"],"refreshMayNotChange":["owner_outcome","explicit_no_go_constraints","tenant_identity","credential_boundary","hard_safety_invariants"]},"urgency":{"priority":"normal","deadlineSignals":[],"deadlineExplicit":false},"version":"paul-adaptive-objective-v1","recovery":{"transient":"one_bounded_retry_then_alternate_eligible_pool_or_provider_path","deterministic":"repair_source_or_contract_do_not_blind_rerun","mutationDependencyFailure":"prerequisite_required_or_targeted_recovery_never_invent","readOnlyDependencyFailure":"degrade_to_available_grounded_context_and_keep_conversation_alive"},"unknowns":["route","deadline"],"authority":{"outcome":"current_explicit_owner_request","tactics":"live_prime_truth","unknownPolicy":"preserve_unknown_never_invent","historicalContext":"advisory_unless_current_request_confirms"},"execution":{"mutation":true,"concurrency":"parallel_non_overlapping_tenant_work","scopePolicy":"start_bounded_expand_only_with_machine_readable_dependency_evidence","staleStatePolicy":"refresh_dynamic_state_before_irreversible_or_acceptance_stage","conversationIsolation":true,"ownerOutcomeMayBeChangedByAdaptation":false},"experience":{"visual":true,"viewports":["mobile"],"behavioral":true,"visualProofScope":"targeted"},"dependencies":{"requiredDomains":["frontend","schema_data_storage","release_ownership","live_production_proof"],"capabilityDomains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"releaseTargetHints":["frontend"]},"inputSignals":{"rawUtterance":"Implement and ship PCG single simple universal uploader in src/pages/card-grading/PCGReceiveCardsGallery.tsx and shared src/components/crm/BatchPhotoUploader.tsx. One multi-photo picker for single/batch, simple Shop Cards or existing Customer Order selector, Review & Save. Hide CSV/TSV/JSON, Slack, advanced options, separate front/back file selectors from primary UI. Preserve auto cert/grade extraction, leading zeros, batch pairing, missing-back support, and existing data. Gate merge deploy and verify mobile live.","canonicalIntent":"Implement and ship PCG single simple universal uploader in src/pages/card-grading/PCGReceiveCardsGallery.tsx and shared src/components/crm/BatchPhotoUploader.tsx. One multi-photo picker for single/batch, simple Shop Cards or existing Customer Order selector, Review & Save. Hide CSV/TSV/JSON, Slack, advanced options, separate front/back file selectors from primary UI. Preserve auto cert/grade extraction, leading zeros, batch pairing, missing-back support, and existing data. Gate merge deploy and verify mobile live.","conversationContextPresent":false}},"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-production","kind":"repository","claim":"Implement and ship PCG single simple universal uploader in src/pages/card-grading/PCGReceiveCardsGallery.tsx and shared src/components/crm/BatchPhotoUploader.tsx. One multi-photo picker for single/batch, simple Shop Cards or existing Customer Order selector, Review & Save. Hide CSV/TSV/JSON, Slack, advanced options, separate front/back file selectors from primary UI. Preserve auto cert/grade extraction, leading zeros, batch pairing, missing-back support, and existing data. Gate merge deploy and verify mobile live.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}],"validationErrors":[],"capabilityManifest":{"id":"Implement-and-ship-PCG-single-simple-universal-uploader-in-src-pages-card-grading-PCGReceiveCardsGal","driftPolicy":"exact_manifest_source_release_dependency_or_runtime_identity_mismatch_is_nonterminal","proofLedger":"command_center_mission_ledger_request_contract_hash_bound","schemaVersion":1,"releaseTargets":[],"lifecycleStates":["prepare","deploy","verify","activate"],"activationPolicy":"dependencies_and_claim_matched_live_proof_before_exposure","dependencyDomains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_required_not_runtime_failures","compatibilityWindow":["N","N-1"],"failureIsolationPolicy":"quarantine_or_rollback_affected_capability_only_preserve_unrelated_working_capabilities","canaryProofConditionIds":["proof-production"]},"capabilityCompleteness":{"domains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"required":true,"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_states_not_runtime_failures"}},"requestedBranch":null,"conversationContext":null,"requestContractHash":"5c2082cb732b29f10d450161246ae34ad5dcf7df5005549471f54616a18c4cf0","requestContractRevision":1},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-10-15T15:06:17.419821+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:c91ee28c-738c-4794-b9d9-f545b9632619:tenant-workstream-contribution:ee66e157b3767742a4d111e09f45d16588ed6dcfe81637098deb591ac8890b3f","mission_step_id":null,"command_center_event_id":"c91ee28c-738c-4794-b9d9-f545b9632619"},{"id":"e3c231f3-6cc7-4679-bda8-2cf98c043df0","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"release","branch":"ai/objective-first-repair-73364bb76976","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":49212,"releaseCount":0,"toolCallCount":9,"repeatedCallCount":3,"executorlessWaitMs":856237,"firstUsefulResultAt":"2026-09-28T03:07:14.545Z","recoveryAttemptCount":2,"ownerInterruptionCount":0},"version":"1.58.301-premium-visual-system","prNumber":3956,"terminal":false,"missionId":"73364bb7-6976-4a69-babf-4e8729bea3eb","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3524,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":590,"missionSetupMs":1225,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":367,"ledgerReconcileMs":0,"lineageReconcileMs":858,"resolvePreflightMs":1225,"repositoryMutationMs":2934,"repositoryProviderMs":2934,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":1799,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":367,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1135},"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":"73364bb7-6976-4a69-babf-4e8729bea3eb"},"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":3116,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T03:21:34.981161+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3956","receipt_type":"execute_mission","idempotency_key":"mission:73364bb7-6976-4a69-babf-4e8729bea3eb:execute_mission:repair_mission_pr_handed_off_to_supervisor:generation-1","mission_step_id":"d8f54712-72a4-4e40-a459-2e121ac44800","command_center_event_id":"73364bb7-6976-4a69-babf-4e8729bea3eb"},{"id":"e3c28892-5e8a-401b-8f65-a5e302b13f8c","source":"cc-execution","status":"authorized","payload":{"paths":[".forgejo/workflows/knocklaunch.yml","config/control-plane-capabilities.json","workers/cc-execution/src/index-release-fast-lane.js","workers/cc-execution/src/version.js","workers/cc-execution/test/release-orchestration-invariants.test.js"],"reason":"Make Gate and merge readiness exact-PR identity aware without introducing replay-sensitive helper declarations.","baseSha":"361ccbef4678184e6e2d358524ee51b34096ab98","issuedAt":1790296926632,"expiresAt":1790297106632,"missionId":"fce8335a-c19b-472b-8901-a19cc5d51292","authorizationId":"7530d9b5-8807-447e-8eed-eca993bbcded","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T00:42:07.005954+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"361ccbef4678184e6e2d358524ee51b34096ab98","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:7530d9b5-8807-447e-8eed-eca993bbcded","mission_step_id":"0d772f38-bd40-4bcf-8c4e-6cf452d3412d","command_center_event_id":"fce8335a-c19b-472b-8901-a19cc5d51292"},{"id":"e3c466ef-c67c-4899-abb3-bd19645ebd9c","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Repair the shared Forgejo heavy frontend build/release resource envelope that is cancelling valid frontend builds during Rollup chunk rendering. Reduce the heavy Gate and frontend release container envelopes to 2560 MiB and the normal Node/Vite heap to 2048 MiB, preserve the existing 1024 MiB low-memory fallback, and keep workflow guards/manifests aligned. Unfreeze the control plane only for this exact bounded three-file maintenance repair; no application behavior, Redfish source, auth, schema, Supabase, or release ownership changes.","wordingChanged":false,"canonicalIntent":"Repair the shared Forgejo heavy frontend build/release resource envelope that is cancelling valid frontend builds during Rollup chunk rendering. Reduce the heavy Gate and frontend release container envelopes to 2560 MiB and the normal Node/Vite heap to 2048 MiB, preserve the existing 1024 MiB low-memory fallback, and keep workflow guards/manifests aligned. Unfreeze the control plane only for this exact bounded three-file maintenance repair; no application behavior, Redfish source, auth, schema, Supabase, or release ownership changes.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-runner-envelope","statement":"Heavy frontend Gate and release jobs use 2560 MiB container envelopes and a 2048 MiB normal Node heap, with the existing 1024 MiB low-memory fallback preserved.","proofConditionIds":["proof-repository","proof-gate","proof-production"]}],"objective":"Repair the shared Forgejo heavy frontend build/release resource envelope that is cancelling valid frontend builds during Rollup chunk rendering. Reduce the heavy Gate and frontend release container envelopes to 2560 MiB and the normal Node/Vite heap to 2048 MiB, preserve the existing 1024 MiB low-memory fallback, and keep workflow guards/manifests aligned. Unfreeze the control plane only for this exact bounded three-file maintenance repair; no application behavior, Redfish source, auth, schema, Supabase, or release ownership changes.","constraints":[{"id":"scope","statement":"Control-plane maintenance is explicitly limited to .forgejo/workflows/knocklaunch.yml, config/cloudflare-native-frontend-build.json, and config/control-plane-capabilities.json; do not change Redfish application source, auth, schema, Supabase, or release ownership.","proofConditionIds":["proof-repository"]},{"id":"release-safety","statement":"Use the same durable mission, one ai/* branch, one PR, KnockLaunch Gate, squash merge, and only affected canonical production targets.","proofConditionIds":["proof-gate","proof-production"]},{"id":"capability-completeness","statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["proof-repository","proof-gate","proof-production"]},{"id":"atomic-capability-lifecycle","statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["proof-repository","proof-gate","proof-production"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-repository","kind":"repository","claim":"Current source shows heavy Gate and frontend release container limits of 2560 MiB, normal frontend Node/build heap 2048 MiB, existing 1024 MiB low-memory fallback unchanged, and matching regression/resource manifests.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false},{"id":"proof-gate","kind":"runtime","claim":"The exact repair PR passes KnockLaunch Gate through the production-equivalent frontend bundle without runner context cancellation.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false},{"id":"proof-production","kind":"runtime","claim":"The protected-main frontend release for the merged repair completes and production serves the exact merged source without runner context cancellation.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}],"validationErrors":[],"capabilityManifest":{"id":"heavy-frontend-runner-envelope","driftPolicy":"exact_manifest_source_release_dependency_or_runtime_identity_mismatch_is_nonterminal","proofLedger":"command_center_mission_ledger_request_contract_hash_bound","schemaVersion":1,"releaseTargets":["frontend"],"lifecycleStates":["prepare","deploy","verify","activate"],"activationPolicy":"dependencies_and_claim_matched_live_proof_before_exposure","dependencyDomains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_required_not_runtime_failures","compatibilityWindow":["N","N-1"],"failureIsolationPolicy":"quarantine_or_rollback_affected_capability_only_preserve_unrelated_working_capabilities","canaryProofConditionIds":["proof-repository","proof-gate","proof-production"]},"capabilityCompleteness":{"domains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"required":true,"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_states_not_runtime_failures"}},"requestContractHash":"b824267d25f153a1dbb3d030affbb459ca83dbcd1524a9ac6d198d24a6726317","requestContractRevision":2,"previousRequestContractHash":"3ab2712e90f47a53b7cae74fe673b6b46ca5d4a8b38ffbe2f958d5fd2f7d6b5b"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-14T02:48:13.96284+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:d8d5ae73-014e-45ba-87f7-7c69aa8b49ec:request-contract:b824267d25f153a1dbb3d030affbb459ca83dbcd1524a9ac6d198d24a6726317","mission_step_id":"e42ad7f9-cbf2-4857-9d99-5a06fa243d47","command_center_event_id":"d8d5ae73-014e-45ba-87f7-7c69aa8b49ec"},{"id":"e3c52d8a-f40c-451e-b0ae-62b81fa6aef1","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-71c1ddf8787a","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.47.7-forgejo-queue-retire","prNumber":null,"terminal":false,"missionId":"71c1ddf8-787a-464e-85ea-7efb6556eb61","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":null,"nextAction":"Inspect the bounded repository paths, synthesize exact files or anchored_edits, and call /repair/continue-mission automatically with this missionId without another owner prompt.","receiptRef":{"mode":"full","missionId":"71c1ddf8-787a-464e-85ea-7efb6556eb61"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":9927,"likelyAffectedFiles":["config/control-plane-capabilities.json"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-19T17:54:22.420997+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:71c1ddf8-787a-464e-85ea-7efb6556eb61:execute_mission:repair_mission_synthesis_ready","mission_step_id":"c67a6aad-54f6-4f71-a235-4a1a697fc0e5","command_center_event_id":"71c1ddf8-787a-464e-85ea-7efb6556eb61"},{"id":"e3c8567b-5cbe-4239-8932-500f79e2dd9c","source":"cc-execution","status":"blocked","payload":{"reason":"anchored_edit_anchor_not_unique:src/pages/card-grading/PCGWorkspace.tsx","fingerprint":"8a6432c6329b7a2fd5f8a4416a9c3ca1fbb203e378fa281eaa0b1343564b1a42"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T08:43:42.974933+00:00","proof_gate":"repository_mutation_intent_deterministic_failure","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent_blocked","idempotency_key":"mission:213bc5af-d775-406b-a00d-10a863b0b926:repository-mutation-intent-blocked:8a6432c6329b7a2fd5f8a4416a9c3ca1fbb203e378fa281eaa0b1343564b1a42","mission_step_id":"c11c05e9-c829-4def-846b-c6c348c78e5f","command_center_event_id":"213bc5af-d775-406b-a00d-10a863b0b926"},{"id":"e3cb760a-b2e5-48af-ae3c-aecbe4483958","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-d67c3e1393ee","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":10721,"releaseCount":0,"toolCallCount":5,"repeatedCallCount":0,"executorlessWaitMs":174753,"firstUsefulResultAt":"2026-09-24T19:38:15.470Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":3668,"terminal":false,"missionId":"d67c3e13-93ee-4fbd-bdd2-1592e883f3dd","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"6c01bcc2fd03406dcff7063bf72796517f87b4f3","timingsMs":{"prReadinessMs":509,"approvedPlanMs":0,"shipAndProveMs":3325,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"d67c3e13-93ee-4fbd-bdd2-1592e883f3dd"},"performance":null,"deploymentId":"forgejo-main-6c01bcc2fd03","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":false,"onrunner":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1855,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T19:41:49.014522+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"3668","receipt_type":"automatic_mission_resume","idempotency_key":"mission:d67c3e13-93ee-4fbd-bdd2-1592e883f3dd:automatic-mission-resume:3668:canonical_release_reconciliation_pending","mission_step_id":"8fd67c56-25b0-48e0-97b7-55ee9b6e0d2c","command_center_event_id":"d67c3e13-93ee-4fbd-bdd2-1592e883f3dd"},{"id":"e3d2f436-a576-4394-a714-bd1745a3778c","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/test/release-orchestration-invariants.test.js"],"reason":"Correct only the deterministic stale capability-policy expectation proven by exact Gate run 7172 on existing PR #2417.","baseSha":"ac663fcf7052e314fac920ee8da3394da760012a","issuedAt":1789158197274,"expiresAt":1789158377274,"missionId":"adc9f8a7-dc29-4724-9df0-afc076604415","authorizationId":"50ab3b0d-5f0d-4745-a599-204c71ea183c","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-11T20:23:18.172046+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"ac663fcf7052e314fac920ee8da3394da760012a","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:50ab3b0d-5f0d-4745-a599-204c71ea183c","mission_step_id":"bfc99602-22a4-4f94-b129-c981a9136413","command_center_event_id":"adc9f8a7-dc29-4724-9df0-afc076604415"},{"id":"e3d345e9-cf8d-4ea9-8943-9e38594f1a56","source":"cc-execution","status":"implementation_payload_required","payload":{"reason":"compiler_model_generation_failed","failureClass":"retryable","sourceTargets":["src/__tests__/contracts/pcg-new-order-mobile-scroll.contract.test.tsx","src/pages/card-grading/PCGNewGradingOrderForm.tsx"],"dependencyReason":"model_provider_attempt_timeout","dependencyStatus":504,"providerAttempts":[{"role":"deep","reason":"model_provider_invalid_json","status":502,"provider":"cloudflare-workers-ai","formatRepair":false},{"role":"deep","reason":"model_provider_invalid_json","status":502,"provider":"cloudflare-workers-ai","formatRepair":true},{"role":"primary","reason":"model_provider_attempt_timeout","status":504,"provider":"cloudflare-workers-ai","formatRepair":false}],"automaticExecutorAssigned":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-14T16:35:21.397509+00:00","proof_gate":"first_party_exact_source_edit_continuation_persisted","source_sha":"8ea8e6ab9b9ea6de801b32faac6b80de1d3d34c2","external_id":null,"receipt_type":"bounded_implementation_continuation","idempotency_key":"mission:b994f6d3-9956-4c01-90f5-9774057e05bd:compiler:8ea8e6ab9b9ea6de801b32faac6b80de1d3d34c2:src/__tests__/contracts/pcg-new-order-mobile-scroll.contract.test.tsx,src/pages/card-grading/PCGNewGradingOrderForm.tsx","mission_step_id":"9a5db841-db73-4d18-9b53-b1c60d32a8b1","command_center_event_id":"b994f6d3-9956-4c01-90f5-9774057e05bd"},{"id":"e3d3e009-9edb-4d2a-a920-81bce5c5c003","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","cc-execution/runtime-proof":"pending"},"mainSha":"d0bab6019a167ab773218c1458694a0c8bbc5906","missing":[],"pending":["forgejo-release/workflow","cc-execution/runtime-proof"],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"d0bab6019a167ab773218c1458694a0c8bbc5906","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"ccExecution":"pending"},"requestContractHash":"56f8afbf3b57f3aa129c0317021ae3f83e1390817c1c1bfeb3645c00cfd0afb6","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/16439","runId":16439,"status":"running","sourceSha":"d0bab6019a167ab773218c1458694a0c8bbc5906","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"ccExecution":"pending"},"targetJobCount":7,"observedTargetStates":{"ccExecution":"pending"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"7f0984263d34909cf3db8e3b29de39f6c6e75794","deploymentId":"forgejo-main-7f0984263d34909cf3db8e3b29de39f6c6e75794","compareStatus":null,"identitySource":"local_build_metadata","runtimeVersion":"1.67.6-green-gate-promotion","containsSourceSha":false},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T18:09:58.2832+00:00","proof_gate":"canonical_release_pending","source_sha":"d0bab6019a167ab773218c1458694a0c8bbc5906","external_id":"forgejo-main-d0bab6019a16","receipt_type":"canonical_release_status","idempotency_key":"mission:9d1cb93d-f32e-481c-9d31-119227225e23:forgejo-release-status:d0bab6019a167ab773218c1458694a0c8bbc5906:pending:forgejo-main/source=success|forgejo-release/workflow=pending|cc-execution/runtime-proof=pending","mission_step_id":"4056282f-97fe-40c7-8e35-aaa425d2d80d","command_center_event_id":"9d1cb93d-f32e-481c-9d31-119227225e23"},{"id":"e3d3e43a-f719-4199-8b54-a56fc3c90372","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","render-onrunner/runtime-proof":"success"},"mainSha":"ee384af9a40035680895bdd7fc1315d9272ffabf","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","render-onrunner/runtime-proof"],"sourceSha":"ee384af9a40035680895bdd7fc1315d9272ffabf","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"onrunner":true,"migrations":false,"ccExecution":false,"supabaseEdge":false},"releaseTargetStates":{"onrunner":"success"},"requestContractHash":"0d296b7f8c1c1ae465be73ea700577d2057354aeb52208ef01f91c25b5e16373","forgejoWorkflowProof":{"runId":9277,"source":"signed_push_receipt","status":"success","results":{},"conclusion":"success","targetStates":{"onrunner":"success"},"targetJobCount":7,"observedTargetStates":{"onrunner":"success"}},"onrunnerRuntimeProof":{"reason":null,"hostedUrl":"https://knocklaunchcrm.onrender.com","brokerReady":true,"exactSource":true,"healthStatus":200,"runtimeReady":true,"liveSourceSha":"ee384af9a40035680895bdd7fc1315d9272ffabf","runnerVersion":"onrunner-ee384af9a400","expectedSourceSha":"ee384af9a40035680895bdd7fc1315d9272ffabf"},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-17T19:23:42.263242+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"ee384af9a40035680895bdd7fc1315d9272ffabf","external_id":null,"receipt_type":"canonical_release_status","idempotency_key":"mission:2e59bcaf-a7cb-454a-a797-3ad6ca302f1c:forgejo-release-status:ee384af9a40035680895bdd7fc1315d9272ffabf:verified:forgejo-main/source=success|forgejo-release/workflow=success|render-onrunner/runtime-proof=success","mission_step_id":"c5790ff7-35f4-4733-9cc6-de9e7bf60fe2","command_center_event_id":"2e59bcaf-a7cb-454a-a797-3ad6ca302f1c"},{"id":"e3d50572-c8b6-4e02-a360-8093020f6793","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"8f714fabcddfd95e56501a4abe713d3e09424365","priorProofGate":"canonical_release_terminal_verified","requestContractHash":"82757b83e75838575dfbb79df2c741cfb70d3fb40a6893d26808ce972d81cab7","reconciliationReason":"durable_terminal_release_proof_reused","durableReleaseProofReused":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-07T18:03:26.066204+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"8f714fabcddfd95e56501a4abe713d3e09424365","external_id":null,"receipt_type":"canonical_release_status","idempotency_key":"mission:81e04ef2-ee9b-4a90-8b2d-14a78dc89997:durable-terminal-release-proof:8f714fabcddfd95e56501a4abe713d3e09424365:82757b83e75838575dfbb79df2c741cfb70d3fb40a6893d26808ce972d81cab7","mission_step_id":"c6b37aa4-9580-4cf8-963c-33c7f8c1188f","command_center_event_id":"81e04ef2-ee9b-4a90-8b2d-14a78dc89997"},{"id":"e3d5d7b2-cefd-4953-9cea-a39b6a0df2f7","source":"cc-execution","status":"in_progress","payload":{"ok":true,"jobId":null,"phase":"release","branch":"ai/whatsmyprogress-universal-lock-crisp-logo-20260831","reason":null,"status":"in_progress","metrics":{"receiptBytes":4997,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":1,"ownerInterruptionCount":0},"version":"1.58.0-frontend-build-velocity-freeze","prNumber":1220,"terminal":false,"missionId":"3ebba0c7-8304-46e4-a939-d2e3da53b238","operation":"execute_mission","proofGate":"canonical_release_reconciliation_pending","sourceSha":null,"timingsMs":{"handlerMs":3730,"prReadinessMs":223,"approvedPlanMs":0,"missionSetupMs":999,"shipAndProveMs":3273},"nextAction":"Reconcile this same mission and pull request automatically; do not create replacement work.","receiptRef":{"mode":"full","missionId":"3ebba0c7-8304-46e4-a939-d2e3da53b238"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1008,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-31T22:32:11.592941+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"1220","receipt_type":"execute_mission","idempotency_key":"mission:3ebba0c7-8304-46e4-a939-d2e3da53b238:execute_mission:canonical_release_reconciliation_pending:current-generation","mission_step_id":"f9e0fe60-a4fb-4034-b773-2a3c2edfca7c","command_center_event_id":"3ebba0c7-8304-46e4-a939-d2e3da53b238"},{"id":"e3d60cf1-645c-4bbc-ae5e-582b29f6b8c9","source":"cc-execution","status":"recorded","payload":{"objective":"Finish existing PR #1309 only: squash merge its already-gated exact head, release only affected frontend/migration targets, and prove the live 321 canonical logo plus preservation of its private proof storage. No replacement PR and no unrelated changes.","tenantRef":"321-auto-unlock","receivedAt":"2026-09-01T21:10:50.361Z","fingerprint":"2461f15195ee169421746a1f74a426154e0401780c487d0ce3d6dcc4d9e439f2","workstreamRef":"321autounlock","conversationId":null,"canonicalBranch":"ai/objective-first-repair-mtj5p0n5","requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Finish existing PR #1309 only: squash merge its already-gated exact head, release only affected frontend/migration targets, and prove the live 321 canonical logo plus preservation of its private proof storage. No replacement PR and no unrelated changes.","wordingChanged":false,"canonicalIntent":"Finish existing PR #1309 only: squash merge its already-gated exact head, release only affected frontend/migration targets, and prove the live 321 canonical logo plus preservation of its private proof storage. No replacement PR and no unrelated changes.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-branding","statement":"321 Auto Unlock uses its canonical Supabase logo and the shared Media & Branding contract remains the owner control for tenant branding.","proofConditionIds":["proof-321-logo","proof-storage-preserved"]}],"objective":"Finish existing PR #1309 only: squash merge its already-gated exact head, release only affected frontend/migration targets, and prove the live 321 canonical logo plus preservation of its private proof storage. No replacement PR and no unrelated changes.","constraints":[{"id":"constraint-one-pr","statement":"Continue PR #1309 only; do not create replacement work.","proofConditionIds":["proof-321-logo"]},{"id":"constraint-private-storage","statement":"Preserve 321 Auto Unlock private proof bucket, storage settings, and three proof policies.","proofConditionIds":["proof-storage-preserved"]},{"id":"constraint-release","statement":"Release only affected frontend and migration targets.","proofConditionIds":["proof-321-logo","proof-storage-preserved"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-321-logo","kind":"runtime","claim":"Live 321 Auto Unlock tenant branding resolves to generated-media/321-auto-unlock/Logo/321AUTOUNLOCK.png through settings.media_branding.logo_path and company_logo_url.","route":"/321-auto-unlock","roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"proof-storage-preserved","kind":"runtime","claim":"321 Auto Unlock private proof bucket, storage_scope/storage_bucket settings, and the three existing proof policies remain intact after the branding release.","route":"/321-auto-unlock","roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestedBranch":"ai/objective-first-repair-mtj5p0n5","conversationContext":null,"requestContractHash":"107b7cd8334a614401302cd37acd2682b748825d2dcc974cce628a954bd4396e","requestContractRevision":1},"tenant_id":"d60e3c27-73ed-4a5f-a49b-c37636455daf","created_at":"2026-09-01T21:10:50.79886+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:63f5c293-421f-411f-87d0-436034f97fa6:tenant-workstream-contribution:2461f15195ee169421746a1f74a426154e0401780c487d0ce3d6dcc4d9e439f2","mission_step_id":null,"command_center_event_id":"63f5c293-421f-411f-87d0-436034f97fa6"},{"id":"e3dade8f-f2e1-4cee-93a1-7ddb034eade3","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"objective_received","branch":null,"reason":"pull_request_not_merge_eligible:pr_not_merge_eligible","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.31.6-canonical-pr-gate-only","prNumber":4248,"terminal":false,"missionId":"98e1ab21-f240-4878-a7e1-caf8be42b4ae","operation":"ship_and_prove","proofGate":"canonical_release_blocked","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"98e1ab21-f240-4878-a7e1-caf8be42b4ae"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":186,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-08-07T18:28:36.753319+00:00","proof_gate":"canonical_release_blocked","source_sha":null,"external_id":"4248","receipt_type":"ship_and_prove","idempotency_key":"mission:98e1ab21-f240-4878-a7e1-caf8be42b4ae:ship_and_prove:canonical_release_blocked","mission_step_id":"e8da5294-fb56-4f78-87ca-98f092370b2f","command_center_event_id":"98e1ab21-f240-4878-a7e1-caf8be42b4ae"},{"id":"e3db2264-11eb-4e6a-b1d4-ce03e4c4ed4d","source":"forgejo-runtime","status":"verified","payload":{"headSha":"b34e46e155efc488c58533aab7e2f4c88f316f7d","prNumber":6469,"sourceSha":"80722998a602204a0b4d02dc7bc368152623f07e","headRefreshed":false,"mergedPrVerified":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-13T14:18:06.31851+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"80722998a602204a0b4d02dc7bc368152623f07e","external_id":"6469","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:101384bf-f2ad-438a-80aa-270268bd5b0f:merged-pr:6469:80722998a602204a0b4d02dc7bc368152623f07e","mission_step_id":"902fca20-5be9-42fd-9f0e-61d5f6a42004","command_center_event_id":"101384bf-f2ad-438a-80aa-270268bd5b0f"},{"id":"e3dc5e11-b312-442f-855c-7d473302f3f3","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in reasoning required.","nextAction":{"lane":"cc-execution","action":"continue_implementation","reason":"persisted_continuation_scope_ready","handoff":null,"capability":"heavy-build-gate","automationAllowed":true,"ownerActionRequired":false,"resumeFromCheckpoint":null},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"reasoning_required\",\"ownerFacingState\":null,\"latest\":null,\"activeStep\":null,\"nextStep\":null,\"nextSafeAction\":{\"action\":\"continue_implementation\",\"lane\":\"cc-execution\",\"reason\":\"persisted_continuation_scope_ready\",\"automationAllowed\":true,\"ownerActionRequired\":false,\"capability\":\"heavy-build-gate\",\"resumeFromCheckpoint\":null,\"handoff\":null},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"continue_implementation\",\"recoveryOwner\":\"cc-execution\",\"capability\":\"heavy-build-gate\",\"resumeFromCheckpoint\":null,\"handoff\":null},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":null,\"deadlineAt\":null,\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":null,\"sourceSha\":null,\"deploymentId\":null}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T19:40:59.084624+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:f70340e4-f6b5-4ecc-beab-4c5458289347:owner-progress-heartbeat:119421043","mission_step_id":"054bbe1d-12f1-40e4-b802-6fb6ffb16091","command_center_event_id":"f70340e4-f6b5-4ecc-beab-4c5458289347"},{"id":"e3dd8915-c560-43ad-a5fd-72290d54984b","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":null,"reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":4879,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":1,"executorlessWaitMs":16591,"firstUsefulResultAt":"2026-10-05T19:33:15.589Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.65.0-release-priority-base-aware-quarantine","prNumber":5028,"terminal":false,"missionId":"f9cdc997-b48b-4f56-82ee-a35e4f803db9","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4103,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":4000,"approvedPlanMs":0,"missionSetupMs":421,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":316,"ledgerReconcileMs":0,"lineageReconcileMs":105,"resolvePreflightMs":421,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":316,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request after the exact-head KnockLaunch Gate changes state.","receiptRef":{"mode":"full","missionId":"f9cdc997-b48b-4f56-82ee-a35e4f803db9"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1692,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T19:33:15.652547+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"5028","receipt_type":"execute_mission","idempotency_key":"mission:f9cdc997-b48b-4f56-82ee-a35e4f803db9:execute_mission:repair_mission_waiting_for_gate:current-generation","mission_step_id":"6ea62c5c-5aa1-4698-933e-9c947dbc4b0c","command_center_event_id":"f9cdc997-b48b-4f56-82ee-a35e4f803db9"},{"id":"e3ddacb3-0f44-4120-a53c-c62bb4a121e4","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/fix-forgejo-host-control-inprocess-dispatch-20260826","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":11833,"releaseCount":0,"toolCallCount":9,"repeatedCallCount":6,"ownerInterruptionCount":0},"version":"1.51.5-forgejo-host-control-routing","prNumber":783,"terminal":false,"missionId":"3638cf37-ee20-4be9-adea-d8c24c4989a2","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"handlerMs":17024,"prReadinessMs":1554,"approvedPlanMs":15464,"missionSetupMs":800,"shipAndProveMs":0},"nextAction":"Reconcile this same mission and pull request after the exact-head KnockLaunch Gate changes state.","receiptRef":{"mode":"full","missionId":"3638cf37-ee20-4be9-adea-d8c24c4989a2"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":5547,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-26T20:05:04.608584+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"783","receipt_type":"execute_mission","idempotency_key":"mission:3638cf37-ee20-4be9-adea-d8c24c4989a2:execute_mission:repair_mission_waiting_for_gate","mission_step_id":"d6cefbbf-2aec-4dff-89eb-f73123232e48","command_center_event_id":"3638cf37-ee20-4be9-adea-d8c24c4989a2"},{"id":"e3deef41-b798-47d9-a28f-b7b2573a96ae","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Continue the existing owner-authorized control-plane maintenance mission. Fix the artificial global one-heavy-job clamp so the owner's three existing Forgejo runners can service independent workstreams. Change config/control-plane-capabilities.json intelligence.runnerResourceBudget.heavyJobsParallel from 1 to 3 and update the matching .forgejo/workflows/knocklaunch.yml invariant from 1 to 3. Do not add hardware or runners. Preserve protected main, exact-head KnockLaunch Gate, squash merge, per-PR superseded-generation cancellation, and all QA. Ship, deploy affected cc-execution runtime, clean obsolete queue remnants attributable to the old clamp if safe, refreeze the control plane, and prove live state.","wordingChanged":false,"canonicalIntent":"Continue the existing owner-authorized control-plane maintenance mission. Fix the artificial global one-heavy-job clamp so the owner's three existing Forgejo runners can service independent workstreams. Change config/control-plane-capabilities.json intelligence.runnerResourceBudget.heavyJobsParallel from 1 to 3 and update the matching .forgejo/workflows/knocklaunch.yml invariant from 1 to 3. Do not add hardware or runners. Preserve protected main, exact-head KnockLaunch Gate, squash merge, per-PR superseded-generation cancellation, and all QA. Ship, deploy affected cc-execution runtime, clean obsolete queue remnants attributable to the old clamp if safe, refreeze the control plane, and prove live state.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"Unfreeze the control plane for this authorized maintenance, set canonical heavy parallelism to 3 for the three existing Forgejo runners, then refreeze the control plane.","proofConditionIds":["proof-repo","proof-runtime"]},{"id":"outcome-2","statement":"Independent noncolliding workstreams are no longer globally clamped to one heavy job.","proofConditionIds":["proof-repo","proof-runtime"]},{"id":"outcome-3","statement":"No additional hardware or runner is required.","proofConditionIds":["proof-repo"]}],"objective":"Continue the existing owner-authorized control-plane maintenance mission. Fix the artificial global one-heavy-job clamp so the owner's three existing Forgejo runners can service independent workstreams. Change config/control-plane-capabilities.json intelligence.runnerResourceBudget.heavyJobsParallel from 1 to 3 and update the matching .forgejo/workflows/knocklaunch.yml invariant from 1 to 3. Do not add hardware or runners. Preserve protected main, exact-head KnockLaunch Gate, squash merge, per-PR superseded-generation cancellation, and all QA. Ship, deploy affected cc-execution runtime, clean obsolete queue remnants attributable to the old clamp if safe, refreeze the control plane, and prove live state.","constraints":[{"id":"constraint-1","statement":"Do not add hardware.","proofConditionIds":["proof-repo"]},{"id":"constraint-2","statement":"Do not create new runners.","proofConditionIds":["proof-repo"]},{"id":"constraint-3","statement":"Do not weaken QA, protected main, exact-head gating, or squash merge.","proofConditionIds":["proof-repo"]},{"id":"constraint-4","statement":"Do not use GitHub.","proofConditionIds":["proof-repo"]},{"id":"constraint-5","statement":"Only proven collision domains or superseded generations of the same PR serialize.","proofConditionIds":["proof-repo","proof-runtime"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-repo","kind":"repository","claim":"Exact merged Forgejo source sets heavyJobsParallel to 3 and the matching workflow contract to 3 while preserving existing protected-main and Gate safety.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"proof-runtime","kind":"runtime","claim":"Affected production runtime is deployed from the merged repair SHA and the control plane is refrozen with the repaired three-runner concurrency policy active.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestContractHash":"c5515c4c405e441d16d9fb01bd2c33f94ee10e603fd35a234bbc35822bed1f18","requestContractRevision":2,"previousRequestContractHash":null},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-03T22:54:43.734715+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:ea00d215-89e5-472b-a482-a39753c72582:request-contract-revision:2:c5515c4c405e441d16d9fb01bd2c33f94ee10e603fd35a234bbc35822bed1f18","mission_step_id":"82b60dec-275c-4859-ae5f-b86dff8cefda","command_center_event_id":"ea00d215-89e5-472b-a482-a39753c72582"},{"id":"e3e083d5-04e2-4fa9-a54e-f942e6e8bdb3","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"branch":"ai/objective-first-repair-1a34f6e4dd36","approved":true,"missionId":"1a34f6e4-dd36-48b5-a9e7-d446f351e64d","objective":"Apply this one exact replacement only. Preserve the rest of the file unchanged.","repository":"noel/KnockLaunchOS","trackMission":true,"ownerApproved":true,"sourceTargets":["src/components/experience-editor/ExperiencePreviewApp.tsx"],"anchored_edits":[{"path":"src/components/experience-editor/ExperiencePreviewApp.tsx","new_content":"  if (!tenantId || !tenantType?.trim() || !surfaceId || !['Owner', 'Manager', 'Operator', 'Field'].includes(role)) return null;","old_content":"  const validTenantTypes = ['MITIGATION', 'ROOFING_COMPANY', 'PUBLIC_ADJUSTER_FIRM', 'REALTOR', 'LAWN_CARE', 'TIRE_SHOP', 'MOBILE_VENDOR', 'AUTO_DETAILING', 'CAFE_QSR', 'SHORT_TERM_RENTAL'];\n  if (!tenantId || !validTenantTypes.includes(tenantType) || !surfaceId || !['Owner', 'Manager', 'Operator', 'Field'].includes(role)) return null;"}],"update_strategy":"auto","controlPlaneUnfreeze":true,"durableMutationResume":true,"controlPlaneMaintenance":true,"controlPlaneMaintenanceReason":"Prime structured exact mutation continuation"},"recovery":false,"fingerprint":"e113fdbbc7ee6159bd185dd4f62a8d39e8b7677ed9ec5f619616daf4d1cc2fc7","replayCount":0,"serializedBytes":1156},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T02:39:09.379205+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:1a34f6e4-dd36-48b5-a9e7-d446f351e64d:repository-mutation-intent:e113fdbbc7ee6159bd185dd4f62a8d39e8b7677ed9ec5f619616daf4d1cc2fc7:0","mission_step_id":"93c94c3f-8e77-4497-b6cc-4c7a9e16b374","command_center_event_id":"1a34f6e4-dd36-48b5-a9e7-d446f351e64d"},{"id":"e3e26b82-0658-4e59-b2c2-241259c2afbc","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"22e80bc2d5cf70178bc86adca7d2b2f76110235f","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"retirement-manifest","satisfied":true,"statement":"The emergency patch retirement has a valid capability manifest with no provider or upstream runtime dependencies.","proofConditionIds":["repository-proof"]}],"satisfied":true,"constraints":[{"id":"same-retirement","satisfied":true,"statement":"Continue the existing emergency patch retirement only; do not broaden the change.","proofConditionIds":["repository-proof"]},{"id":"capability-completeness","satisfied":true,"statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["repository-proof"]},{"id":"atomic-capability-lifecycle","satisfied":true,"statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["repository-proof"]}],"contractHash":"e77177f8a6fa1831f3b8009143e65020837e1e39d7895e3e86115501e5fa986f","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"repository-proof","kind":"repository","evidence":{"reason":null,"gateRunId":15484,"satisfied":true,"gateTestProof":null,"gateTestPassed":false,"missingTargets":[],"gateTestExecuted":false,"disallowedTargets":[],"migrationRequired":false,"namedGateTestPath":null,"releaseTargetStates":{},"repositoryProofGate":"request_contract_repository_verified","repositoryProofPath":null,"requestContractHash":"e77177f8a6fa1831f3b8009143e65020837e1e39d7895e3e86115501e5fa986f","unsuccessfulTargets":[],"activeReleaseTargets":[],"allowedReleaseTargets":[],"repositoryProofStatus":"verified","expectedRepositoryPath":null,"namedGateTestSatisfied":true,"requiredReleaseTargets":[],"migrationReleaseVerified":null,"repositoryConditionBound":true,"repositoryProofSourceSha":"22e80bc2d5cf70178bc86adca7d2b2f76110235f"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":[]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T00:27:26.221799+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"22e80bc2d5cf70178bc86adca7d2b2f76110235f","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:30f41d0b-d20d-4fbc-ac66-24cfd881038e:request-contract:e77177f8a6fa1831f3b8009143e65020837e1e39d7895e3e86115501e5fa986f:22e80bc2d5cf70178bc86adca7d2b2f76110235f:verified:","mission_step_id":"6c219142-4bdf-455c-9e7b-d87fefd97724","command_center_event_id":"30f41d0b-d20d-4fbc-ac66-24cfd881038e"},{"id":"e3e3fc07-65c0-4943-a573-2ad4cfeefa85","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-2963866637ca","writes":[],"patches":[],"version":1,"approved":true,"missionId":"29638666-37ca-4f82-bb45-2b03ab41e5ef","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["public/console/catalog.mjs","public/console/console.js","scripts/knocklaunch-console/console.js","public/console/operator.mjs","scripts/knocklaunch-console/operator.mjs","public/console/console.css","scripts/knocklaunch-console/console.css","src/pages/admin/GodModeCommandConsole.tsx"],"anchored_edits":[{"path":"public/console/catalog.mjs","edits":[{"new_content":"export const stages = [\n  {id:'overview',name:'Overview',description:'Your KNOCKLAUNCH command center.',steps:[]},\n  {id:'machines',name:'Machines',description:'Desktop runner and Laptop witness at a glance.',steps:[['forgejo','Refresh machines','Refresh runner inventory'],['runner-proof','Run Desktop proof','Verify the primary build runner through the canonical proof workflow']]},\n  {id:'release',name:'Build & Release',description:'Follow code from Gate to live production.',steps:[['forgejo','Refresh Gate & builds','Refresh current Forgejo evidence'],['cloudflare','Refresh live release','Refresh current production deployment evidence']]},\n  {id:'services',name:'Services',description:'Cloudflare, Supabase and Forgejo health.',steps:[['cloudflare','Refresh Cloudflare','Refresh production deployment state'],['supabase','Refresh Supabase','Refresh project service state'],['forgejo','Refresh Forgejo','Refresh runners and workflow state']]},\n  {id:'activity',name:'Activity',description:'Recent Console work and technical evidence.',steps:[['forgejo','Refresh activity','Refresh runner and workflow activity'],['cloudflare','Refresh release activity','Refresh production deployment activity']]}\n];\nexport const actions = Object.fromEntries(stages.flatMap(stage=>stage.steps.map(([id,name,description])=>[id,{id,name,description}])));\nexport const releaseOrder = ['code','gate','candidate','live'];\nexport function prerequisites(){ return []; }","old_content":"export const stages = [\n  {id:'operator',name:'Operator',description:'Chat and inspect any application page.',steps:[]},\n  {id:'machine',name:'Machine',description:'Check this computer and its local tools.',steps:[['machine','Check computer','CPU, memory, disk and tool versions'],['wsl','Check WSL','List installed Linux environments'],['docker','Check Docker','Verify the Docker engine is responding'],['connect','Connect Desktop Commander','Start the remote support connection']]},\n  {id:'repository',name:'Repository',description:'Know exactly which code you are working on.',steps:[['git-status','Inspect working copy','Branch, commit and changed files'],['git-fetch','Fetch latest code','Update remote references without changing files'],['git-pull','Update clean branch','Fast-forward only; refuses local changes']]},\n  {id:'build',name:'Build & Test',description:'Run each check and see its output.',steps:[['dependencies','Install locked dependencies','Use the repository lockfile'],['typecheck','Check TypeScript','Find type errors'],['tests','Run contract tests','Verify application contracts'],['build','Build application','Run the canonical Cloudflare build'],['gate','Check canonical Gate','Verify the current commit against Forgejo Gate']]},\n  {id:'runner',name:'Runner',description:'Control the local runner and inspect Forgejo jobs.',steps:[['runner-register','Register MSI runner','One-time repository registration; token is never stored'],['runner-status','Inspect MSI runner','Service state on this computer'],['runner-start','Start MSI runner','Start the configured local service'],['runner-stop','Stop MSI runner','Only the MSI runner service'],['runner-restart','Restart MSI runner','Restart the configured local service'],['runner-proof','Run MSI Proof','Dispatch the fixed MSI Runner Proof workflow on main'],['forgejo','Refresh Forgejo jobs','Live runner inventory and recent jobs']]},\n  {id:'cloudflare',name:'Cloudflare',description:'Live production deployments and routes.',steps:[['cloudflare','Refresh Cloudflare','Read the provider directly']]},\n  {id:'supabase',name:'Supabase',description:'Project services, functions, migrations and logs.',steps:[['supabase','Refresh Supabase','Read the provider directly']]},\n  {id:'release',name:'Release',description:'Prepare and verify a release before promotion.',steps:[['prepare','Prepare release','Require a clean, current main commit'],['build','Build artifact','Bind the build to this source commit'],['typecheck','Check types','Stop on errors'],['tests','Run tests','Stop on failed contracts'],['gate','Verify Gate','Require canonical success for this exact commit'],['candidate','Create candidate','Upload at zero production traffic'],['verify-candidate','Verify candidate','Prove the exact candidate artifact'],['promote','Promote candidate','Confirm this source and artifact'],['verify-live','Verify live release','Prove the promoted application']]},\n  {id:'health',name:'Health / Logs',description:'Inspect recent activity and provider health.',steps:[['cloudflare','Cloudflare state','Refresh deployment evidence'],['supabase','Supabase state','Refresh services and function inventory'],['forgejo','Forgejo state','Refresh runner and workflow inventory']]}\n];\nexport const actions = Object.fromEntries(stages.flatMap(stage=>stage.steps.map(([id,name,description])=>[id,{id,name,description}])));\nexport const releaseOrder = ['prepare','build','typecheck','tests','gate','candidate','verify-candidate','promote','verify-live'];\nexport function prerequisites(id){ const index=releaseOrder.indexOf(id);return index>0?releaseOrder.slice(0,index):[]; }"}]},{"path":"public/console/console.js","edits":[{"new_content":"let selected='overview', connected=false, hostedOnline=embedded, busy=false, state={jobs:[],steps:{},providers:{},witness:null}, notice='', lastRefresh=0;","old_content":"let selected='operator', connected=false, hostedOnline=embedded, busy=false, state={jobs:[],steps:{},providers:{}}, notice='', lastRefresh=0;"},{"new_content":"async function api(path,body){const response=await fetch((local?'':'http://127.0.0.1:47831')+path,{method:body?'POST':'GET',headers:{Authorization:'Bearer '+token,...(body?{'Content-Type':'application/json'}:{})},...(body?{body:JSON.stringify(body)}:{}),signal:AbortSignal.timeout(15000)});const data=await response.json();if(!response.ok)throw new Error(data.error||'Console request failed');return data;}\nasync function fetchWitnessHealth(){try{const response=await fetch('https://laptop-witness.knocklaunch.app/health',{cache:'no-store',signal:AbortSignal.timeout(8000)});const data=await response.json();if(!response.ok||data?.ok===false)throw new Error('Witness health unavailable');return data;}catch(error){return {ok:false,status:'unavailable',error:error instanceof Error?error.message:'Witness health unavailable'};}}\nfunction forgejoRunners(){return state.providers.forgejo?.sections?.Runners?.data?.runners||state.providers.forgejo?.runners||[];}\nfunction namedRunner(name){return forgejoRunners().find(item=>item?.name===name)||null;}\nfunction runnerOnline(item){return Boolean(item&&String(item.status||'').toLowerCase()!=='offline');}\nfunction providerOnline(name){const item=state.providers[name];if(!item)return false;return !['failed','error','unavailable','offline'].includes(String(item.status||'').toLowerCase());}\nfunction systemStatus(){const desktop=namedRunner('msi-local'),laptopRunner=namedRunner('laptop-local'),witness=state.witness||{};const laptopOnline=witness.ok===true||runnerOnline(laptopRunner);return {desktop:{online:runnerOnline(desktop),busy:Boolean(desktop?.busy),status:desktop?.status||'connecting',slots:desktop?.executionSlots||desktop?.guaranteedAvailableSlots||null},laptop:{online:laptopOnline,witnessReady:witness.ok===true&&['ready','live'].includes(String(witness.status||'').toLowerCase()),witnessActive:Boolean(witness.activeJobs||witness.witnessActive),status:witness.status||laptopRunner?.status||'connecting',runnerOnline:runnerOnline(laptopRunner)},services:{online:['cloudflare','supabase','forgejo'].filter(providerOnline).length,total:3},lastRefresh};}\nfunction statusClass(ok){return ok?'live':'failed';}\nfunction technicalDetails(title,data){return `<details class=\"technical-details\"><summary>${escape(title)}</summary><pre class=\"logs\">${escape(JSON.stringify(data??null,null,2))}</pre></details>`;}\nfunction serviceCard(name,label){const data=state.providers[name],online=providerOnline(name);return `<section class=\"panel service-card\"><div class=\"provider-head\"><div><div class=\"eyebrow\">${escape(label)}</div><h3>${online?'Connected':'Checking connection'}</h3></div><span class=\"status-dot-wrap\"><span class=\"status-dot ${online?'on':'off'}\"></span>${online?'Live':'Degraded'}</span></div><p class=\"muted\">${data?.summary?Object.entries(data.summary).slice(0,2).map(([k,v])=>`${escape(k)}: ${escape(v??'—')}`).join(' · '):'KNOCKLAUNCH is reading this service through your signed-in owner session.'}</p>${technicalDetails('Technical details',data)}</section>`;}\nfunction machineCards(){const desktop=namedRunner('msi-local'),laptopRunner=namedRunner('laptop-local'),sys=systemStatus(),witness=state.witness||{},others=forgejoRunners().filter(item=>!['msi-local','laptop-local'].includes(item?.name));return `<div class=\"machine-grid\"><section class=\"machine-card primary\"><div class=\"machine-card-head\"><div><div class=\"eyebrow\">DESKTOP</div><h2>Primary Build Runner</h2></div><span class=\"status-dot-wrap\"><span class=\"status-dot ${sys.desktop.online?'on':'off'}\"></span>${sys.desktop.online?(sys.desktop.busy?'Busy':'Online'):'Offline'}</span></div><p class=\"machine-purpose\">Builds, Gate work and CI jobs belong here.</p><div class=\"mini-metrics\"><div><span>Runner</span><b>msi-local</b></div><div><span>State</span><b>${escape(desktop?.status||'Connecting')}</b></div><div><span>Slots</span><b>${escape(desktop?.executionSlots??desktop?.guaranteedAvailableSlots??'—')}</b></div></div></section><section class=\"machine-card witness\"><div class=\"machine-card-head\"><div><div class=\"eyebrow\">LAPTOP</div><h2>Interactive Witness</h2></div><span class=\"status-dot-wrap\"><span class=\"status-dot ${sys.laptop.online?'on':'off'}\"></span>${sys.laptop.witnessActive?'Witnessing':sys.laptop.online?'Ready':'Offline'}</span></div><p class=\"machine-purpose\">Authenticated visual inspection and interactive page proof.</p><div class=\"mini-metrics\"><div><span>Witness</span><b>${escape(witness.status||'Connecting')}</b></div><div><span>Health</span><b>${witness.witnessHealthy===false?'Attention':witness.ok===true?'Healthy':sys.laptop.runnerOnline?'Runner online':'Checking'}</b></div><div><span>Runner</span><b>${escape(laptopRunner?.status||'Secondary')}</b></div></div></section></div>${others.length?`<details class=\"panel infrastructure\"><summary>Fallback infrastructure · ${others.length} available</summary><div class=\"runner-list\">${others.map(r=>`<div><b>${escape(r.name)}</b><span class=\"pill ${runnerOnline(r)?'live':'failed'}\">${escape(r.status||'unknown')}</span></div>`).join('')}</div></details>`:''}`;}\nfunction renderHosted(){const stage=stages.find(item=>item.id===selected)||stages[0],sys=systemStatus(),updated=lastRefresh?new Date(lastRefresh).toLocaleTimeString():'Connecting';let body='';if(selected==='machines')body=`${machineCards()}<div class=\"quick-row\"><button data-run=\"forgejo\">Refresh machines</button><button data-run=\"runner-proof\">Run Desktop proof</button></div>`;else if(selected==='release')body=`<section class=\"panel release-hero\"><div><div class=\"eyebrow\">CANONICAL RELEASE</div><h2>One path from code to live.</h2><p class=\"muted\">The Console shows the pipeline. Gate and release machinery do the technical work underneath.</p></div><div class=\"release-flow\"><div><b>1</b><span>Code</span></div><i>→</i><div><b>2</b><span>Gate</span></div><i>→</i><div><b>3</b><span>Candidate</span></div><i>→</i><div><b>4</b><span>Live</span></div></div></section><div class=\"service-grid\">${serviceCard('forgejo','BUILD & GATE')}${serviceCard('cloudflare','LIVE RELEASE')}</div>`;else if(selected==='services')body=`<div class=\"service-grid three\">${serviceCard('cloudflare','CLOUDFLARE')}${serviceCard('supabase','SUPABASE')}${serviceCard('forgejo','FORGEJO')}</div>`;else if(selected==='activity'){const jobs=(state.jobs||[]).slice(0,8);body=`<section class=\"panel activity-panel\"><div class=\"provider-head\"><div><div class=\"eyebrow\">RECENT WORK</div><h2>Activity</h2></div><span class=\"muted small\">Updated ${escape(updated)}</span></div>${jobs.length?jobs.map(job=>`<details class=\"activity-item\"><summary><span>${escape(actions[job.action]?.name||job.action||'Console task')}</span><span class=\"pill ${escape(job.status||'waiting')}\">${escape(job.status||'waiting')}</span></summary><pre class=\"logs\">${escape(job.output||job.error||'No technical output recorded.')}</pre></details>`).join(''):`<div class=\"empty-state\"><b>No local Console jobs are running.</b><span>Provider and runner activity is connected above. Technical evidence stays available when you need it.</span></div>`}${technicalDetails('Forgejo activity details',state.providers.forgejo)}</section>`;}else body=machineCards();app.innerHTML=`<div class=\"console-frame\"><header class=\"console-header\"><div><div class=\"eyebrow\">KNOCKLAUNCH CONSOLE</div><h1>${escape(stage.name)}</h1><p>${escape(stage.description)}</p></div><div class=\"connection-strip\"><span class=\"${statusClass(sys.desktop.online)}\"><i></i>Desktop ${sys.desktop.online?'online':'offline'}</span><span class=\"${statusClass(sys.laptop.online)}\"><i></i>Laptop ${sys.laptop.witnessActive?'witnessing':sys.laptop.online?'ready':'offline'}</span><span class=\"${sys.services.online===sys.services.total?'live':'waiting'}\"><i></i>Services ${sys.services.online}/${sys.services.total}</span><button id=\"refresh\">Refresh</button></div></header><nav class=\"console-nav\" aria-label=\"Console navigation\">${stages.map(item=>`<button data-stage=\"${item.id}\" aria-current=\"${selected===item.id?'page':'false'}\">${escape(item.name)}</button>`).join('')}</nav><main class=\"console-main\">${notice?`<div class=\"notice\">${escape(notice)}</div>`:''}${body}</main></div>`;app.querySelectorAll('[data-stage]').forEach(button=>button.onclick=()=>{selected=button.dataset.stage;render();});app.querySelectorAll('[data-run]').forEach(button=>button.onclick=()=>run(button.dataset.run));const refreshButton=app.querySelector('#refresh');if(refreshButton)refreshButton.onclick=()=>refresh({deep:true});}","old_content":"async function api(path,body){const response=await fetch((local?'':'http://127.0.0.1:47831')+path,{method:body?'POST':'GET',headers:{Authorization:'Bearer '+token,...(body?{'Content-Type':'application/json'}:{})},...(body?{body:JSON.stringify(body)}:{}),signal:AbortSignal.timeout(15000)});const data=await response.json();if(!response.ok)throw new Error(data.error||'Console request failed');return data;}"},{"new_content":"async function refresh(options={}){if(busy)return;busy=true;const deep=options.deep!==false;try{if(embedded){hostedOnline=true;const tasks=[['forgejo',bridge('forgejo')],['witness',fetchWitnessHealth()]];if(deep||!state.providers.cloudflare)tasks.push(['cloudflare',bridge('cloudflare')]);if(deep||!state.providers.supabase)tasks.push(['supabase',bridge('supabase')]);const settled=await Promise.all(tasks.map(async([key,promise])=>[key,await promise]));for(const [key,data] of settled){if(key==='witness')state.witness=data;else state.providers[key]=data;}if(!state.witness?.ok){const fallback=namedRunner('laptop-local');if(fallback)state.witness={ok:fallback.status!=='offline',status:fallback.status==='offline'?'unavailable':'runner-online',fallback:true,witnessHealthy:null,activeJobs:0};}lastRefresh=Date.now();notice='';return;}const data=await api('/api/state');state={...data,providers:{...state.providers,...data.providers}};connected=true;lastRefresh=Date.now();notice='';}catch(error){if(!embedded)connected=false;notice=error instanceof Error?error.message:'Some live systems could not refresh.';}finally{busy=false;if(document.activeElement?.tagName!=='INPUT')render();}}","old_content":"async function refresh(){if(busy)return;busy=true;try{if(embedded&&!local&&!token){const data=await bridge('forgejo');state.providers.forgejo=data;hostedOnline=true;lastRefresh=Date.now();notice='';return;}const data=await api('/api/state');state={...data,providers:{...state.providers,...data.providers}};connected=true;if(embedded)hostedOnline=true;lastRefresh=Date.now();notice='';}catch(error){connected=false;if(embedded&&!token)hostedOnline=false;if(local||token||embedded)notice=error.message;}finally{busy=false;if(document.activeElement?.tagName!=='INPUT')render();}}"},{"new_content":"function render(){if(selected==='overview'){mountOperator(app,{bridge:embedded?bridge:async()=>{throw new Error('Open the signed-in Console at app.knocklaunch.app/admin/console to chat.');},hostedOnline:()=>hostedOnline,localConnected:()=>embedded||connected,systemStatus,connectLocal:local?async code=>{const next=String(code||'').trim();if(!next)throw new Error('Local Console session unavailable.');token=next;localStorage.setItem(localSessionKey,token);await refresh();return true;}:null,stages,onStage:id=>{selected=id;render();}});return;}if(embedded){renderHosted();return;}","old_content":"function render(){if(selected==='operator'){mountOperator(app,{bridge:embedded?bridge:async()=>{throw new Error('Open the signed-in Console at app.knocklaunch.app/admin/console to chat.');},hostedOnline:()=>hostedOnline,localConnected:()=>connected,connectLocal:async code=>{const next=String(code||'').trim();if(!next)throw new Error('Paste the MSI pairing code first.');token=next;localStorage.setItem(localSessionKey,token);await refresh();if(!connected)throw new Error(notice||'MSI pairing failed.');return true;},stages,onStage:id=>{selected=id;render();}});return;}"},{"new_content":"render();if(embedded||local||token)refresh({deep:true});setInterval(()=>{if(!document.hidden&&(embedded||connected||local))refresh({deep:false});},30000);","old_content":"render();if(embedded||local||token)refresh();setInterval(()=>{if(!document.hidden&&(embedded||connected||local))refresh();},5000);"}]},{"path":"scripts/knocklaunch-console/console.js","edits":[{"new_content":"let selected='overview', connected=false, hostedOnline=embedded, busy=false, state={jobs:[],steps:{},providers:{},witness:null}, notice='', lastRefresh=0;","old_content":"let selected='operator', connected=false, hostedOnline=embedded, busy=false, state={jobs:[],steps:{},providers:{}}, notice='', lastRefresh=0;"},{"new_content":"async function api(path,body){const response=await fetch((local?'':'http://127.0.0.1:47831')+path,{method:body?'POST':'GET',headers:{Authorization:'Bearer '+token,...(body?{'Content-Type':'application/json'}:{})},...(body?{body:JSON.stringify(body)}:{}),signal:AbortSignal.timeout(15000)});const data=await response.json();if(!response.ok)throw new Error(data.error||'Console request failed');return data;}\nasync function fetchWitnessHealth(){try{const response=await fetch('https://laptop-witness.knocklaunch.app/health',{cache:'no-store',signal:AbortSignal.timeout(8000)});const data=await response.json();if(!response.ok||data?.ok===false)throw new Error('Witness health unavailable');return data;}catch(error){return {ok:false,status:'unavailable',error:error instanceof Error?error.message:'Witness health unavailable'};}}\nfunction forgejoRunners(){return state.providers.forgejo?.sections?.Runners?.data?.runners||state.providers.forgejo?.runners||[];}\nfunction namedRunner(name){return forgejoRunners().find(item=>item?.name===name)||null;}\nfunction runnerOnline(item){return Boolean(item&&String(item.status||'').toLowerCase()!=='offline');}\nfunction providerOnline(name){const item=state.providers[name];if(!item)return false;return !['failed','error','unavailable','offline'].includes(String(item.status||'').toLowerCase());}\nfunction systemStatus(){const desktop=namedRunner('msi-local'),laptopRunner=namedRunner('laptop-local'),witness=state.witness||{};const laptopOnline=witness.ok===true||runnerOnline(laptopRunner);return {desktop:{online:runnerOnline(desktop),busy:Boolean(desktop?.busy),status:desktop?.status||'connecting',slots:desktop?.executionSlots||desktop?.guaranteedAvailableSlots||null},laptop:{online:laptopOnline,witnessReady:witness.ok===true&&['ready','live'].includes(String(witness.status||'').toLowerCase()),witnessActive:Boolean(witness.activeJobs||witness.witnessActive),status:witness.status||laptopRunner?.status||'connecting',runnerOnline:runnerOnline(laptopRunner)},services:{online:['cloudflare','supabase','forgejo'].filter(providerOnline).length,total:3},lastRefresh};}\nfunction statusClass(ok){return ok?'live':'failed';}\nfunction technicalDetails(title,data){return `<details class=\"technical-details\"><summary>${escape(title)}</summary><pre class=\"logs\">${escape(JSON.stringify(data??null,null,2))}</pre></details>`;}\nfunction serviceCard(name,label){const data=state.providers[name],online=providerOnline(name);return `<section class=\"panel service-card\"><div class=\"provider-head\"><div><div class=\"eyebrow\">${escape(label)}</div><h3>${online?'Connected':'Checking connection'}</h3></div><span class=\"status-dot-wrap\"><span class=\"status-dot ${online?'on':'off'}\"></span>${online?'Live':'Degraded'}</span></div><p class=\"muted\">${data?.summary?Object.entries(data.summary).slice(0,2).map(([k,v])=>`${escape(k)}: ${escape(v??'—')}`).join(' · '):'KNOCKLAUNCH is reading this service through your signed-in owner session.'}</p>${technicalDetails('Technical details',data)}</section>`;}\nfunction machineCards(){const desktop=namedRunner('msi-local'),laptopRunner=namedRunner('laptop-local'),sys=systemStatus(),witness=state.witness||{},others=forgejoRunners().filter(item=>!['msi-local','laptop-local'].includes(item?.name));return `<div class=\"machine-grid\"><section class=\"machine-card primary\"><div class=\"machine-card-head\"><div><div class=\"eyebrow\">DESKTOP</div><h2>Primary Build Runner</h2></div><span class=\"status-dot-wrap\"><span class=\"status-dot ${sys.desktop.online?'on':'off'}\"></span>${sys.desktop.online?(sys.desktop.busy?'Busy':'Online'):'Offline'}</span></div><p class=\"machine-purpose\">Builds, Gate work and CI jobs belong here.</p><div class=\"mini-metrics\"><div><span>Runner</span><b>msi-local</b></div><div><span>State</span><b>${escape(desktop?.status||'Connecting')}</b></div><div><span>Slots</span><b>${escape(desktop?.executionSlots??desktop?.guaranteedAvailableSlots??'—')}</b></div></div></section><section class=\"machine-card witness\"><div class=\"machine-card-head\"><div><div class=\"eyebrow\">LAPTOP</div><h2>Interactive Witness</h2></div><span class=\"status-dot-wrap\"><span class=\"status-dot ${sys.laptop.online?'on':'off'}\"></span>${sys.laptop.witnessActive?'Witnessing':sys.laptop.online?'Ready':'Offline'}</span></div><p class=\"machine-purpose\">Authenticated visual inspection and interactive page proof.</p><div class=\"mini-metrics\"><div><span>Witness</span><b>${escape(witness.status||'Connecting')}</b></div><div><span>Health</span><b>${witness.witnessHealthy===false?'Attention':witness.ok===true?'Healthy':sys.laptop.runnerOnline?'Runner online':'Checking'}</b></div><div><span>Runner</span><b>${escape(laptopRunner?.status||'Secondary')}</b></div></div></section></div>${others.length?`<details class=\"panel infrastructure\"><summary>Fallback infrastructure · ${others.length} available</summary><div class=\"runner-list\">${others.map(r=>`<div><b>${escape(r.name)}</b><span class=\"pill ${runnerOnline(r)?'live':'failed'}\">${escape(r.status||'unknown')}</span></div>`).join('')}</div></details>`:''}`;}\nfunction renderHosted(){const stage=stages.find(item=>item.id===selected)||stages[0],sys=systemStatus(),updated=lastRefresh?new Date(lastRefresh).toLocaleTimeString():'Connecting';let body='';if(selected==='machines')body=`${machineCards()}<div class=\"quick-row\"><button data-run=\"forgejo\">Refresh machines</button><button data-run=\"runner-proof\">Run Desktop proof</button></div>`;else if(selected==='release')body=`<section class=\"panel release-hero\"><div><div class=\"eyebrow\">CANONICAL RELEASE</div><h2>One path from code to live.</h2><p class=\"muted\">The Console shows the pipeline. Gate and release machinery do the technical work underneath.</p></div><div class=\"release-flow\"><div><b>1</b><span>Code</span></div><i>→</i><div><b>2</b><span>Gate</span></div><i>→</i><div><b>3</b><span>Candidate</span></div><i>→</i><div><b>4</b><span>Live</span></div></div></section><div class=\"service-grid\">${serviceCard('forgejo','BUILD & GATE')}${serviceCard('cloudflare','LIVE RELEASE')}</div>`;else if(selected==='services')body=`<div class=\"service-grid three\">${serviceCard('cloudflare','CLOUDFLARE')}${serviceCard('supabase','SUPABASE')}${serviceCard('forgejo','FORGEJO')}</div>`;else if(selected==='activity'){const jobs=(state.jobs||[]).slice(0,8);body=`<section class=\"panel activity-panel\"><div class=\"provider-head\"><div><div class=\"eyebrow\">RECENT WORK</div><h2>Activity</h2></div><span class=\"muted small\">Updated ${escape(updated)}</span></div>${jobs.length?jobs.map(job=>`<details class=\"activity-item\"><summary><span>${escape(actions[job.action]?.name||job.action||'Console task')}</span><span class=\"pill ${escape(job.status||'waiting')}\">${escape(job.status||'waiting')}</span></summary><pre class=\"logs\">${escape(job.output||job.error||'No technical output recorded.')}</pre></details>`).join(''):`<div class=\"empty-state\"><b>No local Console jobs are running.</b><span>Provider and runner activity is connected above. Technical evidence stays available when you need it.</span></div>`}${technicalDetails('Forgejo activity details',state.providers.forgejo)}</section>`;}else body=machineCards();app.innerHTML=`<div class=\"console-frame\"><header class=\"console-header\"><div><div class=\"eyebrow\">KNOCKLAUNCH CONSOLE</div><h1>${escape(stage.name)}</h1><p>${escape(stage.description)}</p></div><div class=\"connection-strip\"><span class=\"${statusClass(sys.desktop.online)}\"><i></i>Desktop ${sys.desktop.online?'online':'offline'}</span><span class=\"${statusClass(sys.laptop.online)}\"><i></i>Laptop ${sys.laptop.witnessActive?'witnessing':sys.laptop.online?'ready':'offline'}</span><span class=\"${sys.services.online===sys.services.total?'live':'waiting'}\"><i></i>Services ${sys.services.online}/${sys.services.total}</span><button id=\"refresh\">Refresh</button></div></header><nav class=\"console-nav\" aria-label=\"Console navigation\">${stages.map(item=>`<button data-stage=\"${item.id}\" aria-current=\"${selected===item.id?'page':'false'}\">${escape(item.name)}</button>`).join('')}</nav><main class=\"console-main\">${notice?`<div class=\"notice\">${escape(notice)}</div>`:''}${body}</main></div>`;app.querySelectorAll('[data-stage]').forEach(button=>button.onclick=()=>{selected=button.dataset.stage;render();});app.querySelectorAll('[data-run]').forEach(button=>button.onclick=()=>run(button.dataset.run));const refreshButton=app.querySelector('#refresh');if(refreshButton)refreshButton.onclick=()=>refresh({deep:true});}","old_content":"async function api(path,body){const response=await fetch((local?'':'http://127.0.0.1:47831')+path,{method:body?'POST':'GET',headers:{Authorization:'Bearer '+token,...(body?{'Content-Type':'application/json'}:{})},...(body?{body:JSON.stringify(body)}:{}),signal:AbortSignal.timeout(15000)});const data=await response.json();if(!response.ok)throw new Error(data.error||'Console request failed');return data;}"},{"new_content":"async function refresh(options={}){if(busy)return;busy=true;const deep=options.deep!==false;try{if(embedded){hostedOnline=true;const tasks=[['forgejo',bridge('forgejo')],['witness',fetchWitnessHealth()]];if(deep||!state.providers.cloudflare)tasks.push(['cloudflare',bridge('cloudflare')]);if(deep||!state.providers.supabase)tasks.push(['supabase',bridge('supabase')]);const settled=await Promise.all(tasks.map(async([key,promise])=>[key,await promise]));for(const [key,data] of settled){if(key==='witness')state.witness=data;else state.providers[key]=data;}if(!state.witness?.ok){const fallback=namedRunner('laptop-local');if(fallback)state.witness={ok:fallback.status!=='offline',status:fallback.status==='offline'?'unavailable':'runner-online',fallback:true,witnessHealthy:null,activeJobs:0};}lastRefresh=Date.now();notice='';return;}const data=await api('/api/state');state={...data,providers:{...state.providers,...data.providers}};connected=true;lastRefresh=Date.now();notice='';}catch(error){if(!embedded)connected=false;notice=error instanceof Error?error.message:'Some live systems could not refresh.';}finally{busy=false;if(document.activeElement?.tagName!=='INPUT')render();}}","old_content":"async function refresh(){if(busy)return;busy=true;try{if(embedded&&!local&&!token){const data=await bridge('forgejo');state.providers.forgejo=data;hostedOnline=true;lastRefresh=Date.now();notice='';return;}const data=await api('/api/state');state={...data,providers:{...state.providers,...data.providers}};connected=true;if(embedded)hostedOnline=true;lastRefresh=Date.now();notice='';}catch(error){connected=false;if(embedded&&!token)hostedOnline=false;if(local||token||embedded)notice=error.message;}finally{busy=false;if(document.activeElement?.tagName!=='INPUT')render();}}"},{"new_content":"function render(){if(selected==='overview'){mountOperator(app,{bridge:embedded?bridge:async()=>{throw new Error('Open the signed-in Console at app.knocklaunch.app/admin/console to chat.');},hostedOnline:()=>hostedOnline,localConnected:()=>embedded||connected,systemStatus,connectLocal:local?async code=>{const next=String(code||'').trim();if(!next)throw new Error('Local Console session unavailable.');token=next;localStorage.setItem(localSessionKey,token);await refresh();return true;}:null,stages,onStage:id=>{selected=id;render();}});return;}if(embedded){renderHosted();return;}","old_content":"function render(){if(selected==='operator'){mountOperator(app,{bridge:embedded?bridge:async()=>{throw new Error('Open the signed-in Console at app.knocklaunch.app/admin/console to chat.');},hostedOnline:()=>hostedOnline,localConnected:()=>connected,connectLocal:async code=>{const next=String(code||'').trim();if(!next)throw new Error('Paste the MSI pairing code first.');token=next;localStorage.setItem(localSessionKey,token);await refresh();if(!connected)throw new Error(notice||'MSI pairing failed.');return true;},stages,onStage:id=>{selected=id;render();}});return;}"},{"new_content":"render();if(embedded||local||token)refresh({deep:true});setInterval(()=>{if(!document.hidden&&(embedded||connected||local))refresh({deep:false});},30000);","old_content":"render();if(embedded||local||token)refresh();setInterval(()=>{if(!document.hidden&&(embedded||connected||local))refresh();},5000);"}]},{"path":"public/console/operator.mjs","edits":[{"new_content":" const candidate=evidence()[0]||latest?.[activeView+'Proof'],proof=String(candidate?.phase||'').toLowerCase()==='preflight'?null:candidate,url=imageUrl(proof?.signedUrl),pending=context.jobId&&latest&&!latest.terminal,localConnected=options.localConnected?.()===true,hostedOnline=options.hostedOnline?.()!==false,system=options.systemStatus?.()||{},desktop=system.desktop||{},laptop=system.laptop||{},services=system.services||{},renderVerified=latest?.terminal&&latest?.status==='verified'&&Boolean(url),proofIncomplete=latest?.terminal&&latest?.status==='verified'&&!url;","old_content":" const candidate=evidence()[0]||latest?.[activeView+'Proof'],proof=String(candidate?.phase||'').toLowerCase()==='preflight'?null:candidate,url=imageUrl(proof?.signedUrl),pending=context.jobId&&latest&&!latest.terminal,localConnected=options.localConnected?.()===true,hostedOnline=options.hostedOnline?.()!==false,renderVerified=latest?.terminal&&latest?.status==='verified'&&Boolean(url),proofIncomplete=latest?.terminal&&latest?.status==='verified'&&!url;"},{"new_content":"<header class=\"console-header overview-header\"><div><div class=\"eyebrow\">KNOCKLAUNCH CONSOLE</div><h1>Overview</h1><p>Everything you need to run and inspect KNOCKLAUNCH.</p></div><div class=\"connection-strip\"><span class=\"${desktop.online?'live':'failed'}\"><i></i>Desktop ${desktop.online?(desktop.busy?'busy':'online'):'offline'}</span><span class=\"${laptop.online?'live':'failed'}\"><i></i>Laptop ${laptop.witnessActive?'witnessing':laptop.online?'ready':'offline'}</span><span class=\"${services.online===services.total?'live':'waiting'}\"><i></i>Services ${services.online??0}/${services.total??3}</span><span class=\"pill ${pending?'running':proofIncomplete?'failed':renderVerified?'live':'waiting'}\">${pending?'Witness running':proofIncomplete?'Proof incomplete':renderVerified?'Proof ready':'Ready'}</span></div></header><div class=\"layout\"><nav class=\"console-nav\" aria-label=\"Console navigation\">${options.stages.map(s=>`<button data-stage=\"${s.id}\" aria-current=\"${s.id==='overview'?'page':'false'}\">${esc(s.name)}</button>`).join('')}</nav><main class=\"operator-main\">","old_content":"<header><div class=\"top\"><div><div class=\"eyebrow\">KNOCKLAUNCH CONSOLE</div><h1>OPERATOR</h1></div><div class=\"row\"><span class=\"pill ${hostedOnline?'live':'unavailable'}\">Hosted ${hostedOnline?'online':'unavailable'}</span><span class=\"pill ${localConnected?'live':'waiting'}\">MSI ${localConnected?'paired':'not paired'}</span><span class=\"pill ${pending?'running':proofIncomplete?'failed':renderVerified?'live':'waiting'}\">${pending?'Witness running':proofIncomplete?'Proof incomplete':renderVerified?'Rendered':'Ready'}</span></div></div></header><div class=\"layout\"><nav aria-label=\"Console stages\">${options.stages.map((s,i)=>`<button data-stage=\"${s.id}\" aria-current=\"${s.id==='operator'?'step':'false'}\"><b>${i+1}</b>${esc(s.name)}</button>`).join('')}</nav><main class=\"operator-main\">"},{"new_content":"Tell KNOCKLAUNCH what page you want to inspect. Your Laptop witness is already connected and ready to capture it.","old_content":"Ask to inspect a page. I’ll keep its route, tenant and screen size for follow-ups."}]},{"path":"scripts/knocklaunch-console/operator.mjs","edits":[{"new_content":" const candidate=evidence()[0]||latest?.[activeView+'Proof'],proof=String(candidate?.phase||'').toLowerCase()==='preflight'?null:candidate,url=imageUrl(proof?.signedUrl),pending=context.jobId&&latest&&!latest.terminal,localConnected=options.localConnected?.()===true,hostedOnline=options.hostedOnline?.()!==false,system=options.systemStatus?.()||{},desktop=system.desktop||{},laptop=system.laptop||{},services=system.services||{},renderVerified=latest?.terminal&&latest?.status==='verified'&&Boolean(url),proofIncomplete=latest?.terminal&&latest?.status==='verified'&&!url;","old_content":" const candidate=evidence()[0]||latest?.[activeView+'Proof'],proof=String(candidate?.phase||'').toLowerCase()==='preflight'?null:candidate,url=imageUrl(proof?.signedUrl),pending=context.jobId&&latest&&!latest.terminal,localConnected=options.localConnected?.()===true,hostedOnline=options.hostedOnline?.()!==false,renderVerified=latest?.terminal&&latest?.status==='verified'&&Boolean(url),proofIncomplete=latest?.terminal&&latest?.status==='verified'&&!url;"},{"new_content":"<header class=\"console-header overview-header\"><div><div class=\"eyebrow\">KNOCKLAUNCH CONSOLE</div><h1>Overview</h1><p>Everything you need to run and inspect KNOCKLAUNCH.</p></div><div class=\"connection-strip\"><span class=\"${desktop.online?'live':'failed'}\"><i></i>Desktop ${desktop.online?(desktop.busy?'busy':'online'):'offline'}</span><span class=\"${laptop.online?'live':'failed'}\"><i></i>Laptop ${laptop.witnessActive?'witnessing':laptop.online?'ready':'offline'}</span><span class=\"${services.online===services.total?'live':'waiting'}\"><i></i>Services ${services.online??0}/${services.total??3}</span><span class=\"pill ${pending?'running':proofIncomplete?'failed':renderVerified?'live':'waiting'}\">${pending?'Witness running':proofIncomplete?'Proof incomplete':renderVerified?'Proof ready':'Ready'}</span></div></header><div class=\"layout\"><nav class=\"console-nav\" aria-label=\"Console navigation\">${options.stages.map(s=>`<button data-stage=\"${s.id}\" aria-current=\"${s.id==='overview'?'page':'false'}\">${esc(s.name)}</button>`).join('')}</nav><main class=\"operator-main\">","old_content":"<header><div class=\"top\"><div><div class=\"eyebrow\">KNOCKLAUNCH CONSOLE</div><h1>OPERATOR</h1></div><div class=\"row\"><span class=\"pill ${hostedOnline?'live':'unavailable'}\">Hosted ${hostedOnline?'online':'unavailable'}</span><span class=\"pill ${localConnected?'live':'waiting'}\">MSI ${localConnected?'paired':'not paired'}</span><span class=\"pill ${pending?'running':proofIncomplete?'failed':renderVerified?'live':'waiting'}\">${pending?'Witness running':proofIncomplete?'Proof incomplete':renderVerified?'Rendered':'Ready'}</span></div></div></header><div class=\"layout\"><nav aria-label=\"Console stages\">${options.stages.map((s,i)=>`<button data-stage=\"${s.id}\" aria-current=\"${s.id==='operator'?'step':'false'}\"><b>${i+1}</b>${esc(s.name)}</button>`).join('')}</nav><main class=\"operator-main\">"},{"new_content":"Tell KNOCKLAUNCH what page you want to inspect. Your Laptop witness is already connected and ready to capture it.","old_content":"Ask to inspect a page. I’ll keep its route, tenant and screen size for follow-ups."}]},{"path":"public/console/console.css","edits":[{"new_content":"@media(max-width:700px){.layout:has(.operator-main)>nav{top:70px;padding:6px 8px}.operator-main{padding:8px}.operator-image{min-height:360px;padding:8px}.operator-pairing .connect{flex-wrap:wrap}.operator-pairing .connect button{width:100%}}\n\n/* Console owner experience v3 */\n:root{--kl-line:rgba(111,231,171,.16);--kl-muted:#94ad9f;--kl-green:#78e6ad;--kl-warn:#f2c66f;background:radial-gradient(circle at 72% -10%,rgba(53,185,117,.15),transparent 34%),linear-gradient(180deg,#06110c 0%,#040906 100%)}body{min-height:100vh;background:transparent}.console-frame{min-height:100vh}.console-header{position:sticky;top:0;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px;background:rgba(5,13,9,.9);backdrop-filter:blur(18px);border-bottom:1px solid var(--kl-line);box-shadow:0 12px 36px rgba(0,0,0,.18)}.console-header h1{font-size:26px;line-height:1;margin:4px 0 6px}.console-header p{margin:0;color:var(--kl-muted);font-size:13px}.connection-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.connection-strip>span{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid var(--kl-line);border-radius:999px;background:rgba(255,255,255,.025);font-size:11px;font-weight:700;color:var(--kl-muted)}.connection-strip>span.live{color:#a8f4c9;border-color:rgba(120,230,173,.3)}.connection-strip>span.failed{color:#f4cf80}.connection-strip i,.status-dot{width:7px;height:7px;border-radius:50%;background:#6b7f74}.connection-strip .live i,.status-dot.on{background:var(--kl-green);box-shadow:0 0 14px rgba(120,230,173,.5)}.connection-strip .failed i,.status-dot.off{background:var(--kl-warn)}.console-nav,.layout:has(.operator-main)>.console-nav{position:sticky;top:83px;z-index:7;display:flex;gap:5px;overflow-x:auto;padding:8px 18px;background:rgba(7,18,12,.94);backdrop-filter:blur(14px);border:0;border-bottom:1px solid var(--kl-line)}.console-nav button,.layout:has(.operator-main)>.console-nav button{flex:0 0 auto;width:auto;margin:0;padding:8px 13px;border-radius:999px;border:1px solid transparent;background:transparent;color:var(--kl-muted);font-size:12px}.console-nav button[aria-current=page],.layout:has(.operator-main)>.console-nav button[aria-current=page]{color:#eafff3;background:linear-gradient(180deg,rgba(71,190,126,.22),rgba(37,112,75,.17));border-color:rgba(120,230,173,.26)}.console-main,.operator-main{max-width:1720px;margin:0 auto;padding:16px 18px 28px}.panel,.machine-card{background:linear-gradient(160deg,rgba(17,39,28,.92),rgba(8,20,14,.9));border:1px solid var(--kl-line);border-radius:18px;box-shadow:0 18px 50px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.025)}.machine-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px}.machine-card{padding:20px;min-height:220px}.machine-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.machine-card h2{font-size:22px;margin:5px 0 0}.machine-purpose{color:var(--kl-muted)}.status-dot-wrap{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:700;color:#cbe9d7}.mini-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:22px}.mini-metrics>div{padding:11px;border:1px solid rgba(120,230,173,.12);border-radius:12px;background:rgba(0,0,0,.12)}.mini-metrics span{display:block;color:var(--kl-muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.mini-metrics b{display:block;margin-top:5px;font-size:14px}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.service-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.technical-details{margin-top:16px;border-top:1px solid var(--kl-line);padding-top:12px}.release-hero{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(520px,1.4fr);gap:26px;align-items:center;padding:24px;margin-bottom:14px}.release-flow{display:grid;grid-template-columns:repeat(7,auto);align-items:center;justify-content:center;gap:12px}.release-flow>div{display:grid;place-items:center;gap:7px}.release-flow b{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:rgba(69,199,128,.22);border:1px solid rgba(120,230,173,.32)}.runner-list>div{display:flex;align-items:center;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--kl-line)}.quick-row{display:flex;gap:8px;flex-wrap:wrap}.operator-grid{grid-template-columns:minmax(330px,.62fr) minmax(680px,1.65fr);gap:14px}.operator-chat,.operator-witness{border-radius:18px}.operator-image{background:linear-gradient(180deg,rgba(1,7,4,.94),rgba(4,13,8,.96));border:1px solid rgba(120,230,173,.11);border-radius:14px}@media(max-width:1100px){.machine-grid,.service-grid,.service-grid.three{grid-template-columns:1fr}.release-hero{grid-template-columns:1fr}.operator-grid{grid-template-columns:1fr}.operator-witness{order:1}.operator-chat{order:2}}@media(max-width:700px){.console-header{padding:12px;align-items:flex-start}.console-header h1{font-size:21px}.console-header p{display:none}.connection-strip{gap:5px}.connection-strip>span{padding:6px 8px;font-size:10px}.console-header #refresh{display:none}.console-nav,.layout:has(.operator-main)>.console-nav{top:68px;padding:6px 8px}.console-main,.operator-main{padding:8px}.machine-card{padding:15px;min-height:0}.mini-metrics{grid-template-columns:repeat(3,minmax(85px,1fr));overflow-x:auto}.operator-image{min-height:350px}.operator-messages{max-height:28vh}}","old_content":"@media(max-width:700px){.layout:has(.operator-main)>nav{top:70px;padding:6px 8px}.operator-main{padding:8px}.operator-image{min-height:360px;padding:8px}.operator-pairing .connect{flex-wrap:wrap}.operator-pairing .connect button{width:100%}}"}]},{"path":"scripts/knocklaunch-console/console.css","edits":[{"new_content":"@media(max-width:700px){.layout:has(.operator-main)>nav{top:70px;padding:6px 8px}.operator-main{padding:8px}.operator-image{min-height:360px;padding:8px}.operator-pairing .connect{flex-wrap:wrap}.operator-pairing .connect button{width:100%}}\n\n/* Console owner experience v3 */\n:root{--kl-line:rgba(111,231,171,.16);--kl-muted:#94ad9f;--kl-green:#78e6ad;--kl-warn:#f2c66f;background:radial-gradient(circle at 72% -10%,rgba(53,185,117,.15),transparent 34%),linear-gradient(180deg,#06110c 0%,#040906 100%)}body{min-height:100vh;background:transparent}.console-frame{min-height:100vh}.console-header{position:sticky;top:0;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px;background:rgba(5,13,9,.9);backdrop-filter:blur(18px);border-bottom:1px solid var(--kl-line);box-shadow:0 12px 36px rgba(0,0,0,.18)}.console-header h1{font-size:26px;line-height:1;margin:4px 0 6px}.console-header p{margin:0;color:var(--kl-muted);font-size:13px}.connection-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.connection-strip>span{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid var(--kl-line);border-radius:999px;background:rgba(255,255,255,.025);font-size:11px;font-weight:700;color:var(--kl-muted)}.connection-strip>span.live{color:#a8f4c9;border-color:rgba(120,230,173,.3)}.connection-strip>span.failed{color:#f4cf80}.connection-strip i,.status-dot{width:7px;height:7px;border-radius:50%;background:#6b7f74}.connection-strip .live i,.status-dot.on{background:var(--kl-green);box-shadow:0 0 14px rgba(120,230,173,.5)}.connection-strip .failed i,.status-dot.off{background:var(--kl-warn)}.console-nav,.layout:has(.operator-main)>.console-nav{position:sticky;top:83px;z-index:7;display:flex;gap:5px;overflow-x:auto;padding:8px 18px;background:rgba(7,18,12,.94);backdrop-filter:blur(14px);border:0;border-bottom:1px solid var(--kl-line)}.console-nav button,.layout:has(.operator-main)>.console-nav button{flex:0 0 auto;width:auto;margin:0;padding:8px 13px;border-radius:999px;border:1px solid transparent;background:transparent;color:var(--kl-muted);font-size:12px}.console-nav button[aria-current=page],.layout:has(.operator-main)>.console-nav button[aria-current=page]{color:#eafff3;background:linear-gradient(180deg,rgba(71,190,126,.22),rgba(37,112,75,.17));border-color:rgba(120,230,173,.26)}.console-main,.operator-main{max-width:1720px;margin:0 auto;padding:16px 18px 28px}.panel,.machine-card{background:linear-gradient(160deg,rgba(17,39,28,.92),rgba(8,20,14,.9));border:1px solid var(--kl-line);border-radius:18px;box-shadow:0 18px 50px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.025)}.machine-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px}.machine-card{padding:20px;min-height:220px}.machine-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.machine-card h2{font-size:22px;margin:5px 0 0}.machine-purpose{color:var(--kl-muted)}.status-dot-wrap{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:700;color:#cbe9d7}.mini-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:22px}.mini-metrics>div{padding:11px;border:1px solid rgba(120,230,173,.12);border-radius:12px;background:rgba(0,0,0,.12)}.mini-metrics span{display:block;color:var(--kl-muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.mini-metrics b{display:block;margin-top:5px;font-size:14px}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.service-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.technical-details{margin-top:16px;border-top:1px solid var(--kl-line);padding-top:12px}.release-hero{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(520px,1.4fr);gap:26px;align-items:center;padding:24px;margin-bottom:14px}.release-flow{display:grid;grid-template-columns:repeat(7,auto);align-items:center;justify-content:center;gap:12px}.release-flow>div{display:grid;place-items:center;gap:7px}.release-flow b{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:rgba(69,199,128,.22);border:1px solid rgba(120,230,173,.32)}.runner-list>div{display:flex;align-items:center;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--kl-line)}.quick-row{display:flex;gap:8px;flex-wrap:wrap}.operator-grid{grid-template-columns:minmax(330px,.62fr) minmax(680px,1.65fr);gap:14px}.operator-chat,.operator-witness{border-radius:18px}.operator-image{background:linear-gradient(180deg,rgba(1,7,4,.94),rgba(4,13,8,.96));border:1px solid rgba(120,230,173,.11);border-radius:14px}@media(max-width:1100px){.machine-grid,.service-grid,.service-grid.three{grid-template-columns:1fr}.release-hero{grid-template-columns:1fr}.operator-grid{grid-template-columns:1fr}.operator-witness{order:1}.operator-chat{order:2}}@media(max-width:700px){.console-header{padding:12px;align-items:flex-start}.console-header h1{font-size:21px}.console-header p{display:none}.connection-strip{gap:5px}.connection-strip>span{padding:6px 8px;font-size:10px}.console-header #refresh{display:none}.console-nav,.layout:has(.operator-main)>.console-nav{top:68px;padding:6px 8px}.console-main,.operator-main{padding:8px}.machine-card{padding:15px;min-height:0}.mini-metrics{grid-template-columns:repeat(3,minmax(85px,1fr));overflow-x:auto}.operator-image{min-height:350px}.operator-messages{max-height:28vh}}","old_content":"@media(max-width:700px){.layout:has(.operator-main)>nav{top:70px;padding:6px 8px}.operator-main{padding:8px}.operator-image{min-height:360px;padding:8px}.operator-pairing .connect{flex-wrap:wrap}.operator-pairing .connect button{width:100%}}"}]},{"path":"src/pages/admin/GodModeCommandConsole.tsx","edits":[{"new_content":"src=\"/console/index.html?v=console-owner-v3\"","old_content":"src=\"/console/index.html?v=operator-witness-v2\""}]}],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"29638666-37ca-4f82-bb45-2b03ab41e5ef","ownerApproved":true,"releaseIntent":null,"sourceTargets":["public/console/catalog.mjs","public/console/console.js","scripts/knocklaunch-console/console.js","public/console/operator.mjs","scripts/knocklaunch-console/operator.mjs","public/console/console.css","scripts/knocklaunch-console/console.css","src/pages/admin/GodModeCommandConsole.tsx"],"requestContract":null,"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":false,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"proofRequirements":null,"controlPlaneUnfreeze":false,"durableMutationResume":true,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"recovery":false,"fingerprint":"8b448656daa021a0875700c436eb46733bfb8ef146489a37aa2454a05c4ca80d","replayCount":0,"serializedBytes":50708},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T03:08:34.809695+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:29638666-37ca-4f82-bb45-2b03ab41e5ef:repository-mutation-intent:8b448656daa021a0875700c436eb46733bfb8ef146489a37aa2454a05c4ca80d:0","mission_step_id":"bdf275d3-5f63-498c-9ddb-8caa0aca39c1","command_center_event_id":"29638666-37ca-4f82-bb45-2b03ab41e5ef"},{"id":"e3e3ff18-34d5-4b91-aa9c-8afd90f80f9b","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in release.","nextAction":{"lane":"production-release-conductor","action":"reconcile_release","reason":"merged_source_requires_release_proof","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":1,\"pending\":5,\"percent\":17,\"satisfied\":false,\"verifiedIds\":[\"implementation\"],\"pendingIds\":[\"preflight\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"preflight\",\"deadlineAt\":\"2026-08-04T11:50:21.8304+00:00\",\"recoveryAction\":\"reconcile_release\"},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/real-readonly-sce-map-editor-r2-r202608041140\",\"prNumber\":3948,\"sourceSha\":\"945a4c86a67aefb7620263f982398fdc2fba5a24\",\"deploymentId\":\"canonical-release-945a4c86a67a\"}"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T22:15:48.588684+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:1ed116fd-c666-48db-8d4d-396a53f01825:owner-progress-heartbeat:119329503","mission_step_id":"4a1f814a-fe24-4c2b-a71a-c3d0bb06f21a","command_center_event_id":"1ed116fd-c666-48db-8d4d-396a53f01825"},{"id":"e3e42bd7-6fcc-4fc4-a9ce-0b60c27b1030","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-e298b34b9b92","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":7341,"releaseCount":0,"toolCallCount":5,"repeatedCallCount":0,"executorlessWaitMs":21231,"firstUsefulResultAt":"2026-10-06T17:16:48.171Z","recoveryAttemptCount":2,"ownerInterruptionCount":0},"version":null,"prNumber":5213,"terminal":false,"missionId":"e298b34b-9b92-43d5-bbed-5046c2513c64","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":2143,"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":"e298b34b-9b92-43d5-bbed-5046c2513c64"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["repository"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":819,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T17:17:09.469883+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"5213","receipt_type":"automatic_mission_resume","idempotency_key":"mission:e298b34b-9b92-43d5-bbed-5046c2513c64:automatic-mission-resume:5213:repair_mission_pr_ready_retryable","mission_step_id":"b68100ae-0f8e-4e55-a6fc-c0e298de689f","command_center_event_id":"e298b34b-9b92-43d5-bbed-5046c2513c64"},{"id":"e3e463f0-6fcb-40ca-af18-e24da92aa446","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Repair the KNOCKLAUNCH frontend Gate and production build memory envelope using the already-proven 4 GB heavy-runner cgroup. The first release of premium owner Settings/Profile failed twice because V8 was capped at 2560 MB; inspection also proves the canonical pull-request Gate container is capped at 3584 MB while the production release job receives 4096 MB. Align both contracts: config/cloudflare-native-frontend-build.json must declare runnerMemoryMb 4096 and buildHeapMb 3072 with reservedHeadroomMb 1024; the heavy Gate container must be --memory=4096m while preserving the 768m light-control-plane exception. Then Gate, squash merge, frontend release, and prove /knock-launch-os/settings plus /knock-launch-os/settings?section=profile live.","wordingChanged":false,"canonicalIntent":"Repair the KNOCKLAUNCH frontend Gate and production build memory envelope using the already-proven 4 GB heavy-runner cgroup. The first release of premium owner Settings/Profile failed twice because V8 was capped at 2560 MB; inspection also proves the canonical pull-request Gate container is capped at 3584 MB while the production release job receives 4096 MB. Align both contracts: config/cloudflare-native-frontend-build.json must declare runnerMemoryMb 4096 and buildHeapMb 3072 with reservedHeadroomMb 1024; the heavy Gate container must be --memory=4096m while preserving the 768m light-control-plane exception. Then Gate, squash merge, frontend release, and prove /knock-launch-os/settings plus /knock-launch-os/settings?section=profile live.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"memory-envelope","statement":"Canonical heavy frontend Gate and production build use a consistent verified 4 GB memory envelope with 3072 MB V8 old-space and 1024 MB reserved headroom.","proofConditionIds":["proof-build"]},{"id":"owner-ui-live","statement":"The already-merged premium owner Settings and Profile UI reaches production after the build-envelope repair.","proofConditionIds":["proof-profile","proof-settings"]}],"objective":"Repair the KNOCKLAUNCH frontend Gate and production build memory envelope using the already-proven 4 GB heavy-runner cgroup. The first release of premium owner Settings/Profile failed twice because V8 was capped at 2560 MB; inspection also proves the canonical pull-request Gate container is capped at 3584 MB while the production release job receives 4096 MB. Align both contracts: config/cloudflare-native-frontend-build.json must declare runnerMemoryMb 4096 and buildHeapMb 3072 with reservedHeadroomMb 1024; the heavy Gate container must be --memory=4096m while preserving the 768m light-control-plane exception. Then Gate, squash merge, frontend release, and prove /knock-launch-os/settings plus /knock-launch-os/settings?section=profile live.","constraints":[{"id":"smallest-change","statement":"Change only config/cloudflare-native-frontend-build.json and the heavy Gate container memory value in .forgejo/workflows/knocklaunch.yml; preserve the light 768m Gate exception and all UI source.","proofConditionIds":["proof-build"]},{"id":"no-extra-spend","statement":"Use existing heavy-4g runners; do not provision or resize infrastructure.","proofConditionIds":["proof-build"]},{"id":"headroom","statement":"Preserve reservedHeadroomMb at 1024 and satisfy buildHeapMb + reservedHeadroomMb <= runnerMemoryMb.","proofConditionIds":["proof-build"]},{"id":"capability-completeness","statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["proof-build","proof-profile","proof-settings"]},{"id":"atomic-capability-lifecycle","statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["proof-build","proof-profile","proof-settings"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-build","kind":"runtime","claim":"Canonical Gate and production frontend release complete successfully using heavy Gate memory 4096 MB, buildHeapMb 3072, runnerMemoryMb 4096, and reservedHeadroomMb 1024.","route":"/knock-launch-os/settings","roleRef":"platform_owner","userRef":null,"required":true,"expectedText":"Your command settings","targetedActions":[],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false},{"id":"proof-profile","kind":"runtime","claim":"Production owner profile renders the premium KNOCKLAUNCH profile experience after the repaired frontend release.","route":"/knock-launch-os/settings?section=profile","roleRef":"platform_owner","userRef":null,"required":true,"expectedText":"KNOCKLAUNCH profile","targetedActions":[],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false},{"id":"proof-settings","kind":"runtime","claim":"Production owner settings renders the premium command settings experience after the repaired frontend release.","route":"/knock-launch-os/settings","roleRef":"platform_owner","userRef":null,"required":true,"expectedText":"Your command settings","targetedActions":[],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}],"validationErrors":[],"capabilityManifest":{"id":"frontend-build-memory-envelope-4g","driftPolicy":"exact_manifest_source_release_dependency_or_runtime_identity_mismatch_is_nonterminal","proofLedger":"command_center_mission_ledger_request_contract_hash_bound","schemaVersion":1,"releaseTargets":["frontend"],"lifecycleStates":["prepare","deploy","verify","activate"],"activationPolicy":"dependencies_and_claim_matched_live_proof_before_exposure","dependencyDomains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_required_not_runtime_failures","compatibilityWindow":["N","N-1"],"failureIsolationPolicy":"quarantine_or_rollback_affected_capability_only_preserve_unrelated_working_capabilities","canaryProofConditionIds":["proof-build","proof-profile","proof-settings"]},"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":"ac823d4569643f1487455495541e9b3810b1bd9b2a8837bdb0d002dc52a466ad","requestContractRevision":2,"previousRequestContractHash":"63c148cf72c2934740f3ccd0ce43b53ff74be1d671717ca5b368c33fbcba7bbc"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-20T06:01:58.646289+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:a11b4eb4-d04e-429b-9e61-3e772b0d3a4b:request-contract:ac823d4569643f1487455495541e9b3810b1bd9b2a8837bdb0d002dc52a466ad","mission_step_id":"a0cc22e8-46e4-409a-9328-ffb5b5a6e661","command_center_event_id":"a11b4eb4-d04e-429b-9e61-3e772b0d3a4b"},{"id":"e3e6a205-4423-4ddb-a234-77e7fa4dc616","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in pull request.","nextAction":{"lane":"cc-execution","action":"reconcile_pull_request","reason":"durable_state:pull_request","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":null,\"activeStep\":null,\"nextStep\":null,\"nextSafeAction\":{\"action\":\"reconcile_pull_request\",\"lane\":\"cc-execution\",\"reason\":\"durable_state:pull_request\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"acceptance\":{\"total\":0,\"verified\":0,\"pending\":0,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":null,\"deadlineAt\":null,\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":null,\"sourceSha\":null,\"deploymentId\":null}"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-21T12:00:03.624175+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:8c01e9d7-a318-4c90-bcc8-2cbb69a167aa:owner-progress-heartbeat:119332800","mission_step_id":"42adf920-38d2-4f31-87aa-116c79805cf0","command_center_event_id":"8c01e9d7-a318-4c90-bcc8-2cbb69a167aa"},{"id":"e3e6ada1-e1b7-4e16-b817-d9dca40a8559","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"release","branch":"ai/objective-first-repair-522bfcd3ecca","reason":"canonical_release_queue_busy:15332","status":"blocked","metrics":{"receiptBytes":29011,"releaseCount":0,"toolCallCount":13,"repeatedCallCount":4,"executorlessWaitMs":521632,"firstUsefulResultAt":"2026-10-04T15:07:25.143Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.91-virtual-witness-cold-standby","prNumber":4804,"terminal":false,"missionId":"522bfcd3-ecca-4d6f-a97e-9289c2f5a4c4","operation":"execute_mission","proofGate":"canonical_release_blocked","sourceSha":"b7cb69cd8ccc7d0adc222082bb41b368f71708dd","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1132,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":93,"approvedPlanMs":0,"missionSetupMs":3054,"providerAuthMs":0,"shipAndProveMs":609,"ledgerPrepareMs":246,"ledgerReconcileMs":0,"lineageReconcileMs":2808,"resolvePreflightMs":3054,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":246,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"522bfcd3-ecca-4d6f-a97e-9289c2f5a4c4"},"performance":null,"deploymentId":"forgejo-main-b7cb69cd8ccc","releaseState":"failed","workflowRunId":15330,"releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1408,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T15:16:09.377621+00:00","proof_gate":"canonical_release_blocked","source_sha":"b7cb69cd8ccc7d0adc222082bb41b368f71708dd","external_id":"forgejo-main-b7cb69cd8ccc","receipt_type":"execute_mission","idempotency_key":"mission:522bfcd3-ecca-4d6f-a97e-9289c2f5a4c4:execute_mission:canonical_release_blocked:current-generation","mission_step_id":"18d79ca5-97ef-4247-ab98-699bcc82bd2c","command_center_event_id":"522bfcd3-ecca-4d6f-a97e-9289c2f5a4c4"},{"id":"e3e79d77-80ff-455b-bfef-d81035bf1938","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[{"path":"public/console/operator.mjs","content":"let host, options, sending=false, draft='', timer=null, activeView='desktop', latest=null;\nconst messages=[];\nlet routeCatalog={ok:false,routes:[],error:null},routeCatalogLoading=false,routeSearch='';\nlet context={route:'',tenantRef:'',roleRef:'',viewports:['desktop','mobile']};\ntry { const saved=JSON.parse(sessionStorage.getItem('kl-operator-context')||'null');if(saved)context={...context,route:String(saved.route||''),tenantRef:String(saved.tenantRef||''),roleRef:String(saved.roleRef||''),viewports:Array.isArray(saved.viewports)&&saved.viewports.length?saved.viewports:['desktop','mobile']}; } catch {}\nconst esc=v=>String(v??'').replace(/[&<>\"']/g,c=>({'&':'&amp;','<':'&lt;','>':'&gt;','\"':'&quot;',\"'\":'&#39;'}[c]));\nfunction save(){try{sessionStorage.setItem('kl-operator-context',JSON.stringify({route:context.route||'',tenantRef:context.tenantRef||'',roleRef:context.roleRef||'',viewports:Array.isArray(context.viewports)&&context.viewports.length?context.viewports:['desktop','mobile']}));}catch{}}\nfunction liveActivity(){return options?.witnessActivity?.()||{active:null,runs:[]};}\nfunction liveRun(){return liveActivity()?.active||null;}\nfunction recentRuns(){const runs=liveActivity()?.runs;return Array.isArray(runs)?runs:[];}\nfunction focusRun(){return liveRun()||recentRuns()[0]||null;}\nfunction witnessActivityMarkup(){const active=liveRun(),seen=new Set(),runs=[];for(const run of [active,...recentRuns()]){if(!run?.id||seen.has(run.id))continue;seen.add(run.id);runs.push(run);if(runs.length>=6)break;}if(!runs.length)return '<div class=\"witness-standby-state\"><b>Laptop witness standing by.</b><span>The next witness run will appear here automatically.</span></div>';return `<div class=\"witness-activity-list\">${runs.map(run=>`<article class=\"witness-activity-item ${run.terminal?'complete':'live-run'}\"><div><span class=\"live-kicker\">${run.terminal?'COMPLETE':'LIVE'}</span><b>${esc(run.currentRoute||'Witness run')}</b><span>${esc(run.currentViewport||'viewport pending')} · ${esc(String(run.phase||run.status||'working').replaceAll('_',' '))}</span></div><time>${esc(new Date(run.lastProgressAt||run.completedAt||run.startedAt||run.createdAt||Date.now()).toLocaleTimeString())}</time>${run.ownerComments?.length?`<small>${run.ownerComments.length} owner comment${run.ownerComments.length===1?'':'s'}</small>`:''}</article>`).join('')}</div>`;}\nconst routeTitle=value=>String(value||'').replace(/^\\/+|\\/+$/g,'').replaceAll('-',' ').replace(/\\b\\w/g,m=>m.toUpperCase())||'Root';\nfunction resolveRegistryRoute(entry){\n const original=String(entry?.path||'').trim();\n if(!original.startsWith('/'))return {original,path:original,missing:['route'],inspectable:false};\n let path=original;\n const tenant=String(context.tenantRef||'').trim();\n if(tenant)path=path.replaceAll(':tenantSlug',tenant);\n const missing=[...path.matchAll(/:([A-Za-z0-9_-]+)/g)].map(match=>match[1]);\n const sideEffect=path==='/logout';\n return {original,path,missing,inspectable:missing.length===0&&!sideEffect,sideEffect};\n}\nfunction routeFamily(entry){\n const shell=String(entry?.shell||'').trim();\n if(shell)return shell;\n const first=String(entry?.path||'').split('/').filter(Boolean)[0];\n return first||String(entry?.domain||'root');\n}\nfunction routeNavigatorMarkup(activeRoute){\n if(routeCatalogLoading&&!routeCatalog.ok)return '<section class=\"witness-route-nav loading\"><div class=\"route-nav-head\"><div><div class=\"eyebrow\">ROUTES</div><h3>Route Navigator</h3></div><span class=\"muted small\">Loading canonical registry…</span></div></section>';\n if(!routeCatalog.ok)return `<section class=\"witness-route-nav\"><div class=\"route-nav-head\"><div><div class=\"eyebrow\">ROUTES</div><h3>Route Navigator</h3></div><span class=\"muted small\">${esc(routeCatalog.error||'Route registry unavailable')}</span></div></section>`;\n const grouped=new Map();\n for(const entry of routeCatalog.routes){\n  const family=routeFamily(entry);\n  if(!grouped.has(family))grouped.set(family,[]);\n  grouped.get(family).push(entry);\n }\n const activeLive=Boolean(liveRun()&&!liveRun().terminal);\n const drawers=[...grouped.entries()].sort((a,b)=>routeTitle(a[0]).localeCompare(routeTitle(b[0]))).map(([family,entries])=>{\n  const rows=entries.sort((a,b)=>String(a.path).localeCompare(String(b.path))).map(entry=>{\n   const resolved=resolveRegistryRoute(entry),isActive=resolved.inspectable&&resolved.path===activeRoute;\n   const locked=activeLive&&!isActive;\n   const disabled=!resolved.inspectable||locked;\n   const reason=resolved.sideEffect?'auth action':resolved.missing.length?`needs ${resolved.missing.join(', ')}`:locked?'witness busy':'';\n   return `<div class=\"witness-route-item ${isActive?'active':''}\" data-route-filter=\"${esc([entry.path,entry.description,entry.domain,entry.shell,entry.platformSurface].filter(Boolean).join(' ').toLowerCase())}\"><button type=\"button\" data-witness-route=\"${esc(resolved.path)}\" data-route-role=\"${esc(entry.role||'')}\" ${disabled?'disabled':''} title=\"${esc(entry.description||entry.path)}\"><span class=\"route-path\">${esc(entry.path)}</span><span class=\"route-meta\">${esc(entry.role||'')} · ${esc(entry.domain||'')}${reason?' · '+esc(reason):''}</span></button></div>`;\n  }).join('');\n  return `<details class=\"route-drawer\" data-route-drawer><summary>${esc(routeTitle(family))}<span>${entries.length}</span></summary><div class=\"route-drawer-menu\">${rows}</div></details>`;\n }).join('');\n return `<section class=\"witness-route-nav\"><div class=\"route-nav-head\"><div><div class=\"eyebrow\">ROUTES</div><h3>Route Navigator</h3></div><label class=\"route-search\"><span class=\"sr-only\">Search routes</span><input id=\"witness-route-search\" type=\"search\" autocomplete=\"off\" placeholder=\"Search actual routes…\" value=\"${esc(routeSearch)}\"></label></div><div class=\"route-drawers\">${drawers}</div><p class=\"route-nav-note\">Canonical registry · parameterized routes stay locked until their required context is known.</p></section>`;\n}\nfunction filterRouteNavigator(value){\n routeSearch=String(value||'');\n const query=routeSearch.trim().toLowerCase();\n for(const drawer of host?.querySelectorAll('[data-route-drawer]')||[]){\n  let visible=0;\n  for(const row of drawer.querySelectorAll('.witness-route-item')){\n   const show=!query||String(row.dataset.routeFilter||row.textContent||'').toLowerCase().includes(query);\n   row.hidden=!show;if(show)visible+=1;\n  }\n  drawer.hidden=visible===0;\n  if(query&&visible)drawer.open=true;\n }\n}\nasync function loadRouteCatalog(){\n if(routeCatalogLoading||routeCatalog.ok||!options?.bridge)return;\n routeCatalogLoading=true;render();\n try{\n  const data=await options.bridge('routes');\n  routeCatalog={ok:data?.ok!==false,routes:Array.isArray(data?.routes)?data.routes:[],error:data?.error||null};\n }catch(error){\n  routeCatalog={ok:false,routes:[],error:error instanceof Error?error.message:'Route registry unavailable'};\n }finally{routeCatalogLoading=false;render();}\n}\nasync function inspectRegistryRoute(route,role){\n if(sending||!route)return;\n const active=liveRun();\n if(active&&!active.terminal){messages.push({role:'assistant',text:'The Laptop witness is already live. Pick the next route when this run completes.'});render();return;}\n const roleRef=['owner','admin','rep','pa','crew'].includes(role)?role:role==='godmode'?'GodMode':'';\n context={route,tenantRef:context.tenantRef||'',roleRef,viewports:[activeView]};\n latest=null;save();render();\n await send(`Show ${route} on ${activeView}`);\n}\nfunction evidence(){const run=focusRun(),route=run?.currentRoute||'',artifacts=[...(run?.artifactReceipts||[])];return artifacts.filter(a=>(!a.viewport||a.viewport===activeView)&&(!a.route||!route||a.route===route)&&String(a.phase||'').toLowerCase()!=='preflight').sort((a,b)=>{const rank={after:3,observe:2,before:1};const phaseRank=(rank[String(b.phase||'').toLowerCase()]||0)-(rank[String(a.phase||'').toLowerCase()]||0);return phaseRank||String(b.capturedAt||'').localeCompare(String(a.capturedAt||''));});}\nfunction imageUrl(value){try{const u=new URL(value);return u.protocol==='https:'&&u.hostname==='laptop-witness.knocklaunch.app'&&u.pathname.startsWith('/__witness/evidence/')?u.href:'';}catch{return '';}}\nfunction render(){\n if(!host?.isConnected)return;\n const live=liveRun(),focus=focusRun(),livePending=Boolean(live&&!live.terminal);if(livePending&&['desktop','mobile'].includes(live.currentViewport))activeView=live.currentViewport;const displayRoute=focus?.currentRoute||'',candidate=evidence()[0]||focus?.latestProof,proof=String(candidate?.phase||'').toLowerCase()==='preflight'?null:candidate,url=imageUrl(proof?.signedUrl),pending=livePending,localConnected=options.localConnected?.()===true,hostedOnline=options.hostedOnline?.()!==false,system=options.systemStatus?.()||{},desktop=system.desktop||{},laptop=system.laptop||{},services=system.services||{},renderVerified=Boolean(focus?.terminal&&url),proofIncomplete=Boolean(focus?.terminal&&!url);\n host.innerHTML=`<header class=\"console-header overview-header\"><div><div class=\"eyebrow\">KNOCKLAUNCH CONSOLE</div><h1>Overview</h1><p>Everything you need to run and inspect KNOCKLAUNCH.</p></div><div class=\"connection-strip\"><span class=\"${desktop.online?'live':'failed'}\"><i></i>Desktop ${desktop.online?(desktop.busy?'busy':'online'):'offline'}</span><span class=\"${laptop.online?'live':'failed'}\"><i></i>Laptop ${laptop.witnessActive?'witnessing':laptop.online?'ready':'offline'}</span><span class=\"${services.online===services.total?'live':'waiting'}\"><i></i>Services ${services.online??0}/${services.total??3}</span><span class=\"pill ${livePending?'running':laptop.online?'live':'failed'}\">${livePending?'Witness live':laptop.online?'Witness ready':'Witness offline'}</span></div></header><div class=\"layout\"><nav class=\"console-nav\" aria-label=\"Console navigation\">${options.stages.map(s=>`<button data-stage=\"${s.id}\" aria-current=\"${s.id==='overview'?'page':'false'}\">${esc(s.name)}</button>`).join('')}</nav><main class=\"operator-main\">${!localConnected&&options.connectLocal?`<section class=\"panel operator-pairing\"><div class=\"provider-head\"><div><h3>Connect your MSI</h3><p class=\"muted\">Paste the pairing code from the MSI Console once. Hosted chat and provider views stay available either way.</p></div><div class=\"connect\"><input id=\"operator-pair\" type=\"password\" autocomplete=\"off\" placeholder=\"MSI pairing code\" aria-label=\"MSI pairing code\"><button id=\"operator-connect\">Pair MSI</button></div></div></section>`:''}<div class=\"operator-grid\"><section class=\"panel operator-chat\"><div class=\"provider-head\"><div><div class=\"eyebrow\">${livePending?'LIVE COMMENTARY':'INSPECT'}</div><h2>${livePending?'Comment on live witness':'What should the witness check?'}</h2></div><button id=\"operator-clear\" ${sending||pending?'disabled':''}>New chat</button></div><div class=\"operator-messages\" role=\"log\" aria-live=\"polite\">${messages.length?messages.map(m=>`<div class=\"operator-message ${m.role}\"><strong>${m.role==='user'?'You':'KNOCKLAUNCH'}</strong><p>${esc(m.text)}</p></div>`).join(''):'<p class=\"muted\">Your Laptop witness is connected and standing by. Ask for any KNOCKLAUNCH page and the live run will appear beside you automatically.</p><div class=\"actions\"><button data-prompt=\"Show /admin/console on both\">Show Console</button><button data-prompt=\"Show Big Papi inventory on mobile\">Big Papi inventory</button></div>'}</div>${live?.ownerComments?.length?`<div class=\"live-commentary-feed\"><div class=\"eyebrow\">OWNER NOTES ON THIS RUN</div>${live.ownerComments.slice(-5).map(note=>`<div class=\"live-comment\"><time>${esc(new Date(note.at||Date.now()).toLocaleTimeString())}</time><span>${esc(note.text)}</span></div>`).join('')}</div>`:''}<form id=\"operator-form\"><label class=\"sr-only\" for=\"operator-message\">Message KNOCKLAUNCH</label><textarea id=\"operator-message\" rows=\"3\" maxlength=\"2000\" placeholder=\"${livePending?'Comment on live witness…':'Show /admin/console on mobile…'}\" ${sending?'disabled':''}>${esc(draft)}</textarea><div class=\"operator-compose-actions\"><span class=\"muted small\">${livePending?'Your comment is attached to this live witness run':'Enter to send · Shift+Enter for a new line'}</span><button type=\"submit\" ${sending?'disabled':''}>${sending?'Sending…':'Send'}</button></div></form><details><summary>Inspection context</summary><div class=\"operator-context\"><label>Route<input id=\"operator-route\" value=\"${esc(context.route)}\" placeholder=\"/tenant/owner/page\"></label><label>Tenant<input id=\"operator-tenant\" value=\"${esc(context.tenantRef)}\" placeholder=\"Tenant slug or ID\"></label><label>Role<input id=\"operator-role\" value=\"${esc(context.roleRef)}\" placeholder=\"Default experience\"></label></div><button id=\"operator-context-save\">Use this context</button></details></section><section class=\"panel operator-witness ${livePending?'is-live':'is-standby'}\"><div class=\"provider-head\"><div><div class=\"eyebrow witness-live-label\">${livePending?'● LIVE':focus?.terminal?'LAST RUN':'STANDBY'}</div><h2>Live Witness</h2></div><div class=\"actions\">${['desktop','mobile'].map(v=>`<button data-view=\"${v}\" aria-pressed=\"${activeView===v}\">${v==='desktop'?'Desktop':'Mobile'}</button>`).join('')}</div></div>${routeNavigatorMarkup(displayRoute||context.route)}<div class=\"operator-route muted\">${focus?esc(displayRoute||'Witness run'):'Laptop witness standing by'}${focus?.currentViewport?' · '+esc(focus.currentViewport):''}</div><p class=\"small muted\" role=\"status\">${focus?esc(String(focus.phase||focus.status||'ready').replaceAll('_',' ')):'New Laptop witness runs appear here automatically.'}</p><div class=\"operator-image ${activeView} ${focus?'':'standby'}\">${url?`<a href=\"${esc(url)}\" target=\"_blank\" rel=\"noopener noreferrer\"><img src=\"${esc(url)}\" alt=\"${esc(activeView+' witness of '+context.route)}\" referrerpolicy=\"no-referrer\"></a><p class=\"small muted\">Rendered proof · ${esc(proof.phase||'final')} · Captured ${esc(new Date(proof.capturedAt||Date.now()).toLocaleTimeString())}</p>`:`<p class=\"muted\">${livePending?'Witness is working. The newest rendered frame will appear here automatically.':focus&&proofIncomplete?'The last run finished without accepted rendered proof. It remains in Recent witness activity, but it does not block the Laptop.':focus?'No rendered image is available for this viewport.':'Laptop witness is connected and standing by. New runs appear here automatically.'}</p>`}</div><section class=\"operator-live-activity\"><div class=\"provider-head\"><div><div class=\"eyebrow\">WITNESS ACTIVITY</div><h3>Recent runs</h3></div><span class=\"muted small\">Auto-refreshing</span></div>${witnessActivityMarkup()}</section>${latest?.failureReason?`<p class=\"error\">${esc(latest.failureReason)}</p>`:''}<details class=\"operator-run-details\"><summary>Run details</summary><pre class=\"logs\">${esc(JSON.stringify({route:context.route,tenant:context.tenantRef||null,role:context.roleRef||'default',viewports:context.viewports,lane:latest?.runnerLane||'laptop',status:latest?.status||'not started',proofPhase:proof?.phase||candidate?.phase||null,renderProofAccepted:Boolean(url),job:context.jobId||context.missionId||null},null,2))}</pre></details></section></div></main></div>`;\n host.querySelectorAll('[data-stage]').forEach(b=>b.onclick=()=>{clearTimeout(timer);const go=options.onStage;host=null;go(b.dataset.stage);});\n const pairButton=host.querySelector('#operator-connect');if(pairButton)pairButton.onclick=async()=>{const code=host.querySelector('#operator-pair')?.value.trim()||'';if(!code){messages.push({role:'assistant',text:'Paste the MSI pairing code first.'});render();return;}pairButton.disabled=true;try{await options.connectLocal(code);messages.push({role:'assistant',text:'MSI paired. Local machine commands are now available from this Console.'});}catch(error){messages.push({role:'assistant',text:error instanceof Error?error.message:'MSI pairing failed.'});}finally{render();}};\n host.querySelectorAll('[data-view]').forEach(b=>b.onclick=()=>{draft=host.querySelector('textarea').value;activeView=b.dataset.view;render();});\n host.querySelectorAll('[data-prompt]').forEach(b=>b.onclick=()=>send(b.dataset.prompt));\n host.querySelectorAll('[data-witness-route]').forEach(b=>b.onclick=()=>{if(!b.disabled)inspectRegistryRoute(b.dataset.witnessRoute||'',b.dataset.routeRole||'');});\n const routeSearchInput=host.querySelector('#witness-route-search');if(routeSearchInput){routeSearchInput.oninput=()=>filterRouteNavigator(routeSearchInput.value);filterRouteNavigator(routeSearch);}\n const input=host.querySelector('textarea');input.oninput=()=>{draft=input.value;};input.onkeydown=e=>{if(e.key==='Enter'&&!e.shiftKey){e.preventDefault();send(input.value);}};\n host.querySelector('form').onsubmit=e=>{e.preventDefault();send(input.value);};\n host.querySelector('#operator-clear').onclick=()=>{clearTimeout(timer);context={route:'',tenantRef:'',roleRef:'',viewports:['desktop','mobile']};latest=null;messages.length=0;draft='';save();render();};\n host.querySelector('#operator-context-save').onclick=()=>{const route=host.querySelector('#operator-route').value.trim();if(route&&!/^\\/(?!\\/)/.test(route)){messages.push({role:'assistant',text:'Use a route starting with one slash.'});render();return;}context={route,tenantRef:host.querySelector('#operator-tenant').value.trim(),roleRef:host.querySelector('#operator-role').value.trim(),viewports:context.viewports};latest=null;save();render();};\n const image=host.querySelector('.operator-image img');if(image)image.onerror=()=>{image.parentElement.replaceWith(Object.assign(document.createElement('p'),{textContent:'This frame expired. The next live witness frame will replace it automatically.',className:'muted'}));};\n const log=host.querySelector('.operator-messages');log.scrollTop=log.scrollHeight;\n}\nasync function send(message,{poll=false}={}){\n if(sending||!message.trim())return;\n const live=liveRun(),control=/^(status|poll|progress|cancel|stop)$/i.test(message.trim());\n if(live&&!live.terminal&&!control&&!poll){clearTimeout(timer);sending=true;messages.push({role:'user',text:message});draft='';render();try{const result=await options.commentWitness?.({runId:live.id,comment:message});if(result?.ok===false||result?.error)throw new Error(result.error||'Comment could not be attached');messages.push({role:'assistant',text:'Comment attached to the live witness.'});await options.refreshWitnessActivity?.();}catch(e){messages.push({role:'assistant',text:e instanceof Error?e.message:'Comment could not be attached'});}finally{sending=false;render();}return;}\n if(context.jobId&&latest&&!latest.terminal&&!control){messages.push({role:'assistant',text:'The current witness is still running. Wait for its result or cancel it before starting another capture.'});render();return;}\n clearTimeout(timer);sending=true;\n if(!poll){messages.push({role:'user',text:message});draft='';}\n render();\n try{\n  const result=await options.bridge('operator',{message,context});\n  if(result.ok===false||result.error)throw new Error(result.error||'Operator unavailable');\n  context=result.context||context;save();if(result.receipt)latest=result.receipt;\n  if(!poll||latest?.terminal)messages.push({role:'assistant',text:result.message});\n  if(context.viewports.length===1)activeView=context.viewports[0];\n  if(result.kind!=='help'&&context.jobId&&!latest?.terminal)timer=setTimeout(()=>send('status',{poll:true}),4000);\n }catch(e){messages.push({role:'assistant',text:e.message+' The Console will keep following the witness automatically.'});}\n finally{sending=false;render();}\n}\nexport function mountOperator(element,config){options=config;host=element;if(element.querySelector('.operator-main')){render();if(!routeCatalog.ok&&!routeCatalogLoading)loadRouteCatalog();return;}render();loadRouteCatalog();}\n\n[executed on device: MSI (64d60b1d-06be-4c67-8142-12cb4d34d5e9)]"},{"path":"public/console/console.js","content":"import { mountOperator } from './operator.mjs?v=live-witness-control-room-4';\nimport { stages, actions } from './catalog.mjs?v=live-witness-control-room-4';\nconst app=document.querySelector('#app');\nconst embedded=window.parent!==window;\nconst local=location.hostname==='127.0.0.1'||location.hostname==='localhost';\nconst localSessionKey='kl-console-session';\nlet token=localStorage.getItem(localSessionKey)||'';\n// The launcher supplies the machine-local session in the fragment once, never a query or provider secret.\nif(local&&location.hash.startsWith('#session=')){token=decodeURIComponent(location.hash.slice(9));localStorage.setItem(localSessionKey,token);history.replaceState(null,'',location.pathname);}\nlet selected='overview', connected=false, hostedOnline=embedded, busy=false, witnessActivityBusy=false, state={jobs:[],steps:{},providers:{},witness:null,witnessActivity:{ok:false,status:'connecting',active:null,runs:[]}}, notice='', lastRefresh=0;\nconst pending=new Map();\nconst escape=value=>String(value??'').replace(/[&<>\"']/g,c=>({'&':'&amp;','<':'&lt;','>':'&gt;','\"':'&quot;',\"'\":'&#39;'}[c]));\nwindow.addEventListener('message',event=>{if(event.source!==parent||event.origin!==location.origin||event.data?.type!=='kl-console-result')return;const entry=pending.get(event.data.id);if(!entry)return;pending.delete(event.data.id);clearTimeout(entry.timer);event.data.error?entry.reject(new Error(event.data.error)):entry.resolve(event.data.data);});\nfunction bridge(action,payload={}){return new Promise((resolve,reject)=>{const id=crypto.randomUUID(),timer=setTimeout(()=>{pending.delete(id);reject(new Error('Provider request timed out. Retry.'));},30000);pending.set(id,{resolve,reject,timer});parent.postMessage({type:'kl-console-request',id,action,payload},location.origin);});}\nasync function api(path,body){const response=await fetch((local?'':'http://127.0.0.1:47831')+path,{method:body?'POST':'GET',headers:{Authorization:'Bearer '+token,...(body?{'Content-Type':'application/json'}:{})},...(body?{body:JSON.stringify(body)}:{}),signal:AbortSignal.timeout(15000)});const data=await response.json();if(!response.ok)throw new Error(data.error||'Console request failed');return data;}\nasync function fetchWitnessHealth(){try{return await bridge('witness');}catch(error){return {ok:false,status:'unavailable',witnessHealthy:false,witnessActive:false,activeJobs:0,error:error instanceof Error?error.message:'Witness health unavailable'};}}\nasync function fetchWitnessActivity(){try{return await bridge('witness-activity');}catch(error){return {ok:false,status:'unavailable',active:null,runs:[],error:error instanceof Error?error.message:'Witness activity unavailable'};}}\nfunction witnessActivityMarkup(){const feed=state.witnessActivity||{},runs=Array.isArray(feed.runs)?feed.runs:[];if(!runs.length)return `<div class=\"empty-state\"><b>Witness is ${escape(feed.status||'ready')}.</b><span>New Laptop witness runs will appear here automatically.</span></div>`;return `<div class=\"witness-activity-list\">${runs.map(run=>`<article class=\"witness-activity-item ${run.terminal?'complete':'live-run'}\"><div><span class=\"live-kicker\">${run.terminal?'COMPLETE':'LIVE'}</span><b>${escape(run.currentRoute||'Witness run')}</b><span>${escape(run.currentViewport||'viewport pending')} · ${escape((run.phase||run.status||'working').replaceAll('_',' '))}</span></div><time>${escape(new Date(run.lastProgressAt||run.completedAt||run.startedAt||run.createdAt||Date.now()).toLocaleTimeString())}</time>${run.ownerComments?.length?`<small>${run.ownerComments.length} owner comment${run.ownerComments.length===1?'':'s'}</small>`:''}</article>`).join('')}</div>`;}\nasync function refreshWitnessActivity(){if(!embedded||witnessActivityBusy)return;witnessActivityBusy=true;try{const data=await fetchWitnessActivity();state.witnessActivity=data;if(data?.ok){state.witness={...(state.witness||{}),ok:true,status:data.status||state.witness?.status||'ready',activeJobs:Number(data.activeJobs||0),witnessActive:Boolean(data.active)}}const tag=document.activeElement?.tagName;if(!['INPUT','TEXTAREA','SELECT'].includes(tag))render();}catch{}finally{witnessActivityBusy=false;}}\nfunction forgejoRunners(){return state.providers.forgejo?.sections?.Runners?.data?.runners||state.providers.forgejo?.runners||[];}\nfunction namedRunner(name){return forgejoRunners().find(item=>item?.name===name)||null;}\nfunction runnerOnline(item){return Boolean(item&&String(item.status||'').toLowerCase()!=='offline');}\nfunction providerOnline(name){const item=state.providers[name];if(!item)return false;return !['failed','error','unavailable','offline'].includes(String(item.status||'').toLowerCase());}\nfunction systemStatus(){const desktop=namedRunner('msi-local'),laptopRunner=namedRunner('laptop-local'),witness=state.witness||{};const laptopOnline=witness.ok===true||runnerOnline(laptopRunner);return {desktop:{online:runnerOnline(desktop),busy:Boolean(desktop?.busy),status:desktop?.status||'connecting',slots:desktop?.executionSlots||desktop?.guaranteedAvailableSlots||null},laptop:{online:laptopOnline,witnessReady:witness.ok===true&&['ready','live'].includes(String(witness.status||'').toLowerCase()),witnessActive:Boolean(witness.activeJobs||witness.witnessActive),status:witness.status||laptopRunner?.status||'connecting',runnerOnline:runnerOnline(laptopRunner)},services:{online:['cloudflare','supabase','forgejo'].filter(providerOnline).length,total:3},lastRefresh};}\nfunction statusClass(ok){return ok?'live':'failed';}\nfunction technicalDetails(title,data){return `<details class=\"technical-details\"><summary>${escape(title)}</summary><pre class=\"logs\">${escape(JSON.stringify(data??null,null,2))}</pre></details>`;}\nfunction serviceCard(name,label){const data=state.providers[name],online=providerOnline(name);return `<section class=\"panel service-card\"><div class=\"provider-head\"><div><div class=\"eyebrow\">${escape(label)}</div><h3>${online?'Connected':'Checking connection'}</h3></div><span class=\"status-dot-wrap\"><span class=\"status-dot ${online?'on':'off'}\"></span>${online?'Live':'Degraded'}</span></div><p class=\"muted\">${data?.summary?Object.entries(data.summary).slice(0,2).map(([k,v])=>`${escape(k)}: ${escape(v??'—')}`).join(' · '):'KNOCKLAUNCH is reading this service through your signed-in owner session.'}</p>${technicalDetails('Technical details',data)}</section>`;}\nfunction machineCards(){const desktop=namedRunner('msi-local'),laptopRunner=namedRunner('laptop-local'),sys=systemStatus(),witness=state.witness||{},others=forgejoRunners().filter(item=>!['msi-local','laptop-local'].includes(item?.name));return `<div class=\"machine-grid\"><section class=\"machine-card primary\"><div class=\"machine-card-head\"><div><div class=\"eyebrow\">DESKTOP</div><h2>Primary Build Runner</h2></div><span class=\"status-dot-wrap\"><span class=\"status-dot ${sys.desktop.online?'on':'off'}\"></span>${sys.desktop.online?(sys.desktop.busy?'Busy':'Online'):'Offline'}</span></div><p class=\"machine-purpose\">Builds, Gate work and CI jobs belong here.</p><div class=\"mini-metrics\"><div><span>Runner</span><b>msi-local</b></div><div><span>State</span><b>${escape(desktop?.status||'Connecting')}</b></div><div><span>Slots</span><b>${escape(desktop?.executionSlots??desktop?.guaranteedAvailableSlots??'—')}</b></div></div></section><section class=\"machine-card witness\"><div class=\"machine-card-head\"><div><div class=\"eyebrow\">LAPTOP</div><h2>Interactive Witness</h2></div><span class=\"status-dot-wrap\"><span class=\"status-dot ${sys.laptop.online?'on':'off'}\"></span>${sys.laptop.witnessActive?'Witnessing':sys.laptop.online?'Ready':'Offline'}</span></div><p class=\"machine-purpose\">Authenticated visual inspection and interactive page proof.</p><div class=\"mini-metrics\"><div><span>Witness</span><b>${escape(witness.status||'Connecting')}</b></div><div><span>Health</span><b>${witness.witnessHealthy===false?'Attention':witness.ok===true?'Healthy':sys.laptop.runnerOnline?'Runner online':'Checking'}</b></div><div><span>Runner</span><b>${escape(laptopRunner?.status||'Secondary')}</b></div></div></section></div>${others.length?`<details class=\"panel infrastructure\"><summary>Fallback infrastructure · ${others.length} available</summary><div class=\"runner-list\">${others.map(r=>`<div><b>${escape(r.name)}</b><span class=\"pill ${runnerOnline(r)?'live':'failed'}\">${escape(r.status||'unknown')}</span></div>`).join('')}</div></details>`:''}`;}\nfunction renderHosted(){const stage=stages.find(item=>item.id===selected)||stages[0],sys=systemStatus(),updated=lastRefresh?new Date(lastRefresh).toLocaleTimeString():'Connecting';let body='';if(selected==='machines')body=`${machineCards()}<div class=\"quick-row\"><button data-run=\"forgejo\">Refresh machines</button><button data-run=\"runner-proof\">Run Desktop proof</button></div>`;else if(selected==='release')body=`<section class=\"panel release-hero\"><div><div class=\"eyebrow\">CANONICAL RELEASE</div><h2>One path from code to live.</h2><p class=\"muted\">The Console shows the pipeline. Gate and release machinery do the technical work underneath.</p></div><div class=\"release-flow\"><div><b>1</b><span>Code</span></div><i>→</i><div><b>2</b><span>Gate</span></div><i>→</i><div><b>3</b><span>Candidate</span></div><i>→</i><div><b>4</b><span>Live</span></div></div></section><div class=\"service-grid\">${serviceCard('forgejo','BUILD & GATE')}${serviceCard('cloudflare','LIVE RELEASE')}</div>`;else if(selected==='services')body=`<div class=\"service-grid three\">${serviceCard('cloudflare','CLOUDFLARE')}${serviceCard('supabase','SUPABASE')}${serviceCard('forgejo','FORGEJO')}</div>`;else if(selected==='activity')body=`<section class=\"panel activity-panel\"><div class=\"provider-head\"><div><div class=\"eyebrow\">LIVE WITNESS + RECENT WORK</div><h2>Activity</h2></div><span class=\"muted small\">Updated ${escape(updated)}</span></div>${witnessActivityMarkup()}${technicalDetails('Forgejo activity details',state.providers.forgejo)}</section>`;else body=machineCards();app.innerHTML=`<div class=\"console-frame\"><header class=\"console-header\"><div><div class=\"eyebrow\">KNOCKLAUNCH CONSOLE</div><h1>${escape(stage.name)}</h1><p>${escape(stage.description)}</p></div><div class=\"connection-strip\"><span class=\"${statusClass(sys.desktop.online)}\"><i></i>Desktop ${sys.desktop.online?'online':'offline'}</span><span class=\"${statusClass(sys.laptop.online)}\"><i></i>Laptop ${sys.laptop.witnessActive?'witnessing':sys.laptop.online?'ready':'offline'}</span><span class=\"${sys.services.online===sys.services.total?'live':'waiting'}\"><i></i>Services ${sys.services.online}/${sys.services.total}</span><button id=\"refresh\">Refresh</button></div></header><nav class=\"console-nav\" aria-label=\"Console navigation\">${stages.map(item=>`<button data-stage=\"${item.id}\" aria-current=\"${selected===item.id?'page':'false'}\">${escape(item.name)}</button>`).join('')}</nav><main class=\"console-main\">${notice?`<div class=\"notice\">${escape(notice)}</div>`:''}${body}</main></div>`;app.querySelectorAll('[data-stage]').forEach(button=>button.onclick=()=>{selected=button.dataset.stage;render();});app.querySelectorAll('[data-run]').forEach(button=>button.onclick=()=>run(button.dataset.run));const refreshButton=app.querySelector('#refresh');if(refreshButton)refreshButton.onclick=()=>refresh({deep:true});}\nasync function refresh(options={}){if(busy)return;busy=true;const deep=options.deep!==false;try{if(embedded){hostedOnline=true;const tasks=[['forgejo',bridge('forgejo')],['witness',fetchWitnessHealth()],['witnessActivity',fetchWitnessActivity()]];if(deep||!state.providers.cloudflare)tasks.push(['cloudflare',bridge('cloudflare')]);if(deep||!state.providers.supabase)tasks.push(['supabase',bridge('supabase')]);const settled=await Promise.all(tasks.map(async([key,promise])=>[key,await promise]));for(const [key,data] of settled){if(key==='witness')state.witness=data;else if(key==='witnessActivity')state.witnessActivity=data;else state.providers[key]=data;}if(!state.witness?.ok){const fallback=namedRunner('laptop-local');if(fallback)state.witness={ok:fallback.status!=='offline',status:fallback.status==='offline'?'unavailable':'runner-online',fallback:true,witnessHealthy:null,activeJobs:0};}lastRefresh=Date.now();notice='';return;}const data=await api('/api/state');state={...data,providers:{...state.providers,...data.providers}};connected=true;lastRefresh=Date.now();notice='';}catch(error){if(!embedded)connected=false;notice=error instanceof Error?error.message:'Some live systems could not refresh.';}finally{busy=false;if(document.activeElement?.tagName!=='INPUT')render();}}\nasync function run(id){notice='';try{if(['cloudflare','supabase','forgejo','runner-proof'].includes(id)&&!connected&&embedded){state.steps[id]={status:'running',startedAt:new Date().toISOString()};render();const data=await bridge(id);state.providers[id]=data;state.steps[id]={status:data.status==='unavailable'?'failed':'passed',endedAt:new Date().toISOString()};render();return;}\n if(!connected)throw new Error('Connect the MSI Console to run local steps.');\n let confirmation,registrationToken;\n if(id==='runner-register'){registrationToken=app.querySelector('#runner-registration-token')?.value.trim()||'';if(!registrationToken)throw new Error('Paste the repository runner registration token first.');}\n if(['candidate','promote','runner-stop','runner-restart','git-pull'].includes(id)){const source=state.release?.sourceSha||state.sourceSha||'current working copy';if(!confirm(actions[id].name+'\\n\\nTarget: '+source+'\\n\\nContinue?'))return;confirmation=state.release?.confirmation||source;}\n await api('/api/run',{action:id,confirmation,stage:selected,...(registrationToken?{registrationToken}:{})});if(registrationToken){const input=app.querySelector('#runner-registration-token');if(input)input.value='';registrationToken='';}await refresh();\n }catch(error){notice=error.message;if(state.steps[id]?.status==='running')state.steps[id]={status:'failed',error:error.message};render();}}\nfunction providerCard(name){const data=state.providers[name];if(!data)return `<section class=\"panel\"><h3>${escape(name)}</h3><p class=\"muted\">No provider observation yet.</p><button data-run=\"${name}\">Load live state</button></section>`;const stale=Date.now()-Date.parse(data.observedAt)>90000;const status=stale?'stale':data.status;return `<section class=\"panel\"><div class=\"provider-head\"><h3>${escape(name)}</h3><span class=\"pill ${escape(status)}\">${escape(status)}</span></div><p class=\"muted small\">Observed ${escape(new Date(data.observedAt).toLocaleString())}</p>${data.error?`<p class=\"error\">${escape(data.error)}</p>`:''}<div class=\"metrics\">${Object.entries(data.summary||{}).map(([key,value])=>`<div class=\"metric\"><span class=\"muted\">${escape(key)}</span><b>${escape(value??'Unknown')}</b></div>`).join('')}</div>${Object.entries(data.sections||{}).map(([key,section])=>`<details><summary>${escape(key)} · ${escape(section.status)}</summary>${section.error?`<p class=\"error\">${escape(section.error)}</p>`:''}<pre class=\"logs\">${escape(JSON.stringify(section.data??null,null,2))}</pre></details>`).join('')}</section>`;}\nfunction runnerCard(){const localRunner=state.runner||{},runners=state.providers.forgejo?.sections?.Runners?.data?.runners||[],remote=runners.find(item=>item?.name==='msi-local'),remoteReady=remote?remote.status!=='offline':null,primaryReady=embedded?remoteReady:localRunner.serviceActive;const item=(label,ok,text)=>`<div class=\"metric\"><span class=\"muted\">${escape(label)}</span><b>${escape(text)}</b><span class=\"pill ${ok===true?'live':ok===false?'failed':'waiting'}\">${ok===true?'ready':ok===false?'attention':'unknown'}</span></div>`;return `<section class=\"panel\"><div class=\"provider-head\"><h3>MSI runner status</h3><span class=\"pill ${primaryReady?'live':'failed'}\">${primaryReady?'online':'offline'}</span></div><div class=\"metrics\">${item('Local service',localRunner.serviceActive,localRunner.serviceActive?'Running':'Stopped')}${item('Autostart',localRunner.autostartEnabled,localRunner.autostartEnabled?'Enabled':'Disabled')}${item('Windows keepalive',localRunner.keepalivePresent?localRunner.keepaliveRunning&&localRunner.keepaliveEnabled:false,localRunner.keepalivePresent?(localRunner.keepaliveRunning?'Running':'Stopped'):'Missing')}${item('Forgejo msi-local',remoteReady,remote?`${remote.status}${remote.busy?' · busy':''}`:'Load Forgejo state')}</div><p class=\"muted small\">${localRunner.observedAt?'Local state checked '+escape(new Date(localRunner.observedAt).toLocaleTimeString()):'Waiting for MSI state.'}</p>${remote?'<button data-run=\"forgejo\">Refresh Forgejo</button>':'<button data-run=\"forgejo\">Load Forgejo state</button>'}</section>`;}\nfunction render(){if(selected==='overview'){mountOperator(app,{bridge:embedded?bridge:async()=>{throw new Error('Open the signed-in Console at app.knocklaunch.app/admin/console to chat.');},hostedOnline:()=>hostedOnline,localConnected:()=>embedded||connected,systemStatus,witnessActivity:()=>state.witnessActivity,commentWitness:payload=>bridge('witness-comment',payload),refreshWitnessActivity,connectLocal:local?async code=>{const next=String(code||'').trim();if(!next)throw new Error('Local Console session unavailable.');token=next;localStorage.setItem(localSessionKey,token);await refresh();return true;}:null,stages,onStage:id=>{selected=id;render();}});return;}if(embedded){renderHosted();return;}const stage=stages.find(x=>x.id===selected),running=state.jobs.find(x=>x.status==='running');app.innerHTML=`<header><div class=\"top\"><div><div class=\"eyebrow\">MISSION FREEDOM</div><h1>KNOCKLAUNCH CONSOLE</h1></div><div class=\"row\">${embedded?`<span class=\"pill ${hostedOnline?'live':'unavailable'}\">Hosted ${hostedOnline?'online':'unavailable'}</span>`:''}<span class=\"pill ${connected?'live':'waiting'}\">MSI ${connected?'paired':embedded?'not paired':'disconnected'}</span><button id=\"refresh\">Refresh</button></div></div></header><div class=\"layout\"><nav aria-label=\"Console stages\">${stages.map((item,i)=>`<button data-stage=\"${item.id}\" aria-current=\"${selected===item.id?'step':'false'}\"><b>${i+1}</b>${item.name}</button>`).join('')}</nav><main><div class=\"headline\"><div class=\"eyebrow\">STAGE ${stages.indexOf(stage)+1} OF ${stages.length}</div><h2>${stage.name}</h2><div class=\"muted\">${stage.description}</div></div>${notice?`<p role=\"alert\" class=\"notice error\">${escape(notice)}</p>`:''}${connected?`<details class=\"panel\"><summary>Connection settings</summary><p class=\"muted\">Saved only on this computer. Leave a field empty to keep its existing value.</p><form id=\"settings\"><div class=\"metrics\">${[\"CLOUDFLARE_API_TOKEN\",\"CLOUDFLARE_ACCOUNT_ID\",\"SUPABASE_ACCESS_TOKEN\",\"SUPABASE_PROJECT_REF\",\"FORGEJO_TOKEN\",\"RUNNER_SERVICE\"].map(key=>`<label class=\"muted\">${key.replaceAll(\"_\",\" \")}<input name=\"${key}\" type=\"${/TOKEN/.test(key)?\"password\":\"text\"}\" autocomplete=\"off\" placeholder=\"${state.settings?.[key]?\"Configured\":\"Not configured\"}\" style=\"width:100%;margin-top:6px\"></label>`).join(\"\")}</div><div class=\"actions\"><button type=\"submit\">Save settings</button></div></form></details>`:\"\"}${!connected?`<section class=\"panel\"><h3>Connect your MSI</h3><p class=\"muted\">Open “KNOCKLAUNCH Console” on the MSI. Copy its pairing code below. Local commands run on that computer; provider views remain available in GodMode.</p><div class=\"connect\"><input id=\"pair\" type=\"password\" autocomplete=\"off\" placeholder=\"Local Console pairing code\" aria-label=\"Local Console pairing code\"><button id=\"connect\">Connect</button></div><p class=\"muted\">This browser stays paired to this MSI. Re-pair only if browser storage is cleared or the machine pairing is reset.${local?'':' Your browser may ask to allow access to devices on your local network.'}</p></section>`:''}<div class=\"panels\"><section class=\"panel\"><div class=\"provider-head\"><h3>Steps</h3><span class=\"muted\">${running?'Running: '+escape(actions[running.action]?.name||running.action):'Choose the next step'}</span></div>${stage.steps.map(([id,name,description],index)=>{const step=state.steps[id]||{},status=step.status||'waiting';const allowed=connected||embedded&&['cloudflare','supabase','forgejo','runner-proof'].includes(id);return `<div class=\"step\"><span class=\"number\">${index+1}</span><div><strong>${name}</strong><p class=\"muted\">${description}</p><span class=\"pill ${escape(status)}\">${escape(status)}</span>${step.startedAt?` <span class=\"muted small\">${escape(new Date(step.startedAt).toLocaleTimeString())}${step.durationMs!=null?' · '+Math.round(step.durationMs/1000)+'s':''}</span>`:''}${step.error?`<p class=\"error\">${escape(step.error)}</p>`:''}${id==='runner-register'&&connected?`<input id=\"runner-registration-token\" type=\"password\" autocomplete=\"off\" spellcheck=\"false\" aria-label=\"Repository runner registration token\" placeholder=\"Paste repository runner token\" style=\"width:100%;margin-top:8px\">`:''}</div><button data-run=\"${id}\" ${!allowed||running?'disabled':''}>${id==='runner-register'?'Register':status==='failed'?'Retry':'Run'}</button></div>`}).join('')}</section><aside>${selected==='runner'?runnerCard():['cloudflare','supabase','health'].includes(selected)?providerCard(selected==='health'?'cloudflare':selected):`<section class=\"panel\"><h3>Current release</h3><p class=\"muted\">Source</p><code>${escape(state.release?.sourceSha||state.sourceSha||'Not prepared')}</code><p class=\"muted\">Candidate</p><code>${escape(state.release?.candidateVersionId||'Not created')}</code><p class=\"muted\">${escape(state.release?.state||'Prepare a release to begin.')}</p></section>${providerCard('cloudflare')}`}${selected==='health'?providerCard('supabase'):''}</aside><section class=\"panel full\"><div class=\"provider-head\"><h3>Command output</h3><span class=\"muted small\">${lastRefresh?'Updated '+escape(new Date(lastRefresh).toLocaleTimeString()):'Awaiting connection'}</span></div>${state.jobs.length?state.jobs.slice(0,8).map((job,index)=>`<details ${index===0?'open':''}><summary>${escape(actions[job.action]?.name||job.action)} · ${escape(job.status)} · ${escape(new Date(job.startedAt).toLocaleTimeString())}</summary><pre class=\"logs\">${escape(job.output||job.error||'Waiting for output…')}</pre></details>`).join(''):'<p class=\"muted\">Run a step to see its output here.</p>'}</section></div></main></div>`;\napp.querySelectorAll('[data-stage]').forEach(button=>button.onclick=()=>{selected=button.dataset.stage;render();});app.querySelectorAll('[data-run]').forEach(button=>button.onclick=()=>run(button.dataset.run));const settings=app.querySelector('#settings');if(settings)settings.onsubmit=async event=>{event.preventDefault();try{await api('/api/settings',Object.fromEntries(new FormData(settings)));notice='Settings saved.';settings.reset();await refresh();}catch(error){notice=error.message;render();}};app.querySelector('#refresh').onclick=refresh;const connect=app.querySelector('#connect');if(connect)connect.onclick=()=>{token=app.querySelector('#pair').value.trim();localStorage.setItem(localSessionKey,token);refresh();};}\nrender();if(embedded||local||token)refresh({deep:true});setInterval(()=>{if(!document.hidden&&(embedded||connected||local))refresh({deep:false});},30000);setInterval(()=>{if(!document.hidden&&embedded)refreshWitnessActivity();},3000);\n\n[executed on device: MSI (64d60b1d-06be-4c67-8142-12cb4d34d5e9)]"},{"path":"public/console/console.css","content":":root{color-scheme:dark;font-family:Inter,Segoe UI,system-ui,sans-serif;background:#06100d;color:#e8f5ef;font-size:15px}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer;border:1px solid #315a49;background:#122c22;color:#e4fff1;padding:.65rem .9rem;border-radius:9px;font-weight:600}button:hover{background:#204734}button:disabled{opacity:.45;cursor:not-allowed}input{background:#071a12;border:1px solid #315a49;padding:.7rem;color:white;border-radius:8px;min-width:0}a{color:#79e5af}header{position:sticky;top:0;z-index:5;background:#081610;border-bottom:1px solid #284637;padding:16px 22px}h1{font-size:21px;letter-spacing:.035em;margin:4px 0}h2{font-size:23px;margin:0 0 8px}h3{font-size:16px;margin:0 0 12px}p{line-height:1.5}.eyebrow{color:#74d8a9;font-size:10px;letter-spacing:.18em;font-weight:700}.muted{color:#9cb7a9;font-size:13px}.top,.row{display:flex;align-items:center;gap:12px;justify-content:space-between}.top{flex-wrap:wrap}.layout{display:grid;grid-template-columns:210px minmax(0,1fr);min-height:calc(100vh - 85px)}nav{padding:16px;border-right:1px solid #243f32}nav button{display:flex;align-items:center;gap:12px;width:100%;text-align:left;margin-bottom:6px;border-color:transparent;background:transparent;font-size:14px}nav button[aria-current=step]{background:#163b29;border-color:#428968}nav b{display:grid;place-items:center;width:25px;height:25px;border:1px solid #426a55;border-radius:7px}main{padding:22px;min-width:0;max-width:1500px;width:100%;margin:0 auto}.panels{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);gap:16px}.panel{background:#0b1b14;border:1px solid #254a37;border-radius:12px;padding:17px;margin-bottom:16px}.step{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:10px;align-items:center;padding:13px 0;border-bottom:1px solid #203e2e}.step:last-child{border:0}.step p{margin:4px 0}.step .number{color:#72daa7;font-weight:700}.pill{font-size:10px;font-weight:700;text-transform:uppercase;padding:5px 8px;border-radius:6px;background:#263a30;white-space:nowrap}.passed,.live{background:#154a30;color:#89f0b8}.failed,.blocked,.unavailable{background:#4b391b;color:#ffd591}.running{background:#16453c;color:#9ff6de}.waiting,.stale{color:#a5b9af}.error{color:#ffd591;overflow-wrap:anywhere;font-size:13px}.logs{white-space:pre-wrap;overflow-wrap:anywhere;max-height:260px;overflow:auto;background:#030a06;padding:14px;font:12px/1.65 Consolas,monospace;border-radius:8px}.metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.metric{padding:12px;background:#10271a;border:1px solid #254d35;border-radius:8px;overflow-wrap:anywhere}.metric b{display:block;font-size:20px;margin-top:5px}details{margin-top:12px}summary{cursor:pointer;color:#a4dabb;font-size:13px}table{width:100%;border-collapse:collapse;font-size:12px}td,th{text-align:left;padding:8px;border-bottom:1px solid #284436;overflow-wrap:anywhere}.scroll{overflow:auto;max-height:300px}.connect{display:flex;gap:8px;flex-wrap:wrap}.connect input{flex:1}.actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.notice{border-left:3px solid #65c18d;padding:10px 14px;background:#142d20}.headline{margin-bottom:18px}.full{grid-column:1/-1}.small{font-size:11px}.provider-head{display:flex;gap:8px;align-items:center;justify-content:space-between;margin-bottom:12px}@media(max-width:900px){.panels{grid-template-columns:1fr}.layout{grid-template-columns:1fr}nav{display:flex;overflow:auto;position:sticky;top:83px;z-index:4;background:#091a12;padding:8px;border-bottom:1px solid #243f32}nav button{width:auto;white-space:nowrap;margin:0;padding:8px}nav b{width:20px;height:20px}main{padding:12px}.panel{padding:13px}header{padding:12px}.step{grid-template-columns:24px minmax(0,1fr) auto}.top .muted{display:none}}\n\n\n.operator-grid{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(0,1.4fr);gap:16px;align-items:start}.operator-chat{display:flex;flex-direction:column;min-height:560px}.operator-messages{flex:1;min-height:200px;max-height:48vh;overflow:auto}.operator-message{padding:12px;margin:8px 0;border-radius:10px;background:#102a1e;overflow-wrap:anywhere}.operator-message.user{background:#194333;margin-left:24px}.operator-message strong{font-size:11px;color:#8ce1b4}.operator-message p{white-space:pre-wrap;margin:5px 0}.operator-chat textarea{width:100%;resize:vertical;min-height:80px;border:1px solid #438563;border-radius:10px;background:#06140c;color:#effff5;padding:12px;font:inherit}.operator-compose-actions{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-top:8px}.operator-context{display:grid;gap:8px;margin:12px 0}.operator-context label{display:grid;gap:5px;font-size:12px}.operator-image{background:#030905;min-height:220px;border-radius:9px;text-align:center;padding:10px;overflow:auto;max-height:65vh}.operator-image img{max-width:100%;height:auto;display:block;margin:auto}.operator-image.mobile img{max-width:min(100%,390px)}.operator-route{overflow-wrap:anywhere}.operator-witness h2,.operator-chat h2{font-size:18px}.operator-witness .actions{margin:0;gap:4px}.operator-witness [aria-pressed=true]{background:#286346;border-color:#79e5af}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:1050px){.operator-grid{grid-template-columns:1fr}.operator-chat{min-height:0}.operator-messages{max-height:32vh;min-height:100px}.operator-image{max-height:60vh}.operator-main{padding:10px}.operator-witness .provider-head{flex-wrap:wrap}.operator-chat .provider-head{align-items:start}.operator-chat h2{font-size:17px}}\n\n/* Live Witness Control Room */\n.witness-live-label{color:#9ff0c5;letter-spacing:.12em}.live-commentary-feed{display:grid;gap:7px;margin:10px 0;padding:10px;border:1px solid rgba(120,230,173,.14);border-radius:12px;background:rgba(4,19,11,.72)}.live-comment{display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:start;font-size:12px}.live-comment time{color:var(--kl-muted);font-variant-numeric:tabular-nums}.live-comment span{overflow-wrap:anywhere}.witness-activity-list{display:grid;gap:8px}.witness-activity-item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--kl-line);border-radius:13px;background:rgba(255,255,255,.02)}.witness-activity-item>div{display:grid;gap:2px}.witness-activity-item>div>span:not(.live-kicker){font-size:11px;color:var(--kl-muted)}.witness-activity-item time,.witness-activity-item small{font-size:11px;color:var(--kl-muted);white-space:nowrap}.live-kicker{font-size:10px;font-weight:800;letter-spacing:.13em;color:#9ff0c5}.witness-activity-item.live-run{border-color:rgba(120,230,173,.34);box-shadow:0 0 24px rgba(69,199,128,.08)}@media(max-width:700px){.witness-activity-item{grid-template-columns:1fr auto}.witness-activity-item small{grid-column:1/-1}.live-commentary-feed{padding:8px}.live-comment{grid-template-columns:1fr;gap:2px}}\n\n/* Operator witness-first layout */\n.layout:has(.operator-main){grid-template-columns:1fr}\n.layout:has(.operator-main)>nav{display:flex;gap:6px;overflow-x:auto;position:sticky;top:76px;z-index:4;background:#081610;border-right:0;border-bottom:1px solid #243f32;padding:8px 14px}\n.layout:has(.operator-main)>nav button{width:auto;white-space:nowrap;margin:0;padding:.45rem .65rem;font-size:12px;flex:0 0 auto}\n.layout:has(.operator-main)>nav b{width:20px;height:20px;border-radius:6px;font-size:11px}\n.operator-main{max-width:1800px;padding:14px 16px 20px}\n.operator-pairing{padding:10px 12px;margin-bottom:10px}\n.operator-pairing .provider-head{margin:0;gap:14px}\n.operator-pairing h3{margin:0 0 2px}\n.operator-pairing p{margin:0;line-height:1.35}\n.operator-pairing .connect{min-width:min(100%,390px);flex-wrap:nowrap}\n.operator-pairing .connect input{min-width:180px}\n.operator-grid{grid-template-columns:minmax(290px,.55fr) minmax(620px,1.8fr);gap:12px;align-items:stretch}\n.operator-chat{min-height:calc(100dvh - 225px);margin-bottom:0}\n.operator-messages{max-height:36vh}\n.operator-witness{min-height:calc(100dvh - 225px);margin-bottom:0;display:flex;flex-direction:column}\n.operator-witness>.provider-head{margin-bottom:8px}\n.operator-image{flex:1;min-height:500px;max-height:calc(100dvh - 365px);display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:14px}\n.operator-image>a{display:flex;width:100%;justify-content:center}\n.operator-image img{max-height:calc(100dvh - 420px);object-fit:contain}\n.operator-image.mobile img{max-width:min(100%,430px);width:auto}\n.operator-witness>details{margin-top:8px}\n@media(max-width:1050px){.operator-grid{grid-template-columns:1fr}.operator-witness{order:1;min-height:0}.operator-chat{order:2;min-height:0}.operator-image{min-height:420px;max-height:none}.operator-image img{max-height:none}.operator-pairing .provider-head{align-items:flex-start;flex-wrap:wrap}.operator-pairing .connect{width:100%}}\n@media(max-width:700px){.layout:has(.operator-main)>nav{top:70px;padding:6px 8px}.operator-main{padding:8px}.operator-image{min-height:360px;padding:8px}.operator-pairing .connect{flex-wrap:wrap}.operator-pairing .connect button{width:100%}}\n\n/* Console owner experience v3 */\n:root{--kl-line:rgba(111,231,171,.16);--kl-muted:#94ad9f;--kl-green:#78e6ad;--kl-warn:#f2c66f;background:radial-gradient(circle at 72% -10%,rgba(53,185,117,.15),transparent 34%),linear-gradient(180deg,#06110c 0%,#040906 100%)}body{min-height:100vh;background:transparent}.console-header{position:sticky;top:0;z-index:8;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px;background:rgba(5,13,9,.9);backdrop-filter:blur(18px);border-bottom:1px solid var(--kl-line)}.console-header p{margin:0;color:var(--kl-muted);font-size:13px}.connection-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.connection-strip>span{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid var(--kl-line);border-radius:999px;background:rgba(255,255,255,.025);font-size:11px;font-weight:700;color:var(--kl-muted)}.connection-strip>span.live{color:#a8f4c9}.connection-strip i,.status-dot{width:7px;height:7px;border-radius:50%;background:#6b7f74}.connection-strip .live i,.status-dot.on{background:var(--kl-green);box-shadow:0 0 14px rgba(120,230,173,.5)}.status-dot.off{background:var(--kl-warn)}.console-nav,.layout:has(.operator-main)>.console-nav{position:sticky;top:83px;z-index:7;display:flex;gap:5px;overflow-x:auto;padding:8px 18px;background:rgba(7,18,12,.94);backdrop-filter:blur(14px);border:0;border-bottom:1px solid var(--kl-line)}.console-nav button,.layout:has(.operator-main)>.console-nav button{flex:0 0 auto;width:auto;margin:0;padding:8px 13px;border-radius:999px;border:1px solid transparent;background:transparent;color:var(--kl-muted);font-size:12px}.console-nav button[aria-current=page],.layout:has(.operator-main)>.console-nav button[aria-current=page]{color:#eafff3;background:rgba(71,190,126,.2);border-color:rgba(120,230,173,.26)}.console-main,.operator-main{max-width:1720px;margin:0 auto;padding:16px 18px 28px}.panel,.machine-card{background:linear-gradient(160deg,rgba(17,39,28,.92),rgba(8,20,14,.9));border:1px solid var(--kl-line);border-radius:18px;box-shadow:0 18px 50px rgba(0,0,0,.2)}.machine-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px}.machine-card{padding:20px}.machine-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.machine-card h2{font-size:22px;margin:5px 0}.machine-purpose{color:var(--kl-muted)}.status-dot-wrap{display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:700}.mini-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:20px}.mini-metrics>div{padding:11px;border:1px solid rgba(120,230,173,.12);border-radius:12px;background:rgba(0,0,0,.12)}.mini-metrics span{display:block;color:var(--kl-muted);font-size:10px;text-transform:uppercase}.mini-metrics b{display:block;margin-top:5px;font-size:14px}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.service-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.technical-details{margin-top:16px;border-top:1px solid var(--kl-line);padding-top:12px}.release-hero{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(520px,1.4fr);gap:26px;align-items:center;padding:24px;margin-bottom:14px}.release-flow{display:grid;grid-template-columns:repeat(7,auto);align-items:center;justify-content:center;gap:12px}.release-flow>div{display:grid;place-items:center;gap:7px}.release-flow b{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:rgba(69,199,128,.22);border:1px solid rgba(120,230,173,.32)}.runner-list>div{display:flex;align-items:center;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--kl-line)}.quick-row{display:flex;gap:8px;flex-wrap:wrap}.operator-grid{grid-template-columns:minmax(330px,.62fr) minmax(680px,1.65fr);gap:14px}.operator-chat,.operator-witness{border-radius:18px}.operator-image{background:linear-gradient(180deg,rgba(1,7,4,.94),rgba(4,13,8,.96));border:1px solid rgba(120,230,173,.11);border-radius:14px}@media(max-width:1100px){.machine-grid,.service-grid,.service-grid.three{grid-template-columns:1fr}.release-hero{grid-template-columns:1fr}.operator-grid{grid-template-columns:1fr}.operator-witness{order:1}.operator-chat{order:2}}@media(max-width:700px){.console-header{padding:12px;align-items:flex-start}.console-header p{display:none}.connection-strip{gap:5px}.connection-strip>span{padding:6px 8px;font-size:10px}.console-header #refresh{display:none}.console-nav,.layout:has(.operator-main)>.console-nav{top:68px;padding:6px 8px}.console-main,.operator-main{padding:8px}.machine-card{padding:15px}.mini-metrics{grid-template-columns:repeat(3,minmax(85px,1fr));overflow-x:auto}.operator-image{min-height:350px}}\n\n/* Live Witness Overview v3.4 */\n.layout:has(.operator-main)>.console-nav{position:relative!important;top:auto!important}\n.operator-main{padding-top:18px!important}\n.operator-witness.is-standby .operator-image{flex:0 0 300px;min-height:300px;max-height:300px;justify-content:center}\n.operator-witness.is-live{border-color:rgba(120,230,173,.34);box-shadow:0 18px 54px rgba(0,0,0,.24),0 0 32px rgba(72,210,137,.07)}\n.operator-live-activity{margin-top:14px;padding-top:12px;border-top:1px solid var(--kl-line)}\n.operator-live-activity>.provider-head{margin-bottom:9px}\n.operator-live-activity h3{margin:2px 0 0}\n.operator-live-activity .witness-activity-list{max-height:220px;overflow:auto;padding-right:2px}\n.witness-standby-state{display:grid;gap:4px;padding:14px;border:1px dashed rgba(120,230,173,.18);border-radius:13px;background:rgba(255,255,255,.018);color:var(--kl-muted)}\n.witness-standby-state b{color:#d9f7e6}\n.operator-image.standby{color:var(--kl-muted)}\n@media(max-width:1050px){.operator-witness.is-standby .operator-image{max-height:none;min-height:240px;flex:0 0 240px}}\n@media(max-width:700px){.operator-main{padding-top:10px!important}.operator-witness.is-standby .operator-image{min-height:210px;flex-basis:210px}.operator-live-activity .witness-activity-list{max-height:260px}}\n\n[executed on device: MSI (64d60b1d-06be-4c67-8142-12cb4d34d5e9)]\n/* Canonical Witness Route Navigator v3.5 */\n.operator-witness{overflow:visible}\n.witness-route-nav{position:relative;z-index:5;margin:12px 0 10px;padding:9px 10px;border:1px solid rgba(120,230,173,.14);border-radius:14px;background:rgba(3,14,9,.58)}\n.route-nav-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px}.route-nav-head h3{margin:1px 0 0;font-size:14px}.route-search{min-width:220px;max-width:340px;flex:1}.route-search input{width:100%;padding:8px 10px;border-radius:10px;border:1px solid rgba(120,230,173,.18);background:rgba(0,0,0,.2);color:inherit;font:inherit}.route-search input:focus{outline:1px solid rgba(120,230,173,.45);border-color:rgba(120,230,173,.38)}\n.route-drawers{display:flex;gap:6px;align-items:flex-start;flex-wrap:wrap}.route-drawer{position:relative}.route-drawer>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:7px;padding:6px 9px;border:1px solid rgba(120,230,173,.14);border-radius:999px;background:rgba(255,255,255,.025);font-size:11px;font-weight:750;color:#bcd3c5}.route-drawer>summary::-webkit-details-marker{display:none}.route-drawer>summary span{display:grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:rgba(120,230,173,.09);font-size:9px;color:#90b9a1}.route-drawer[open]>summary{color:#e7fff1;border-color:rgba(120,230,173,.32);background:rgba(63,170,111,.14)}\n.route-drawer-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:30;width:min(390px,78vw);max-height:330px;overflow:auto;padding:7px;border:1px solid rgba(120,230,173,.2);border-radius:13px;background:rgba(4,15,10,.98);box-shadow:0 22px 60px rgba(0,0,0,.46)}.witness-route-item+ .witness-route-item{margin-top:4px}.witness-route-item button{width:100%;display:grid;grid-template-columns:1fr;gap:2px;text-align:left;padding:8px 9px;border-radius:9px;border:1px solid transparent;background:transparent;box-shadow:none;transform:none}.witness-route-item button:hover:not(:disabled){background:rgba(120,230,173,.08);border-color:rgba(120,230,173,.15);transform:none}.witness-route-item button:disabled{opacity:.48;cursor:not-allowed}.witness-route-item.active button{background:rgba(65,190,120,.16);border-color:rgba(120,230,173,.32)}.route-path{font:700 11px/1.25 ui-monospace,SFMono-Regular,Menlo,monospace;color:#dff8e9;overflow-wrap:anywhere}.route-meta{font-size:9px;color:#7fa08e;text-transform:uppercase;letter-spacing:.045em}.route-nav-note{margin:7px 2px 0;font-size:9px;color:#6f8e7d}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}\n@media(max-width:700px){.route-nav-head{align-items:stretch;flex-direction:column}.route-search{min-width:0;max-width:none}.route-drawers{flex-wrap:nowrap;overflow-x:auto;padding-bottom:3px}.route-drawer{flex:0 0 auto}.route-drawer-menu{position:fixed;left:10px;right:10px;top:auto;width:auto;max-height:42vh}.route-nav-note{display:none}}\n"},{"path":"public/console/index-v3-5.html","content":"<!doctype html>\n<html lang=\"en\"><head><meta charset=\"utf-8\"><meta name=\"viewport\" content=\"width=device-width,initial-scale=1\"><meta name=\"robots\" content=\"noindex,nofollow\"><meta name=\"referrer\" content=\"no-referrer\"><title>KNOCKLAUNCH Console</title><link rel=\"stylesheet\" href=\"./console.css?v=live-witness-control-room-4\"></head>\n<body><div id=\"app\"><p>Opening KNOCKLAUNCH Console…</p></div>\n<script>\n(()=>{\n  const nativeFetch=window.fetch.bind(window);\n  const pending=new Map();\n  let seq=0;\n  window.addEventListener('message',event=>{\n    if(event.source!==parent||event.origin!==location.origin||event.data?.type!=='kl-console-result')return;\n    const slot=pending.get(event.data.id);if(!slot)return;\n    pending.delete(event.data.id);clearTimeout(slot.timer);\n    if(event.data.error)slot.resolve(new Response(JSON.stringify({ok:false,status:'unavailable',witnessHealthy:false,witnessActive:false,activeJobs:0,error:event.data.error}),{status:503,headers:{'content-type':'application/json'}}));\n    else slot.resolve(new Response(JSON.stringify(event.data.data||{}),{status:200,headers:{'content-type':'application/json'}}));\n  });\n  function witnessHealth(){\n    return new Promise(resolve=>{\n      const id='console-witness-'+Date.now()+'-'+(++seq);\n      const timer=setTimeout(()=>{pending.delete(id);resolve(new Response(JSON.stringify({ok:false,status:'unavailable',witnessHealthy:false,witnessActive:false,activeJobs:0,error:'Witness health timed out'}),{status:503,headers:{'content-type':'application/json'}}));},12000);\n      pending.set(id,{resolve,timer});\n      parent.postMessage({type:'kl-console-request',id,action:'witness',payload:{}},location.origin);\n    });\n  }\n  window.fetch=(input,init)=>{\n    const url=typeof input==='string'?input:String(input?.url||'');\n    if(url.startsWith('https://laptop-witness.knocklaunch.app/health'))return witnessHealth();\n    return nativeFetch(input,init);\n  };\n})();\n</script>\n<script type=\"module\" src=\"./console.js?v=live-witness-control-room-4\"></script></body></html>\n\n[executed on device: MSI (64d60b1d-06be-4c67-8142-12cb4d34d5e9)]"}],"branch":"ai/objective-first-repair-b2627c3a619c","writes":[],"patches":[],"version":1,"approved":true,"missionId":"b2627c3a-619c-4aa4-b246-bb701b9b49c5","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["scripts/visual-witness-hosted-runner/src/screenshot-capture.mjs","scripts/visual-witness-hosted-runner/src/universal-witness.mjs","scripts/visual-witness-hosted-runner/test/screenshot-capture.test.mjs","src/routes/registry.ts","src/pages/admin/GodModeCommandConsole.tsx","public/console/operator.mjs","public/console/console.js","public/console/console.css","public/console/index-v3-5.html"],"anchored_edits":[{"path":"scripts/visual-witness-hosted-runner/src/screenshot-capture.mjs","edits":[{"new_content":"export function isAuthoritativeWitnessEvidenceMode(mode) {\n  const value = String(mode || '').toLowerCase();\n  return Boolean(value)\n    && value !== 'evidence_capture_failed'\n    && value !== 'deferred_nonvisual_interaction'\n    && !value.includes('independent_snapshot');\n}\n\nexport function isAuthoritativeWitnessCapture(capture) {\n  return Boolean(capture?.buffer)\n    && capture?.independentSnapshotUsed !== true\n    && isAuthoritativeWitnessEvidenceMode(capture?.mode);\n}\n\nexport function hasSuspiciousDuplicateVisualEvidence(artifacts, { expectVariation = false } = {}) {\n  if (!expectVariation) return false;\n  const hashes = (Array.isArray(artifacts) ? artifacts : [])\n    .map((artifact) => String(artifact?.sha256 || '').trim())\n    .filter(Boolean);\n  return hashes.length >= 3 && new Set(hashes).size === 1;\n}\n\nexport async function captureWitnessScreenshot(page, options = {}) {","old_content":"export async function captureWitnessScreenshot(page, options = {}) {"}]},{"path":"scripts/visual-witness-hosted-runner/src/universal-witness.mjs","edits":[{"new_content":"import { captureWitnessScreenshot, ensureWitnessDisplayRuntime, hasSuspiciousDuplicateVisualEvidence, isAuthoritativeWitnessCapture, isAuthoritativeWitnessEvidenceMode } from './screenshot-capture.mjs';","old_content":"import { captureWitnessScreenshot, ensureWitnessDisplayRuntime } from './screenshot-capture.mjs';"},{"new_content":"? { preferViewport: true, preferIndependentSnapshot: false, viewportTimeoutMs: 20_000, totalTimeoutMs: QUICK_EVIDENCE_CAPTURE_TIMEOUT_MS, displayAvailable: displayAvailableForPage }","old_content":"? { preferViewport: true, preferIndependentSnapshot: true, viewportTimeoutMs: 20_000, totalTimeoutMs: QUICK_EVIDENCE_CAPTURE_TIMEOUT_MS, displayAvailable: displayAvailableForPage }"},{"new_content":"        const capture = await captureWitnessScreenshot(page, quickEvidenceCapture);\n        if (!isAuthoritativeWitnessCapture(capture)) {\n          const failure = {\n            code: 'visual_evidence_non_authoritative_capture',\n            phase,\n            reason: `non_authoritative_capture_mode:${String(capture?.mode || 'unknown')}`,\n            evidenceDomain: 'witness_infrastructure',\n            likelyOwningLayer: 'visual_witness_capture',\n          };\n          evidenceFailures.push(failure);\n          touch(job, 'route_evidence_capture_rejected', {\n            viewport,\n            currentViewport: viewport,\n            currentRoute: routePath,\n            evidencePhase: phase,\n            captureMode: capture?.mode || 'unknown',\n            evidenceFailure: failure.reason,\n            routesVisited: job.progress?.routesVisited || 0,\n            actionsUsed: job.progress?.actionsUsed || 0,\n          });\n          await persistJob(job);\n          return null;\n        }\n        touch(job, 'route_evidence_captured', {","old_content":"        const capture = await captureWitnessScreenshot(page, quickEvidenceCapture);\n        touch(job, 'route_evidence_captured', {"},{"new_content":"  const evidenceCheckpoints = evidencePhasesForMission(mission).map((phase) => { const mode = screenshotModes?.[phase] || 'evidence_capture_failed'; const passed = isAuthoritativeWitnessEvidenceMode(mode); return { id: evidenceCheckpointId(id, phase), terminal: true, passed, status: passed ? 'captured' : 'capture_failed', mode }; });","old_content":"  const evidenceCheckpoints = evidencePhasesForMission(mission).map((phase) => ({ id: evidenceCheckpointId(id, phase), terminal: true, passed: Boolean(screenshotModes?.[phase] && screenshotModes[phase] !== 'evidence_capture_failed'), status: screenshotModes?.[phase] && screenshotModes[phase] !== 'evidence_capture_failed' ? 'captured' : 'capture_failed', mode: screenshotModes?.[phase] || 'evidence_capture_failed' }));"},{"new_content":"    if (!deferVisualEvidence) {\n      afterCapture = await captureRouteEvidence('after');\n      if (afterCapture) afterArtifact = await uploadArtifact(job.id, viewport, routePath, 'after', afterCapture.buffer);\n    }\n    if (hasSuspiciousDuplicateVisualEvidence(\n      [preflightArtifact, beforeArtifact, afterArtifact],\n      { expectVariation: Array.isArray(mission.targetedActions) && mission.targetedActions.length > 0 },\n    )) {\n      const failure = {\n        code: 'visual_evidence_duplicate_required_phases',\n        phase: 'after',\n        reason: 'preflight_before_after_identical_sha256_after_targeted_interaction',\n        evidenceDomain: 'witness_infrastructure',\n        likelyOwningLayer: 'visual_witness_capture',\n      };\n      evidenceFailures.push(failure);\n      afterCapture = null;\n      afterArtifact = null;\n      touch(job, 'route_evidence_duplicate_phases_rejected', {\n        viewport,\n        currentViewport: viewport,\n        currentRoute: routePath,\n        evidenceFailure: failure.reason,\n        routesVisited: job.progress?.routesVisited || 0,\n        actionsUsed: job.progress?.actionsUsed || 0,\n      });\n      await persistJob(job);\n    }\n    const issues = [...inventory.issues];","old_content":"    if (!deferVisualEvidence) {\n      afterCapture = await captureRouteEvidence('after');\n      if (afterCapture) afterArtifact = await uploadArtifact(job.id, viewport, routePath, 'after', afterCapture.buffer);\n    }\n    const issues = [...inventory.issues];"}]},{"path":"scripts/visual-witness-hosted-runner/test/screenshot-capture.test.mjs","edits":[{"new_content":"import {\n  captureWitnessScreenshot,\n  hasSuspiciousDuplicateVisualEvidence,\n  isAuthoritativeWitnessCapture,\n  isAuthoritativeWitnessEvidenceMode,\n  startWitnessDisplayRuntime,\n} from '../src/screenshot-capture.mjs';\n\ntest('independent DOM snapshots are diagnostic-only, never authoritative visual proof', () => {\n  assert.equal(isAuthoritativeWitnessEvidenceMode('viewport_independent_snapshot_firefox'), false);\n  assert.equal(isAuthoritativeWitnessEvidenceMode('viewport_independent_snapshot_recovery'), false);\n  assert.equal(isAuthoritativeWitnessCapture({\n    buffer: Buffer.from('mirror'),\n    mode: 'viewport_independent_snapshot_firefox',\n    independentSnapshotUsed: true,\n  }), false);\n  assert.equal(isAuthoritativeWitnessCapture({\n    buffer: Buffer.from('live'),\n    mode: 'viewport_fast_cdp',\n  }), true);\n});\n\ntest('duplicate required visual phases fail closed when the mission expected an interaction change', () => {\n  const artifacts = [\n    { sha256: 'same' },\n    { sha256: 'same' },\n    { sha256: 'same' },\n  ];\n  assert.equal(hasSuspiciousDuplicateVisualEvidence(artifacts, { expectVariation: true }), true);\n  assert.equal(hasSuspiciousDuplicateVisualEvidence(artifacts, { expectVariation: false }), false);\n});","old_content":"import { captureWitnessScreenshot, startWitnessDisplayRuntime } from '../src/screenshot-capture.mjs';"}]},{"path":"src/pages/admin/GodModeCommandConsole.tsx","edits":[{"new_content":"import { Terminal } from 'lucide-react';\nimport { ROUTES } from '@/routes/registry';","old_content":"import { Terminal } from 'lucide-react';"},{"new_content":"const allowed = ['cloudflare','supabase','forgejo','runner-proof','operator','witness','witness-activity','witness-comment','routes'];","old_content":"const allowed = ['cloudflare','supabase','forgejo','runner-proof','operator','witness','witness-activity','witness-comment'];"},{"new_content":"        let data: any;\n        if (action === 'routes') {\n          data = {\n            ok: true,\n            routes: ROUTES.map(({ path, role, domain, shell, workflowShell, platformSurface, description }) => ({\n              path, role, domain, shell: shell || null, workflowShell: workflowShell || null,\n              platformSurface: platformSurface || null, description,\n            })),\n            observedAt: new Date().toISOString(),\n          };\n        } else if (['forgejo','runner-proof','operator','witness','witness-activity','witness-comment'].includes(action)) {","old_content":"        let data: any;\n        if (['forgejo','runner-proof','operator','witness','witness-activity','witness-comment'].includes(action)) {"},{"new_content":"src=\"/console/index-v3-5.html\"","old_content":"src=\"/console/index-v3-4.html\""}]}],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"b2627c3a-619c-4aa4-b246-bb701b9b49c5","ownerApproved":true,"releaseIntent":null,"sourceTargets":["scripts/visual-witness-hosted-runner/src/screenshot-capture.mjs","scripts/visual-witness-hosted-runner/src/universal-witness.mjs","scripts/visual-witness-hosted-runner/test/screenshot-capture.test.mjs","src/routes/registry.ts","src/pages/admin/GodModeCommandConsole.tsx","public/console/operator.mjs","public/console/console.js","public/console/console.css","public/console/index-v3-5.html"],"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":"17b35b8d331d8f2649fae6d3d2e4c1b48245d77bf28b78534694c5a47dfa7121","replayCount":0,"serializedBytes":74768},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T04:33:36.759018+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:b2627c3a-619c-4aa4-b246-bb701b9b49c5:repository-mutation-intent:17b35b8d331d8f2649fae6d3d2e4c1b48245d77bf28b78534694c5a47dfa7121:0","mission_step_id":"cde12e43-4a33-454c-be35-065f550d328c","command_center_event_id":"b2627c3a-619c-4aa4-b246-bb701b9b49c5"},{"id":"e3e97df1-8c10-421b-a663-67db9502a6c0","source":"cc-execution","status":"in_progress","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/whatsmyprogress-productize-20260831","reason":null,"status":"in_progress","metrics":{"receiptBytes":12358,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":1,"ownerInterruptionCount":0},"version":"1.58.0-frontend-build-velocity-freeze","prNumber":1227,"terminal":false,"missionId":"b8414eb0-ce90-40a2-8dc0-c8b839a17c63","operation":"execute_mission","proofGate":"canonical_release_reconciliation_pending","sourceSha":null,"timingsMs":{"handlerMs":7209,"prReadinessMs":727,"approvedPlanMs":0,"missionSetupMs":1442,"shipAndProveMs":5581},"nextAction":"Reconcile this same mission and pull request automatically; do not create replacement work.","receiptRef":{"mode":"full","missionId":"b8414eb0-ce90-40a2-8dc0-c8b839a17c63"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1010,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"6789c016-47c0-495a-8560-6b455a5844ba","created_at":"2026-09-01T02:37:57.762932+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"1227","receipt_type":"execute_mission","idempotency_key":"mission:b8414eb0-ce90-40a2-8dc0-c8b839a17c63:execute_mission:canonical_release_reconciliation_pending:current-generation","mission_step_id":"8d935e40-c0fd-40f9-b9ad-9e4e6acb8570","command_center_event_id":"b8414eb0-ce90-40a2-8dc0-c8b839a17c63"},{"id":"e3eada50-d46a-4409-bcbc-4aca05e8e502","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"release","branch":"ai/321-intake-required-plate-select-fix","reason":"retryable_provider_transport:The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":13055,"releaseCount":0,"toolCallCount":8,"repeatedCallCount":4,"ownerInterruptionCount":0},"version":"1.58.4-refresh-fastpath","prNumber":1358,"terminal":false,"missionId":"0a2d95bf-62a4-49f7-bd6c-cfa639fc9ac4","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"handlerMs":4090,"prReadinessMs":3000,"approvedPlanMs":0,"missionSetupMs":2163,"shipAndProveMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"0a2d95bf-62a4-49f7-bd6c-cfa639fc9ac4"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1076,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"d60e3c27-73ed-4a5f-a49b-c37636455daf","created_at":"2026-09-02T02:19:19.340058+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"1358","receipt_type":"execute_mission","idempotency_key":"mission:0a2d95bf-62a4-49f7-bd6c-cfa639fc9ac4:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"d5e63efa-4c7f-4dc5-83df-3bca41923e1a","command_center_event_id":"0a2d95bf-62a4-49f7-bd6c-cfa639fc9ac4"},{"id":"e3ecaa59-b9c5-40ca-9376-cbfced618153","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Update the one deterministic control-plane invariant assertion that still expects the old freeze version. Keep every other invariant unchanged, then rerun the same PR through KnockLaunch Gate.","wordingChanged":false,"canonicalIntent":"Update the one deterministic control-plane invariant assertion that still expects the old freeze version. Keep every other invariant unchanged, then rerun the same PR through KnockLaunch Gate.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"Unfreeze control plane maintenance only for the exact authorized paths, repair the recursive Wrangler timeout wrapper, preserve bounded per-command timeouts, restore available runner capacity, and refreeze the control plane.","proofConditionIds":["proof-1","proof-2","proof-3"]}],"objective":"Update the one deterministic control-plane invariant assertion that still expects the old freeze version. Keep every other invariant unchanged, then rerun the same PR through KnockLaunch Gate.","constraints":[],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-1","kind":"repository","claim":"The exact repair passes KnockLaunch Gate and squash-merges through Forgejo.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"proof-2","kind":"host_watchdog","claim":"Runner capacity is restored through the signed host watchdog.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"proof-3","kind":"runtime","claim":"A production frontend release using the repaired wrapper succeeds for current main so the already-merged Big Papi and Miss Lawn fixes can be proven live.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestContractHash":"b9667b5ddf8ee275326026aa174af96a938f6145fc0f6219c5f6df365559c471","requestContractRevision":3,"previousRequestContractHash":"ac9a7a4376ac387aab7ff2022e4ca6abd9a0abeccdede405cd9cf5c2bbbd0b00"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T00:29:31.074784+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:11b18f7e-3750-43d6-adac-c00c053bf912:request-contract-revision:3:b9667b5ddf8ee275326026aa174af96a938f6145fc0f6219c5f6df365559c471","mission_step_id":"21d62b65-9d9e-4a6c-b008-795e89bd03ed","command_center_event_id":"11b18f7e-3750-43d6-adac-c00c053bf912"},{"id":"e3ecb237-6740-488c-845a-58b23c98cdae","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"430c3108833c71846f127f160670640c61db055f","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"430c3108833c71846f127f160670640c61db055f","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"requestContractHash":"7f6bfb17c45c6d35fe6b8a1a61873fbe9ec9c93a5e49a52a6c5d8b2d5ede2ee5","forgejoWorkflowProof":{"error":"workflow_run_id_missing","runId":null},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"c3f09b56-5ff5-4521-8a0a-39cbeb4b5275","created_at":"2026-08-28T03:18:14.608088+00:00","proof_gate":"canonical_release_pending","source_sha":"430c3108833c71846f127f160670640c61db055f","external_id":"forgejo-main-430c3108833c","receipt_type":"canonical_release_status","idempotency_key":"mission:67b9f947-00da-438e-9d3f-5a1a4a023e2f:forgejo-release-status:430c3108833c71846f127f160670640c61db055f:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"a2912377-f1c5-4f05-9217-c35200d638ea","command_center_event_id":"67b9f947-00da-438e-9d3f-5a1a4a023e2f"},{"id":"e3f03c7f-ab45-43be-939d-b388e3e47779","source":"forgejo","status":"waiting","payload":{"branch":"ai/named-gate-proof-receipt-selection-v1","prNumber":2881,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"befc229cd12f15e5c84c0c12dad93c8cc052c239","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-16T04:23:18.764285+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"befc229cd12f15e5c84c0c12dad93c8cc052c239","external_id":"2881","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:09e4d482-7a5e-41ee-a2cb-35edcfe9fbea:merged-pr:2881:befc229cd12f15e5c84c0c12dad93c8cc052c239","mission_step_id":"f224f5d5-7864-40b4-83db-cb8decdcee84","command_center_event_id":"09e4d482-7a5e-41ee-a2cb-35edcfe9fbea"},{"id":"e3f128c0-645c-4849-a549-c9faebe5b733","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"fe2c1cd8095f44da790eb85e8cb4a38d364b3b97","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"proposal-workspace-draft","satisfied":true,"statement":"Existing proposal editable workspace autosaves/restores locally through useOfflineDraft only after user edits.","proofConditionIds":["repo","live"]},{"id":"proposal-restore-precedence","satisfied":true,"statement":"Restored local proposal work is available before remote profile/list hydration and is not overwritten by slower remote reads.","proofConditionIds":["repo","live"]},{"id":"proposal-local-first-save","satisfied":true,"statement":"Save Proposal Draft persists locally before server mutation; offline reports device-local state and does not call saveProposalDraft.","proofConditionIds":["repo","live"]},{"id":"proposal-confirmed-clear","satisfied":true,"statement":"Local proposal draft survives remote failure and is cleared only after confirmed saveProposalDraft success.","proofConditionIds":["repo","live"]},{"id":"proposal-create-fail-closed","satisfied":true,"statement":"New proposal creation remains online-only with an explicit connection prerequisite and no local invented proposal identity.","proofConditionIds":["repo","live"]},{"id":"proposal-regression-coverage","satisfied":true,"statement":"Deterministic contract coverage guards draft scope, restore precedence, local-first save, confirmed clear, truthful degraded states, and no queue/authority expansion.","proofConditionIds":["repo"]}],"satisfied":true,"constraints":[{"id":"single-offline-owner","satisfied":true,"statement":"useOfflineDraft/OfflineManager remain the only local persistence owner; no second queue or local database is introduced.","proofConditionIds":["repo","live"]},{"id":"no-offline-authority-expansion","satisfied":true,"statement":"Offline allowlists stay unchanged and proposal create/send/delete/signature/payment actions receive no offline authority.","proofConditionIds":["repo"]},{"id":"shared-workspace-scope","satisfied":true,"statement":"Mutation is limited to the shared RoofingProposalsWorkspace plus one deterministic contract test.","proofConditionIds":["repo"]},{"id":"canonical-release","satisfied":true,"statement":"One ai/* branch, one PR, KnockLaunch Gate, squash merge, frontend-only release, exact terminal live proof.","proofConditionIds":["live"]},{"id":"no-visual-witness","satisfied":true,"statement":"No Visual Witness is run because this request has no visual claim.","proofConditionIds":["repo"]},{"id":"capability-completeness","satisfied":true,"statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["repo","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":["repo","live"]}],"contractHash":"73e5ad9f4dd967776fd51571253ca2193f0940f7b34458baf84cb65f719a9406","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"repo","kind":"repository","evidence":{"reason":null,"satisfied":true,"missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"frontend":"success"},"repositoryProofGate":"request_contract_repository_verified","repositoryProofPath":null,"requestContractHash":"73e5ad9f4dd967776fd51571253ca2193f0940f7b34458baf84cb65f719a9406","unsuccessfulTargets":[],"activeReleaseTargets":["frontend"],"allowedReleaseTargets":[],"repositoryProofStatus":"verified","expectedRepositoryPath":null,"requiredReleaseTargets":[],"migrationReleaseVerified":null,"repositoryConditionBound":true,"repositoryProofSourceSha":"fe2c1cd8095f44da790eb85e8cb4a38d364b3b97"},"required":true,"satisfied":true},{"id":"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":"73e5ad9f4dd967776fd51571253ca2193f0940f7b34458baf84cb65f719a9406"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["frontend"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T22:11:16.659759+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"fe2c1cd8095f44da790eb85e8cb4a38d364b3b97","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:69d10dfd-481d-48bc-afe2-f9a6f7ef8d81:request-contract:73e5ad9f4dd967776fd51571253ca2193f0940f7b34458baf84cb65f719a9406:fe2c1cd8095f44da790eb85e8cb4a38d364b3b97:verified:","mission_step_id":"1d14baa3-5192-4a42-8ac5-1255d96607d9","command_center_event_id":"69d10dfd-481d-48bc-afe2-f9a6f7ef8d81"},{"id":"e3f3713e-07ca-4266-9b16-bed681c42322","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","cc-execution/runtime-proof":"pending"},"mainSha":"c7b75d1987cdb06fd74b831db939a7f478a66e00","missing":[],"pending":["forgejo-release/workflow","cc-execution/runtime-proof"],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"c7b75d1987cdb06fd74b831db939a7f478a66e00","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","forgejoWorkflowProof":{"error":"workflow_run_id_missing","runId":null},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"cd8139c14ece79cb9dac7e5d238405671352796a","deploymentId":"forgejo-main-cd8139c14ece79cb9dac7e5d238405671352796a","compareStatus":null,"identitySource":"local_build_metadata","runtimeVersion":"1.52.6-lightning-auto-merge","containsSourceSha":false},"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-27T01:27:54.443235+00:00","proof_gate":"canonical_release_pending","source_sha":"c7b75d1987cdb06fd74b831db939a7f478a66e00","external_id":null,"receipt_type":"canonical_release_status","idempotency_key":"mission:d23263e3-e758-4031-87c9-1d38b8091ac8:forgejo-release-status:c7b75d1987cdb06fd74b831db939a7f478a66e00:pending:forgejo-main/source=success|forgejo-release/workflow=pending|cc-execution/runtime-proof=pending","mission_step_id":"7cb2f0fb-7abb-41ca-af92-5c051508c3f3","command_center_event_id":"d23263e3-e758-4031-87c9-1d38b8091ac8"},{"id":"e3f37cea-f00e-4680-a279-5771a4432db7","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-1a7fc909ee75","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":20514,"releaseCount":0,"toolCallCount":10,"repeatedCallCount":3,"executorlessWaitMs":44814,"firstUsefulResultAt":"2026-10-03T04:12:54.075Z","recoveryAttemptCount":5,"ownerInterruptionCount":0},"version":"1.64.72-knocklaunch-mcp-fast-batch","prNumber":4619,"terminal":false,"missionId":"1a7fc909-ee75-46b5-8938-fac461de6e81","operation":"execute_mission","proofGate":"canonical_release_reconciliation_pending","sourceSha":"d44dc0d246dc0c856623c80e4d74e44731ad0ad1","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3606,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":676,"approvedPlanMs":0,"missionSetupMs":357,"providerAuthMs":0,"shipAndProveMs":2627,"ledgerPrepareMs":252,"ledgerReconcileMs":0,"lineageReconcileMs":105,"resolvePreflightMs":357,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":252,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"1a7fc909-ee75-46b5-8938-fac461de6e81"},"performance":null,"deploymentId":"forgejo-main-d44dc0d246dc","releaseState":null,"workflowRunId":null,"releaseTargets":{"frontend":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2545,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T04:13:44.299999+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":"d44dc0d246dc0c856623c80e4d74e44731ad0ad1","external_id":"forgejo-main-d44dc0d246dc","receipt_type":"execute_mission","idempotency_key":"mission:1a7fc909-ee75-46b5-8938-fac461de6e81:execute_mission:canonical_release_reconciliation_pending:current-generation","mission_step_id":"895767af-5063-47ed-b50f-5b29c8ca03b2","command_center_event_id":"1a7fc909-ee75-46b5-8938-fac461de6e81"},{"id":"e3fd308e-2098-4acf-a909-c503943ca54b","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"objective_received","branch":null,"reason":"pull_request_not_merge_eligible:stale_pr_refreshed_checks_required","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.36.7-explicit-route-proof-intent","prNumber":4752,"terminal":false,"missionId":"18010f96-6cf7-4e6a-998a-7e889b235326","operation":"ship_and_prove","proofGate":"canonical_release_blocked","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"18010f96-6cf7-4e6a-998a-7e889b235326"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":199,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-13T09:25:01.471916+00:00","proof_gate":"canonical_release_blocked","source_sha":null,"external_id":"4752","receipt_type":"ship_and_prove","idempotency_key":"mission:18010f96-6cf7-4e6a-998a-7e889b235326:ship_and_prove:canonical_release_blocked:no-source:no-run","mission_step_id":"4721bfaa-46bf-4b97-9d29-82b156fdc2a1","command_center_event_id":"18010f96-6cf7-4e6a-998a-7e889b235326"},{"id":"e4005cf2-8442-435d-a15e-bab424375741","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","cc-execution/runtime-proof":"pending"},"mainSha":"cd8139c14ece79cb9dac7e5d238405671352796a","missing":[],"pending":["forgejo-release/workflow","cc-execution/runtime-proof"],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"cd8139c14ece79cb9dac7e5d238405671352796a","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","forgejoWorkflowProof":{"error":"workflow_run_id_missing","runId":null},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"77fe5a0d8c7f3ff3a9ef707b7069c65488464aec","deploymentId":"forgejo-main-77fe5a0d8c7f3ff3a9ef707b7069c65488464aec","compareStatus":null,"identitySource":"local_build_metadata","runtimeVersion":"1.52.5-durable-watchdog-proof","containsSourceSha":false},"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-27T01:03:57.116249+00:00","proof_gate":"canonical_release_pending","source_sha":"cd8139c14ece79cb9dac7e5d238405671352796a","external_id":null,"receipt_type":"canonical_release_status","idempotency_key":"mission:b08f1df6-f5ec-4681-88d4-42ec84b07a59:forgejo-release-status:cd8139c14ece79cb9dac7e5d238405671352796a:pending:forgejo-main/source=success|forgejo-release/workflow=pending|cc-execution/runtime-proof=pending","mission_step_id":"8ab0b8ca-794c-4584-9c77-b7dd717f4ece","command_center_event_id":"b08f1df6-f5ec-4681-88d4-42ec84b07a59"},{"id":"e402aa03-1fd5-4979-9b63-64b02df58891","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[{"path":"scripts/knocklaunch-console/connect-support.cmd","content":"@echo off\r\ntitle KNOCKLAUNCH Support Connection\r\ncall npx.cmd @wonderwhy-er/desktop-commander@latest remote\r\npause\r\n"}],"branch":"ai/objective-first-repair-c54969d900e0","writes":[],"patches":[],"version":1,"approved":true,"missionId":"c54969d9-00e0-42a1-8ab7-3c14d9bb1fcb","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["scripts/knocklaunch-console/connect-support.cmd"],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"c54969d9-00e0-42a1-8ab7-3c14d9bb1fcb","ownerApproved":true,"releaseIntent":null,"sourceTargets":["scripts/knocklaunch-console/connect-support.cmd"],"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":"700f7bfd4227be40a9bc45da48c4bc33daffb7014eab482ba163e890a2410795","replayCount":0,"serializedBytes":1219},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T02:29:37.651043+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:c54969d9-00e0-42a1-8ab7-3c14d9bb1fcb:repository-mutation-intent:700f7bfd4227be40a9bc45da48c4bc33daffb7014eab482ba163e890a2410795:0","mission_step_id":"9d40df3c-bdd1-4b96-b1fd-4cc4c44f28a7","command_center_event_id":"c54969d9-00e0-42a1-8ab7-3c14d9bb1fcb"},{"id":"e4031e2f-e5eb-4340-9eba-ac85ec3642c2","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in release.","nextAction":{"lane":"production-release-conductor","action":"reconcile_release","reason":"merged_source_requires_release_proof","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"failed\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_release\",\"recoveryOwner\":\"production-release-conductor\"},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"visual_proof\",\"deadlineAt\":\"2026-10-02T19:38:17.562154+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-57b7b99d8770\",\"prNumber\":4481,\"sourceSha\":\"0073068bca0f2b55ff1f9c3031869e00b77db83d\",\"deploymentId\":\"forgejo-main-0073068bca0f\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T15:53:30.656796+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:57b7b99d-8770-4b6c-ae7b-b98e27b3ca39:owner-progress-heartbeat:119397094","mission_step_id":"30962ba3-6dc2-42c9-b559-5fdd6e85d658","command_center_event_id":"57b7b99d-8770-4b6c-ae7b-b98e27b3ca39"},{"id":"e404dd5c-3346-4051-b411-0433c33212aa","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-8abd95056a0e","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":12540,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-09-27T23:52:23.496Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.298-witness-intent","prNumber":3933,"terminal":false,"missionId":"8abd9505-6a0e-415f-8b7d-c9d391640a99","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4332,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":1441,"missionSetupMs":207,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":207,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":207,"repositoryMutationMs":2891,"repositoryProviderMs":2891,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":1834,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":207,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1057},"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":"8abd9505-6a0e-415f-8b7d-c9d391640a99"},"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":3701,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T23:52:28.689536+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3933","receipt_type":"execute_mission","idempotency_key":"mission:8abd9505-6a0e-415f-8b7d-c9d391640a99:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"03c4c069-1b8b-48ff-8f2c-5e2000ad2b53","command_center_event_id":"8abd9505-6a0e-415f-8b7d-c9d391640a99"},{"id":"e4060dfa-b332-414c-9e42-0023bd1ad365","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-7ec0e36d6c3f","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.162-owner-activity-mission-recovery","prNumber":null,"terminal":false,"missionId":"7ec0e36d-6c3f-4451-815e-a876891ea879","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":230,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":601,"providerAuthMs":0,"ledgerPrepareMs":601,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":601,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":601,"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":"7ec0e36d-6c3f-4451-815e-a876891ea879"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":6361,"likelyAffectedFiles":["src/routes/vanityRoutes.tsx"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-16T17:31:24.741318+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:7ec0e36d-6c3f-4451-815e-a876891ea879:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"5e86482c-16a0-4b99-b7f9-72ebcb30fb71","command_center_event_id":"7ec0e36d-6c3f-4451-815e-a876891ea879"},{"id":"e4095d03-8b9c-4685-a05e-bab8df6ec607","source":"cc-execution","status":"release_freshness_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":null,"reason":null,"status":"release_freshness_reconciliation_pending","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":null,"recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.65.7-prime-stale-manual-retirement-adapter","prNumber":5135,"terminal":false,"missionId":"d5ce7119-769f-4de2-bf73-6c96e5970c74","operation":"ship_and_prove","proofGate":"canonical_release_freshness_reconciliation_pending","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":840,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":495,"providerAuthMs":0,"ledgerPrepareMs":495,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":495,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":495,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"refresh_regate_and_reconcile_release","receiptRef":{"mode":"full","missionId":"d5ce7119-769f-4de2-bf73-6c96e5970c74"},"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":1033,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T02:27:37.315589+00:00","proof_gate":"canonical_release_freshness_reconciliation_pending","source_sha":null,"external_id":"5135","receipt_type":"ship_and_prove","idempotency_key":"mission:d5ce7119-769f-4de2-bf73-6c96e5970c74:ship_and_prove:canonical_release_freshness_reconciliation_pending:no-source:no-run","mission_step_id":"a438cebc-1d00-4888-bd1f-b13d72af56ec","command_center_event_id":"d5ce7119-769f-4de2-bf73-6c96e5970c74"},{"id":"e40b8e44-0b25-43f9-91a7-b7533391b2a5","source":"cc-execution","status":"in_progress","payload":{"ok":true,"jobId":null,"phase":"release","branch":"ai/auth-timeout-nondestructive-bootstrap-20260906","reason":null,"status":"in_progress","metrics":{"receiptBytes":0,"releaseCount":1,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":1995,"terminal":false,"missionId":"aec10c72-07fc-40d4-9d2a-ae4516fb3739","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"03c07f92722f144abd082a2f606c8ff19a3cc583","timingsMs":{"prReadinessMs":2247,"approvedPlanMs":0,"shipAndProveMs":6408,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create replacement work.","receiptRef":{"mode":"full","missionId":"aec10c72-07fc-40d4-9d2a-ae4516fb3739"},"performance":null,"deploymentId":"forgejo-main-03c07f92722f","workflowRunId":5970,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":794,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-06T20:24:26.490409+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"1995","receipt_type":"automatic_mission_resume","idempotency_key":"mission:aec10c72-07fc-40d4-9d2a-ae4516fb3739:automatic-mission-resume:1995:canonical_release_reconciliation_pending","mission_step_id":"a2344dcd-1de4-492b-945f-6e7eb16c22bc","command_center_event_id":"aec10c72-07fc-40d4-9d2a-ae4516fb3739"},{"id":"e40dc5ed-02d2-445c-96e7-7ab568e0fc13","source":"cc-execution","status":"authorized","payload":{"paths":["config/control-plane-capabilities.json","workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/index-release-fast-lane.js","workers/cc-execution/src/index-scoped-repo-patch.js"],"reason":"Owner-authorized bounded control-plane performance repair for Forgejo reactivity and provider tail latency.","baseSha":"1537fa70b4ecc7600dc3a91615ceaa9c6ade1cd2","issuedAt":1788891221738,"expiresAt":1788891401738,"missionId":"eda9436a-b4cd-40dc-8f03-665b23659a17","authorizationId":"6682da7c-32c0-482e-bd27-e9437ef8ba8b","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-08T18:13:42.277395+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"1537fa70b4ecc7600dc3a91615ceaa9c6ade1cd2","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:6682da7c-32c0-482e-bd27-e9437ef8ba8b","mission_step_id":"08b6e281-b512-46aa-8095-7cd67965db1a","command_center_event_id":"eda9436a-b4cd-40dc-8f03-665b23659a17"},{"id":"e40de007-c3a2-4f36-95a4-f1ee500a7bf0","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-3e8391fe0046","reason":"anchored_edit_invalid","status":"blocked","metrics":{"receiptBytes":18419,"releaseCount":0,"toolCallCount":13,"repeatedCallCount":6,"executorlessWaitMs":124962,"firstUsefulResultAt":"2026-10-05T22:42:01.784Z","recoveryAttemptCount":1,"ownerInterruptionCount":0},"version":"1.65.4-release-terminal-proof-unblocks-queue","prNumber":5083,"terminal":false,"missionId":"3e8391fe-0046-41df-9453-8a470a2849f3","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":903,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":903,"missionSetupMs":394,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":295,"ledgerReconcileMs":0,"lineageReconcileMs":99,"resolvePreflightMs":394,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":295,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"3e8391fe-0046-41df-9453-8a470a2849f3"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1422,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T22:44:08.615248+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:3e8391fe-0046-41df-9453-8a470a2849f3:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"ed880686-2176-4cdc-93cf-1cc60243eb1f","command_center_event_id":"3e8391fe-0046-41df-9453-8a470a2849f3"},{"id":"e41109c3-dd9d-4989-b2fe-b92bc7baa43d","source":"forgejo-runtime","status":"failed","payload":{"failed":["forgejo-release/workflow","frontend-cloudflare/live"],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"failure","frontend-cloudflare/live":"failure","supabase-migrations/live":"success","supabase-edge-production/live":"success"},"mainSha":"20350c5abaffeba22ba3fae993bf328865c4f15f","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live","frontend-cloudflare/live","supabase-migrations/live"],"sourceSha":"20350c5abaffeba22ba3fae993bf328865c4f15f","releaseState":"failed","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"onrunner":false,"migrations":true,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["owner-search-console","tenant-provider-connections"]},"releaseTargetStates":{"frontend":"failure","migrations":"success","supabaseEdge":"success"},"requestContractHash":"6a8ba538fa7d12479e9d6cd36136bae00b523c05230cc4041e69be66c469311a","forgejoWorkflowProof":{"runId":7376,"source":"signed_push_receipt","status":"failure","results":{},"conclusion":"failure","targetStates":{"frontend":"failure","migrations":"success","supabaseEdge":"success"},"targetJobCount":7,"observedTargetStates":{"frontend":"failure","migrations":"success","supabaseEdge":"success"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T15:28:24.966349+00:00","proof_gate":"canonical_release_terminal_failed","source_sha":"20350c5abaffeba22ba3fae993bf328865c4f15f","external_id":"forgejo-main-20350c5abaff","receipt_type":"canonical_release_status","idempotency_key":"mission:37c5ac4d-5567-4c34-86ba-474a5c7bdfc1:forgejo-release-status:20350c5abaffeba22ba3fae993bf328865c4f15f:failed:forgejo-main/source=success|forgejo-release/workflow=failure|supabase-edge-production/live=success|frontend-cloudflare/live=failure|supabase-migrations/live=success","mission_step_id":"6c1c2cdb-0ae1-493a-8b55-01dda06b7049","command_center_event_id":"37c5ac4d-5567-4c34-86ba-474a5c7bdfc1"},{"id":"e4130f5e-11e8-46c8-a4da-934e0bb05ef8","source":"cc-execution","status":"recorded","payload":{"objective":"Repair the proven GodMode Live Edit Sidekick authorization mismatch. Production interaction on /pcg/DASHBOARD successfully opened Live Edit, entered 'the page is too dark', and clicked Ask, but operator-respond returned HTTP 403 because live_edit_plan did not recognize canonical user_roles.role='GodMode'. For live_edit_plan only, authorize canonical GodMode in addition to the existing platform-admin email and active tenant owner/admin path. Preserve every other operator-respond authorization boundary. Ship through canonical Gate/release. Acceptance requires the exact production interaction: open GodMode Live Edit -> enter 'the page is too dark' -> Ask -> observe 'Undo is ready' after a real private edit -> Undo -> observe '0 unpublished'.","tenantRef":"pcg","receivedAt":"2026-09-29T04:42:34.539Z","fingerprint":"7cbd5d8efb57cb411c5bdbf3a1c3f6b97bec21989e30412ecec84c01db564c37","workstreamRef":"pcg","conversationId":null,"canonicalBranch":null,"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"compilation":{"stages":["owner_intent","conversation_context","scope","live_state","mutation_authority","affected_systems","dependencies","risk_and_blast_radius","execution_tactics","required_proof","release_plan","recovery_plan"],"version":2,"explicit":true,"objective":"Repair the proven GodMode Live Edit Sidekick authorization mismatch. Production interaction on /pcg/DASHBOARD successfully opened Live Edit, entered 'the page is too dark', and clicked Ask, but operator-respond returned HTTP 403 because live_edit_plan did not recognize canonical user_roles.role='GodMode'. For live_edit_plan only, authorize canonical GodMode in addition to the existing platform-admin email and active tenant owner/admin path. Preserve every other operator-respond authorization boundary. Ship through canonical Gate/release. Acceptance requires the exact production interaction: open GodMode Live Edit -> enter 'the page is too dark' -> Ask -> observe 'Undo is ready' after a real private edit -> Undo -> observe '0 unpublished'.","proofKinds":["runtime","visual"],"adaptiveDomains":["intent","tenant_route_role_viewport","urgency_deadline","dependency_scope","risk_blast_radius","runner_capacity","queue_active_work","provider_failure_circuits","qa_scope","retry_recovery","release_ownership","proof_depth"],"expansionPolicy":"later_stages_may_only_narrow_or_expand_with_machine_readable_dependency_evidence","dynamicStatePolicy":"live_state_may_change_execution_tactics_but_never_owner_outcome_or_explicit_constraints","dynamicRefreshStages":["preflight","gate","release","runtime_proof"],"adaptiveCompilerVersion":"paul-adaptive-objective-v1","inheritedContextBlockingAuthority":false},"rawUtterance":"Repair the proven GodMode Live Edit Sidekick authorization mismatch. Production interaction on /pcg/DASHBOARD successfully opened Live Edit, entered 'the page is too dark', and clicked Ask, but operator-respond returned HTTP 403 because live_edit_plan did not recognize canonical user_roles.role='GodMode'. For live_edit_plan only, authorize canonical GodMode in addition to the existing platform-admin email and active tenant owner/admin path. Preserve every other operator-respond authorization boundary. Ship through canonical Gate/release. Acceptance requires the exact production interaction: open GodMode Live Edit -> enter 'the page is too dark' -> Ask -> observe 'Undo is ready' after a real private edit -> Undo -> observe '0 unpublished'.","wordingChanged":false,"canonicalIntent":"Repair the proven GodMode Live Edit Sidekick authorization mismatch. Production interaction on /pcg/DASHBOARD successfully opened Live Edit, entered 'the page is too dark', and clicked Ask, but operator-respond returned HTTP 403 because live_edit_plan did not recognize canonical user_roles.role='GodMode'. For live_edit_plan only, authorize canonical GodMode in addition to the existing platform-admin email and active tenant owner/admin path. Preserve every other operator-respond authorization boundary. Ship through canonical Gate/release. Acceptance requires the exact production interaction: open GodMode Live Edit -> enter 'the page is too dark' -> Ask -> observe 'Undo is ready' after a real private edit -> Undo -> observe '0 unpublished'.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-live-edit-godmode-auth","statement":"Canonical GodMode users who can open GodMode Live Edit can successfully invoke live_edit_plan without weakening unrelated operator-respond authorization.","provenance":{"reason":null,"source":"explicit_request_contract","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production","proof-interaction"]}],"objective":"Repair the proven GodMode Live Edit Sidekick authorization mismatch. Production interaction on /pcg/DASHBOARD successfully opened Live Edit, entered 'the page is too dark', and clicked Ask, but operator-respond returned HTTP 403 because live_edit_plan did not recognize canonical user_roles.role='GodMode'. For live_edit_plan only, authorize canonical GodMode in addition to the existing platform-admin email and active tenant owner/admin path. Preserve every other operator-respond authorization boundary. Ship through canonical Gate/release. Acceptance requires the exact production interaction: open GodMode Live Edit -> enter 'the page is too dark' -> Ask -> observe 'Undo is ready' after a real private edit -> Undo -> observe '0 unpublished'.","constraints":[{"id":"capability-completeness","statement":"Every dependency used by the Live Edit Sidekick authorization repair must be wired and proven through the applicable backend runtime, authentication/authorization, release ownership, and live production behavior.","provenance":{"reason":null,"source":"explicit_request_contract","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]},{"id":"atomic-capability-lifecycle","statement":"The authorization repair is not accepted until Gate passes, affected targets release, and claim-matched production interaction succeeds; unrelated operator-respond capabilities must remain unchanged.","provenance":{"reason":null,"source":"explicit_request_contract","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production","proof-interaction"]},{"id":"authorization-scope","statement":"Broaden authorization only for action live_edit_plan to canonical GodMode plus the existing tenant owner/admin path. Do not broaden mission control, history, console answer, repository, or other operator-respond actions.","provenance":{"reason":null,"source":"explicit_request_contract","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production","proof-interaction"]},{"id":"visual-artifact-scope","statement":"Acceptance is limited to the PCG dashboard Live Edit interaction; do not redesign the dashboard or introduce unrelated visual surfaces.","provenance":{"reason":null,"source":"explicit_request_contract","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-interaction"]},{"id":"visual-content-truth","statement":"Do not invent business content, metrics, customer data, or visual facts during the acceptance interaction.","provenance":{"reason":null,"source":"explicit_request_contract","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-interaction"]},{"id":"tenant-visual-isolation","statement":"Acceptance work is isolated to PCG and must not import or mutate another tenant's identity, content, or state.","provenance":{"reason":null,"source":"explicit_request_contract","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-interaction"]},{"id":"visual-viewport-authority","statement":"Desktop is the authoritative viewport for this targeted corrective interaction proof.","provenance":{"reason":null,"source":"explicit_request_contract","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-interaction"]}],"adaptivePolicy":{"risk":{"tier":"high","blastRadius":"sensitive"},"proof":{"requiredKinds":["runtime","visual"],"visualProofScope":"none","interactionRequired":true,"runtimeProofRequired":true},"scope":{"route":"/pcg/DASHBOARD","roleRef":null,"tenantRef":"pcg","sourceTargets":["supabase/functions/operator-respond/index.ts","src/__tests__/contracts/live-edit-mode.contract.test.ts"]},"dynamic":{"variables":["main_and_runtime_lineage","runner_capacity","queue_and_active_work","provider_health","failure_clusters_and_circuits","release_target_state","current_pr_and_gate_state"],"refreshStages":["preflight","gate","release","runtime_proof"],"refreshMayChange":["runner_selection","parallelism","retry_path","qa_depth","release_recovery","proof_timing"],"refreshMayNotChange":["owner_outcome","explicit_no_go_constraints","tenant_identity","credential_boundary","hard_safety_invariants"]},"urgency":{"priority":"normal","deadlineSignals":[],"deadlineExplicit":false},"version":"paul-adaptive-objective-v1","recovery":{"transient":"one_bounded_retry_then_alternate_eligible_pool_or_provider_path","deterministic":"repair_source_or_contract_do_not_blind_rerun","mutationDependencyFailure":"prerequisite_required_or_targeted_recovery_never_invent","readOnlyDependencyFailure":"degrade_to_available_grounded_context_and_keep_conversation_alive"},"unknowns":["deadline"],"authority":{"outcome":"current_explicit_owner_request","tactics":"live_prime_truth","unknownPolicy":"preserve_unknown_never_invent","historicalContext":"advisory_unless_current_request_confirms"},"execution":{"mutation":true,"concurrency":"serialize_overlapping_mutations","scopePolicy":"start_bounded_expand_only_with_machine_readable_dependency_evidence","staleStatePolicy":"refresh_dynamic_state_before_irreversible_or_acceptance_stage","conversationIsolation":true,"ownerOutcomeMayBeChangedByAdaptation":false},"experience":{"visual":false,"viewports":["desktop"],"behavioral":true,"visualProofScope":"none"},"dependencies":{"requiredDomains":["frontend","schema_data_storage","authentication_authorization","release_ownership","live_production_proof","backend_runtime","provider_configuration"],"capabilityDomains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"releaseTargetHints":["supabaseEdge","frontend"]},"inputSignals":{"rawUtterance":"Repair the proven GodMode Live Edit Sidekick authorization mismatch. Production interaction on /pcg/DASHBOARD successfully opened Live Edit, entered 'the page is too dark', and clicked Ask, but operator-respond returned HTTP 403 because live_edit_plan did not recognize canonical user_roles.role='GodMode'. For live_edit_plan only, authorize canonical GodMode in addition to the existing platform-admin email and active tenant owner/admin path. Preserve every other operator-respond authorization boundary. Ship through canonical Gate/release. Acceptance requires the exact production interaction: open GodMode Live Edit -> enter 'the page is too dark' -> Ask -> observe 'Undo is ready' after a real private edit -> Undo -> observe '0 unpublished'.","canonicalIntent":"Repair the proven GodMode Live Edit Sidekick authorization mismatch. Production interaction on /pcg/DASHBOARD successfully opened Live Edit, entered 'the page is too dark', and clicked Ask, but operator-respond returned HTTP 403 because live_edit_plan did not recognize canonical user_roles.role='GodMode'. For live_edit_plan only, authorize canonical GodMode in addition to the existing platform-admin email and active tenant owner/admin path. Preserve every other operator-respond authorization boundary. Ship through canonical Gate/release. Acceptance requires the exact production interaction: open GodMode Live Edit -> enter 'the page is too dark' -> Ask -> observe 'Undo is ready' after a real private edit -> Undo -> observe '0 unpublished'.","conversationContextPresent":false}},"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-production","kind":"runtime","claim":"The scoped live_edit_plan GodMode authorization repair is merged, released, and healthy in production without broadening unrelated operator-respond actions.","route":"/pcg/DASHBOARD","roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false},{"id":"proof-interaction","kind":"visual","claim":"On /pcg/DASHBOARD as authenticated GodMode: open Live Edit, enter 'the page is too dark', Ask, receive a real private edit with 'Undo is ready', Undo it, and return to '0 unpublished' without an operator-respond 403.","route":"/pcg/DASHBOARD","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-proven-GodMode-Live-Edit-Sidekick-authorization-mismatch.-Production-interaction-on-pcg-D","driftPolicy":"exact_manifest_source_release_dependency_or_runtime_identity_mismatch_is_nonterminal","proofLedger":"command_center_mission_ledger_request_contract_hash_bound","schemaVersion":1,"releaseTargets":[],"lifecycleStates":["prepare","deploy","verify","activate"],"activationPolicy":"dependencies_and_claim_matched_live_proof_before_exposure","dependencyDomains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_required_not_runtime_failures","compatibilityWindow":["N","N-1"],"failureIsolationPolicy":"quarantine_or_rollback_affected_capability_only_preserve_unrelated_working_capabilities","canaryProofConditionIds":["proof-production"]},"capabilityCompleteness":{"domains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"required":true,"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_states_not_runtime_failures"}},"requestedBranch":null,"conversationContext":null,"requestContractHash":"ed6761f5f47a33b86671823ef6ea2200d19c1817ab34788a539030fd4caf1d57","requestContractRevision":1},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-09-29T04:42:34.830862+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:2a3a900f-81fb-4a47-bf0e-5b942206cce3:tenant-workstream-contribution:7cbd5d8efb57cb411c5bdbf3a1c3f6b97bec21989e30412ecec84c01db564c37","mission_step_id":null,"command_center_event_id":"2a3a900f-81fb-4a47-bf0e-5b942206cce3"},{"id":"e4153aad-a61b-454f-bd29-462e3e5d9823","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"6bb6eff9559a81956fc374a659e6f52cee7eb105","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"6bb6eff9559a81956fc374a659e6f52cee7eb105","releaseState":"verified","sourceInMain":true,"compareStatus":"identical","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/591","runId":591,"status":"success","conclusion":null,"failedJobs":[]},"onrunnerRuntimeProof":null,"ccExecutionRuntimeProof":null},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-15T23:12:41.251252+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"6bb6eff9559a81956fc374a659e6f52cee7eb105","external_id":"forgejo-main-6bb6eff9559a","receipt_type":"canonical_release_status","idempotency_key":"mission:3cbf2df1-8165-4456-868d-abc360e41559:forgejo-release-status:6bb6eff9559a81956fc374a659e6f52cee7eb105:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"ed8b5fb1-5f25-400a-9660-69bda311a63d","command_center_event_id":"3cbf2df1-8165-4456-868d-abc360e41559"},{"id":"e4163516-97eb-4f91-8890-ceaa08364c15","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":["Immutable Forgejo commit 5b6ded8165cb2a927c2c561281633f97738f6151 proves the timed-out write contained architectureExclusivity, version 1.58.118-architecture-exclusivity, and its regression test.","That immutable commit left index-mcp.js unchanged at the current 1200/2500/50 operator budget, so the transport repair remains a separate missing delta.","Inherited PR #2468 established 4500/6500/100 as the intended operator transport deadline and its Gate failure was a stale expectation rather than a transport-code failure."],"confidence":1,"rawUtterance":"I stopped the other five conversations. I want you to take over the work. In doing so, you will continue your work.","wordingChanged":true,"canonicalIntent":"Unfreeze the control plane only for this exact consolidated architecture and Forgejo operator transport repair, preserve the recovered ownership-lock commit, absorb the validated non-conflicting transport work from the stopped conversations into one canonical branch, ship and prove it live, then refreeze the control plane.","resolutionStatus":"resolved","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"exclusive-ownership","statement":"One fail-closed machine-readable ownership graph defines the sole gate, merge-queue, merge, release, deployment, and public mutation owners, with regression checks against duplicate authority.","proofConditionIds":["repository-proof","runtime-proof"]},{"id":"transport-reliable","statement":"Daily Forgejo operator GETs use a 4500 ms attempt ceiling, 6500 ms shared total budget, two attempts, and 100 ms retry delay, while the 2500 ms mutation timeout and separate owner-facing SLO telemetry remain unchanged.","proofConditionIds":["repository-proof","runtime-proof"]},{"id":"queue-preserved","statement":"The current-main queue snapshot-first and exact-head supervisor architecture remains canonical; no second scheduler, release conductor, auto-merge workflow, or fallback lane is introduced.","proofConditionIds":["repository-proof","gate-proof"]},{"id":"live-converged","statement":"The one consolidated PR passes KnockLaunch Gate, squash merges, deploys the affected cc-execution runtime, and live runtime identity converges to merged Forgejo main.","proofConditionIds":["gate-proof","runtime-proof"]},{"id":"refrozen","statement":"Control-plane maintenance is closed/refrozen after live proof.","proofConditionIds":["runtime-proof"]}],"objective":"Unfreeze the control plane only for this exact consolidated architecture and Forgejo operator transport repair, preserve the recovered ownership-lock commit, absorb the validated non-conflicting transport work from the stopped conversations into one canonical branch, ship and prove it live, then refreeze the control plane.","constraints":[{"id":"forgejo-only","statement":"Forgejo remains the only repository, PR, merge, workflow, and release source of truth; GitHub remains absent.","proofConditionIds":["repository-proof","runtime-proof"]},{"id":"one-delivery","statement":"Use this existing architecture mission, one reconstructed ai/* branch, one PR, one KnockLaunch Gate, one squash merge, and at most one canonical release per affected owner.","proofConditionIds":["repository-proof","gate-proof","runtime-proof"]},{"id":"no-new-orchestration","statement":"Do not add another scheduler, conductor, registry, observer, retry lane, compatibility shim, or fallback architecture.","proofConditionIds":["repository-proof"]},{"id":"scope","statement":"Mutation scope is exact to config/control-plane-capabilities.json, workers/cc-execution/src/index-mcp.js, workers/cc-execution/src/version.js, and workers/cc-execution/test/release-orchestration-invariants.test.js.","proofConditionIds":["repository-proof"]},{"id":"no-visual","statement":"Do not run Visual Witness.","proofConditionIds":["runtime-proof"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"repository-proof","kind":"repository","claim":"Merged Forgejo source contains the recovered architectureExclusivity contract and its regression plus the validated 4500/6500/2/100 Forgejo operator read transport contract without adding parallel authority.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"gate-proof","kind":"release","claim":"KnockLaunch Gate passes on the exact current head after current-main freshness is proven.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"runtime-proof","kind":"runtime","claim":"Affected cc-execution release is live, runtime git SHA is in the merged current-main lineage, capability truth still exposes one public repository mutation lane and unified release supervision, and control-plane maintenance is refrozen.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestContractHash":"48eb9ca2ed8c5638c0476d5fae66ea377d1cfd44a078270e3aa0e3b3edd8832a","requestContractRevision":7,"previousRequestContractHash":"0a94a3839b8de415edd7e78e978c56dfdcbd221a35d24674fbfc603cad8c9a00"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T01:48:23.51198+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:a3d6673b-3c9f-4d2f-b261-b03d33ae21ac:request-contract:48eb9ca2ed8c5638c0476d5fae66ea377d1cfd44a078270e3aa0e3b3edd8832a","mission_step_id":"8308a6b3-c523-4122-b379-79193d37d488","command_center_event_id":"a3d6673b-3c9f-4d2f-b261-b03d33ae21ac"},{"id":"e418311e-adeb-4455-9f67-dd8e5bee918d","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","cc-execution/runtime-proof":"pending"},"mainSha":"2bbfbaa84c76bbc4625a814c1445f06c2b7941a1","missing":[],"pending":["forgejo-release/workflow","cc-execution/runtime-proof"],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"2bbfbaa84c76bbc4625a814c1445f06c2b7941a1","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":"0b0494d30699ea48bf21e7b16ae34a0a99028a9a309d167095213394ab9df46e","forgejoWorkflowProof":{"runId":10686,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"ccExecution":"pending"},"targetJobCount":7,"observedTargetStates":{"ccExecution":"pending"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"0db554b55ece0c08c38e67133572fcf188871e7a","deploymentId":"forgejo-main-0db554b55ece0c08c38e67133572fcf188871e7a","compareStatus":null,"identitySource":"local_build_metadata","runtimeVersion":"1.58.210-platform-source-resolution","containsSourceSha":false},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-22T03:18:15.078324+00:00","proof_gate":"canonical_release_pending","source_sha":"2bbfbaa84c76bbc4625a814c1445f06c2b7941a1","external_id":"forgejo-main-2bbfbaa84c76","receipt_type":"canonical_release_status","idempotency_key":"mission:5f3605bb-d227-4474-bd84-6566e0d719c4:forgejo-release-status:2bbfbaa84c76bbc4625a814c1445f06c2b7941a1:pending:forgejo-main/source=success|forgejo-release/workflow=pending|cc-execution/runtime-proof=pending","mission_step_id":"82a1c96e-3c52-4798-af82-6b9873b9d045","command_center_event_id":"5f3605bb-d227-4474-bd84-6566e0d719c4"},{"id":"e4184113-04be-4755-8b84-89af64c7e05c","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/fix-real-communication-setup-email","reason":"canonical_release_queue_busy:1424","status":"blocked","metrics":{"receiptBytes":7210,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.47.4-pr-native-freshness","prNumber":417,"terminal":false,"missionId":"ed804345-ec86-4254-8560-91c60ac0a069","operation":"execute_mission","proofGate":"canonical_release_blocked","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"ed804345-ec86-4254-8560-91c60ac0a069"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":5108,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-19T05:31:53.881898+00:00","proof_gate":"canonical_release_blocked","source_sha":null,"external_id":"417","receipt_type":"execute_mission","idempotency_key":"mission:ed804345-ec86-4254-8560-91c60ac0a069:execute_mission:canonical_release_blocked","mission_step_id":"f5368a76-7203-43d3-840b-dd1ff32fe70d","command_center_event_id":"ed804345-ec86-4254-8560-91c60ac0a069"},{"id":"e419569c-0bcd-4e5c-80a7-713da9637384","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/experience-editor-universal-20260901","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":6228,"releaseCount":0,"toolCallCount":5,"repeatedCallCount":3,"ownerInterruptionCount":0},"version":"1.58.2-visual-witness-proof-projection","prNumber":1253,"terminal":false,"missionId":"ce8fbe5b-61b6-4415-b1e5-6a378351b1c8","operation":"execute_mission","proofGate":"canonical_release_dispatched","sourceSha":"05e2cebd1ed6df93439b28b08de976fe161b6014","timingsMs":{"handlerMs":5534,"prReadinessMs":1945,"approvedPlanMs":0,"missionSetupMs":1180,"shipAndProveMs":2673},"nextAction":null,"receiptRef":{"mode":"full","missionId":"ce8fbe5b-61b6-4415-b1e5-6a378351b1c8"},"performance":null,"deploymentId":"forgejo-main-05e2cebd1ed6","workflowRunId":null,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2127,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-01T13:37:00.987021+00:00","proof_gate":"canonical_release_dispatched","source_sha":"05e2cebd1ed6df93439b28b08de976fe161b6014","external_id":"forgejo-main-05e2cebd1ed6","receipt_type":"execute_mission","idempotency_key":"mission:ce8fbe5b-61b6-4415-b1e5-6a378351b1c8:execute_mission:canonical_release_dispatched:current-generation","mission_step_id":"2897511a-3852-48ac-98e8-4932c047fc0b","command_center_event_id":"ce8fbe5b-61b6-4415-b1e5-6a378351b1c8"},{"id":"e41bd68e-ab34-42cc-b6f3-a26eba487a1b","source":"cc-execution-autonomous-supervisor","status":"advanced","payload":{"trigger":"cloudflare_cron","afterSignature":"{\"stateMachineVersion\":1,\"phase\":\"implementation\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"synthesis_required\",\"proofGate\":\"repair_mission_synthesis_ready\"},\"activeStep\":{\"key\":\"implementation\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"continue_implementation\",\"lane\":\"cc-execution\",\"reason\":\"durable_state:implementation\",\"automationAllowed\":false,\"ownerActionRequired\":false},\"acceptance\":{\"total\":6,\"verified\":1,\"pending\":5,\"percent\":17,\"satisfied\":false,\"verifiedIds\":[\"preflight\"],\"pendingIds\":[\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"implementation\",\"deadlineAt\":\"2026-08-03T19:43:48.236442+00:00\",\"recoveryAction\":\"continue_implementation\"},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/unify-experience-editor-tenant-type-pipeline-20260803\",\"prNumber\":null,\"sourceSha\":null,\"deploymentId\":null}","beforeSignature":null,"transitionBrain":"mission_status_deterministic_supervisor"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T16:07:13.857376+00:00","proof_gate":"deterministic_semantic_transition_journaled","source_sha":null,"external_id":null,"receipt_type":"deterministic_supervisor_transition","idempotency_key":"mission:aac0a8b3-2d4e-46d9-9622-75da32129b1f:deterministic-transition:none:{\"stateMachineVersion\":1,\"phase\":\"implementation\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"execute_mission\",\"status\":\"synthesis_required\",\"proofGate\":\"repair_mission_synthesis_ready\"},\"activeStep\":{\"key\":\"implementation\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"pull_request\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"continue_implementation\",\"lane\":\"cc-execution\"","mission_step_id":"11e4fe83-4bfc-4cb8-b681-2fe06972edbd","command_center_event_id":"aac0a8b3-2d4e-46d9-9622-75da32129b1f"},{"id":"e42031db-8aee-44f5-b9d4-6a4274190ab3","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"9fe8166588082b6a8e7166ca9d0dfdb40d91ef1e","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"294cb18022f4882a7a25e1b58cb029a83f464465","releaseState":"pending","sourceInMain":true,"compareStatus":"known_exact_protected_main_push_history","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"pending"},"requestContractHash":"79a2e0e90ebffab6d99a526c00ef113da541bbb3e19c24dc4aabde2db9937d83","forgejoWorkflowProof":{"runId":8481,"source":"signed_push_receipt","status":"cancelled","results":{},"conclusion":"cancelled","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-15T19:33:34.729305+00:00","proof_gate":"canonical_release_pending","source_sha":"294cb18022f4882a7a25e1b58cb029a83f464465","external_id":"forgejo-main-294cb18022f4","receipt_type":"canonical_release_status","idempotency_key":"mission:2ad34d06-ee40-4725-a429-612035c139ed:forgejo-release-status:294cb18022f4882a7a25e1b58cb029a83f464465:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"8e8ed0c4-4af8-4101-b98b-ace0cd833779","command_center_event_id":"2ad34d06-ee40-4725-a429-612035c139ed"},{"id":"e4254a3b-2036-4766-a4b9-033aee3935cf","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/fix-big-papi-inventory-premium-controls-20260828","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":44697,"releaseCount":0,"toolCallCount":12,"repeatedCallCount":3,"ownerInterruptionCount":0},"version":"1.55.8-readiness-resilience","prNumber":993,"terminal":false,"missionId":"928d9cf5-6a07-4a2f-b90a-403bd7be2789","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"handlerMs":601,"prReadinessMs":587,"approvedPlanMs":0,"missionSetupMs":435,"shipAndProveMs":0},"nextAction":"Reconcile this same mission and pull request after the exact-head KnockLaunch Gate changes state.","receiptRef":{"mode":"full","missionId":"928d9cf5-6a07-4a2f-b90a-403bd7be2789"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":5633,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-29T02:27:15.208885+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"993","receipt_type":"execute_mission","idempotency_key":"mission:928d9cf5-6a07-4a2f-b90a-403bd7be2789:execute_mission:repair_mission_waiting_for_gate:current-generation","mission_step_id":"7dcb7e5d-7c6a-4560-992e-bef6bb532d6f","command_center_event_id":"928d9cf5-6a07-4a2f-b90a-403bd7be2789"},{"id":"e4266960-bca1-4e68-b217-bd7d1554f6ac","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-b8af613fff50","writes":[],"patches":[],"version":1,"approved":true,"missionId":"b8af613f-ff50-48e0-b43d-1a6e9165d5d0","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/pages/connections/TenantConnections.tsx"],"anchored_edits":[{"path":"src/pages/connections/TenantConnections.tsx","newText":"{active?'Manage':p?.kind==='secret'?'Admin setup required':r.credential_status==='invalid'?'Fix connection':'Review'}","oldText":"{r.provider==='cloudflare_r2'&&!active?'Enter R2 credentials':active?'Manage':r.credential_status==='invalid'?'Fix connection':'Review'}"}],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"b8af613f-ff50-48e0-b43d-1a6e9165d5d0","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/pages/connections/TenantConnections.tsx"],"requestContract":null,"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":"Prime structured exact mutation continuation"},"proofRequirements":null,"controlPlaneUnfreeze":true,"durableMutationResume":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":"Prime structured exact mutation continuation"},"recovery":false,"fingerprint":"a9d535a08efdc42c57e786a158b964e284ed639c789863a80fe58a35ac2bac85","replayCount":0,"serializedBytes":1449},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T00:18:14.192204+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:b8af613f-ff50-48e0-b43d-1a6e9165d5d0:repository-mutation-intent:a9d535a08efdc42c57e786a158b964e284ed639c789863a80fe58a35ac2bac85:0","mission_step_id":"44ef9c22-67ad-4067-9ada-14ccd037d30a","command_center_event_id":"b8af613f-ff50-48e0-b43d-1a6e9165d5d0"},{"id":"e429503e-abb0-43f9-a5bf-ef5e7bc9b38d","source":"cc-execution","status":"cancelled","payload":{"cancelled":true,"missionId":"5bc6055a-2954-43d2-8509-02bdd0065617"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T00:46:03.708104+00:00","proof_gate":"durable_mission_cancelled","source_sha":null,"external_id":null,"receipt_type":"owner_mission_cancelled","idempotency_key":"mission:5bc6055a-2954-43d2-8509-02bdd0065617:mission-cancel:5bc6055a-2954-43d2-8509-02bdd0065617","mission_step_id":"9640baa8-d8ac-4c6c-9351-42f36be68b19","command_center_event_id":"5bc6055a-2954-43d2-8509-02bdd0065617"},{"id":"e42aea0f-7562-4b99-845f-03aebb461094","source":"cc-execution","status":"complete","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/forgejo-permanent-hardening-0908","reason":null,"status":"complete","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.77-mcp-oauth-es256","prNumber":2157,"terminal":false,"missionId":"a78a1407-c466-450c-b0bd-a05990918dff","operation":"execute_mission","proofGate":"repair_mission_prepared","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4592,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":1161,"providerAuthMs":0,"ledgerPrepareMs":1161,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":1161,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":1161,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"continue_batch_or_ship_and_prove","receiptRef":{"mode":"full","missionId":"a78a1407-c466-450c-b0bd-a05990918dff"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3182,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-08T19:27:12.23371+00:00","proof_gate":"repair_mission_prepared","source_sha":null,"external_id":"2157","receipt_type":"execute_mission","idempotency_key":"mission:a78a1407-c466-450c-b0bd-a05990918dff:execute_mission:repair_mission_prepared:current-generation","mission_step_id":"6e32841f-32ab-4c5c-b520-863d6d0724e2","command_center_event_id":"a78a1407-c466-450c-b0bd-a05990918dff"},{"id":"e42c9294-aa21-4646-b112-38ba59c9f9d1","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/mapbox-forgejo-secret-authority-20260820","reason":"orphaned_branch_recovery_diff_unavailable:ai/mapbox-forgejo-secret-authority-20260820","status":"blocked","metrics":{"receiptBytes":3956,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.48.9-single-mutation-lane","prNumber":null,"terminal":false,"missionId":"7f89b8de-77b6-4895-a9a5-8590c6b417d8","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"7f89b8de-77b6-4895-a9a5-8590c6b417d8"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":4739,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-20T05:41:22.192414+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:7f89b8de-77b6-4895-a9a5-8590c6b417d8:execute_mission:repair_mission_execution_blocked","mission_step_id":"27aae6fe-3a33-40da-8879-cc23e820f959","command_center_event_id":"7f89b8de-77b6-4895-a9a5-8590c6b417d8"},{"id":"e42e6a81-1ee9-49b2-9579-05e43011df84","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-17cc9a02a846","prNumber":4627,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"4fbd3ddcee061d1a81d363873065fe0b3a6988b9","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T12:39:18.845976+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"4fbd3ddcee061d1a81d363873065fe0b3a6988b9","external_id":"4627","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:17cc9a02-a846-4440-915a-29e007081464:merged-pr:4627:4fbd3ddcee061d1a81d363873065fe0b3a6988b9","mission_step_id":"3b116c85-88de-470b-adf8-27e36892ad7f","command_center_event_id":"17cc9a02-a846-4440-915a-29e007081464"},{"id":"e42ee1f7-8b13-4fdc-83db-b6d0fab13311","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/build-canonical-tenant-onboarding-20260827","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":5590,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":1,"ownerInterruptionCount":0},"version":"1.52.9-exact-open-pr-green-merge","prNumber":null,"terminal":false,"missionId":"d5d2ca02-6e52-4297-9e39-2868e7f12846","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"handlerMs":306,"missionSetupMs":444},"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":"d5d2ca02-6e52-4297-9e39-2868e7f12846"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":10152,"likelyAffectedFiles":["src/__tests__/contracts/direct-pr-merge-release-ownership.contract.test.ts","scripts/visual-witness-hosted-runner/src/mission-gateway.mjs","src/components/ReleaseAllLeadsButton.tsx","src/components/ReleaseLeadButton.tsx","src/__tests__/contracts/cc-execution-onrunner-deploy-lane.contract.test.ts","src/__tests__/contracts/command-center-release-reconciliation-budget.contract.test.ts","src/components/academy/AcademyOnboardingBanner.tsx","src/components/TenantRouter.tsx","src/components/WorkflowRouter.tsx","src/__tests__/contracts/knocklaunch-os-registry.contract.test.ts",".forgejo/workflows/knocklaunch.yml","scripts/command-center-host-agent/knocklaunch-forgejo-watchdog.service"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-27T04:24:35.829646+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:d5d2ca02-6e52-4297-9e39-2868e7f12846:execute_mission:repair_mission_synthesis_ready","mission_step_id":"883d3d77-7c17-4c93-a8e3-2fbbb8c22466","command_center_event_id":"d5d2ca02-6e52-4297-9e39-2868e7f12846"},{"id":"e42fc353-c128-42c1-b33d-9da34a3ab7e2","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"release","branch":"ai/objective-first-repair-92964f0c60ea","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":105900,"releaseCount":1,"toolCallCount":31,"repeatedCallCount":16,"executorlessWaitMs":817086,"firstUsefulResultAt":"2026-09-30T02:16:01.638Z","recoveryAttemptCount":6,"ownerInterruptionCount":0},"version":"1.64.10-paul-eval-precision","prNumber":4194,"terminal":false,"missionId":"92964f0c-60ea-4903-a573-31d680fefd52","operation":"execute_mission","proofGate":"canonical_release_reconciliation_pending","sourceSha":"87d2ca4a13c9cb1fefca47f48094f7f5e343597a","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1062,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":76,"approvedPlanMs":0,"missionSetupMs":270,"providerAuthMs":0,"shipAndProveMs":462,"ledgerPrepareMs":270,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":270,"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":"92964f0c-60ea-4903-a573-31d680fefd52"},"performance":null,"deploymentId":"forgejo-main-87d2ca4a13c9","releaseState":"failed","workflowRunId":13247,"releaseTargets":{"frontend":true,"migrations":true,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["pcg-customer-progress"]},"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":3248,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-09-30T02:29:02.034187+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":"87d2ca4a13c9cb1fefca47f48094f7f5e343597a","external_id":"forgejo-main-87d2ca4a13c9","receipt_type":"execute_mission","idempotency_key":"mission:92964f0c-60ea-4903-a573-31d680fefd52:execute_mission:canonical_release_reconciliation_pending:current-generation","mission_step_id":"4972ee9e-d3d4-4f28-9fc7-594057b0bb48","command_center_event_id":"92964f0c-60ea-4903-a573-31d680fefd52"},{"id":"e4315332-e3f3-47d4-96a4-01ad5469cfb6","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-a86e06575d8e","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":91541,"releaseCount":0,"toolCallCount":8,"repeatedCallCount":1,"executorlessWaitMs":103083,"firstUsefulResultAt":"2026-10-05T12:51:19.730Z","recoveryAttemptCount":3,"ownerInterruptionCount":0},"version":null,"prNumber":4904,"terminal":false,"missionId":"a86e0657-5d8e-474b-ae47-2d1148769b31","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":2341,"approvedPlanMs":0,"shipAndProveMs":0,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"a86e0657-5d8e-474b-ae47-2d1148769b31"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":819,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T12:52:59.703921+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4904","receipt_type":"automatic_mission_resume","idempotency_key":"mission:a86e0657-5d8e-474b-ae47-2d1148769b31:automatic-mission-resume:4904:repair_mission_pr_ready_retryable","mission_step_id":"3c285dbf-a258-41f2-95f4-573c1dbee17d","command_center_event_id":"a86e0657-5d8e-474b-ae47-2d1148769b31"},{"id":"e4337e2c-e501-4645-b73a-e822608aa9d5","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":null,"reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.36.7-explicit-route-proof-intent","prNumber":4759,"terminal":false,"missionId":"d4fe57f4-5566-403c-9f3c-c8e7a72a87d9","operation":"ship_and_prove","proofGate":"canonical_release_dispatched","sourceSha":"4370947c2985c5574583916b6c9c9ee8c94a75d3","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"d4fe57f4-5566-403c-9f3c-c8e7a72a87d9"},"performance":null,"deploymentId":"canonical-release-4370947c2985","workflowRunId":31687243409,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["generate-pa-claim-review"]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1276,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-13T09:34:56.326317+00:00","proof_gate":"canonical_release_dispatched","source_sha":"4370947c2985c5574583916b6c9c9ee8c94a75d3","external_id":"canonical-release-4370947c2985","receipt_type":"ship_and_prove","idempotency_key":"mission:d4fe57f4-5566-403c-9f3c-c8e7a72a87d9:ship_and_prove:canonical_release_dispatched:4370947c2985c5574583916b6c9c9ee8c94a75d3:31687243409","mission_step_id":"4d4741d5-81c8-4e5d-9f5e-91d783542565","command_center_event_id":"d4fe57f4-5566-403c-9f3c-c8e7a72a87d9"},{"id":"e4338485-abc5-4e58-b42b-d82cf9cbf112","source":"cc-execution","status":"complete","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/application-demo-command-center-20260907","reason":null,"status":"complete","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.70-forgejo-source-discovery-retry-window","prNumber":2046,"terminal":false,"missionId":"9ccad517-f966-436a-90d3-fa6ea923fa64","operation":"execute_mission","proofGate":"repair_mission_prepared","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3732,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":1040,"providerAuthMs":0,"ledgerPrepareMs":357,"ledgerReconcileMs":0,"lineageReconcileMs":683,"resolvePreflightMs":1040,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":357,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"continue_batch_or_ship_and_prove","receiptRef":{"mode":"full","missionId":"9ccad517-f966-436a-90d3-fa6ea923fa64"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2580,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-07T04:23:48.606265+00:00","proof_gate":"repair_mission_prepared","source_sha":null,"external_id":"2046","receipt_type":"execute_mission","idempotency_key":"mission:9ccad517-f966-436a-90d3-fa6ea923fa64:execute_mission:repair_mission_prepared:current-generation","mission_step_id":"5c1cc35e-781c-4271-8521-cab0e6418e72","command_center_event_id":"9ccad517-f966-436a-90d3-fa6ea923fa64"},{"id":"e43512d0-a6b8-46a1-8a0b-027696e0b42d","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/thirsty-panda-sandwich-boba-rebuild-20260817","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.46.17-release-orchestration-guardrails","prNumber":null,"terminal":false,"missionId":"4730463d-b03b-433f-b391-ff8d95dd9dd2","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":null,"nextAction":"Inspect the bounded repository paths, synthesize exact files or anchored_edits, and call /repair/continue-mission automatically with this missionId without another owner prompt.","receiptRef":{"mode":"full","missionId":"4730463d-b03b-433f-b391-ff8d95dd9dd2"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":10013,"likelyAffectedFiles":[".forgejo/workflows/knocklaunch.yml","src/components/InspectionRequestModal.tsx","src/__tests__/contracts/command-center-event-runtime.test.ts","src/__tests__/contracts/command-palette-platform-authority.contract.test.ts","scripts/visual-witness-hosted-runner/src/async-gateway.mjs","scripts/visual-witness-hosted-runner/src/bounded-mission-queue.mjs","scripts/visual-witness-hosted-runner/src/mission-gateway.mjs","scripts/visual-witness-hosted-runner/test/bounded-mission-queue.test.mjs","src/__tests__/commandCenter/deployDetection.test.ts","src/__tests__/contracts/cc-execution-onrunner-deploy-lane.contract.test.ts","src/__tests__/contracts/render-onrunner-deploy-lane.test.ts","scripts/resolve-production-workflow-run.mjs"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"69c86c8d-c737-439a-8f30-3246af0b3ad1","created_at":"2026-08-17T13:03:00.4931+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:4730463d-b03b-433f-b391-ff8d95dd9dd2:execute_mission:repair_mission_synthesis_ready","mission_step_id":"6d11688b-e210-406a-8a2f-b1a0847a9fad","command_center_event_id":"4730463d-b03b-433f-b391-ff8d95dd9dd2"},{"id":"e4366329-05da-4a82-b1a4-a8d5489c07ef","source":"forgejo-runtime","status":"pending","payload":{"mainSha":"294cb18022f4882a7a25e1b58cb029a83f464465","sourceSha":"dae40a877edb58da487448c48f2a24ced107d3ed","sourceInMain":false,"compareStatus":"ancestry_read_retryable","ancestryProofResolved":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-15T19:34:02.028827+00:00","proof_gate":"canonical_release_ancestry_pending","source_sha":"dae40a877edb58da487448c48f2a24ced107d3ed","external_id":"8432","receipt_type":"canonical_release_status","idempotency_key":"mission:c63d0b46-0863-4f6e-a95d-9a95dac0ec75:forgejo-release-ancestry:dae40a877edb58da487448c48f2a24ced107d3ed:294cb18022f4882a7a25e1b58cb029a83f464465:ancestry_read_retryable","mission_step_id":"5847da90-2df6-439f-b2bb-13cae18b2ab1","command_center_event_id":"c63d0b46-0863-4f6e-a95d-9a95dac0ec75"},{"id":"e4373dd8-813f-4016-9095-d93b90e898ef","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":"33825e5bc9a61379f732151af746fabb2f5f6f10","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":"33825e5bc9a61379f732151af746fabb2f5f6f10","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["zoho-mail"]},"requestContractHash":"a23496a2a79b7b2d93b762b417510c998cd3245e429346f5fda90a5ad07fea25","forgejoWorkflowProof":{"error":"workflow_run_id_missing","runId":null},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-27T23:18:35.029076+00:00","proof_gate":"canonical_release_pending","source_sha":"33825e5bc9a61379f732151af746fabb2f5f6f10","external_id":"forgejo-main-33825e5bc9a6","receipt_type":"canonical_release_status","idempotency_key":"mission:31326911-3d09-4fa1-aeb4-47c15ec538db:forgejo-release-status:33825e5bc9a61379f732151af746fabb2f5f6f10:pending:forgejo-main/source=success|forgejo-release/workflow=pending|supabase-edge-production/live=pending|frontend-cloudflare/live=pending","mission_step_id":"9ab31993-627c-472a-93b0-460d97c49549","command_center_event_id":"31326911-3d09-4fa1-aeb4-47c15ec538db"},{"id":"e43927f9-0f69-403a-89c0-59f2de0e6a03","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.261-nonvisual-proof-precedence","prNumber":null,"terminal":false,"missionId":"fa42eeac-a55a-45cc-b074-7490017ad487","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":562,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":373,"providerAuthMs":0,"ledgerPrepareMs":373,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":373,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":373,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Supply exact sourceTargets on the same mission; planner guesses cannot replace missing mission scope.","receiptRef":{"mode":"full","missionId":"fa42eeac-a55a-45cc-b074-7490017ad487"},"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-24T20:47:31.959612+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:fa42eeac-a55a-45cc-b074-7490017ad487:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"e5c0c8b5-f47f-4083-81a9-500d6d161de5","command_center_event_id":"fa42eeac-a55a-45cc-b074-7490017ad487"},{"id":"e43b81e5-b471-4022-a5d6-eeae712016c9","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-a7108781af28","reason":"retryable_provider_transport:GET:The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.182-witness-render-cold-start-aware","prNumber":null,"terminal":false,"missionId":"a7108781-af28-48ef-be87-5340894a6b75","operation":"execute_mission","proofGate":"repair_mission_execution_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":17809,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":17809,"missionSetupMs":274,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":274,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":274,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":274,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"a7108781-af28-48ef-be87-5340894a6b75"},"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":1561,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-18T12:45:41.34396+00:00","proof_gate":"repair_mission_execution_retryable","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:a7108781-af28-48ef-be87-5340894a6b75:execute_mission:repair_mission_execution_retryable:current-generation","mission_step_id":"82346dfc-a4e2-4672-8f4e-673522ba72da","command_center_event_id":"a7108781-af28-48ef-be87-5340894a6b75"},{"id":"e43c0586-de24-4afc-86f7-cab0ed10eeca","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-b59a4894d3bc","writes":[],"patches":[],"version":1,"approved":true,"missionId":"b59a4894-d3bc-41c5-b9e8-9315b04a5213","objective":"Control plane repair generation 2 for PAUL direct-imperative execution semantics. Correct the live Command Center policy so a complete owner imperative (create/build/make/generate/design/implement/fix/repair/update/add/remove/refactor/deploy) starts non-destructive execution immediately with sensible defaults, without asking for a redundant confirmation. Keep fail-closed behavior for materially missing required facts and destructive, credential, security, or irreversible boundaries. This generation corrects the prior anchored-edit payload shape only; scope remains exactly the two governing policy files. Gate, merge, release cc-execution, and prove the live policy.","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["config/control-plane-capabilities.json","config/paul-owner-profile.json"],"anchored_edits":[{"path":"config/paul-owner-profile.json","edits":[{"new_content":"      \"Classify by requested outcome, not by punctuation or interrogative phrasing. Genuine factual/read-only questions remain read-only. Interrogative requests that ask PAUL to fix, restore, build, change, improve, repair, bring back, work on, or otherwise deliver an outcome are action jobs and must begin the canonical inspect/repair/execute flow without asking Noel to repeat authorization.\",\n      \"Complete imperative requests using direct action verbs such as create, build, make, generate, design, implement, fix, repair, update, add, remove, refactor, or deploy are already authorized action jobs. Begin execution immediately with sensible defaults for optional details; never turn them into a proposal, checklist, or second-confirmation prompt such as 'say do it' or 'want me to proceed' unless a materially required fact is missing or the next step crosses a destructive, credential, security, or materially irreversible boundary.\",","old_content":"      \"Classify by requested outcome, not by punctuation or interrogative phrasing. Genuine factual/read-only questions remain read-only. Interrogative requests that ask PAUL to fix, restore, build, change, improve, repair, bring back, work on, or otherwise deliver an outcome are action jobs and must begin the canonical inspect/repair/execute flow without asking Noel to repeat authorization.\","},{"new_content":"      \"An explicit implementation, build, fix, change, create, make, generate, design, update, add, remove, refactor, or ship request is authorization for the ordinary canonical execute_objective workflow; do not re-ask before execution, Gate, squash merge, affected release, or proof. Optional creative inputs use sensible defaults instead of blocking execution.\",","old_content":"      \"An explicit implementation, build, fix, change, or ship request is authorization for the ordinary canonical execute_objective workflow; do not re-ask before Gate, squash merge, affected release, or proof.\","}]},{"path":"config/control-plane-capabilities.json","edits":[{"new_content":"      \"ownerDirectiveAccuracyPolicy\": \"latest_explicit_owner_instruction_wins_true_conflicts_inferred_context_may_fill_missing_details_but_may_not_replace_or_expand_requested_outcomes\",\n      \"directImperativeExecutionPolicy\": \"complete_owner_imperatives_with_create_build_make_generate_design_implement_fix_repair_update_add_remove_refactor_or_deploy_are_execution_authorization_non_destructive_work_starts_immediately_optional_details_use_sensible_defaults_no_second_confirmation_unless_material_required_fact_missing_or_destructive_privileged_irreversible_boundary\",","old_content":"      \"ownerDirectiveAccuracyPolicy\": \"latest_explicit_owner_instruction_wins_true_conflicts_inferred_context_may_fill_missing_details_but_may_not_replace_or_expand_requested_outcomes\","}]}],"implementation":{"files":[],"writes":[]},"requestContract":{"intent":{"evidence":["owner explicitly requested this PAUL behavior repair"],"confidence":1,"rawUtterance":"Control plane repair generation 2 for PAUL direct-imperative execution semantics. Correct the live Command Center policy so a complete owner imperative (create/build/make/generate/design/implement/fix/repair/update/add/remove/refactor/deploy) starts non-destructive execution immediately with sensible defaults, without asking for a redundant confirmation. Keep fail-closed behavior for materially missing required facts and destructive, credential, security, or irreversible boundaries. This generation corrects the prior anchored-edit payload shape only; scope remains exactly the two governing policy files. Gate, merge, release cc-execution, and prove the live policy.","wordingChanged":false,"canonicalIntent":"Control plane repair generation 2 for PAUL direct-imperative execution semantics. Correct the live Command Center policy so a complete owner imperative (create/build/make/generate/design/implement/fix/repair/update/add/remove/refactor/deploy) starts non-destructive execution immediately with sensible defaults, without asking for a redundant confirmation. Keep fail-closed behavior for materially missing required facts and destructive, credential, security, or irreversible boundaries. This generation corrects the prior anchored-edit payload shape only; scope remains exactly the two governing policy files. Gate, merge, release cc-execution, and prove the live policy.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"Command Center starts complete direct owner imperatives without redundant confirmation and preserves safety boundaries.","provenance":{"reason":null,"source":"current_request_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]}],"objective":"Control plane repair generation 2 for PAUL direct-imperative execution semantics. Correct the live Command Center policy so a complete owner imperative (create/build/make/generate/design/implement/fix/repair/update/add/remove/refactor/deploy) starts non-destructive execution immediately with sensible defaults, without asking for a redundant confirmation. Keep fail-closed behavior for materially missing required facts and destructive, credential, security, or irreversible boundaries. This generation corrects the prior anchored-edit payload shape only; scope remains exactly the two governing policy files. Gate, merge, release cc-execution, and prove the live policy.","constraints":[],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-production","kind":"runtime","claim":"Live cc-execution policy enforces direct-imperative execution without redundant confirmation.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["cc-execution"],"requiredReleaseTargets":["cc-execution"],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}]},"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":null,"ownerApproved":true,"releaseIntent":null,"sourceTargets":["config/control-plane-capabilities.json","config/paul-owner-profile.json"],"requestContract":{"intent":{"evidence":["owner explicitly requested this PAUL behavior repair"],"confidence":1,"rawUtterance":"Control plane repair generation 2 for PAUL direct-imperative execution semantics. Correct the live Command Center policy so a complete owner imperative (create/build/make/generate/design/implement/fix/repair/update/add/remove/refactor/deploy) starts non-destructive execution immediately with sensible defaults, without asking for a redundant confirmation. Keep fail-closed behavior for materially missing required facts and destructive, credential, security, or irreversible boundaries. This generation corrects the prior anchored-edit payload shape only; scope remains exactly the two governing policy files. Gate, merge, release cc-execution, and prove the live policy.","wordingChanged":false,"canonicalIntent":"Control plane repair generation 2 for PAUL direct-imperative execution semantics. Correct the live Command Center policy so a complete owner imperative (create/build/make/generate/design/implement/fix/repair/update/add/remove/refactor/deploy) starts non-destructive execution immediately with sensible defaults, without asking for a redundant confirmation. Keep fail-closed behavior for materially missing required facts and destructive, credential, security, or irreversible boundaries. This generation corrects the prior anchored-edit payload shape only; scope remains exactly the two governing policy files. Gate, merge, release cc-execution, and prove the live policy.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"Command Center starts complete direct owner imperatives without redundant confirmation and preserves safety boundaries.","provenance":{"reason":null,"source":"current_request_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]}],"objective":"Control plane repair generation 2 for PAUL direct-imperative execution semantics. Correct the live Command Center policy so a complete owner imperative (create/build/make/generate/design/implement/fix/repair/update/add/remove/refactor/deploy) starts non-destructive execution immediately with sensible defaults, without asking for a redundant confirmation. Keep fail-closed behavior for materially missing required facts and destructive, credential, security, or irreversible boundaries. This generation corrects the prior anchored-edit payload shape only; scope remains exactly the two governing policy files. Gate, merge, release cc-execution, and prove the live policy.","constraints":[],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-production","kind":"runtime","claim":"Live cc-execution policy enforces direct-imperative execution without redundant confirmation.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["cc-execution"],"requiredReleaseTargets":["cc-execution"],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}]},"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["config/control-plane-capabilities.json","config/paul-owner-profile.json"],"controlPlaneMaintenanceReason":"Owner explicitly requested repair of PAUL direct-imperative execution behavior."},"proofRequirements":null,"controlPlaneUnfreeze":true,"durableMutationResume":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["config/control-plane-capabilities.json","config/paul-owner-profile.json"],"controlPlaneMaintenanceReason":"Owner explicitly requested repair of PAUL direct-imperative execution behavior."},"recovery":false,"fingerprint":"92b4b1d5e9619e251593e97a0e873d75e762dba7f1185ed298a911b2ca07b66d","replayCount":0,"serializedBytes":11453},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-28T13:41:37.834512+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:b59a4894-d3bc-41c5-b9e8-9315b04a5213:repository-mutation-intent:92b4b1d5e9619e251593e97a0e873d75e762dba7f1185ed298a911b2ca07b66d:0","mission_step_id":"61b687a1-6a7c-4b38-8161-0a2f94335e4c","command_center_event_id":"b59a4894-d3bc-41c5-b9e8-9315b04a5213"},{"id":"e43c7542-9acb-44f0-8272-27305778c371","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"f5f66b685ac8400d86e31bbf9ad0400e44365382","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"f5f66b685ac8400d86e31bbf9ad0400e44365382","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"requestContractHash":"d6cd42e8f895bcf5db271e983e6c1975ee23922290f831901a28fee2bd0d2a33","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/3632","runId":3632,"status":"running","sourceSha":"f5f66b685ac8400d86e31bbf9ad0400e44365382","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-30T16:27:14.136392+00:00","proof_gate":"canonical_release_pending","source_sha":"f5f66b685ac8400d86e31bbf9ad0400e44365382","external_id":"forgejo-main-f5f66b685ac8","receipt_type":"canonical_release_status","idempotency_key":"mission:477767c5-14a4-4373-97fc-523da6a226bc:forgejo-release-status:f5f66b685ac8400d86e31bbf9ad0400e44365382:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"16f6739d-56ec-49b3-8aee-bdae84a3ba28","command_center_event_id":"477767c5-14a4-4373-97fc-523da6a226bc"},{"id":"e43d99f8-f5c8-45b7-b0ee-8a3994bb11f3","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"compilation":{"stages":["owner_intent","conversation_context","scope","live_state","mutation_authority","affected_systems","dependencies","risk_and_blast_radius","execution_tactics","required_proof","release_plan","recovery_plan"],"version":2,"explicit":true,"objective":"CONTINUE EXISTING PR #5235 ONLY. Do not create another PR. Replace only workers/cc-execution/src/index-release-fast-lane.js on #5235 with the exact provided payload containing the complete known compatibility export surface. Then rerun Gate once; if green squash merge, deploy cc-execution, and verify live runtime sourceSha.","proofKinds":["repository"],"adaptiveDomains":["intent","tenant_route_role_viewport","urgency_deadline","dependency_scope","risk_blast_radius","runner_capacity","queue_active_work","provider_failure_circuits","qa_scope","retry_recovery","release_ownership","proof_depth"],"expansionPolicy":"later_stages_may_only_narrow_or_expand_with_machine_readable_dependency_evidence","dynamicStatePolicy":"live_state_may_change_execution_tactics_but_never_owner_outcome_or_explicit_constraints","dynamicRefreshStages":["preflight","gate","release","runtime_proof"],"adaptiveCompilerVersion":"paul-adaptive-objective-v1","inheritedContextBlockingAuthority":false},"rawUtterance":"CONTINUE EXISTING PR #5235 ONLY. Do not create another PR. Replace only workers/cc-execution/src/index-release-fast-lane.js on #5235 with the exact provided payload containing the complete known compatibility export surface. Then rerun Gate once; if green squash merge, deploy cc-execution, and verify live runtime sourceSha.","wordingChanged":false,"canonicalIntent":"CONTINUE EXISTING PR #5235 ONLY. Do not create another PR. Replace only workers/cc-execution/src/index-release-fast-lane.js on #5235 with the exact provided payload containing the complete known compatibility export surface. Then rerun Gate once; if green squash merge, deploy cc-execution, and verify live runtime sourceSha.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"CONTINUE EXISTING PR #5235 ONLY. Do not create another PR. Replace only workers/cc-execution/src/index-release-fast-lane.js on #5235 with the exact provided payload containing the complete known compatibility export surface. Then rerun Gate once; if green squash merge, deploy cc-execution, and verify live runtime sourceSha.","provenance":{"reason":null,"source":"current_request_inference","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]}],"objective":"CONTINUE EXISTING PR #5235 ONLY. Do not create another PR. Replace only workers/cc-execution/src/index-release-fast-lane.js on #5235 with the exact provided payload containing the complete known compatibility export surface. Then rerun Gate once; if green squash merge, deploy cc-execution, and verify live runtime sourceSha.","constraints":[{"id":"capability-completeness","statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","provenance":{"reason":null,"source":"heuristic_current_objective","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]},{"id":"atomic-capability-lifecycle","statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","provenance":{"reason":null,"source":"heuristic_current_objective","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-production"]}],"adaptivePolicy":{"risk":{"tier":"high","blastRadius":"sensitive"},"proof":{"requiredKinds":["repository"],"visualProofScope":"none","interactionRequired":false,"runtimeProofRequired":true},"scope":{"route":null,"roleRef":null,"tenantRef":null,"sourceTargets":[]},"dynamic":{"variables":["main_and_runtime_lineage","runner_capacity","queue_and_active_work","provider_health","failure_clusters_and_circuits","release_target_state","current_pr_and_gate_state"],"refreshStages":["preflight","gate","release","runtime_proof"],"refreshMayChange":["runner_selection","parallelism","retry_path","qa_depth","release_recovery","proof_timing"],"refreshMayNotChange":["owner_outcome","explicit_no_go_constraints","tenant_identity","credential_boundary","hard_safety_invariants"]},"urgency":{"priority":"normal","deadlineSignals":[],"deadlineExplicit":false},"version":"paul-adaptive-objective-v1","recovery":{"transient":"one_bounded_retry_then_alternate_eligible_pool_or_provider_path","deterministic":"repair_source_or_contract_do_not_blind_rerun","mutationDependencyFailure":"prerequisite_required_or_targeted_recovery_never_invent","readOnlyDependencyFailure":"degrade_to_available_grounded_context_and_keep_conversation_alive"},"unknowns":["tenant","route","source_targets_until_repository_resolution","release_targets_until_changed_paths","deadline"],"authority":{"outcome":"current_explicit_owner_request","tactics":"live_prime_truth","unknownPolicy":"preserve_unknown_never_invent","historicalContext":"advisory_unless_current_request_confirms"},"execution":{"mutation":true,"concurrency":"serialize_overlapping_mutations","scopePolicy":"start_bounded_expand_only_with_machine_readable_dependency_evidence","staleStatePolicy":"refresh_dynamic_state_before_irreversible_or_acceptance_stage","conversationIsolation":true,"ownerOutcomeMayBeChangedByAdaptation":false},"experience":{"visual":false,"viewports":["desktop","mobile"],"behavioral":false,"visualProofScope":"none"},"dependencies":{"requiredDomains":["backend_runtime","release_ownership","live_production_proof"],"capabilityDomains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"releaseTargetHints":[]},"inputSignals":{"rawUtterance":"CONTINUE EXISTING PR #5235 ONLY. Do not create another PR. Replace only workers/cc-execution/src/index-release-fast-lane.js on #5235 with the exact provided payload containing the complete known compatibility export surface. Then rerun Gate once; if green squash merge, deploy cc-execution, and verify live runtime sourceSha.","canonicalIntent":"CONTINUE EXISTING PR #5235 ONLY. Do not create another PR. Replace only workers/cc-execution/src/index-release-fast-lane.js on #5235 with the exact provided payload containing the complete known compatibility export surface. Then rerun Gate once; if green squash merge, deploy cc-execution, and verify live runtime sourceSha.","conversationContextPresent":false}},"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-production","kind":"repository","claim":"CONTINUE EXISTING PR #5235 ONLY. Do not create another PR. Replace only workers/cc-execution/src/index-release-fast-lane.js on #5235 with the exact provided payload containing the complete known compatibility export surface. Then rerun Gate once; if green squash merge, deploy cc-execution, and verify live runtime sourceSha.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}],"validationErrors":[],"capabilityManifest":{"id":"CONTINUE-EXISTING-PR-5235-ONLY.-Do-not-create-another-PR.-Replace-only-workers-cc-execution-src-inde","driftPolicy":"exact_manifest_source_release_dependency_or_runtime_identity_mismatch_is_nonterminal","proofLedger":"command_center_mission_ledger_request_contract_hash_bound","schemaVersion":1,"releaseTargets":[],"lifecycleStates":["prepare","deploy","verify","activate"],"activationPolicy":"dependencies_and_claim_matched_live_proof_before_exposure","dependencyDomains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_required_not_runtime_failures","compatibilityWindow":["N","N-1"],"failureIsolationPolicy":"quarantine_or_rollback_affected_capability_only_preserve_unrelated_working_capabilities","canaryProofConditionIds":["proof-production"]},"capabilityCompleteness":{"domains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"required":true,"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_states_not_runtime_failures"}},"requestContractHash":"51ba192d64695fb84507562463581b65231c47de0f15ae2cf6a3117ca0723b52","requestContractRevision":2,"previousRequestContractHash":"f13bce17e84858aed9b6e690ae95f724d69413b1fdf5df54f7ea8b299cf9566c"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T19:54:20.104057+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:8cec2341-c72b-4d7c-8ae9-4e5fcd876891:request-contract:51ba192d64695fb84507562463581b65231c47de0f15ae2cf6a3117ca0723b52","mission_step_id":"fc99891a-7e27-450a-98ec-7abd7e40a31c","command_center_event_id":"8cec2341-c72b-4d7c-8ae9-4e5fcd876891"},{"id":"e43d9db3-c0ab-426a-9b2e-96f58b4470a1","source":"cc-execution","status":"release_verification_pending","payload":{"ok":true,"jobId":null,"phase":"release","branch":null,"reason":null,"status":"release_verification_pending","metrics":{"receiptBytes":994,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.47.2-release-lineage-compare","prNumber":374,"terminal":false,"missionId":"656e0251-0449-426d-bada-68478d9eb00a","operation":"ship_and_prove","proofGate":"ship_and_prove_release_pending","sourceSha":"19be021c797ba45a03462836c81823c28b09ba7c","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"656e0251-0449-426d-bada-68478d9eb00a"},"performance":null,"deploymentId":"forgejo-main-19be021c797b","workflowRunId":1240,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":6521,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-18T15:10:09.981907+00:00","proof_gate":"ship_and_prove_release_pending","source_sha":"19be021c797ba45a03462836c81823c28b09ba7c","external_id":"forgejo-main-19be021c797b","receipt_type":"ship_and_prove","idempotency_key":"mission:656e0251-0449-426d-bada-68478d9eb00a:ship_and_prove:ship_and_prove_release_pending:19be021c797ba45a03462836c81823c28b09ba7c:1240","mission_step_id":"03c9692f-6b7c-4b71-830a-63848d0ab008","command_center_event_id":"656e0251-0449-426d-bada-68478d9eb00a"},{"id":"e43e03f7-026f-41e5-b18e-72a4fe9bb29c","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-f91a4fe02026","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.48.9-single-mutation-lane","prNumber":null,"terminal":false,"missionId":"f91a4fe0-2026-40c9-9641-5bd88b08f658","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":null,"nextAction":"Inspect the bounded repository paths, synthesize exact files or anchored_edits, and call /mission/execute again automatically with this same missionId without another owner prompt or workflow switch.","receiptRef":{"mode":"full","missionId":"f91a4fe0-2026-40c9-9641-5bd88b08f658"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":11391,"likelyAffectedFiles":[".forgejo/workflows/knocklaunch.yml","src/__tests__/contracts/canonical-deploy-dispatchers.test.ts","src/__tests__/contracts/canonical-production-release-status.test.ts","src/components/CallFlow/hooks/useLeadQueue.ts","src/components/CallFlow/NotQualifiedDialog.tsx","src/components/CallFlow/steps/OpeningScriptStep.tsx","src/components/CallFlow/WorkflowCallCockpit.tsx","src/components/ReleaseAllLeadsButton.tsx","src/__tests__/commandCenter/deployDetection.test.ts","src/__tests__/contracts/cc-execution-onrunner-deploy-lane.contract.test.ts","src/__tests__/contracts/command-palette-platform-authority.contract.test.ts","src/components/admin/AdminTemplateGallery.tsx"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-20T16:55:41.587255+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:f91a4fe0-2026-40c9-9641-5bd88b08f658:execute_mission:repair_mission_synthesis_ready","mission_step_id":"3962d034-bb30-441e-a6b2-b72cf5521c65","command_center_event_id":"f91a4fe0-2026-40c9-9641-5bd88b08f658"},{"id":"e43e9a6d-7187-40ca-a900-cefd040da50c","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","render-onrunner/runtime-proof":"success"},"mainSha":"bd0bcc26eba3963a04a88c9834b30efd301ea313","missing":[],"pending":["forgejo-release/workflow"],"required":["forgejo-main/source","forgejo-release/workflow","render-onrunner/runtime-proof"],"sourceSha":"bd0bcc26eba3963a04a88c9834b30efd301ea313","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"onrunner":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"onrunner":"pending"},"requestContractHash":"896e6c1009f88c63d71d79870d129c0b48ae7e2303a11ef5c8276ada37cae5d2","forgejoWorkflowProof":{"runId":11712,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"onrunner":"pending"},"targetJobCount":7,"observedTargetStates":{"onrunner":"pending"}},"onrunnerRuntimeProof":{"reason":null,"hostedUrl":"https://knocklaunchcrm.onrender.com","brokerReady":true,"exactSource":true,"healthStatus":200,"runtimeReady":true,"liveSourceSha":"bd0bcc26eba3963a04a88c9834b30efd301ea313","runnerVersion":"onrunner-bd0bcc26eba3","expectedSourceSha":"bd0bcc26eba3963a04a88c9834b30efd301ea313"},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T10:29:26.117388+00:00","proof_gate":"canonical_release_pending","source_sha":"bd0bcc26eba3963a04a88c9834b30efd301ea313","external_id":"forgejo-main-bd0bcc26eba3","receipt_type":"canonical_release_status","idempotency_key":"mission:c7373ea2-3636-4c7b-9050-04c5a983a587:forgejo-release-status:bd0bcc26eba3963a04a88c9834b30efd301ea313:pending:forgejo-main/source=success|forgejo-release/workflow=pending|render-onrunner/runtime-proof=success","mission_step_id":"15817748-0da0-4cc1-865f-a52fd50420e4","command_center_event_id":"c7373ea2-3636-4c7b-9050-04c5a983a587"},{"id":"e4405490-3629-4ad6-81de-666e4ab709c9","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"objective_received","branch":null,"reason":"anchored_edits resolution failed","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.30.20-pr-scoped-release-missions","prNumber":null,"terminal":false,"missionId":"99b7ead4-3567-4c32-b720-8b0df629fcc3","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"99b7ead4-3567-4c32-b720-8b0df629fcc3"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"onePullRequest":true,"terminalProofRequired":true},"sourceReceiptBytes":387,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-08-07T03:56:07.100234+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:99b7ead4-3567-4c32-b720-8b0df629fcc3:execute_mission:repair_mission_execution_blocked","mission_step_id":"7f32b0b7-1261-405a-aad4-01a8413dc2bb","command_center_event_id":"99b7ead4-3567-4c32-b720-8b0df629fcc3"},{"id":"e441721a-c136-4f67-8792-ddde918020a9","source":"forgejo","status":"waiting","payload":{"branch":"ai/frontend-sourcemap-memory-repair-1d1b2373","prNumber":2834,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"6ed1bef1a8939d761af64256b8003d22a97f6b9b","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-15T16:27:27.276143+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"6ed1bef1a8939d761af64256b8003d22a97f6b9b","external_id":"2834","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:1d1b2373-9c6a-48d5-944d-c5b81f498414:merged-pr:2834:6ed1bef1a8939d761af64256b8003d22a97f6b9b","mission_step_id":"fbd2f2e2-5446-47d4-8fa5-6f7ce66d1bcd","command_center_event_id":"1d1b2373-9c6a-48d5-944d-c5b81f498414"},{"id":"e442083b-cd9e-4470-be60-87cf3db71db6","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/control-plane-stale-gate-carousel-hardening-20260828","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.55.8-readiness-resilience","prNumber":960,"terminal":false,"missionId":"99ad217e-a385-456c-8ede-7d9d74efa82d","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"handlerMs":759,"prReadinessMs":745,"approvedPlanMs":0,"missionSetupMs":939,"shipAndProveMs":0},"nextAction":"Reconcile this same mission and pull request after the exact-head KnockLaunch Gate changes state.","receiptRef":{"mode":"full","missionId":"99ad217e-a385-456c-8ede-7d9d74efa82d"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":5445,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-28T23:41:56.431937+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"960","receipt_type":"execute_mission","idempotency_key":"mission:99ad217e-a385-456c-8ede-7d9d74efa82d:execute_mission:repair_mission_waiting_for_gate:current-generation","mission_step_id":"3e03d237-d1cf-4cc0-aa94-b4bfc7d990d5","command_center_event_id":"99ad217e-a385-456c-8ede-7d9d74efa82d"},{"id":"e443c9ae-270f-4468-97c3-43c644b8e630","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-cfe7822589bb","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.182-witness-render-cold-start-aware","prNumber":3221,"terminal":false,"missionId":"cfe78225-89bb-4566-abfe-a1afc93bbf75","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":5313,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":866,"missionSetupMs":329,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":329,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":329,"repositoryMutationMs":4447,"repositoryProviderMs":4447,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2187,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":329,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":2260},"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":"cfe78225-89bb-4566-abfe-a1afc93bbf75"},"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":3114,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-19T14:21:29.334249+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"3221","receipt_type":"execute_mission","idempotency_key":"mission:cfe78225-89bb-4566-abfe-a1afc93bbf75:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"fd824c86-5fb3-40de-9e11-c918fce7cc32","command_center_event_id":"cfe78225-89bb-4566-abfe-a1afc93bbf75"},{"id":"e4466ac1-8890-44db-827e-d5da521792cb","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","cc-execution/runtime-proof":"success"},"mainSha":"57f49d461f98d0e886568655a1de28a5dedd5600","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"57f49d461f98d0e886568655a1de28a5dedd5600","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"ccExecution":"success"},"requestContractHash":"199d97e9d9051c0481d4af4104b7669a4e494222af2c8b06fdd1568eae8c9677","forgejoWorkflowProof":{"runId":11325,"source":"signed_push_receipt","status":"success","results":{},"conclusion":"success","targetStates":{"ccExecution":"success"},"targetJobCount":7,"observedTargetStates":{"ccExecution":"success"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"57f49d461f98d0e886568655a1de28a5dedd5600","proofGate":"cc_execution_target_aware_runtime_identity_verified","deploymentId":"forgejo-main-57f49d461f98d0e886568655a1de28a5dedd5600","compareStatus":"target_job_success_runtime_verified","workflowRunId":11325,"identitySource":"canonical_release_target_job","runtimeVersion":"1.58.224-truthful-owner-progress","workflowFailed":false,"containsSourceSha":true},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T03:07:16.298171+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"57f49d461f98d0e886568655a1de28a5dedd5600","external_id":"forgejo-main-57f49d461f98","receipt_type":"canonical_release_status","idempotency_key":"mission:6ff9a97f-b18a-456e-928b-94cd435a8fcc:forgejo-release-status:57f49d461f98d0e886568655a1de28a5dedd5600:verified:forgejo-main/source=success|forgejo-release/workflow=success|cc-execution/runtime-proof=success","mission_step_id":"878ef003-ca82-4695-9db7-ee695aba6d48","command_center_event_id":"6ff9a97f-b18a-456e-928b-94cd435a8fcc"},{"id":"e44898ac-29c9-46a8-84d2-02f1585fee67","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-6c15e4c25b43","reason":null,"status":"source_resolution_required","metrics":{"receiptBytes":3953,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":1,"executorlessWaitMs":15551,"firstUsefulResultAt":"2026-09-27T23:43:32.842Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.296-universal-stop","prNumber":null,"terminal":false,"missionId":"6c15e4c2-5b43-4345-8c64-dbf66fff7bf3","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1161,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":307,"providerAuthMs":0,"ledgerPrepareMs":307,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":307,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":307,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Supply exact sourceTargets on the same mission; planner guesses cannot replace missing mission scope.","receiptRef":{"mode":"full","missionId":"6c15e4c2-5b43-4345-8c64-dbf66fff7bf3"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1176,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T23:44:34.252239+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:6c15e4c2-5b43-4345-8c64-dbf66fff7bf3:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"3c0c4139-9443-4dfb-a95b-344b20b2cd5e","command_center_event_id":"6c15e4c2-5b43-4345-8c64-dbf66fff7bf3"},{"id":"e44a3f75-5846-4ba5-97ee-715cdd20fe37","source":"cc-execution","status":"authorized","payload":{"paths":["workers/cc-execution/src/index-scoped-repo-patch.js"],"reason":"Owner explicitly authorized: Unfreeze the control plane for the orphan-branch recovery repair.","baseSha":"5faf0c2fda90ebf18ef643bee0920026cdedb9d0","issuedAt":1788982184791,"expiresAt":1788982364791,"missionId":"98fa1b97-f156-427e-9e12-45259b028935","authorizationId":"bf389355-33ef-42b4-8520-33068de01889","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-09T19:29:45.406317+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"5faf0c2fda90ebf18ef643bee0920026cdedb9d0","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:bf389355-33ef-42b4-8520-33068de01889","mission_step_id":"07b183c7-36fb-4d4b-a047-a46c4510c3b8","command_center_event_id":"98fa1b97-f156-427e-9e12-45259b028935"},{"id":"e44db04e-8d89-4ba2-b191-15af96b727a3","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":"280bd115-f85d-4b0a-92ec-dd9f6b79abf0","phase":"visual_proof","branch":"ai/objective-first-repair-285944eff62b","reason":"control_plane_maintenance_authorization_required","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":1,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.214-mcp-repository-source-resolution","prNumber":null,"terminal":false,"missionId":"285944ef-f62b-4c50-a0be-04838efe26d6","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":1971,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":1971,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":1971,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":1971,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"285944ef-f62b-4c50-a0be-04838efe26d6"},"performance":null,"deploymentId":null,"releaseState":"verified","visualWitness":{"role":null,"jobId":"280bd115-f85d-4b0a-92ec-dd9f6b79abf0","tenant":null,"runnerUrl":null,"runnerLane":null,"attemptsUsed":null,"supervisorId":null,"failureReason":"control_plane_maintenance_authorization_required","observedRoute":null,"runnerVersion":null,"attemptLineage":[],"missionOutcome":null,"requestedRoute":null,"runnerSourceSha":null,"selectedViewports":[],"checkpointAccounting":null,"correctiveGeneration":0,"restartReplayHistory":[]},"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["visual"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1536,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-22T18:51:39.957635+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":"280bd115-f85d-4b0a-92ec-dd9f6b79abf0","receipt_type":"execute_mission","idempotency_key":"mission:285944ef-f62b-4c50-a0be-04838efe26d6:execute_mission:repair_mission_execution_blocked:generation-1","mission_step_id":"30d1fcc8-d205-4ded-90ea-37d97da7bccb","command_center_event_id":"285944ef-f62b-4c50-a0be-04838efe26d6"},{"id":"e44e5b3d-27e9-4291-ae04-cd31a08e0ed6","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"objective_received","branch":"ai/fix-event-rental-crm-route-leakage","reason":"anchored_edit_anchor_missing:src/__tests__/contracts/generatedTenantRouteFamily.contract.test.ts","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.182-witness-render-cold-start-aware","prNumber":null,"terminal":false,"missionId":"4d2d0e68-eda1-4c08-9813-07eae2bb176b","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1641,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":1641,"missionSetupMs":398,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":398,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":398,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":398,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"4d2d0e68-eda1-4c08-9813-07eae2bb176b"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1575,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-19T03:16:59.742842+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:4d2d0e68-eda1-4c08-9813-07eae2bb176b:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"86adf3b8-3f4d-44d0-a6b7-888a74a75f7e","command_center_event_id":"4d2d0e68-eda1-4c08-9813-07eae2bb176b"},{"id":"e452b461-a7ee-40d5-9748-756d2075a83a","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-8aaadff940c4","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":null,"recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.90-owner-contract-autocompile","prNumber":null,"terminal":false,"missionId":"8aaadff9-40c4-40b9-8479-6e9c4796825a","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3317,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":7947,"providerAuthMs":0,"ledgerPrepareMs":2694,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":7947,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":2694,"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":"8aaadff9-40c4-40b9-8479-6e9c4796825a"},"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":3831,"likelyAffectedFiles":["src/pages/card-grading/PCGCompletionCenter.tsx","src/pages/card-grading/PCGModesWorkspace.tsx"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-10-04T12:37:33.963551+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:8aaadff9-40c4-40b9-8479-6e9c4796825a:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"252e6841-3c25-4b1e-a699-276c4bea0b6c","command_center_event_id":"8aaadff9-40c4-40b9-8479-6e9c4796825a"},{"id":"e4531b3a-e34b-4e11-ba8d-e0c017644375","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-5ecee16350b3","writes":[],"patches":[],"version":1,"approved":true,"missionId":"5ecee163-50b3-4647-960a-a8804f4fa43d","objective":"Fix the recurring KNOCKLAUNCH Console MSI-disconnected/pairing-expired loop. The local Console on the owner's MSI must pair once and remain authenticated across page refreshes, browser restarts, and local Console server restarts without requiring another pairing code. Preserve loopback-only access, exact bearer comparison, trusted-origin checks, provider credential isolation, and all existing command authorization. Implement a durable random machine-local session secret under the current Windows user's .knocklaunch-console directory, load/reuse it across server starts, use no time expiry for that machine-local secret, and keep it redacted from output. In public/console/console.js persist the local session in localStorage instead of sessionStorage and update the local helper copy so it no longer tells the owner to reopen after expiry. Update the Console README to describe persistent pairing. Add a focused test proving the same machine session secret is reused from disk and that the client contract uses localStorage rather than sessionStorage. Modify only scripts/knocklaunch-console/server.mjs, public/console/console.js, scripts/knocklaunch-console/console.test.mjs, and scripts/knocklaunch-console/README.md. One focused PR, canonical Gate, squash merge, no application release targets.","repository":"noel/KnockLaunchOS","visualProof":false,"ownerApproved":true,"releaseIntent":null,"sourceTargets":["scripts/knocklaunch-console/server.mjs","public/console/console.js","scripts/knocklaunch-console/console.test.mjs","scripts/knocklaunch-console/README.md"],"anchored_edits":[{"path":"scripts/knocklaunch-console/server.mjs","new_content":"const configurationDirectory=join(homedir(),'.knocklaunch-console'),configurationPath=join(configurationDirectory,'settings.json'),sessionPath=join(configurationDirectory,'machine-session');","old_content":"const configurationDirectory=join(homedir(),'.knocklaunch-console'),configurationPath=join(configurationDirectory,'settings.json');"},{"path":"scripts/knocklaunch-console/server.mjs","new_content":"const readSettings=()=>{try{return JSON.parse(readFileSync(configurationPath,'utf8'));}catch{return {};}};\nconst environment=()=>({...process.env,...readSettings()});\nexport function loadOrCreateLocalSession(path=sessionPath){let existing='';try{existing=readFileSync(path,'utf8').trim();}catch{}if(/^[a-f0-9]{64}$/.test(existing))return existing;mkdirSync(dirname(path),{recursive:true,mode:0o700});const generated=randomBytes(32).toString('hex');writeFileSync(path,generated+'\\n',{mode:0o600});return generated;}\nlet sessionCache='';\nconst localSession=()=>sessionCache||(sessionCache=loadOrCreateLocalSession());\nconst origins=new Set(['http://127.0.0.1:'+port,'http://localhost:'+port,'https://app.knocklaunch.app','https://knocklaunch.app']);\nconst state={jobs:[],steps:{},providers:{},release:null,sourceSha:null};\nconst ephemeralSecrets=new Set();\nconst secretValues=()=>[localSession(),...ephemeralSecrets,...Object.entries(environment()).filter(([key])=>/secret|token|key|password/i.test(key)).map(([,value])=>value)];","old_content":"const readSettings=()=>{try{return JSON.parse(readFileSync(configurationPath,'utf8'));}catch{return {};}};\nconst environment=()=>({...process.env,...readSettings()});\nconst session=randomBytes(32).toString('hex'),sessionExpires=Date.now()+12*60*60*1000;\nconst origins=new Set(['http://127.0.0.1:'+port,'http://localhost:'+port,'https://app.knocklaunch.app','https://knocklaunch.app']);\nconst state={jobs:[],steps:{},providers:{},release:null,sourceSha:null};\nconst ephemeralSecrets=new Set();\nconst secretValues=()=>[session,...ephemeralSecrets,...Object.entries(environment()).filter(([key])=>/secret|token|key|password/i.test(key)).map(([,value])=>value)];"},{"path":"scripts/knocklaunch-console/server.mjs","new_content":"   if(!authorized(req,localSession()))return json({error:'Local MSI pairing is missing or invalid. Reopen the Console launcher once to restore this browser.'},401);","old_content":"   if(!authorized(req,session,sessionExpires))return json({error:'Local session expired or pairing code invalid. Reopen the Console launcher.'},401);"},{"path":"scripts/knocklaunch-console/server.mjs","new_content":" server.listen(port,'127.0.0.1',()=>{const session=localSession();console.log('KNOCKLAUNCH Console: http://127.0.0.1:'+port+'\\nPairing code (private, stored on this MSI): '+session);if(!process.argv.includes('--no-open')){const url='http://127.0.0.1:'+port+'/#session='+session;if(windows)spawn('cmd.exe',['/d','/c','start','',url],{windowsHide:true});else spawn('xdg-open',[url]);}});","old_content":" server.listen(port,'127.0.0.1',()=>{console.log('KNOCKLAUNCH Console: http://127.0.0.1:'+port+'\\nPairing code (private, expires in 12 hours): '+session);if(!process.argv.includes('--no-open')){const url='http://127.0.0.1:'+port+'/#session='+session;if(windows)spawn('cmd.exe',['/d','/c','start','',url],{windowsHide:true});else spawn('xdg-open',[url]);}});"},{"path":"public/console/console.js","new_content":"const local=location.hostname==='127.0.0.1'||location.hostname==='localhost';\nconst localSessionKey='kl-console-session';\nlet token=local?localStorage.getItem(localSessionKey)||'':'';\n// The launcher supplies the machine-local session in the fragment once, never a query or provider secret.\nif(local&&location.hash.startsWith('#session=')){token=decodeURIComponent(location.hash.slice(9));localStorage.setItem(localSessionKey,token);history.replaceState(null,'',location.pathname);}","old_content":"const local=location.hostname==='127.0.0.1'||location.hostname==='localhost';\nlet token=local?sessionStorage.getItem('kl-console-session')||'':'';\n// The launcher supplies a short-lived local session in the fragment, never a query or provider secret.\nif(local&&location.hash.startsWith('#session=')){token=decodeURIComponent(location.hash.slice(9));sessionStorage.setItem('kl-console-session',token);history.replaceState(null,'',location.pathname);}"},{"path":"public/console/console.js","new_content":"${local?'<p class=\"muted\">This browser stays paired to this MSI. Reopen the launcher only if browser storage is cleared or the machine pairing is reset.</p>':'<p class=\"muted\">Your browser may ask to allow access to devices on your local network.</p>'}","old_content":"${local?'<p class=\"muted\">The launcher opens an authenticated window automatically. Reopen it if this session expired.</p>':'<p class=\"muted\">Your browser may ask to allow access to devices on your local network.</p>'}"},{"path":"public/console/console.js","new_content":"if(connect)connect.onclick=()=>{token=app.querySelector('#pair').value.trim();if(local)localStorage.setItem(localSessionKey,token);refresh();};","old_content":"if(connect)connect.onclick=()=>{token=app.querySelector('#pair').value.trim();if(local)sessionStorage.setItem('kl-console-session',token);refresh();};"},{"path":"scripts/knocklaunch-console/console.test.mjs","new_content":"import test from 'node:test';\nimport assert from 'node:assert/strict';\nimport { readFileSync, mkdtempSync, rmSync } from 'node:fs';\nimport { tmpdir } from 'node:os';\nimport { join } from 'node:path';\nimport { authorized, validOrigin, requireAction, allowedSettings, RUNNER_REGISTRATION, LOCAL_PROVIDER_CLI, requireRunnerRegistrationToken, runnerRegistrationArgs, parseCliJsonOutput, localProviderCliSpec, localCliProviderSnapshot, loadOrCreateLocalSession } from './server.mjs';","old_content":"import test from 'node:test';\nimport assert from 'node:assert/strict';\nimport { authorized, validOrigin, requireAction, allowedSettings, RUNNER_REGISTRATION, LOCAL_PROVIDER_CLI, requireRunnerRegistrationToken, runnerRegistrationArgs, parseCliJsonOutput, localProviderCliSpec, localCliProviderSnapshot } from './server.mjs';"},{"path":"scripts/knocklaunch-console/console.test.mjs","new_content":"test('MSI pairing survives server and browser restarts',()=>{\n const directory=mkdtempSync(join(tmpdir(),'knocklaunch-console-')),path=join(directory,'machine-session');\n try{const first=loadOrCreateLocalSession(path),second=loadOrCreateLocalSession(path);assert.match(first,/^[a-f0-9]{64}$/);assert.equal(second,first);}finally{rmSync(directory,{recursive:true,force:true});}\n const client=readFileSync(new URL('../../public/console/console.js',import.meta.url),'utf8');\n assert.match(client,/localStorage\\.getItem\\(localSessionKey\\)/);assert.match(client,/localStorage\\.setItem\\(localSessionKey,token\\)/);assert.equal(client.includes('sessionStorage'),false);\n});\ntest('commands are exact IDs, never arbitrary shell',()=>{","old_content":"test('commands are exact IDs, never arbitrary shell',()=>{"},{"path":"scripts/knocklaunch-console/README.md","new_content":"In GodMode, open **KNOCKLAUNCH Console**. The local launcher pairs this browser with the MSI once. The random machine-local session is stored only under the current Windows user's `.knocklaunch-console` directory and the browser retains it in local storage, so page refreshes, browser restarts, and Console server restarts do not require re-pairing. Reopen the launcher only if browser storage is cleared or the machine pairing file is intentionally reset. Keep the local Console server running while using local actions. Public customers cannot invoke this local service.","old_content":"In GodMode, open **KNOCKLAUNCH Console**. Copy the pairing code from the local launcher window to pair this browser with the MSI. Pairing expires after 12 hours or when the service restarts. Keep the launcher open while using local actions. Public customers cannot invoke this local service."}],"implementation":{"files":[],"writes":[]},"requestContract":{"outcomes":[{"id":"persistent-msi-pairing","statement":"The local KNOCKLAUNCH Console reuses one machine-local pairing secret and the browser retains it across browser/server restarts, eliminating recurring MSI disconnected pairing prompts.","proofConditionIds":["proof-repository","proof-test"]}],"objective":"Fix the recurring KNOCKLAUNCH Console MSI-disconnected/pairing-expired loop. The local Console on the owner's MSI must pair once and remain authenticated across page refreshes, browser restarts, and local Console server restarts without requiring another pairing code. Preserve loopback-only access, exact bearer comparison, trusted-origin checks, provider credential isolation, and all existing command authorization. Implement a durable random machine-local session secret under the current Windows user's .knocklaunch-console directory, load/reuse it across server starts, use no time expiry for that machine-local secret, and keep it redacted from output. In public/console/console.js persist the local session in localStorage instead of sessionStorage and update the local helper copy so it no longer tells the owner to reopen after expiry. Update the Console README to describe persistent pairing. Add a focused test proving the same machine session secret is reused from disk and that the client contract uses localStorage rather than sessionStorage. Modify only scripts/knocklaunch-console/server.mjs, public/console/console.js, scripts/knocklaunch-console/console.test.mjs, and scripts/knocklaunch-console/README.md. One focused PR, canonical Gate, squash merge, no application release targets.","constraints":[{"id":"security-boundary","statement":"Keep Console API bound to loopback with trusted-origin validation and exact bearer comparison; do not expose provider or repository credentials to the browser.","proofConditionIds":["proof-repository","proof-test"]},{"id":"scope","statement":"Only the four Console files named in the objective may change; do not alter runner labels, production workflows, application routes, or provider configuration.","proofConditionIds":["proof-repository"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_merge","proofConditions":[{"id":"proof-repository","kind":"repository","claim":"Merged main contains durable machine-local Console pairing and browser localStorage persistence in only the requested Console files.","required":true},{"id":"proof-test","kind":"repository","claim":"The Console test suite contains and passes coverage for machine-session reuse and client durable storage.","required":true}]},"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":null,"ownerApproved":true,"releaseIntent":null,"sourceTargets":["scripts/knocklaunch-console/server.mjs","public/console/console.js","scripts/knocklaunch-console/console.test.mjs","scripts/knocklaunch-console/README.md"],"requestContract":{"outcomes":[{"id":"persistent-msi-pairing","statement":"The local KNOCKLAUNCH Console reuses one machine-local pairing secret and the browser retains it across browser/server restarts, eliminating recurring MSI disconnected pairing prompts.","proofConditionIds":["proof-repository","proof-test"]}],"objective":"Fix the recurring KNOCKLAUNCH Console MSI-disconnected/pairing-expired loop. The local Console on the owner's MSI must pair once and remain authenticated across page refreshes, browser restarts, and local Console server restarts without requiring another pairing code. Preserve loopback-only access, exact bearer comparison, trusted-origin checks, provider credential isolation, and all existing command authorization. Implement a durable random machine-local session secret under the current Windows user's .knocklaunch-console directory, load/reuse it across server starts, use no time expiry for that machine-local secret, and keep it redacted from output. In public/console/console.js persist the local session in localStorage instead of sessionStorage and update the local helper copy so it no longer tells the owner to reopen after expiry. Update the Console README to describe persistent pairing. Add a focused test proving the same machine session secret is reused from disk and that the client contract uses localStorage rather than sessionStorage. Modify only scripts/knocklaunch-console/server.mjs, public/console/console.js, scripts/knocklaunch-console/console.test.mjs, and scripts/knocklaunch-console/README.md. One focused PR, canonical Gate, squash merge, no application release targets.","constraints":[{"id":"security-boundary","statement":"Keep Console API bound to loopback with trusted-origin validation and exact bearer comparison; do not expose provider or repository credentials to the browser.","proofConditionIds":["proof-repository","proof-test"]},{"id":"scope","statement":"Only the four Console files named in the objective may change; do not alter runner labels, production workflows, application routes, or provider configuration.","proofConditionIds":["proof-repository"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_merge","proofConditions":[{"id":"proof-repository","kind":"repository","claim":"Merged main contains durable machine-local Console pairing and browser localStorage persistence in only the requested Console files.","required":true},{"id":"proof-test","kind":"repository","claim":"The Console test suite contains and passes coverage for machine-session reuse and client durable storage.","required":true}]},"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":false,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"proofRequirements":null,"controlPlaneUnfreeze":false,"durableMutationResume":true,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"recovery":false,"fingerprint":"3f57e2b511439db439c1acd16ae9181d9da5fabb14d835a620f2074687569c3c","replayCount":0,"serializedBytes":15787},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-26T15:00:20.180704+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:5ecee163-50b3-4647-960a-a8804f4fa43d:repository-mutation-intent:3f57e2b511439db439c1acd16ae9181d9da5fabb14d835a620f2074687569c3c:0","mission_step_id":"b4e0416e-d276-4d17-bb81-270e7cf6e853","command_center_event_id":"5ecee163-50b3-4647-960a-a8804f4fa43d"},{"id":"e454ccd7-6a52-4b4a-8e4c-f900aac64e7e","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/fix-forgejo-actions-operator-524-20260826","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":9263,"releaseCount":0,"toolCallCount":7,"repeatedCallCount":3,"ownerInterruptionCount":0},"version":null,"prNumber":795,"terminal":false,"missionId":"49c6154a-22ac-46d5-ac37-5a6be555e074","operation":"automatic_mission_resume","proofGate":"canonical_release_dispatched","sourceSha":"a39c33d58414a35f347f166cbcda0d2bf840eafe","timingsMs":{"prReadinessMs":299,"approvedPlanMs":0,"shipAndProveMs":495},"nextAction":null,"receiptRef":{"mode":"full","missionId":"49c6154a-22ac-46d5-ac37-5a6be555e074"},"performance":null,"deploymentId":"forgejo-main-a39c33d58414","workflowRunId":null,"releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1873,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-26T23:50:49.642479+00:00","proof_gate":"canonical_release_dispatched","source_sha":null,"external_id":"795","receipt_type":"automatic_mission_resume","idempotency_key":"mission:49c6154a-22ac-46d5-ac37-5a6be555e074:automatic-mission-resume:795:canonical_release_dispatched","mission_step_id":"8c302bb7-55b0-49a3-9088-4f00012e5b2c","command_center_event_id":"49c6154a-22ac-46d5-ac37-5a6be555e074"},{"id":"e454e490-29a2-4d4e-9303-f4968557d359","source":"github-status","status":"verified","payload":{"failed":[],"states":{"canonical-production-release/verified":"success"},"missing":[],"pending":[],"required":["canonical-production-release/verified"],"sourceSha":"01457b1631cc1fd59557f9160f9c0ef21cd2d98c","releaseState":"verified","exactConductorRun":{"id":31680349940,"status":"completed","headSha":"01457b1631cc1fd59557f9160f9c0ef21cd2d98c","conclusion":"success","compareStatus":"identical","sourceMatches":true,"containsSourceSha":true,"reconciliationMode":null},"ccExecutionRuntimeProof":null},"tenant_id":"fe5cc9d9-c2fe-4062-84c7-a334663cd63c","created_at":"2026-08-13T08:06:37.272807+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"01457b1631cc1fd59557f9160f9c0ef21cd2d98c","external_id":"canonical-release-01457b1631cc","receipt_type":"canonical_release_status","idempotency_key":"mission:a43c9583-2685-4177-a03b-faaa3830d85c:release-status:01457b1631cc1fd59557f9160f9c0ef21cd2d98c:31680349940:verified:canonical-production-release/verified=success","mission_step_id":"fbfb67ad-1e0d-4381-8141-fe194c6b4a47","command_center_event_id":"a43c9583-2685-4177-a03b-faaa3830d85c"},{"id":"e4578d49-f349-43b7-b018-8c690f09e16e","source":"cc-execution","status":"in_progress","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":null,"reason":null,"status":"in_progress","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":null,"recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.281-witness-lane-affinity","prNumber":3667,"terminal":false,"missionId":"2581131a-36f4-4bc6-88bc-8dc1929a23e3","operation":"execute_mission","proofGate":"canonical_release_reconciliation_pending","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3197,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":106,"approvedPlanMs":0,"missionSetupMs":363,"providerAuthMs":0,"shipAndProveMs":2497,"ledgerPrepareMs":363,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":363,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":363,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create replacement work.","receiptRef":{"mode":"full","missionId":"2581131a-36f4-4bc6-88bc-8dc1929a23e3"},"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":1495,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-25T14:15:16.621542+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"3667","receipt_type":"execute_mission","idempotency_key":"mission:2581131a-36f4-4bc6-88bc-8dc1929a23e3:execute_mission:canonical_release_reconciliation_pending:current-generation","mission_step_id":"562ecac5-d758-4e1b-bc4d-0c4690cec6e1","command_center_event_id":"2581131a-36f4-4bc6-88bc-8dc1929a23e3"},{"id":"e457bc76-9b5c-48b3-9571-1db208c7837c","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-899698484640","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":102960,"releaseCount":0,"toolCallCount":6,"repeatedCallCount":2,"executorlessWaitMs":20541,"firstUsefulResultAt":"2026-10-03T03:06:09.234Z","recoveryAttemptCount":4,"ownerInterruptionCount":0},"version":null,"prNumber":4604,"terminal":false,"missionId":"89969848-4640-4a75-a745-fde1ec865764","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":2228,"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":"89969848-4640-4a75-a745-fde1ec865764"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":819,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T03:06:20.925872+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4604","receipt_type":"automatic_mission_resume","idempotency_key":"mission:89969848-4640-4a75-a745-fde1ec865764:automatic-mission-resume:4604:repair_mission_pr_ready_retryable","mission_step_id":"235bef48-16f8-4d02-bc1a-b6d0960b6e6f","command_center_event_id":"89969848-4640-4a75-a745-fde1ec865764"},{"id":"e458c57b-44aa-4cae-bc9e-56cc7de39829","source":"cc-execution","status":"verified","payload":{"paths":["workers/cc-execution/test/event-driven-auto-merge-invariants.test.js"],"baseSha":"76bebb14a0d7243629ec918581867a4d8e78b055","consumedAt":1788054927322,"consumerToken":"dfde7046-2d84-4604-b8ad-3ded39faed1e","authorizationId":"03c9ed81-e775-4f5d-b9c0-967cf7fc0497"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-30T01:55:28.215471+00:00","proof_gate":"control_plane_maintenance_single_use_consumed","source_sha":"76bebb14a0d7243629ec918581867a4d8e78b055","external_id":null,"receipt_type":"control_plane_maintenance_consumed","idempotency_key":"control-plane-maintenance-consume:03c9ed81-e775-4f5d-b9c0-967cf7fc0497","mission_step_id":"54ad088c-14a1-4333-a339-d56b3e7573f1","command_center_event_id":"9b9cfdfa-f2c0-4ab2-ae28-5cf3d78e92a2"},{"id":"e459cabf-e8fc-4fc0-af36-0c8baa0764ca","source":"cc-execution","status":"in_progress","payload":{"ok":true,"jobId":null,"phase":"release","branch":"ai/experience-editor-universal-20260901","reason":null,"status":"in_progress","metrics":{"receiptBytes":15414,"releaseCount":1,"toolCallCount":7,"repeatedCallCount":3,"ownerInterruptionCount":0},"version":null,"prNumber":1253,"terminal":false,"missionId":"ce8fbe5b-61b6-4415-b1e5-6a378351b1c8","operation":"automatic_mission_resume","proofGate":"canonical_release_reconciliation_pending","sourceSha":"05e2cebd1ed6df93439b28b08de976fe161b6014","timingsMs":{"prReadinessMs":481,"approvedPlanMs":0,"shipAndProveMs":4983},"nextAction":"Reconcile this same mission and pull request automatically; do not create replacement work.","receiptRef":{"mode":"full","missionId":"ce8fbe5b-61b6-4415-b1e5-6a378351b1c8"},"performance":null,"deploymentId":"forgejo-main-05e2cebd1ed6","workflowRunId":4010,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":651,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-01T13:40:03.543409+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":null,"external_id":"1253","receipt_type":"automatic_mission_resume","idempotency_key":"mission:ce8fbe5b-61b6-4415-b1e5-6a378351b1c8:automatic-mission-resume:1253:canonical_release_reconciliation_pending","mission_step_id":"a23108e0-b832-486e-aec5-896e598ba5e1","command_center_event_id":"ce8fbe5b-61b6-4415-b1e5-6a378351b1c8"},{"id":"e45b7ece-ca69-4253-b8e7-510b58e7dea2","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-415696bd7a4e","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":1688,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-09-26T19:12:24.877Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.287-console-service-binding","prNumber":null,"terminal":false,"missionId":"415696bd-7a4e-49f3-9d16-1adbb7d93267","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1115,"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":"415696bd-7a4e-49f3-9d16-1adbb7d93267"},"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":3345,"likelyAffectedFiles":[".forgejo/workflows/laptop-runner-smoke.yml"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-26T19:12:46.830649+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:415696bd-7a4e-49f3-9d16-1adbb7d93267:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"7a9a91dd-651e-4e15-87c6-b7b27f02298b","command_center_event_id":"415696bd-7a4e-49f3-9d16-1adbb7d93267"},{"id":"e45bba29-6999-4e53-b428-6a51af1c4df9","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","cc-execution/runtime-proof":"pending"},"mainSha":"64c46d37305bd0312aafc874546c55c8c5fb22ff","missing":[],"pending":["forgejo-release/workflow","cc-execution/runtime-proof"],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"64c46d37305bd0312aafc874546c55c8c5fb22ff","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":"b740ebf1dda54c5d1f37bf71ca9bcea45a4c11af7b51000844cba14d5f1450f4","forgejoWorkflowProof":{"runId":12095,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"ccExecution":"pending"},"targetJobCount":7,"observedTargetStates":{"ccExecution":"pending"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"e941d5f1929ace7f9c4e7d75a9ba478c4243df93","deploymentId":"forgejo-main-e941d5f1929ace7f9c4e7d75a9ba478c4243df93","compareStatus":null,"identitySource":"local_build_metadata","runtimeVersion":"1.58.291-laptop-canonical-witness","containsSourceSha":false},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-26T22:19:22.610393+00:00","proof_gate":"canonical_release_pending","source_sha":"64c46d37305bd0312aafc874546c55c8c5fb22ff","external_id":"forgejo-main-64c46d37305b","receipt_type":"canonical_release_status","idempotency_key":"mission:f1f7df5a-c3f4-4a96-9e46-26c1195f1e33:forgejo-release-status:64c46d37305bd0312aafc874546c55c8c5fb22ff:pending:forgejo-main/source=success|forgejo-release/workflow=pending|cc-execution/runtime-proof=pending","mission_step_id":"006158fd-c3e1-4e22-8dba-6221c164b001","command_center_event_id":"f1f7df5a-c3f4-4a96-9e46-26c1195f1e33"},{"id":"e45c946f-87ab-4213-a115-3d49c43500a2","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-mtg5zen5","reason":"pull_request_stale_refresh_required","status":"retryable","metrics":{"receiptBytes":6297,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.56.4-owner-mutation-continuation","prNumber":1132,"terminal":false,"missionId":"fb83e98c-6623-4b4b-8c63-b3c2ea80d243","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"handlerMs":3990,"prReadinessMs":3975,"approvedPlanMs":0,"missionSetupMs":480,"shipAndProveMs":0},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"fb83e98c-6623-4b4b-8c63-b3c2ea80d243"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":6358,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-30T18:53:45.664478+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"1132","receipt_type":"execute_mission","idempotency_key":"mission:fb83e98c-6623-4b4b-8c63-b3c2ea80d243:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"9718ae26-3391-4c2d-b605-5320144c78c6","command_center_event_id":"fb83e98c-6623-4b4b-8c63-b3c2ea80d243"},{"id":"e45faebc-834f-4cc8-96b4-5844de81f7f1","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","cc-execution/runtime-proof":"success"},"mainSha":"3c40e50fac2740e8cec598aeda9dcb81398343ae","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"4271caaad63b61ee4eeb1b23204cfc9781a023f4","releaseState":"verified","sourceInMain":true,"compareStatus":"known_exact_protected_main_push_history","releaseTargets":{"frontend":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"ccExecution":"success"},"requestContractHash":"8435af74304ac366f5c62b50322fa38d719f2d13441b78ce5ad09319902fe8ab","forgejoWorkflowProof":{"runId":16374,"source":"signed_push_receipt","status":"success","results":{},"conclusion":"success","targetStates":{"ccExecution":"success"},"targetJobCount":7,"observedTargetStates":{"ccExecution":"success"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"3c40e50fac2740e8cec598aeda9dcb81398343ae","proofGate":"cc_execution_target_aware_runtime_identity_verified","deploymentId":"forgejo-main-3c40e50fac2740e8cec598aeda9dcb81398343ae","compareStatus":"target_job_success_runtime_verified","workflowRunId":16374,"identitySource":"canonical_release_target_job","runtimeVersion":"1.67.2-queue-isolation","workflowFailed":false,"containsSourceSha":false},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T16:55:15.934531+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"4271caaad63b61ee4eeb1b23204cfc9781a023f4","external_id":"forgejo-main-4271caaad63b","receipt_type":"canonical_release_status","idempotency_key":"mission:b1ade4ae-af67-4f1c-946a-90c0cc84ddda:forgejo-release-status:4271caaad63b61ee4eeb1b23204cfc9781a023f4:verified:forgejo-main/source=success|forgejo-release/workflow=success|cc-execution/runtime-proof=success","mission_step_id":"03e8f540-9be9-4657-84c1-90ddf85af73f","command_center_event_id":"b1ade4ae-af67-4f1c-946a-90c0cc84ddda"},{"id":"e45fb08a-ed2c-496d-af6c-43b38d2661ab","source":"cc-execution","status":"authorized","payload":{"paths":["config/control-plane-capabilities.json","src/__tests__/contracts/command-center-mission-control.test.ts","workers/cc-execution/src/index-mission-control.js","workers/cc-execution/src/index-release-fast-lane.js","workers/cc-execution/src/source-discovery-policy.js","workers/cc-execution/src/version.js"],"reason":"Owner explicitly authorized unfreezing the control plane to repair objective/source planner over-classification and refreeze it.","baseSha":"95195414069160d090399f1eb6bd3482e749efde","issuedAt":1788490047011,"expiresAt":1788490227011,"missionId":"7b5bcb3f-31d7-4c1c-9055-8d3665138c8c","singleUse":true,"authorizationId":"0ddf6afa-0301-4e06-9326-dc07a77a5678"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T02:47:27.979764+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"95195414069160d090399f1eb6bd3482e749efde","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:0ddf6afa-0301-4e06-9326-dc07a77a5678","mission_step_id":"c8d2e7fb-63d3-4363-a68f-946cbc8d543f","command_center_event_id":"7b5bcb3f-31d7-4c1c-9055-8d3665138c8c"},{"id":"e460601d-1aca-4d20-91e4-032bb292ab7f","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-44d49e03d254","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":21703,"releaseCount":0,"toolCallCount":11,"repeatedCallCount":4,"executorlessWaitMs":638051,"firstUsefulResultAt":"2026-09-24T05:10:34.857Z","recoveryAttemptCount":1,"ownerInterruptionCount":0},"version":"1.58.242-persisted-intent-authority","prNumber":3591,"terminal":false,"missionId":"44d49e03-d254-40a5-b682-2e1dda0261fb","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":880,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":632,"approvedPlanMs":0,"missionSetupMs":458,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":280,"ledgerReconcileMs":0,"lineageReconcileMs":178,"resolvePreflightMs":458,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":280,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request after the exact-head KnockLaunch Gate changes state.","receiptRef":{"mode":"full","missionId":"44d49e03-d254-40a5-b682-2e1dda0261fb"},"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":1969,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T05:13:58.713182+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"3591","receipt_type":"execute_mission","idempotency_key":"mission:44d49e03-d254-40a5-b682-2e1dda0261fb:execute_mission:repair_mission_waiting_for_gate:current-generation","mission_step_id":"827eb1fc-651b-4ddf-888e-513e66af0205","command_center_event_id":"44d49e03-d254-40a5-b682-2e1dda0261fb"},{"id":"e460af9e-d0b1-4396-9830-1847060ee8e6","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"40e3f2a508a8435ee2db9c85ac00b701f3dde037","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"40e3f2a508a8435ee2db9c85ac00b701f3dde037","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{},"requestContractHash":"02068adc01611f44be327a2cfbd91f8469c4e8c9fab97945a4701a5fac79ee94","forgejoWorkflowProof":{"error":"workflow_run_id_missing","runId":null},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T05:23:20.923172+00:00","proof_gate":"canonical_release_pending","source_sha":"40e3f2a508a8435ee2db9c85ac00b701f3dde037","external_id":"forgejo-main-40e3f2a508a8","receipt_type":"canonical_release_status","idempotency_key":"mission:4b06bd62-d3eb-4021-896a-564cda253673:forgejo-release-status:40e3f2a508a8435ee2db9c85ac00b701f3dde037:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"23ba892e-a11d-4b48-a9e7-7c55ba24f04e","command_center_event_id":"4b06bd62-d3eb-4021-896a-564cda253673"},{"id":"e462ff8a-b88a-4385-9e0d-8fe571b577aa","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-e98fe9bda1ee","writes":[],"patches":[],"version":1,"approved":true,"missionId":"e98fe9bd-a1ee-43c6-abd5-0543a768146e","repository":"noel/KnockLaunchOS","anchoredEdits":[{"path":"src/KnockLaunchOwnerShell.tsx","after":"  const ownerMembershipTenant = React.useMemo(() => {\n    for (const membership of memberships as any[]) {\n      const nestedTenant = membership?.tenant;\n      if (nestedTenant?.id && isKnockLaunchOsWorkspace(nestedTenant)) return nestedTenant;\n\n      const flattenedTenant = {\n        id: membership?.tenant_id || membership?.tenantId || '',\n        name: membership?.tenant_name || membership?.tenantName || '',\n        company_slug: membership?.tenant_slug || membership?.tenantSlug || membership?.company_slug || '',\n        tenant_type: membership?.tenant_type || membership?.tenantType || '',\n      };\n      if (flattenedTenant.id && isKnockLaunchOsWorkspace(flattenedTenant as any)) return flattenedTenant;\n    }\n    return null;\n  }, [memberships]);\n  const ownerTenantId = activeOwnerTenantId || String(ownerMembershipTenant?.id || '');","before":"  const ownerMembership = React.useMemo(\n    () => memberships.find((membership) => membership.tenant?.id && isKnockLaunchOsWorkspace(membership.tenant)) || null,\n    [memberships],\n  );\n  const ownerTenantId = activeOwnerTenantId || String(ownerMembership?.tenant?.id || '');","expectedSha":"8b94dc71a404e37d78d194bc5b717065b92ac519"}],"ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/KnockLaunchOwnerShell.tsx"],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"e98fe9bd-a1ee-43c6-abd5-0543a768146e","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/KnockLaunchOwnerShell.tsx"],"requestContract":null,"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":"Prime structured exact mutation continuation"},"proofRequirements":null,"controlPlaneUnfreeze":true,"durableMutationResume":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":"Prime structured exact mutation continuation"},"recovery":false,"fingerprint":"1e7e535d60011d322b0b91a3180447166e8eacbedf1772f1de7f44c185899377","replayCount":0,"serializedBytes":2347},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T18:12:05.17408+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:e98fe9bd-a1ee-43c6-abd5-0543a768146e:repository-mutation-intent:1e7e535d60011d322b0b91a3180447166e8eacbedf1772f1de7f44c185899377:0","mission_step_id":"28470d67-24d1-4d8a-87be-9cf0b6254c68","command_center_event_id":"e98fe9bd-a1ee-43c6-abd5-0543a768146e"},{"id":"e463a9dc-be38-4175-ae78-a27a1d7137aa","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success"},"mainSha":"d059e784c8fb33ceeb0e36baec00e818ef3753e8","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"541a44be85b8b5a9ff0f39ad64f808a28bca331c","releaseState":"verified","sourceInMain":true,"compareStatus":"known_exact_protected_main_push_history","releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"success"},"requestContractHash":"3070ba2d3f5aa66114e88b9dcd46f268b4b321cbed6220e5cee11f68481cb0be","forgejoWorkflowProof":{"runId":16185,"source":"signed_push_receipt","status":"success","results":{},"conclusion":"success","targetStates":{"frontend":"success"},"targetJobCount":7,"observedTargetStates":{"frontend":"success"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T04:46:46.15728+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"541a44be85b8b5a9ff0f39ad64f808a28bca331c","external_id":"forgejo-main-541a44be85b8","receipt_type":"canonical_release_status","idempotency_key":"mission:f6f16ba2-f8bb-47fc-a209-b9277901731c:forgejo-release-status:541a44be85b8b5a9ff0f39ad64f808a28bca331c:verified:forgejo-main/source=success|forgejo-release/workflow=success|frontend-cloudflare/live=success","mission_step_id":"1f303e12-b3eb-4802-87a5-154484aa114c","command_center_event_id":"f6f16ba2-f8bb-47fc-a209-b9277901731c"},{"id":"e463e345-94b2-4511-8c47-60e1a27acc16","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"ab664db87968de6adf12a1d74cff09b07b44de1c","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"scope","satisfied":true,"statement":"cc-execution wording resolves to control_plane source scope and excludes unrelated general product source.","proofConditionIds":["runtime"]}],"satisfied":true,"constraints":[{"id":"nonvisual","satisfied":true,"statement":"No visual proof.","proofConditionIds":["runtime"]},{"id":"capability-completeness","satisfied":true,"statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["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":"f911c9a64c1f3bc7b24424769df7f43d4e893531bb82e2afbcfd019c4c1c27ea","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"runtime","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"ccExecution":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["ccExecution"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"f911c9a64c1f3bc7b24424769df7f43d4e893531bb82e2afbcfd019c4c1c27ea"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["ccExecution"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":2},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T04:27:53.122995+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"ab664db87968de6adf12a1d74cff09b07b44de1c","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:658bba0a-cc89-4847-b2da-6b1b5d4943f1:request-contract:f911c9a64c1f3bc7b24424769df7f43d4e893531bb82e2afbcfd019c4c1c27ea:ab664db87968de6adf12a1d74cff09b07b44de1c:verified:","mission_step_id":"2657e4c8-058b-4497-9e83-c196236951bc","command_center_event_id":"658bba0a-cc89-4847-b2da-6b1b5d4943f1"},{"id":"e4642214-9d46-46d2-9c89-e8ebc96d0437","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/forgejo-canonical-control-plane","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.36.10-mission-continuation-fix","prNumber":null,"terminal":false,"missionId":"1f18e786-30b7-4f30-ae7b-c8cde9c34ff1","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":null,"nextAction":"Inspect the bounded repository paths, synthesize exact files or anchored_edits, and call /repair/continue-mission automatically with this missionId without another owner prompt.","receiptRef":{"mode":"full","missionId":"1f18e786-30b7-4f30-ae7b-c8cde9c34ff1"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":8981,"likelyAffectedFiles":["scripts/visual-witness-hosted-runner/src/universal-witness.mjs","scripts/visual-witness-hosted-runner/src/runner-entrypoint.mjs","workers/cc-execution/src/index-visual-witness-fast-path.js",".github/workflows/production-release-conductor.yml","scripts/resolve-autonomous-change-plan.mjs","scripts/resolve-production-workflow-run.mjs",".github/workflows/canonical-pull-request-gate.yml","workers/cc-execution/src/index-controlled-deploy-gate.js","src/routes/","src/pages/","src/components/","src/index.css"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-13T22:14:41.619983+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:1f18e786-30b7-4f30-ae7b-c8cde9c34ff1:execute_mission:repair_mission_synthesis_ready","mission_step_id":"baee5821-9dc5-4ee0-ae4f-e70e446578b4","command_center_event_id":"1f18e786-30b7-4f30-ae7b-c8cde9c34ff1"},{"id":"e466d109-3075-496f-b134-cd6858433fcc","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[{"path":"public/console/index-v3-4.html","content":"<!doctype html>\n<html lang=\"en\"><head><meta charset=\"utf-8\"><meta name=\"viewport\" content=\"width=device-width,initial-scale=1\"><meta name=\"robots\" content=\"noindex,nofollow\"><meta name=\"referrer\" content=\"no-referrer\"><title>KNOCKLAUNCH Console</title><link rel=\"stylesheet\" href=\"./console.css?v=live-witness-control-room-3\"></head>\n<body><div id=\"app\"><p>Opening KNOCKLAUNCH Console…</p></div>\n<script>\n(()=>{\n  const nativeFetch=window.fetch.bind(window);\n  const pending=new Map();\n  let seq=0;\n  window.addEventListener('message',event=>{\n    if(event.source!==parent||event.origin!==location.origin||event.data?.type!=='kl-console-result')return;\n    const slot=pending.get(event.data.id);if(!slot)return;\n    pending.delete(event.data.id);clearTimeout(slot.timer);\n    if(event.data.error)slot.resolve(new Response(JSON.stringify({ok:false,status:'unavailable',witnessHealthy:false,witnessActive:false,activeJobs:0,error:event.data.error}),{status:503,headers:{'content-type':'application/json'}}));\n    else slot.resolve(new Response(JSON.stringify(event.data.data||{}),{status:200,headers:{'content-type':'application/json'}}));\n  });\n  function witnessHealth(){\n    return new Promise(resolve=>{\n      const id='console-witness-'+Date.now()+'-'+(++seq);\n      const timer=setTimeout(()=>{pending.delete(id);resolve(new Response(JSON.stringify({ok:false,status:'unavailable',witnessHealthy:false,witnessActive:false,activeJobs:0,error:'Witness health timed out'}),{status:503,headers:{'content-type':'application/json'}}));},12000);\n      pending.set(id,{resolve,timer});\n      parent.postMessage({type:'kl-console-request',id,action:'witness',payload:{}},location.origin);\n    });\n  }\n  window.fetch=(input,init)=>{\n    const url=typeof input==='string'?input:String(input?.url||'');\n    if(url.startsWith('https://laptop-witness.knocklaunch.app/health'))return witnessHealth();\n    return nativeFetch(input,init);\n  };\n})();\n</script>\n<script type=\"module\" src=\"./console.js?v=live-witness-control-room-3\"></script></body></html>"}],"branch":"ai/objective-first-repair-748b503bdd0d","writes":[],"patches":[],"version":1,"approved":true,"missionId":"748b503b-dd0d-48b8-b7f3-b8be40a0c49f","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["public/console/operator.mjs","public/console/console.js","public/console/console.css","public/console/index-v3-4.html","src/pages/admin/GodModeCommandConsole.tsx"],"anchored_edits":[{"path":"public/console/operator.mjs","edits":[{"new_content":"try { const saved=JSON.parse(sessionStorage.getItem('kl-operator-context')||'null');if(saved)context={...context,route:String(saved.route||''),tenantRef:String(saved.tenantRef||''),roleRef:String(saved.roleRef||''),viewports:Array.isArray(saved.viewports)&&saved.viewports.length?saved.viewports:['desktop','mobile']}; } catch {}","old_content":"try { const saved=JSON.parse(sessionStorage.getItem('kl-operator-context')||'null');if(saved)context={...context,...saved}; } catch {}"},{"new_content":"function save(){try{sessionStorage.setItem('kl-operator-context',JSON.stringify({route:context.route||'',tenantRef:context.tenantRef||'',roleRef:context.roleRef||'',viewports:Array.isArray(context.viewports)&&context.viewports.length?context.viewports:['desktop','mobile']}));}catch{}}","old_content":"function save(){try{sessionStorage.setItem('kl-operator-context',JSON.stringify(context));}catch{}}"},{"new_content":"function liveRun(){return liveActivity()?.active||null;}\nfunction recentRuns(){const runs=liveActivity()?.runs;return Array.isArray(runs)?runs:[];}\nfunction focusRun(){return liveRun()||recentRuns()[0]||null;}\nfunction witnessActivityMarkup(){const active=liveRun(),seen=new Set(),runs=[];for(const run of [active,...recentRuns()]){if(!run?.id||seen.has(run.id))continue;seen.add(run.id);runs.push(run);if(runs.length>=6)break;}if(!runs.length)return '<div class=\"witness-standby-state\"><b>Laptop witness standing by.</b><span>The next witness run will appear here automatically.</span></div>';return `<div class=\"witness-activity-list\">${runs.map(run=>`<article class=\"witness-activity-item ${run.terminal?'complete':'live-run'}\"><div><span class=\"live-kicker\">${run.terminal?'COMPLETE':'LIVE'}</span><b>${esc(run.currentRoute||'Witness run')}</b><span>${esc(run.currentViewport||'viewport pending')} · ${esc(String(run.phase||run.status||'working').replaceAll('_',' '))}</span></div><time>${esc(new Date(run.lastProgressAt||run.completedAt||run.startedAt||run.createdAt||Date.now()).toLocaleTimeString())}</time>${run.ownerComments?.length?`<small>${run.ownerComments.length} owner comment${run.ownerComments.length===1?'':'s'}</small>`:''}</article>`).join('')}</div>`;}\nfunction evidence(){const run=focusRun(),route=run?.currentRoute||'',artifacts=[...(run?.artifactReceipts||[])];return artifacts.filter(a=>(!a.viewport||a.viewport===activeView)&&(!a.route||!route||a.route===route)&&String(a.phase||'').toLowerCase()!=='preflight').sort((a,b)=>{const rank={after:3,observe:2,before:1};const phaseRank=(rank[String(b.phase||'').toLowerCase()]||0)-(rank[String(a.phase||'').toLowerCase()]||0);return phaseRank||String(b.capturedAt||'').localeCompare(String(a.capturedAt||''));});}","old_content":"function liveRun(){return liveActivity()?.active||null;}\nfunction evidence(){const live=liveRun(),route=live?.currentRoute||context.route,artifacts=[...(live?.artifactReceipts||[]),...(latest?.artifactReceipts||[])];return artifacts.filter(a=>(!a.viewport||a.viewport===activeView)&&(!a.route||!route||a.route===route)&&String(a.phase||'').toLowerCase()!=='preflight').sort((a,b)=>{const rank={after:3,observe:2,before:1};const phaseRank=(rank[String(b.phase||'').toLowerCase()]||0)-(rank[String(a.phase||'').toLowerCase()]||0);return phaseRank||String(b.capturedAt||'').localeCompare(String(a.capturedAt||''));});}"},{"new_content":" const live=liveRun(),focus=focusRun(),livePending=Boolean(live&&!live.terminal);if(livePending&&['desktop','mobile'].includes(live.currentViewport))activeView=live.currentViewport;const displayRoute=focus?.currentRoute||'',candidate=evidence()[0]||focus?.latestProof,proof=String(candidate?.phase||'').toLowerCase()==='preflight'?null:candidate,url=imageUrl(proof?.signedUrl),pending=livePending,localConnected=options.localConnected?.()===true,hostedOnline=options.hostedOnline?.()!==false,system=options.systemStatus?.()||{},desktop=system.desktop||{},laptop=system.laptop||{},services=system.services||{},renderVerified=Boolean(focus?.terminal&&url),proofIncomplete=Boolean(focus?.terminal&&!url);","old_content":" const live=liveRun(),livePending=Boolean(live&&!live.terminal),displayRoute=live?.currentRoute||context.route,candidate=evidence()[0]||live?.latestProof||latest?.[activeView+'Proof'],proof=String(candidate?.phase||'').toLowerCase()==='preflight'?null:candidate,url=imageUrl(proof?.signedUrl),pending=livePending||Boolean(context.jobId&&latest&&!latest.terminal),localConnected=options.localConnected?.()===true,hostedOnline=options.hostedOnline?.()!==false,system=options.systemStatus?.()||{},desktop=system.desktop||{},laptop=system.laptop||{},services=system.services||{},renderVerified=Boolean((live?.terminal||latest?.terminal)&&url),proofIncomplete=Boolean((live?.terminal||latest?.terminal)&&!url);"},{"new_content":"<span class=\"pill ${livePending?'running':laptop.online?'live':'failed'}\">${livePending?'Witness live':laptop.online?'Witness ready':'Witness offline'}</span>","old_content":"<span class=\"pill ${pending?'running':proofIncomplete?'failed':renderVerified?'live':'waiting'}\">${pending?'Witness running':proofIncomplete?'Proof incomplete':renderVerified?'Proof ready':'Ready'}</span>"},{"new_content":"${livePending?'LIVE COMMENTARY':'INSPECT'}","old_content":"${livePending?'LIVE COMMENTARY':'OPERATOR'}"},{"new_content":"${livePending?'Comment on live witness':'What should the witness check?'}","old_content":"${livePending?'Comment on live witness':'What do you want to see?'}"},{"new_content":"Your Laptop witness is connected and standing by. Ask for any KNOCKLAUNCH page and the live run will appear beside you automatically.","old_content":"Tell KNOCKLAUNCH what page you want to inspect. Your Laptop witness is already connected and ready to capture it."},{"new_content":"<section class=\"panel operator-witness ${livePending?'is-live':'is-standby'}\"><div class=\"provider-head\"><div><div class=\"eyebrow witness-live-label\">${livePending?'● LIVE':focus?.terminal?'LAST RUN':'STANDBY'}</div><h2>Live Witness</h2>","old_content":"<section class=\"panel operator-witness\"><div class=\"provider-head\"><div><div class=\"eyebrow witness-live-label\">${livePending?'● LIVE':live?.terminal?'COMPLETE':'READY'}</div><h2>Visual Witness</h2>"},{"new_content":"<div class=\"operator-route muted\">${focus?esc(displayRoute||'Witness run'):'Laptop witness standing by'}${focus?.currentViewport?' · '+esc(focus.currentViewport):''}</div><p class=\"small muted\" role=\"status\">${focus?esc(String(focus.phase||focus.status||'ready').replaceAll('_',' ')):'New Laptop witness runs appear here automatically.'}</p><div class=\"operator-image ${activeView} ${focus?'':'standby'}\">","old_content":"<div class=\"operator-route muted\">${esc(displayRoute||'Choose a page in chat')}${live?.currentViewport?' · '+esc(live.currentViewport):context.tenantRef?' · '+esc(context.tenantRef):''}</div><p class=\"small muted\" role=\"status\">${esc((live?.phase||live?.status||latest?.jobProgress?.phase||latest?.status||'Your capture will appear here.').replaceAll?.('_',' ')||'Ready')}</p><div class=\"operator-image ${activeView}\">"},{"new_content":"${livePending?'Witness is working. The newest rendered frame will appear here automatically.':focus&&proofIncomplete?'The last run finished without accepted rendered proof. It remains in Recent witness activity, but it does not block the Laptop.':focus?'No rendered image is available for this viewport.':'Laptop witness is connected and standing by. New runs appear here automatically.'}","old_content":"${pending?'Capturing and waiting for the real page to finish rendering…':proofIncomplete?'Route checks passed, but the witness only returned preflight evidence. This run is not accepted as rendered proof. Capture again after the witness update.':latest?'No post-render image for this screen size. Use Capture '+activeView+'.':'Desktop and mobile captures, directly from your laptop.'}"},{"new_content":"<section class=\"operator-live-activity\"><div class=\"provider-head\"><div><div class=\"eyebrow\">WITNESS ACTIVITY</div><h3>Recent runs</h3></div><span class=\"muted small\">Auto-refreshing</span></div>${witnessActivityMarkup()}</section>","old_content":"<div class=\"actions\"><button data-prompt=\"now ${activeView}\" ${sending||livePending||!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":"This frame expired. The next live witness frame will replace it automatically.","old_content":"This temporary capture expired or could not load. Use Capture to refresh it."},{"new_content":"e.message+' The Console will keep following the witness automatically.'","old_content":"e.message+' Use Check progress to retry.'"},{"new_content":"export function mountOperator(element,config){options=config;host=element;if(element.querySelector('.operator-main')){render();return;}render();}","old_content":"export function mountOperator(element,config){options=config;host=element;if(element.querySelector('.operator-main')){render();return;}render();if(context.jobId&&(!latest||!latest.terminal)&&!sending)send('status',{poll:true});}"}]},{"path":"public/console/console.js","edits":[{"new_content":"import { mountOperator } from './operator.mjs?v=live-witness-control-room-3';","old_content":"import { mountOperator } from './operator.mjs?v=live-witness-control-room-2';"},{"new_content":"import { stages, actions } from './catalog.mjs?v=live-witness-control-room-3';","old_content":"import { stages, actions } from './catalog.mjs?v=live-witness-control-room-2';"}]},{"path":"public/console/console.css","edits":[{"new_content":"@media(max-width:700px){.console-header{padding:12px;align-items:flex-start}.console-header p{display:none}.connection-strip{gap:5px}.connection-strip>span{padding:6px 8px;font-size:10px}.console-header #refresh{display:none}.console-nav,.layout:has(.operator-main)>.console-nav{top:68px;padding:6px 8px}.console-main,.operator-main{padding:8px}.machine-card{padding:15px}.mini-metrics{grid-template-columns:repeat(3,minmax(85px,1fr));overflow-x:auto}.operator-image{min-height:350px}}\n\n/* Live Witness Overview v3.4 */\n.layout:has(.operator-main)>.console-nav{position:relative!important;top:auto!important}\n.operator-main{padding-top:18px!important}\n.operator-witness.is-standby .operator-image{flex:0 0 300px;min-height:300px;max-height:300px;justify-content:center}\n.operator-witness.is-live{border-color:rgba(120,230,173,.34);box-shadow:0 18px 54px rgba(0,0,0,.24),0 0 32px rgba(72,210,137,.07)}\n.operator-live-activity{margin-top:14px;padding-top:12px;border-top:1px solid var(--kl-line)}\n.operator-live-activity>.provider-head{margin-bottom:9px}\n.operator-live-activity h3{margin:2px 0 0}\n.operator-live-activity .witness-activity-list{max-height:220px;overflow:auto;padding-right:2px}\n.witness-standby-state{display:grid;gap:4px;padding:14px;border:1px dashed rgba(120,230,173,.18);border-radius:13px;background:rgba(255,255,255,.018);color:var(--kl-muted)}\n.witness-standby-state b{color:#d9f7e6}\n.operator-image.standby{color:var(--kl-muted)}\n@media(max-width:1050px){.operator-witness.is-standby .operator-image{max-height:none;min-height:240px;flex:0 0 240px}}\n@media(max-width:700px){.operator-main{padding-top:10px!important}.operator-witness.is-standby .operator-image{min-height:210px;flex-basis:210px}.operator-live-activity .witness-activity-list{max-height:260px}}","old_content":"@media(max-width:700px){.console-header{padding:12px;align-items:flex-start}.console-header p{display:none}.connection-strip{gap:5px}.connection-strip>span{padding:6px 8px;font-size:10px}.console-header #refresh{display:none}.console-nav,.layout:has(.operator-main)>.console-nav{top:68px;padding:6px 8px}.console-main,.operator-main{padding:8px}.machine-card{padding:15px}.mini-metrics{grid-template-columns:repeat(3,minmax(85px,1fr));overflow-x:auto}.operator-image{min-height:350px}}"}]},{"path":"src/pages/admin/GodModeCommandConsole.tsx","edits":[{"new_content":"src=\"/console/index-v3-4.html\"","old_content":"src=\"/console/index-v3-3.html\""}]}],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"748b503b-dd0d-48b8-b7f3-b8be40a0c49f","ownerApproved":true,"releaseIntent":null,"sourceTargets":["public/console/operator.mjs","public/console/console.js","public/console/console.css","public/console/index-v3-4.html","src/pages/admin/GodModeCommandConsole.tsx"],"requestContract":null,"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":false,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"proofRequirements":null,"controlPlaneUnfreeze":false,"durableMutationResume":true,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"recovery":false,"fingerprint":"b820765b4f51d9e4541b898760728e035fcbc092a6cbfc40396a8cae8ca2e5e2","replayCount":0,"serializedBytes":15760},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T04:17:23.138515+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:748b503b-dd0d-48b8-b7f3-b8be40a0c49f:repository-mutation-intent:b820765b4f51d9e4541b898760728e035fcbc092a6cbfc40396a8cae8ca2e5e2:0","mission_step_id":"df50b4eb-e3a2-42c8-acc1-675460a6bc0c","command_center_event_id":"748b503b-dd0d-48b8-b7f3-b8be40a0c49f"},{"id":"e467a444-fcc9-4ea3-893e-d1964fb68d3e","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/big-papis-unified-owner-os-20260825","reason":"pull_request_stale_refresh_required","status":"retryable","metrics":{"receiptBytes":76778,"releaseCount":0,"toolCallCount":68,"repeatedCallCount":58,"ownerInterruptionCount":0},"version":"1.50.35-defer-existing-pr-refresh","prNumber":730,"terminal":false,"missionId":"260f19f5-c09a-4b03-bc3d-87bbf19aa93f","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":null,"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"260f19f5-c09a-4b03-bc3d-87bbf19aa93f"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":5743,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-25T06:39:10.544791+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"730","receipt_type":"execute_mission","idempotency_key":"mission:260f19f5-c09a-4b03-bc3d-87bbf19aa93f:execute_mission:repair_mission_pr_ready_retryable","mission_step_id":"b0a18c34-e5e1-45ed-a441-5ba057d76a57","command_center_event_id":"260f19f5-c09a-4b03-bc3d-87bbf19aa93f"},{"id":"e4684e31-d67d-40d8-abd9-0c0966bc5b8f","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-1a7fc909ee75","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":10730,"releaseCount":0,"toolCallCount":4,"repeatedCallCount":0,"executorlessWaitMs":26326,"firstUsefulResultAt":"2026-10-03T04:12:54.075Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.72-knocklaunch-mcp-fast-batch","prNumber":4619,"terminal":false,"missionId":"1a7fc909-ee75-46b5-8938-fac461de6e81","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":2376,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":2201,"approvedPlanMs":0,"missionSetupMs":428,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":326,"ledgerReconcileMs":0,"lineageReconcileMs":102,"resolvePreflightMs":428,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":326,"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":"1a7fc909-ee75-46b5-8938-fac461de6e81"},"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":1524,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T04:13:25.190856+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4619","receipt_type":"execute_mission","idempotency_key":"mission:1a7fc909-ee75-46b5-8938-fac461de6e81:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"f6a45f81-aaaa-4977-85cc-cfea6f502a55","command_center_event_id":"1a7fc909-ee75-46b5-8938-fac461de6e81"},{"id":"e46fdc3d-e601-4c77-8037-3541a35cdf36","source":"cc-execution","status":"blocked","payload":{"reason":"compiler_recovery_diff_window_limit","failureClass":null,"sourceTargets":["src/pages/card-grading/PCGSlabUpload.tsx"],"dependencyReason":null,"dependencyStatus":null,"providerAttempts":[],"automaticExecutorAssigned":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-15T23:46:21.482206+00:00","proof_gate":"bounded_implementation_checkpoint_persisted","source_sha":"3603b8eea05372d9bffcc59286d1ec13a8438adf","external_id":null,"receipt_type":"bounded_implementation_continuation","idempotency_key":"mission:79e64dfa-a3a4-4f93-b18b-a728dd5757fa:compiler:3603b8eea05372d9bffcc59286d1ec13a8438adf:src/pages/card-grading/PCGSlabUpload.tsx","mission_step_id":"7b544669-3132-4ea1-94d9-68b0004ca6bb","command_center_event_id":"79e64dfa-a3a4-4f93-b18b-a728dd5757fa"},{"id":"e4717f4f-6e91-48e6-aee7-76469fd10253","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"release","branch":"ai/objective-first-repair-80561269cf53","reason":"canonical_release_queue_busy:11617","status":"blocked","metrics":{"receiptBytes":28791,"releaseCount":0,"toolCallCount":11,"repeatedCallCount":4,"executorlessWaitMs":462164,"firstUsefulResultAt":"2026-09-24T20:12:53.893Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.261-nonvisual-proof-precedence","prNumber":3671,"terminal":false,"missionId":"80561269-cf53-49a2-9887-be6cb1591d83","operation":"execute_mission","proofGate":"canonical_release_blocked","sourceSha":"5e3477b22fa408685d31862d7eec339a4e64c2ba","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1666,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":155,"approvedPlanMs":0,"missionSetupMs":380,"providerAuthMs":0,"shipAndProveMs":878,"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":null,"receiptRef":{"mode":"full","missionId":"80561269-cf53-49a2-9887-be6cb1591d83"},"performance":null,"deploymentId":"forgejo-main-5e3477b22fa4","releaseState":"pending","workflowRunId":11617,"releaseTargets":{"frontend":false,"onrunner":true,"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":1403,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T20:21:13.647533+00:00","proof_gate":"canonical_release_blocked","source_sha":"5e3477b22fa408685d31862d7eec339a4e64c2ba","external_id":"forgejo-main-5e3477b22fa4","receipt_type":"execute_mission","idempotency_key":"mission:80561269-cf53-49a2-9887-be6cb1591d83:execute_mission:canonical_release_blocked:current-generation","mission_step_id":"18226292-9ac1-4db7-8994-e7eadab836b7","command_center_event_id":"80561269-cf53-49a2-9887-be6cb1591d83"},{"id":"e473c59c-accc-4686-847c-aa5b2603c6f4","source":"cc-execution","status":"release_verification_pending","payload":{"ok":true,"jobId":null,"phase":"release","branch":"ai/seaside-booking-contrast-authority","reason":null,"status":"release_verification_pending","metrics":{"receiptBytes":6015,"releaseCount":0,"toolCallCount":7,"repeatedCallCount":3,"ownerInterruptionCount":0},"version":"1.30.18-repair-continuation-release","prNumber":4119,"terminal":false,"missionId":"54b95b5e-769f-4f65-abf7-8a5ec58ef86a","operation":"ship_and_prove","proofGate":"ship_and_prove_release_pending","sourceSha":"a47a41427de46f4e58f889794714132d52f1f6ed","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"54b95b5e-769f-4f65-abf7-8a5ec58ef86a"},"performance":null,"deploymentId":"canonical-release-a47a41427de4","workflowRunId":31067226795,"releaseTargets":{"frontend":true,"onrunner":false,"ccExecution":false,"supabaseEdge":false},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"onePullRequest":true,"terminalProofRequired":true},"sourceReceiptBytes":1213,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"c55998b4-82a3-467e-8d35-177bb4785f6e","created_at":"2026-08-06T03:00:49.815938+00:00","proof_gate":"ship_and_prove_release_pending","source_sha":"a47a41427de46f4e58f889794714132d52f1f6ed","external_id":"canonical-release-a47a41427de4","receipt_type":"ship_and_prove","idempotency_key":"mission:54b95b5e-769f-4f65-abf7-8a5ec58ef86a:ship_and_prove:ship_and_prove_release_pending","mission_step_id":"b2d2d018-e6c4-44d0-8667-fd070c1d4e60","command_center_event_id":"54b95b5e-769f-4f65-abf7-8a5ec58ef86a"},{"id":"e473f7ca-874f-445b-9695-0a51d3d1c3a1","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"ee449445ff31f66a557f1f563a888bcefcc73f67","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"ee449445ff31f66a557f1f563a888bcefcc73f67","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":"db0a70a2e85a035671c31b883465f92e4ee90e5ca10b32532793f5dce1edf0b8","forgejoWorkflowProof":{"runId":9353,"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-17T22:19:52.29315+00:00","proof_gate":"canonical_release_pending","source_sha":"ee449445ff31f66a557f1f563a888bcefcc73f67","external_id":"forgejo-main-ee449445ff31","receipt_type":"canonical_release_status","idempotency_key":"mission:632ab1e8-4721-4e31-9017-d8cc5c5ffd16:forgejo-release-status:ee449445ff31f66a557f1f563a888bcefcc73f67:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"fbfde941-4839-4e25-bdae-611c4698a725","command_center_event_id":"632ab1e8-4721-4e31-9017-d8cc5c5ffd16"},{"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":"e477dec7-35ce-4b51-9e1e-7bcaf54dfabd","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-1cd1aaf98b69","writes":[],"patches":[],"version":1,"approved":true,"missionId":"1cd1aaf9-8b69-4dda-bce0-91cb0fa25050","objective":"EXPLICIT OWNER-AUTHORIZED CONTROL PLANE MAINTENANCE. For a green exact-head PR, reuse already-loaded merge-base/current-main/mergeable evidence and skip the redundant /repo/pr/ready call when that evidence is exact. Keep /repo/pr/ready as fail-closed fallback for ambiguous evidence. Gate, merge, release cc-execution, then immediately retest queue reconciliation against PR #5041.","operation":"repository_mutation","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["workers/cc-execution/src/entrypoint-owner-status.js","workers/cc-execution/test/release-orchestration-invariants.test.js"],"anchored_edits":[{"path":"workers/cc-execution/src/entrypoint-owner-status.js","new_content":"    const loadedGreenBaseSha = String(pull?.merge_base || pull?.merge_base_sha || pull?.base?.sha || pull?.base?.id || \"\").trim();\n    const loadedGreenCurrentMainSha = String(currentMainSha || \"\").trim();\n    const loadedGreenReady = /^[0-9a-f]{40}$/i.test(loadedGreenBaseSha)\n      && /^[0-9a-f]{40}$/i.test(loadedGreenCurrentMainSha)\n      && loadedGreenBaseSha === loadedGreenCurrentMainSha\n      && pull?.mergeable === true;\n    const ready = loadedGreenReady\n      ? { ok: true, status: 200, body: { ok: true, proofGate: \"automatic_merge_loaded_exact_head_ready\" } }\n      : await commandCenterPost(env, ctx, \"/repo/pr/ready\", { repository: DEFAULT_REPOSITORY, prNumber });\n    if (!ready.ok || ready.body?.ok === false) {","old_content":"    const ready = await commandCenterPost(env, ctx, \"/repo/pr/ready\", { repository: DEFAULT_REPOSITORY, prNumber });\n    if (!ready.ok || ready.body?.ok === false) {"},{"path":"workers/cc-execution/test/release-orchestration-invariants.test.js","new_content":"  assert.match(ownerStatus, /exactHeadCommitStatusAuthoritative: true/);\n  assert.match(ownerStatus, /if \\(exactGateState === \"success\"\\)/);\n  assert.match(ownerStatus, /automatic_merge_loaded_exact_head_ready/);\n  assert.match(ownerStatus, /loadedGreenBaseSha === loadedGreenCurrentMainSha/);\n  assert.match(ownerStatus, /pull\\?\\.mergeable === true/);","old_content":"  assert.match(ownerStatus, /exactHeadCommitStatusAuthoritative: true/);\n  assert.match(ownerStatus, /if \\(exactGateState === \"success\"\\)/);"}],"implementation":{"files":[],"writes":[]},"requestContract":{"outcomes":[{"id":"outcome-control-plane-loaded-readiness","statement":"The control plane must progress an exact-head green mergeable PR from already-loaded current-main evidence without another readiness network round trip.","proofConditionIds":["proof-repository","proof-runtime"]}],"constraints":[{"id":"constraint-control-plane-fallback","statement":"The control plane must fall back to canonical /repo/pr/ready whenever loaded merge-base/current-main/mergeable evidence is missing or ambiguous.","proofConditionIds":["proof-repository","proof-runtime"]}],"proofConditions":[{"id":"proof-repository","kind":"repository","claim":"Loaded green readiness fast path passes canonical Gate and merges.","required":true},{"id":"proof-runtime","kind":"runtime","claim":"Live cc execution contains loaded readiness fast path with canonical ambiguity fallback.","required":true}]},"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":null,"ownerApproved":true,"releaseIntent":null,"sourceTargets":["workers/cc-execution/src/entrypoint-owner-status.js","workers/cc-execution/test/release-orchestration-invariants.test.js"],"requestContract":{"outcomes":[{"id":"outcome-control-plane-loaded-readiness","statement":"The control plane must progress an exact-head green mergeable PR from already-loaded current-main evidence without another readiness network round trip.","proofConditionIds":["proof-repository","proof-runtime"]}],"constraints":[{"id":"constraint-control-plane-fallback","statement":"The control plane must fall back to canonical /repo/pr/ready whenever loaded merge-base/current-main/mergeable evidence is missing or ambiguous.","proofConditionIds":["proof-repository","proof-runtime"]}],"proofConditions":[{"id":"proof-repository","kind":"repository","claim":"Loaded green readiness fast path passes canonical Gate and merges.","required":true},{"id":"proof-runtime","kind":"runtime","claim":"Live cc execution contains loaded readiness fast path with canonical ambiguity fallback.","required":true}]},"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["workers/cc-execution/src/entrypoint-owner-status.js","workers/cc-execution/test/release-orchestration-invariants.test.js"],"controlPlaneMaintenanceReason":"Owner explicitly requested seconds-class control plane queue decisions. Avoid redundant /repo/pr/ready network validation when already-loaded exact PR/main/Gate evidence proves merge readiness; retain canonical fallback when evidence is ambiguous."},"proofRequirements":null,"controlPlaneUnfreeze":true,"durableMutationResume":true,"controlPlaneMaintenance":true,"controlPlaneMaintenancePaths":["workers/cc-execution/src/entrypoint-owner-status.js","workers/cc-execution/test/release-orchestration-invariants.test.js"],"controlPlaneMaintenanceReason":"Owner explicitly requested seconds-class control plane queue decisions. Avoid redundant /repo/pr/ready network validation when already-loaded exact PR/main/Gate evidence proves merge readiness; retain canonical fallback when evidence is ambiguous."},"recovery":false,"fingerprint":"2f36f2ac738181cf37482f6ffe8f35ab57d7058771a5501ac271e8c8ec9dd8c1","replayCount":0,"serializedBytes":5686},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T20:47:50.948407+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:1cd1aaf9-8b69-4dda-bce0-91cb0fa25050:repository-mutation-intent:2f36f2ac738181cf37482f6ffe8f35ab57d7058771a5501ac271e8c8ec9dd8c1:0","mission_step_id":"6fc48a19-39b6-4566-8a4d-763300327aac","command_center_event_id":"1cd1aaf9-8b69-4dda-bce0-91cb0fa25050"},{"id":"e47c72dc-8e2f-47c7-ab39-5e0c41dd7571","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/platform-golden-path-foundation","reason":null,"status":"source_resolution_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.66-repair-generation-continuation","prNumber":null,"terminal":false,"missionId":"85f7fb9f-5f24-4711-b9f9-052c060769ae","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":704,"providerAuthMs":0,"ledgerPrepareMs":704,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":704,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":704,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Resolve bounded authoritative Forgejo source targets, then call /mission/execute again with this same missionId and exact files or anchored_edits. Do not switch workflows.","receiptRef":{"mode":"full","missionId":"85f7fb9f-5f24-4711-b9f9-052c060769ae"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2805,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-06T12:48:05.834826+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:85f7fb9f-5f24-4711-b9f9-052c060769ae:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"04d2e58c-1ecf-477f-97f9-cc5ede663164","command_center_event_id":"85f7fb9f-5f24-4711-b9f9-052c060769ae"},{"id":"e4803448-a455-432b-a112-d33e039ebac2","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":null,"reason":"retryable_provider_transport:GET:The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":2337,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.50.18-existing-pr-adoption","prNumber":null,"terminal":false,"missionId":"7cc7c677-d191-4e2d-a1bd-6476ac3976ff","operation":"execute_mission","proofGate":"repair_mission_execution_retryable","sourceSha":null,"timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"7cc7c677-d191-4e2d-a1bd-6476ac3976ff"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3512,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-24T15:02:47.436652+00:00","proof_gate":"repair_mission_execution_retryable","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:7cc7c677-d191-4e2d-a1bd-6476ac3976ff:execute_mission:repair_mission_execution_retryable","mission_step_id":"9b5f5fff-5b4a-4fe3-b14c-4b7929f4fa91","command_center_event_id":"7cc7c677-d191-4e2d-a1bd-6476ac3976ff"},{"id":"e48081d6-337d-4e79-b47c-8e55f3aeb96f","source":"cc-execution","status":"deployment_dispatched","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-2ab04458852c","reason":null,"status":"deployment_dispatched","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":null,"prNumber":3214,"terminal":false,"missionId":"2ab04458-852c-4a64-8e1e-2a026ef2d358","operation":"automatic_mission_resume","proofGate":"canonical_release_dispatched","sourceSha":"c2880d33c2866690c18810d58d2cbe9e9c95114a","timingsMs":{"prReadinessMs":148,"approvedPlanMs":0,"shipAndProveMs":2323,"repositoryMutationMs":0,"repositoryProviderMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"2ab04458-852c-4a64-8e1e-2a026ef2d358"},"performance":null,"deploymentId":"forgejo-main-c2880d33c286","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":2125,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-19T15:08:52.751925+00:00","proof_gate":"canonical_release_dispatched","source_sha":null,"external_id":"3214","receipt_type":"automatic_mission_resume","idempotency_key":"mission:2ab04458-852c-4a64-8e1e-2a026ef2d358:automatic-mission-resume:3214:canonical_release_dispatched","mission_step_id":"cfef4416-0a20-41bd-9519-351e989b50ec","command_center_event_id":"2ab04458-852c-4a64-8e1e-2a026ef2d358"},{"id":"e48137c0-3351-4439-bb1b-003cf751f14a","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"d96c3def7d106caee0f275deaeecefecf5071ffe","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"outcome-1","satisfied":true,"statement":"Continue and complete the owner's PCG public submit work. On /prestigious-card-grading/submit add a customer-visible Batch Upload control using gallery/device multi-select (not forced camera), support multiple cards with front/back pairing plus review/remove/replace before submit, preserve single-card flow, and wire the selected images into the existing PCG public submission backend so they persist with the created submission/cards rather than being cosmetic UI only. Keep customer copy factual and simple. Display the real grading service tiers exactly: 2 Weeks $12/card, 1 Week $15/card, 3 Days $20/card, Same Day $25/card. Only claim delivery/return behavior the backend actually supports. Preserve PCG branding and mobile usability. Add focused contract coverage. Carry through Gate, squash merge, deploy, and live verification at https://app.knocklaunch.app/prestigious-card-grading/submit. Done means live.","proofConditionIds":["proof-production","proof-visual"]}],"satisfied":true,"constraints":[{"id":"capability-completeness","satisfied":true,"statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","proofConditionIds":["proof-production"]},{"id":"atomic-capability-lifecycle","satisfied":true,"statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","proofConditionIds":["proof-production"]}],"contractHash":"fff062de690deeea581184e1184f3fa3a14d5f3949077badb3ba5c4fb4af222e","releaseBound":true,"witnessBound":true,"visualRequested":true,"visualSatisfied":true,"conditionResults":[{"id":"proof-production","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"supabaseEdge":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["supabaseEdge"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"fff062de690deeea581184e1184f3fa3a14d5f3949077badb3ba5c4fb4af222e"},"required":true,"satisfied":true},{"id":"proof-visual","kind":"visual","evidence":{"modeBound":true,"claimBound":true,"routeBound":true,"witnessMode":"observe","witnessRoute":"https://app.knocklaunch.app/prestigious-card-grading/submit","currentSourceSha":"d96c3def7d106caee0f275deaeecefecf5071ffe","witnessSourceSha":"d96c3def7d106caee0f275deaeecefecf5071ffe","verificationState":"verified","witnessRequestContractHash":"fff062de690deeea581184e1184f3fa3a14d5f3949077badb3ba5c4fb4af222e"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["supabaseEdge"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":1},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T00:57:02.633358+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"d96c3def7d106caee0f275deaeecefecf5071ffe","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:6fb70dfa-1cad-4b4b-ab7a-7632c2a405e1:request-contract:fff062de690deeea581184e1184f3fa3a14d5f3949077badb3ba5c4fb4af222e:d96c3def7d106caee0f275deaeecefecf5071ffe:verified:","mission_step_id":"d928f9be-eeda-4291-9c28-a42f7fb69afa","command_center_event_id":"6fb70dfa-1cad-4b4b-ab7a-7632c2a405e1"},{"id":"e4832e76-cdca-43d7-9a0e-df20224fbfa4","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[{"path":"src/pages/owner/KnockLaunchWebsites.tsx","content":"import React from 'react';\nimport { ExternalLink, Globe2, MonitorUp, Search } from 'lucide-react';\nimport { Input } from '@/components/ui/input';\nimport { useMultiTenant, type Tenant } from '@/contexts/MultiTenantContext';\nimport { OwnerWorkspaceShell, ownerTenantLabel } from './KnockLaunchOSShared';\n\ntype WebsiteSurfaceTone = 'public' | 'preview' | 'legacy' | 'configured';\n\ntype WebsiteSurface = {\n  key: string;\n  label: string;\n  url: string;\n  badge: string;\n  description: string;\n  tone: WebsiteSurfaceTone;\n};\n\nconst object = (value: unknown): Record<string, any> =>\n  value && typeof value === 'object' && !Array.isArray(value) ? value as Record<string, any> : {};\n\nfunction firstString(...values: unknown[]) {\n  for (const value of values) {\n    const text = String(value || '').trim();\n    if (text) return text;\n  }\n  return '';\n}\n\nfunction normalizeUrl(value: unknown) {\n  const raw = String(value || '').trim();\n  if (!raw) return '';\n  if (/^https?:\\/\\//i.test(raw)) return raw;\n  if (raw.startsWith('/')) return 'https://app.knocklaunch.app' + raw;\n  return 'https://' + raw.replace(/^\\/+/, '');\n}\n\nfunction tenantIsPcg(tenant: Tenant) {\n  const settings = object(tenant.settings);\n  const identity = [tenant.company_slug, tenant.company_dba_name, tenant.company_legal_name, tenant.name]\n    .filter(Boolean)\n    .join(' ')\n    .toLowerCase();\n  return String(tenant.company_slug || '').trim().toLowerCase() === 'pcg'\n    || String(settings.routing_family || '').trim().toUpperCase() === 'CARD_GRADING_OPS'\n    || String(settings.workspace_type || '').trim().toLowerCase() === 'card_grading'\n    || identity.includes('prestigious card grading');\n}\n\nfunction tenantWebsiteSurfaces(tenant: Tenant): WebsiteSurface[] {\n  const settings = object(tenant.settings);\n  const publicSite = object(settings.public_site);\n  const surfaces: WebsiteSurface[] = [];\n  const push = (surface: WebsiteSurface) => {\n    if (!surface.url) return;\n    const normalized = surface.url.replace(/\\/$/, '');\n    if (surfaces.some(item => item.url.replace(/\\/$/, '') === normalized)) return;\n    surfaces.push(surface);\n  };\n\n  if (tenantIsPcg(tenant)) {\n    push({\n      key: 'pcg-public',\n      label: 'Public Site',\n      url: 'https://prestigiouscardgrading.com',\n      badge: 'Customer visible · Under Construction',\n      description: 'The customer-facing domain right now. Visitors see the construction gate while the replacement is being built.',\n      tone: 'public',\n    });\n    push({\n      key: 'pcg-preview',\n      label: 'Build / Preview Site',\n      url: 'https://app.knocklaunch.app/prestigious-card-grading',\n      badge: 'Owner preview · Intended replacement',\n      description: 'The actual PCG replacement experience under active build. Use this to review changes before public cutover.',\n      tone: 'preview',\n    });\n    push({\n      key: 'pcg-legacy',\n      label: 'Legacy / Existing Site',\n      url: 'https://www.pcgslab.com',\n      badge: 'Existing website',\n      description: 'The legacy PCG website retained for reference during migration.',\n      tone: 'legacy',\n    });\n  } else {\n    const configuredPublic = normalizeUrl(firstString(\n      settings.public_site_url,\n      settings.public_url,\n      settings.customer_site_url,\n      publicSite.url,\n      publicSite.website_url,\n    ));\n    const configuredPreview = normalizeUrl(firstString(\n      settings.website_preview_url,\n      settings.preview_site_url,\n      settings.draft_site_url,\n      settings.site_preview_url,\n      publicSite.preview_url,\n      publicSite.draft_url,\n    ));\n    const configuredLegacy = normalizeUrl(firstString(\n      settings.legacy_website_url,\n      settings.existing_website_url,\n      settings.previous_website_url,\n      settings.legacy_site_url,\n    ));\n    const companyWebsite = normalizeUrl((tenant as any).company_website);\n\n    push({\n      key: 'public',\n      label: 'Public Site',\n      url: configuredPublic,\n      badge: 'Customer visible',\n      description: 'The tenant website explicitly configured as its customer-facing public site.',\n      tone: 'public',\n    });\n    push({\n      key: 'preview',\n      label: 'Build / Preview Site',\n      url: configuredPreview,\n      badge: 'Owner preview',\n      description: 'The configured draft or intended replacement website.',\n      tone: 'preview',\n    });\n    push({\n      key: 'legacy',\n      label: 'Legacy / Existing Site',\n      url: configuredLegacy,\n      badge: 'Existing website',\n      description: 'The configured legacy website retained during migration.',\n      tone: 'legacy',\n    });\n\n    if (companyWebsite && !surfaces.some(item => item.url.replace(/\\/$/, '') === companyWebsite.replace(/\\/$/, ''))) {\n      push({\n        key: 'company-website',\n        label: 'Configured Website',\n        url: companyWebsite,\n        badge: 'Tenant business record',\n        description: 'Website stored on the tenant business profile. Its public/legacy role has not been guessed.',\n        tone: 'configured',\n      });\n    }\n  }\n\n  const additional = Array.isArray(settings.website_surfaces) ? settings.website_surfaces : [];\n  additional.forEach((entry: unknown, index: number) => {\n    const row = object(entry);\n    const url = normalizeUrl(firstString(row.url, row.website_url, row.href));\n    if (!url) return;\n    const kind = String(row.kind || row.type || '').trim().toLowerCase();\n    const tone: WebsiteSurfaceTone =\n      kind.includes('preview') || kind.includes('draft') || kind.includes('build') ? 'preview'\n      : kind.includes('legacy') || kind.includes('existing') ? 'legacy'\n      : kind.includes('public') || kind.includes('live') ? 'public'\n      : 'configured';\n    push({\n      key: String(row.id || row.key || 'additional-' + index),\n      label: firstString(row.label, row.name, row.title) || 'Additional Website',\n      url,\n      badge: firstString(row.status, row.badge, row.kind) || 'Additional configured surface',\n      description: firstString(row.description, row.note) || 'Additional website surface configured for this tenant.',\n      tone,\n    });\n  });\n\n  return surfaces;\n}\n\nconst toneClass: Record<WebsiteSurfaceTone, string> = {\n  public: 'border-emerald-300/20 bg-emerald-300/[0.06]',\n  preview: 'border-sky-300/20 bg-sky-300/[0.06]',\n  legacy: 'border-amber-300/20 bg-amber-300/[0.06]',\n  configured: 'border-white/10 bg-white/[0.035]',\n};\n\nexport default function KnockLaunchWebsites() {\n  const { memberships, isLoading } = useMultiTenant();\n  const [query, setQuery] = React.useState('');\n\n  const tenants = React.useMemo(\n    () => memberships.map(membership => membership.tenant).filter((tenant): tenant is Tenant => Boolean(tenant)),\n    [memberships],\n  );\n\n  const rows = React.useMemo(() => tenants\n    .map(tenant => ({ tenant, surfaces: tenantWebsiteSurfaces(tenant) }))\n    .filter(row => {\n      const needle = query.trim().toLowerCase();\n      if (!needle) return true;\n      return ownerTenantLabel(row.tenant).toLowerCase().includes(needle)\n        || row.surfaces.some(surface => (surface.label + ' ' + surface.url + ' ' + surface.badge).toLowerCase().includes(needle));\n    })\n    .sort((a, b) => ownerTenantLabel(a.tenant).localeCompare(ownerTenantLabel(b.tenant))),\n  [tenants, query]);\n\n  return (\n    <OwnerWorkspaceShell\n      eyebrow=\"KNOCKLAUNCH OS\"\n      title=\"Tenant Sites\"\n      subtitle=\"See every known tenant website without leaving the owner workspace. Public, build-preview, legacy, and additional surfaces stay visibly distinct.\"\n      actions={<div className=\"relative w-full sm:w-72\"><Search className=\"pointer-events-none absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-white/35\" /><Input value={query} onChange={event => setQuery(event.target.value)} placeholder=\"Search tenants or domains\" className=\"border-white/10 bg-black/25 pl-9 text-white placeholder:text-white/30\" /></div>}\n    >\n      <div data-knocklaunch-owner-websites=\"true\" className=\"space-y-4\">\n        {isLoading ? <div className=\"rounded-2xl border border-white/10 bg-white/[0.035] p-6 text-sm text-white/45\">Loading tenant websites…</div> : null}\n        {!isLoading && !rows.length ? <div className=\"rounded-2xl border border-white/10 bg-white/[0.035] p-6 text-sm text-white/45\">No matching tenants.</div> : null}\n        {rows.map(({ tenant, surfaces }) => (\n          <section key={String(tenant.id)} className=\"rounded-2xl border border-white/10 bg-black/25 p-4 sm:p-5\" data-tenant-site-row={String(tenant.company_slug || tenant.id)}>\n            <div className=\"flex flex-wrap items-start justify-between gap-3\">\n              <div className=\"min-w-0\">\n                <div className=\"text-[10px] font-black uppercase tracking-[.2em] text-emerald-300/70\">{String(tenant.company_slug || 'tenant')}</div>\n                <h2 className=\"mt-1 truncate text-xl font-black tracking-[-.02em]\">{ownerTenantLabel(tenant)}</h2>\n              </div>\n              <div className=\"rounded-full border border-white/10 bg-white/[0.04] px-3 py-1 text-[10px] font-black uppercase tracking-[.14em] text-white/40\">\n                {surfaces.length} {surfaces.length === 1 ? 'site' : 'sites'}\n              </div>\n            </div>\n\n            {surfaces.length ? (\n              <div className=\"mt-4 grid gap-3 lg:grid-cols-3\">\n                {surfaces.map(surface => {\n                  const Icon = surface.tone === 'preview' ? MonitorUp : Globe2;\n                  return (\n                    <article key={surface.key} className={'rounded-xl border p-4 ' + toneClass[surface.tone]} data-site-surface={surface.tone}>\n                      <div className=\"flex items-start gap-3\">\n                        <div className=\"grid h-9 w-9 shrink-0 place-items-center rounded-lg border border-white/10 bg-black/20\"><Icon className=\"h-4 w-4\" /></div>\n                        <div className=\"min-w-0 flex-1\">\n                          <div className=\"text-[9px] font-black uppercase tracking-[.16em] text-white/40\">{surface.badge}</div>\n                          <h3 className=\"mt-1 text-sm font-black\">{surface.label}</h3>\n                          <p className=\"mt-1 break-all text-[10px] font-semibold text-white/35\">{surface.url}</p>\n                        </div>\n                      </div>\n                      <p className=\"mt-3 text-xs leading-5 text-white/50\">{surface.description}</p>\n                      <a href={surface.url} target=\"_blank\" rel=\"noreferrer\" className=\"mt-4 inline-flex min-h-10 w-full items-center justify-center gap-2 rounded-lg border border-white/10 bg-white/[0.06] px-3 text-xs font-black transition hover:bg-white/[0.1]\">\n                        <ExternalLink className=\"h-4 w-4\" />\n                        {surface.tone === 'preview' ? 'View Build Preview' : surface.tone === 'legacy' ? 'View Legacy Site' : surface.tone === 'public' ? 'View Public Site' : 'View Website'}\n                      </a>\n                    </article>\n                  );\n                })}\n              </div>\n            ) : (\n              <div className=\"mt-4 rounded-xl border border-dashed border-white/10 px-4 py-5 text-sm text-white/35\">No website surfaces are configured for this tenant yet.</div>\n            )}\n          </section>\n        ))}\n      </div>\n    </OwnerWorkspaceShell>\n  );\n}\n"},{"path":"src/__tests__/contracts/knocklaunch-owner-websites.contract.test.ts","content":"import { describe, expect, it } from 'vitest';\nimport fs from 'node:fs';\nimport path from 'node:path';\n\nconst read = (file: string) => fs.readFileSync(path.join(process.cwd(), file), 'utf8');\nconst shell = read('src/KnockLaunchOwnerShell.tsx');\nconst shared = read('src/pages/owner/KnockLaunchOSShared.tsx');\nconst page = read('src/pages/owner/KnockLaunchWebsites.tsx');\n\ndescribe('KNOCKLAUNCH OS tenant Sites registry', () => {\n  it('owns a first-class owner route and navigation item', () => {\n    expect(shell).toContain(\"'/knock-launch-os/websites'\");\n    expect(shell).toContain('<KnockLaunchWebsites />');\n    expect(shared).toContain(\"to: '/knock-launch-os/websites'\");\n    expect(shared).toContain(\"label: 'Sites'\");\n  });\n\n  it('keeps tenant website roles visibly distinct and view-only', () => {\n    expect(page).toContain('Public Site');\n    expect(page).toContain('Build / Preview Site');\n    expect(page).toContain('Legacy / Existing Site');\n    expect(page).toContain('View Build Preview');\n    expect(page).not.toContain('Edit Website');\n    expect(page).not.toContain('Publish Website');\n  });\n\n  it('shows PCG public construction, build preview, and legacy sites', () => {\n    expect(page).toContain(\"url: 'https://prestigiouscardgrading.com'\");\n    expect(page).toContain('Customer visible · Under Construction');\n    expect(page).toContain(\"url: 'https://app.knocklaunch.app/prestigious-card-grading'\");\n    expect(page).toContain(\"url: 'https://www.pcgslab.com'\");\n  });\n\n  it('uses configured tenant data for non-PCG surfaces instead of inventing routes', () => {\n    expect(page).toContain('settings.public_site_url');\n    expect(page).toContain('settings.website_preview_url');\n    expect(page).toContain('settings.legacy_website_url');\n    expect(page).toContain('settings.website_surfaces');\n  });\n});\n"}],"branch":"ai/objective-first-repair-b9f13762702c","writes":[],"patches":[],"version":1,"approved":true,"missionId":"b9f13762-702c-4f59-9cc9-dded1fef220a","objective":"Add a first-class view-only Sites registry to the KNOCKLAUNCH OS owner tenant at /knock-launch-os/websites. Add Sites to the owner navigation. The page must use the existing owner shell and useMultiTenant memberships, group website surfaces by tenant, and clearly distinguish Public Site, Build / Preview Site, Legacy / Existing Site, and additional configured surfaces. Non-PCG URLs must come only from existing tenant fields/settings. PCG must explicitly show https://prestigiouscardgrading.com as customer-visible Under Construction, https://app.knocklaunch.app/prestigious-card-grading as owner Build / Preview, and https://www.pcgslab.com as Legacy. Keep it compact/mobile-safe and view-only. Gate, squash merge, frontend release, and prove the owner Sites route live.","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/KnockLaunchOwnerShell.tsx","src/pages/owner/KnockLaunchOSShared.tsx"],"workstreamKey":"knocklaunch-os-tenant-sites","anchored_edits":[{"path":"src/KnockLaunchOwnerShell.tsx","edits":[{"new_content":"const KnockLaunchOSSettings = lazyWithRetry(() => import('@/pages/owner/KnockLaunchOSSettings'));\nconst KnockLaunchWebsites = lazyWithRetry(() => import('@/pages/owner/KnockLaunchWebsites'));\nconst VideoStudio = lazyWithRetry(() => import('@/pages/owner/VideoStudio'));","old_content":"const KnockLaunchOSSettings = lazyWithRetry(() => import('@/pages/owner/KnockLaunchOSSettings'));\nconst VideoStudio = lazyWithRetry(() => import('@/pages/owner/VideoStudio'));"},{"new_content":"  if (normalizedPath === '/knock-launch-os/settings' || normalizedPath.startsWith('/knock-launch-os/settings/')) {\n    return <OwnerSurface scope=\"KnockLaunchOwnerShell.Settings\" title=\"Owner settings need repair\" description=\"The KNOCKLAUNCH OS owner shell loaded, but settings need repair.\"><KnockLaunchOSSettings /></OwnerSurface>;\n  }\n  if (normalizedPath === '/knock-launch-os/websites') {\n    return <OwnerSurface scope=\"KnockLaunchOwnerShell.Websites\" title=\"Tenant sites need repair\" description=\"The KNOCKLAUNCH OS owner shell loaded, but the tenant website registry needs repair.\"><KnockLaunchWebsites /></OwnerSurface>;\n  }\n  if (normalizedPath === '/knock-launch-os/video-studio') {","old_content":"  if (normalizedPath === '/knock-launch-os/settings' || normalizedPath.startsWith('/knock-launch-os/settings/')) {\n    return <OwnerSurface scope=\"KnockLaunchOwnerShell.Settings\" title=\"Owner settings need repair\" description=\"The KNOCKLAUNCH OS owner shell loaded, but settings need repair.\"><KnockLaunchOSSettings /></OwnerSurface>;\n  }\n  if (normalizedPath === '/knock-launch-os/video-studio') {"}]},{"path":"src/pages/owner/KnockLaunchOSShared.tsx","edits":[{"new_content":"import { Bell, Building2, CircleDollarSign, Command, FileSignature, Globe2, Handshake, LogOut, PlugZap, Settings2, SlidersHorizontal, UserRound, UsersRound, Wrench } from 'lucide-react';","old_content":"import { Bell, Building2, CircleDollarSign, Command, FileSignature, Handshake, LogOut, PlugZap, Settings2, SlidersHorizontal, UserRound, UsersRound, Wrench } from 'lucide-react';"},{"new_content":"  { to: '/knock-launch-os/money', label: 'Money', icon: CircleDollarSign },\n  { to: '/knock-launch-os/portfolio', label: 'Workspaces', icon: UsersRound },\n  { to: '/knock-launch-os/websites', label: 'Sites', icon: Globe2 },\n];","old_content":"  { to: '/knock-launch-os/money', label: 'Money', icon: CircleDollarSign },\n  { to: '/knock-launch-os/portfolio', label: 'Workspaces', icon: UsersRound },\n];"}]}],"implementation":{"files":[],"writes":[]},"collisionDomain":"owner-os-websites","requestContract":{"outcomes":[{"id":"outcome-owner-sites","statement":"The KNOCKLAUNCH OS owner tenant has a first-class Sites route that lists tenant website surfaces centrally.","proofConditionIds":["proof-repo","proof-runtime"]},{"id":"outcome-distinction","statement":"Each tenant clearly distinguishes customer-visible Public Site, Build / Preview Site, Legacy / Existing Site, and additional configured website surfaces, with open-in-new-tab controls.","proofConditionIds":["proof-repo","proof-runtime"]},{"id":"outcome-pcg","statement":"PCG shows prestigiouscardgrading.com as customer-visible Under Construction, app.knocklaunch.app/prestigious-card-grading as Build / Preview, and pcgslab.com as Legacy.","proofConditionIds":["proof-repo","proof-runtime"]}],"constraints":[{"id":"constraint-owner-home","statement":"This feature belongs in the KNOCKLAUNCH OS owner tenant, not as a requirement for users to enter each tenant settings page.","proofConditionIds":["proof-repo","proof-runtime"]},{"id":"constraint-view-only","statement":"Do not create a website editor, publishing control, DNS mutation, or CMS; this is a view-only website registry.","proofConditionIds":["proof-repo","proof-runtime"]},{"id":"constraint-no-invention","statement":"For non-PCG tenants, derive website surfaces only from existing tenant fields/settings; do not invent URLs.","proofConditionIds":["proof-repo"]}],"proofConditions":[{"id":"proof-repo","kind":"repository","claim":"Current main contains the owner Sites route, owner nav entry, view-only tenant website registry, and focused contract coverage.","required":true,"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"]},{"id":"proof-runtime","kind":"runtime","claim":"After frontend release, /knock-launch-os/websites loads through the KNOCKLAUNCH OS owner shell and exposes PCG Public, Build / Preview, and Legacy controls.","required":true,"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"]}]},"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":null,"ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/KnockLaunchOwnerShell.tsx","src/pages/owner/KnockLaunchOSShared.tsx"],"requestContract":{"outcomes":[{"id":"outcome-owner-sites","statement":"The KNOCKLAUNCH OS owner tenant has a first-class Sites route that lists tenant website surfaces centrally.","proofConditionIds":["proof-repo","proof-runtime"]},{"id":"outcome-distinction","statement":"Each tenant clearly distinguishes customer-visible Public Site, Build / Preview Site, Legacy / Existing Site, and additional configured website surfaces, with open-in-new-tab controls.","proofConditionIds":["proof-repo","proof-runtime"]},{"id":"outcome-pcg","statement":"PCG shows prestigiouscardgrading.com as customer-visible Under Construction, app.knocklaunch.app/prestigious-card-grading as Build / Preview, and pcgslab.com as Legacy.","proofConditionIds":["proof-repo","proof-runtime"]}],"constraints":[{"id":"constraint-owner-home","statement":"This feature belongs in the KNOCKLAUNCH OS owner tenant, not as a requirement for users to enter each tenant settings page.","proofConditionIds":["proof-repo","proof-runtime"]},{"id":"constraint-view-only","statement":"Do not create a website editor, publishing control, DNS mutation, or CMS; this is a view-only website registry.","proofConditionIds":["proof-repo","proof-runtime"]},{"id":"constraint-no-invention","statement":"For non-PCG tenants, derive website surfaces only from existing tenant fields/settings; do not invent URLs.","proofConditionIds":["proof-repo"]}],"proofConditions":[{"id":"proof-repo","kind":"repository","claim":"Current main contains the owner Sites route, owner nav entry, view-only tenant website registry, and focused contract coverage.","required":true,"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"]},{"id":"proof-runtime","kind":"runtime","claim":"After frontend release, /knock-launch-os/websites loads through the KNOCKLAUNCH OS owner shell and exposes PCG Public, Build / Preview, and Legacy controls.","required":true,"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"]}]},"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":false,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"proofRequirements":null,"controlPlaneUnfreeze":false,"durableMutationResume":true,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"recovery":false,"fingerprint":"fc00053a70f278aae39793952aa584da6228396a3ff7310952d8598aba25e49c","replayCount":0,"serializedBytes":22042},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-04T10:39:22.496449+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:b9f13762-702c-4f59-9cc9-dded1fef220a:repository-mutation-intent:fc00053a70f278aae39793952aa584da6228396a3ff7310952d8598aba25e49c:0","mission_step_id":"61c3162e-452a-4868-b270-8ff909116e8d","command_center_event_id":"b9f13762-702c-4f59-9cc9-dded1fef220a"},{"id":"e483f34b-44ae-42c4-825b-5727d2f6c6f1","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in release.","nextAction":{"lane":"cc-execution","action":"reconcile_pull_request","reason":"pull_request_exists_without_merged_source","handoff":null,"capability":"light-control-plane","automationAllowed":true,"ownerActionRequired":false,"resumeFromCheckpoint":null},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"owner_progress_heartbeat\",\"status\":\"waiting\",\"proofGate\":\"owner_progress_heartbeat\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_pull_request\",\"lane\":\"cc-execution\",\"reason\":\"pull_request_exists_without_merged_source\",\"automationAllowed\":true,\"ownerActionRequired\":false,\"capability\":\"light-control-plane\",\"resumeFromCheckpoint\":null,\"handoff\":null},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_pull_request\",\"recoveryOwner\":\"cc-execution\",\"capability\":\"light-control-plane\",\"resumeFromCheckpoint\":null,\"handoff\":null},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"release\",\"deadlineAt\":\"2026-10-06T15:05:42.090241+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":5171,\"sourceSha\":null,\"deploymentId\":null}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T13:38:18.870359+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:29c1fa92-79e9-436a-b6e5-c067506af737:owner-progress-heartbeat:119419593","mission_step_id":"35cbdc44-f1e4-4166-96c1-d75b4b5f017a","command_center_event_id":"29c1fa92-79e9-436a-b6e5-c067506af737"},{"id":"e486c45d-d380-43a1-a15b-8452470b592f","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/brand-roofhelpfinder-logo-tenant-20260828","reason":"anchored_edit_invalid","status":"blocked","metrics":{"receiptBytes":7164,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.55.0-godmode-restore-points","prNumber":null,"terminal":false,"missionId":"efa0d11a-3e9a-4557-b87d-3f9c9bdc538e","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"handlerMs":324,"prReadinessMs":0,"approvedPlanMs":324,"missionSetupMs":411,"shipAndProveMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"efa0d11a-3e9a-4557-b87d-3f9c9bdc538e"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":4877,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"c3f09b56-5ff5-4521-8a0a-39cbeb4b5275","created_at":"2026-08-28T04:35:54.348177+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:efa0d11a-3e9a-4557-b87d-3f9c9bdc538e:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"3a812cd4-c501-491b-87c6-fa6cdaf91c8b","command_center_event_id":"efa0d11a-3e9a-4557-b87d-3f9c9bdc538e"},{"id":"e486d61b-dbbd-454d-abb9-663e749de0d2","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"compilation":{"stages":["owner_intent","conversation_context","scope","live_state","mutation_authority","affected_systems","dependencies","risk_and_blast_radius","execution_tactics","required_proof","release_plan","recovery_plan"],"version":2,"explicit":true,"objective":"Fix KnockLaunch control-plane mutation blocker: compiler failure must remain nonterminal, exposing source-grounded anchored-edit continuation through the canonical execute_objective path, with no bypass of scoped maintenance permits, Gate, protected-branch release or tenant safety.","proofKinds":["runtime"],"adaptiveDomains":["intent","tenant_route_role_viewport","urgency_deadline","dependency_scope","risk_blast_radius","runner_capacity","queue_active_work","provider_failure_circuits","qa_scope","retry_recovery","release_ownership","proof_depth"],"expansionPolicy":"later_stages_may_only_narrow_or_expand_with_machine_readable_dependency_evidence","dynamicStatePolicy":"live_state_may_change_execution_tactics_but_never_owner_outcome_or_explicit_constraints","dynamicRefreshStages":["preflight","gate","release","runtime_proof"],"adaptiveCompilerVersion":"paul-adaptive-objective-v1","inheritedContextBlockingAuthority":false},"rawUtterance":"Fix KnockLaunch control-plane mutation blocker: compiler failure must remain nonterminal, exposing source-grounded anchored-edit continuation through the canonical execute_objective path, with no bypass of scoped maintenance permits, Gate, protected-branch release or tenant safety.","wordingChanged":false,"canonicalIntent":"Fix KnockLaunch control-plane mutation blocker: compiler failure must remain nonterminal, exposing source-grounded anchored-edit continuation through the canonical execute_objective path, with no bypass of scoped maintenance permits, Gate, protected-branch release or tenant safety.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"mutation-continuation","statement":"Owner-authorized control-plane mutation compiler failures preserve nonterminal exact patch continuation","provenance":{"reason":null,"source":"explicit_request_contract","inherited":false,"blockingAuthority":true},"proofConditionIds":["production-proof"]}],"objective":"Fix KnockLaunch control-plane mutation blocker: compiler failure must remain nonterminal, exposing source-grounded anchored-edit continuation through the canonical execute_objective path, with no bypass of scoped maintenance permits, Gate, protected-branch release or tenant safety.","constraints":[{"id":"control-plane-freeze","statement":"No permanent unfreeze; temporary scoped maintenance is recorded and refrozen; preserve Gate, merge and affected release.","provenance":{"reason":null,"source":"explicit_request_contract","inherited":false,"blockingAuthority":true},"proofConditionIds":["production-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":["production-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":["production-proof"]}],"adaptivePolicy":{"risk":{"tier":"standard","blastRadius":"scoped"},"proof":{"requiredKinds":["runtime"],"visualProofScope":"none","interactionRequired":false,"runtimeProofRequired":true},"scope":{"route":null,"roleRef":null,"tenantRef":null,"sourceTargets":[]},"dynamic":{"variables":["main_and_runtime_lineage","runner_capacity","queue_and_active_work","provider_health","failure_clusters_and_circuits","release_target_state","current_pr_and_gate_state"],"refreshStages":["preflight","gate","release","runtime_proof"],"refreshMayChange":["runner_selection","parallelism","retry_path","qa_depth","release_recovery","proof_timing"],"refreshMayNotChange":["owner_outcome","explicit_no_go_constraints","tenant_identity","credential_boundary","hard_safety_invariants"]},"urgency":{"priority":"normal","deadlineSignals":[],"deadlineExplicit":false},"version":"paul-adaptive-objective-v1","recovery":{"transient":"one_bounded_retry_then_alternate_eligible_pool_or_provider_path","deterministic":"repair_source_or_contract_do_not_blind_rerun","mutationDependencyFailure":"prerequisite_required_or_targeted_recovery_never_invent","readOnlyDependencyFailure":"degrade_to_available_grounded_context_and_keep_conversation_alive"},"unknowns":["tenant","route","source_targets_until_repository_resolution","release_targets_until_changed_paths","deadline"],"authority":{"outcome":"current_explicit_owner_request","tactics":"live_prime_truth","unknownPolicy":"preserve_unknown_never_invent","historicalContext":"advisory_unless_current_request_confirms"},"execution":{"mutation":true,"concurrency":"parallel_non_overlapping_work","scopePolicy":"start_bounded_expand_only_with_machine_readable_dependency_evidence","staleStatePolicy":"refresh_dynamic_state_before_irreversible_or_acceptance_stage","conversationIsolation":true,"ownerOutcomeMayBeChangedByAdaptation":false},"experience":{"visual":false,"viewports":["desktop","mobile"],"behavioral":false,"visualProofScope":"none"},"dependencies":{"requiredDomains":["release_ownership"],"capabilityDomains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"releaseTargetHints":[]},"inputSignals":{"rawUtterance":"Fix KnockLaunch control-plane mutation blocker: compiler failure must remain nonterminal, exposing source-grounded anchored-edit continuation through the canonical execute_objective path, with no bypass of scoped maintenance permits, Gate, protected-branch release or tenant safety.","canonicalIntent":"Fix KnockLaunch control-plane mutation blocker: compiler failure must remain nonterminal, exposing source-grounded anchored-edit continuation through the canonical execute_objective path, with no bypass of scoped maintenance permits, Gate, protected-branch release or tenant safety.","conversationContextPresent":false}},"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"production-proof","kind":"runtime","claim":"Release new source and verify compiler failures are nonterminal while permissions remain enforced.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}],"validationErrors":[],"capabilityManifest":{"id":"Fix-KnockLaunch-control-plane-mutation-blocker:-compiler-failure-must-remain-nonterminal-exposing-so","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":["production-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":"a2151d01a272fbffe25aa69a284462dd203a7f255a74074a86e2ef5374c0e157","requestContractRevision":2,"previousRequestContractHash":"9d7e3a8f968c72e2d7a0e83288945f78e07775a36c0b52689170833be22c76ec"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-09T21:03:08.211796+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:3ef1bf15-a8c0-4f9a-a2e5-d917cb3624e0:request-contract:a2151d01a272fbffe25aa69a284462dd203a7f255a74074a86e2ef5374c0e157","mission_step_id":"f6553cc9-c1e3-425c-a615-8a596cba1e30","command_center_event_id":"3ef1bf15-a8c0-4f9a-a2e5-d917cb3624e0"},{"id":"e48728b2-2428-4812-910c-a9ec26944f22","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending","supabase-migrations/live":"pending"},"mainSha":"078f149e472a06fd6ad7b0b28bc74d717a4d7158","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live","supabase-migrations/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live","supabase-migrations/live"],"sourceSha":"078f149e472a06fd6ad7b0b28bc74d717a4d7158","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/1139","runId":1139,"status":"running","conclusion":null,"failedJobs":[],"diagnostics":null},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"69c86c8d-c737-439a-8f30-3246af0b3ad1","created_at":"2026-08-17T18:17:10.627456+00:00","proof_gate":"canonical_release_pending","source_sha":"078f149e472a06fd6ad7b0b28bc74d717a4d7158","external_id":"forgejo-main-078f149e472a","receipt_type":"canonical_release_status","idempotency_key":"mission:4c68fb6d-bc06-4819-8319-6c768eaa0544:forgejo-release-status:078f149e472a06fd6ad7b0b28bc74d717a4d7158:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending|supabase-migrations/live=pending","mission_step_id":"79268ff7-6ed5-41ca-93b2-0d891499b940","command_center_event_id":"4c68fb6d-bc06-4819-8319-6c768eaa0544"},{"id":"e4885cf7-a695-4796-8a28-0251300496db","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","cc-execution/runtime-proof":"success"},"mainSha":"2d0fd66aa229ffc4b65bae1204fd709dc1dab884","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"2d0fd66aa229ffc4b65bae1204fd709dc1dab884","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"ccExecution":"success"},"requestContractHash":"dfa6d89360f7a040328a66d362b6b6302a1031761bd5906d981e737149548d3a","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/8619","runId":8619,"status":"success","sourceSha":"2d0fd66aa229ffc4b65bae1204fd709dc1dab884","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"ccExecution":"success"},"targetJobCount":7,"observedTargetStates":{"ccExecution":"success"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"2d0fd66aa229ffc4b65bae1204fd709dc1dab884","proofGate":"cc_execution_target_aware_runtime_identity_verified","deploymentId":"forgejo-main-2d0fd66aa229ffc4b65bae1204fd709dc1dab884","compareStatus":"target_job_success_runtime_verified","workflowRunId":8619,"identitySource":"canonical_release_target_job","runtimeVersion":"1.58.158-visual-witness-container-rollout","workflowFailed":false,"containsSourceSha":true},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-16T04:26:25.860839+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"2d0fd66aa229ffc4b65bae1204fd709dc1dab884","external_id":"forgejo-main-2d0fd66aa229","receipt_type":"canonical_release_status","idempotency_key":"mission:69f832d5-ddb1-48a8-b430-7020456b04d7:forgejo-release-status:2d0fd66aa229ffc4b65bae1204fd709dc1dab884:verified:forgejo-main/source=success|forgejo-release/workflow=success|cc-execution/runtime-proof=success","mission_step_id":"8841a09f-c1ba-46b6-aefb-4fbf0d50d96e","command_center_event_id":"69f832d5-ddb1-48a8-b430-7020456b04d7"},{"id":"e4886359-130a-4eab-bf6e-83c9dc587365","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","cc-execution/runtime-proof":"success"},"mainSha":"9d75a51e3f7ea68fda88c2c3b97144f96fa0c5ea","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"9d75a51e3f7ea68fda88c2c3b97144f96fa0c5ea","releaseState":"verified","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":false,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"ccExecution":"success"},"requestContractHash":"45700501fa78af623f55cc5346bc635da11efc2e51cf20988cf42ce54926a4a0","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/5124","runId":5124,"status":"success","sourceSha":"9d75a51e3f7ea68fda88c2c3b97144f96fa0c5ea","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"ccExecution":"success"},"targetJobCount":8,"observedTargetStates":{"ccExecution":"success"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"9d75a51e3f7ea68fda88c2c3b97144f96fa0c5ea","proofGate":"cc_execution_historical_runtime_identity_verified","deploymentId":"forgejo-main-9d75a51e3f7ea68fda88c2c3b97144f96fa0c5ea","compareStatus":"exact_release_workflow_runtime_verified","workflowRunId":5124,"identitySource":"canonical_release_workflow_exact_runtime_identity","runtimeVersion":"1.58.35-noop-release-reconcile-refreeze","containsSourceSha":true,"historicalExactSourceProof":true},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-04T11:46:52.961366+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"9d75a51e3f7ea68fda88c2c3b97144f96fa0c5ea","external_id":"forgejo-main-9d75a51e3f7e","receipt_type":"canonical_release_status","idempotency_key":"mission:43992403-f254-4211-bc17-098b73a8f872:forgejo-release-status:9d75a51e3f7ea68fda88c2c3b97144f96fa0c5ea:verified:forgejo-main/source=success|forgejo-release/workflow=success|cc-execution/runtime-proof=success","mission_step_id":"beedf72a-a60f-47f5-ae20-87efc03e1c57","command_center_event_id":"43992403-f254-4211-bc17-098b73a8f872"},{"id":"e48888ad-a90c-4fc8-a542-8fd96a7d9e75","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in release.","nextAction":{"lane":"production-release-conductor","action":"reconcile_release","reason":"merged_source_requires_release_proof","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"source_lineage_merged_pr_authoritative\",\"status\":\"waiting\",\"proofGate\":\"forgejo_merged_pr_is_authoritative_source_lineage\"},\"activeStep\":{\"key\":\"pull_request\",\"status\":\"waiting\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"release\",\"status\":\"waiting\",\"lane\":\"production-release-conductor\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_release\",\"recoveryOwner\":\"production-release-conductor\"},\"acceptance\":{\"total\":2,\"verified\":0,\"pending\":2,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\",\"proof-visual\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"release\",\"deadlineAt\":\"2026-09-27T17:41:14.395425+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-3b5b5c47d6e8\",\"prNumber\":3878,\"sourceSha\":\"f78ab9ebf4d16a479f9c9b28281be8702b12a432\",\"deploymentId\":\"forgejo-main-f78ab9ebf4d1\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-27T14:44:43.8845+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:3b5b5c47-d6e8-4fe2-be1b-4cd18e0e2094:owner-progress-heartbeat:119368018","mission_step_id":"250fc9b9-118a-4988-830e-2df1d8b1699c","command_center_event_id":"3b5b5c47-d6e8-4fe2-be1b-4cd18e0e2094"},{"id":"e48aadb6-1bf8-4eae-96a4-6984fc3b936c","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/platform-business-activity-ledger-20260911","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.105-orphan-compare-evidence-adoption","prNumber":2406,"terminal":false,"missionId":"085aadff-8726-482c-96eb-8db559dd3814","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":3787,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":2450,"approvedPlanMs":0,"missionSetupMs":2988,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":542,"ledgerReconcileMs":0,"lineageReconcileMs":2446,"resolvePreflightMs":2988,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":542,"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":"085aadff-8726-482c-96eb-8db559dd3814"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1525,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-11T18:45:30.58396+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"2406","receipt_type":"execute_mission","idempotency_key":"mission:085aadff-8726-482c-96eb-8db559dd3814:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"4646456c-b938-40ee-811f-5a055c9784d3","command_center_event_id":"085aadff-8726-482c-96eb-8db559dd3814"},{"id":"e48ab2ed-27ba-4d10-b0ea-7ff1c87912b6","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-06d350f3111a","reason":"pull_request_checks_failed","status":"retryable","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.154-cancelled-release-history-first","prNumber":2851,"terminal":false,"missionId":"06d350f3-111a-4413-9e3a-514669ccfc30","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":2846,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":1707,"approvedPlanMs":0,"missionSetupMs":1857,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":1296,"ledgerReconcileMs":0,"lineageReconcileMs":561,"resolvePreflightMs":1857,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":1296,"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":"06d350f3-111a-4413-9e3a-514669ccfc30"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":2069,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-15T19:37:16.911075+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"2851","receipt_type":"execute_mission","idempotency_key":"mission:06d350f3-111a-4413-9e3a-514669ccfc30:execute_mission:repair_mission_pr_ready_retryable:current-generation","mission_step_id":"c26dd880-e7e5-4f3f-a105-312ac084ac5d","command_center_event_id":"06d350f3-111a-4413-9e3a-514669ccfc30"},{"id":"e48b9089-0f4e-47e5-a2e6-0b5bf241ff2f","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in pull request.","nextAction":{"lane":"cc-execution","action":"reconcile_pull_request","reason":"pull_request_exists_without_merged_source","handoff":null,"capability":"light-control-plane","automationAllowed":true,"ownerActionRequired":false,"resumeFromCheckpoint":"preflight"},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"deterministic_supervisor_transition\",\"status\":\"advanced\",\"proofGate\":\"deterministic_semantic_transition_journaled\"},\"activeStep\":{\"key\":\"pull_request\",\"status\":\"waiting\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"release\",\"status\":\"ready\",\"lane\":\"production-release-conductor\"},\"nextSafeAction\":{\"action\":\"reconcile_pull_request\",\"lane\":\"cc-execution\",\"reason\":\"pull_request_exists_without_merged_source\",\"automationAllowed\":true,\"ownerActionRequired\":false,\"capability\":\"light-control-plane\",\"resumeFromCheckpoint\":\"preflight\",\"handoff\":null},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_pull_request\",\"recoveryOwner\":\"cc-execution\",\"capability\":\"light-control-plane\",\"resumeFromCheckpoint\":\"preflight\",\"handoff\":null},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"proof-production\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"visual_proof\",\"deadlineAt\":\"2026-10-06T17:50:57.180045+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-e908936ef307\",\"prNumber\":5181,\"sourceSha\":null,\"deploymentId\":null}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T14:01:05.165624+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:e908936e-f307-463c-9631-a6fa61f98025:owner-progress-heartbeat:119419684","mission_step_id":"baa11ec4-7bb2-455c-ac85-399bd7143d21","command_center_event_id":"e908936e-f307-463c-9631-a6fa61f98025"},{"id":"e48c3421-8841-4e98-99b4-fd0054b53d9e","source":"forgejo-runtime","status":"pending","payload":{"mainSha":"0646720cad3dc88b10532a280fd98ff47c311f3e","sourceSha":"9210ede472372a6c77140aa5bea7901529518dd1","sourceInMain":false,"compareStatus":"ancestry_read_retryable","ancestryProofResolved":false},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-09-20T15:56:03.37434+00:00","proof_gate":"canonical_release_ancestry_pending","source_sha":"9210ede472372a6c77140aa5bea7901529518dd1","external_id":"canonical-release-9210ede47237","receipt_type":"canonical_release_status","idempotency_key":"mission:f00b31ad-4fab-4ce5-ae45-ef350941afaa:forgejo-release-ancestry:9210ede472372a6c77140aa5bea7901529518dd1:0646720cad3dc88b10532a280fd98ff47c311f3e:ancestry_read_retryable","mission_step_id":"980f03f5-b978-4341-a847-df2ec0fcbace","command_center_event_id":"f00b31ad-4fab-4ce5-ae45-ef350941afaa"},{"id":"e48c938a-f782-427d-a967-dc22a06c5fc8","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/big-papis-dependency-pass","reason":"pull_request_checks_pending","status":"waiting_for_gate","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.161-forgejo-repository-file-pagination","prNumber":2899,"terminal":false,"missionId":"65f9c078-7455-4320-a65f-993b85d1ae16","operation":"execute_mission","proofGate":"repair_mission_waiting_for_gate","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":2213,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":783,"approvedPlanMs":0,"missionSetupMs":1475,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":952,"ledgerReconcileMs":0,"lineageReconcileMs":523,"resolvePreflightMs":1475,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":952,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"Reconcile this same mission and pull request after the exact-head KnockLaunch Gate changes state.","receiptRef":{"mode":"full","missionId":"65f9c078-7455-4320-a65f-993b85d1ae16"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1960,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-16T13:43:05.529957+00:00","proof_gate":"repair_mission_waiting_for_gate","source_sha":null,"external_id":"2899","receipt_type":"execute_mission","idempotency_key":"mission:65f9c078-7455-4320-a65f-993b85d1ae16:execute_mission:repair_mission_waiting_for_gate:current-generation","mission_step_id":"5f41ae3a-9c72-485e-af90-62e94154209e","command_center_event_id":"65f9c078-7455-4320-a65f-993b85d1ae16"},{"id":"e48f7390-bc1b-4e3f-bf86-ed7bde64fc0a","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/fix-green-gate-merge-ack-20260827","reason":"retryable_provider_transport:GET:The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":3496,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.52.7-lightning-auto-merge-emitter","prNumber":802,"terminal":false,"missionId":"8ac9fa81-152d-4de7-a441-3a4c24f12788","operation":"execute_mission","proofGate":"repair_mission_execution_retryable","sourceSha":null,"timingsMs":{"handlerMs":20288,"prReadinessMs":0,"approvedPlanMs":20288,"missionSetupMs":500,"shipAndProveMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"8ac9fa81-152d-4de7-a441-3a4c24f12788"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":5068,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-27T02:22:12.429388+00:00","proof_gate":"repair_mission_execution_retryable","source_sha":null,"external_id":"802","receipt_type":"execute_mission","idempotency_key":"mission:8ac9fa81-152d-4de7-a441-3a4c24f12788:execute_mission:repair_mission_execution_retryable","mission_step_id":"a1fc5eac-0ce4-4919-8595-4794cd132f31","command_center_event_id":"8ac9fa81-152d-4de7-a441-3a4c24f12788"},{"id":"e49145b1-03ba-44fc-8d81-d5c1f455f2c0","source":"cc-execution","status":"recorded","payload":{"objective":"Complete the canonical PCG submission information contract at /pcg/workspace without changing the already-live single/batch capture behavior. Receive Cards must create or reuse one tenant-scoped unified_contacts customer, preserve the collector return address there, and link card_grading_submissions.customer_contact_id to that canonical contact. Keep inbound delivery_method separate from return fulfillment. Add canonical submission fields for return_shipping_method (FedEx 2 Day, FedEx Saver, or Pickup), optional return_shipping_cost, and optional return_insurance_amount / declared return coverage. Intake may also capture inbound tracking when available. Stripe remains the billing/payment owner: do not store payment-card secrets; PCG stores only existing payment status/reference/paid_at. Carry return shipping method/cost/coverage into the submission workbench; show safe return-shipping method + tracking in WMP/customer progress; include return shipping method and tracking in completion/shipment email context. Do not expose the street address publicly. Preserve tenant RLS/Data API safety, all existing lifecycle gates, the exact top-level modes, and the Google Workspace Drive capture integration already live. For new FedEx-return submissions, require a complete return address before creation; Pickup does not require an address. Reuse/update an existing tenant contact by normalized email first, otherwise normalized phone; create a new tenant contact only when no deterministic match exists. Add a real FK from customer_contact_id to unified_contacts.id if current production data permits it. Ship via one focused PR, Gate, merge, affected frontend/Supabase release, and prove the new intake fields + contact link + safe WMP/fulfillment propagation live.","tenantRef":"pcg","receivedAt":"2026-09-29T21:20:38.731Z","fingerprint":"430182283cb48fcbb4258a2c9b231c92fc25fed9c7eebf04cacea37d90c65e11","workstreamRef":"pcg","conversationId":null,"canonicalBranch":null,"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"compilation":{"stages":["owner_intent","conversation_context","scope","live_state","mutation_authority","affected_systems","dependencies","risk_and_blast_radius","execution_tactics","required_proof","release_plan","recovery_plan"],"version":2,"explicit":true,"objective":"Complete the canonical PCG submission information contract at /pcg/workspace without changing the already-live single/batch capture behavior. Receive Cards must create or reuse one tenant-scoped unified_contacts customer, preserve the collector return address there, and link card_grading_submissions.customer_contact_id to that canonical contact. Keep inbound delivery_method separate from return fulfillment. Add canonical submission fields for return_shipping_method (FedEx 2 Day, FedEx Saver, or Pickup), optional return_shipping_cost, and optional return_insurance_amount / declared return coverage. Intake may also capture inbound tracking when available. Stripe remains the billing/payment owner: do not store payment-card secrets; PCG stores only existing payment status/reference/paid_at. Carry return shipping method/cost/coverage into the submission workbench; show safe return-shipping method + tracking in WMP/customer progress; include return shipping method and tracking in completion/shipment email context. Do not expose the street address publicly. Preserve tenant RLS/Data API safety, all existing lifecycle gates, the exact top-level modes, and the Google Workspace Drive capture integration already live. For new FedEx-return submissions, require a complete return address before creation; Pickup does not require an address. Reuse/update an existing tenant contact by normalized email first, otherwise normalized phone; create a new tenant contact only when no deterministic match exists. Add a real FK from customer_contact_id to unified_contacts.id if current production data permits it. Ship via one focused PR, Gate, merge, affected frontend/Supabase release, and prove the new intake fields + contact link + safe WMP/fulfillment propagation live.","proofKinds":["runtime","visual"],"adaptiveDomains":["intent","tenant_route_role_viewport","urgency_deadline","dependency_scope","risk_blast_radius","runner_capacity","queue_active_work","provider_failure_circuits","qa_scope","retry_recovery","release_ownership","proof_depth"],"expansionPolicy":"later_stages_may_only_narrow_or_expand_with_machine_readable_dependency_evidence","dynamicStatePolicy":"live_state_may_change_execution_tactics_but_never_owner_outcome_or_explicit_constraints","dynamicRefreshStages":["preflight","gate","release","runtime_proof"],"adaptiveCompilerVersion":"paul-adaptive-objective-v1","inheritedContextBlockingAuthority":false},"rawUtterance":"Complete the canonical PCG submission information contract at /pcg/workspace without changing the already-live single/batch capture behavior. Receive Cards must create or reuse one tenant-scoped unified_contacts customer, preserve the collector return address there, and link card_grading_submissions.customer_contact_id to that canonical contact. Keep inbound delivery_method separate from return fulfillment. Add canonical submission fields for return_shipping_method (FedEx 2 Day, FedEx Saver, or Pickup), optional return_shipping_cost, and optional return_insurance_amount / declared return coverage. Intake may also capture inbound tracking when available. Stripe remains the billing/payment owner: do not store payment-card secrets; PCG stores only existing payment status/reference/paid_at. Carry return shipping method/cost/coverage into the submission workbench; show safe return-shipping method + tracking in WMP/customer progress; include return shipping method and tracking in completion/shipment email context. Do not expose the street address publicly. Preserve tenant RLS/Data API safety, all existing lifecycle gates, the exact top-level modes, and the Google Workspace Drive capture integration already live. For new FedEx-return submissions, require a complete return address before creation; Pickup does not require an address. Reuse/update an existing tenant contact by normalized email first, otherwise normalized phone; create a new tenant contact only when no deterministic match exists. Add a real FK from customer_contact_id to unified_contacts.id if current production data permits it. Ship via one focused PR, Gate, merge, affected frontend/Supabase release, and prove the new intake fields + contact link + safe WMP/fulfillment propagation live.","wordingChanged":false,"canonicalIntent":"Complete the canonical PCG submission information contract at /pcg/workspace without changing the already-live single/batch capture behavior. Receive Cards must create or reuse one tenant-scoped unified_contacts customer, preserve the collector return address there, and link card_grading_submissions.customer_contact_id to that canonical contact. Keep inbound delivery_method separate from return fulfillment. Add canonical submission fields for return_shipping_method (FedEx 2 Day, FedEx Saver, or Pickup), optional return_shipping_cost, and optional return_insurance_amount / declared return coverage. Intake may also capture inbound tracking when available. Stripe remains the billing/payment owner: do not store payment-card secrets; PCG stores only existing payment status/reference/paid_at. Carry return shipping method/cost/coverage into the submission workbench; show safe return-shipping method + tracking in WMP/customer progress; include return shipping method and tracking in completion/shipment email context. Do not expose the street address publicly. Preserve tenant RLS/Data API safety, all existing lifecycle gates, the exact top-level modes, and the Google Workspace Drive capture integration already live. For new FedEx-return submissions, require a complete return address before creation; Pickup does not require an address. Reuse/update an existing tenant contact by normalized email first, otherwise normalized phone; create a new tenant contact only when no deterministic match exists. Add a real FK from customer_contact_id to unified_contacts.id if current production data permits it. Ship via one focused PR, Gate, merge, affected frontend/Supabase release, and prove the new intake fields + contact link + safe WMP/fulfillment propagation live.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-pcg-information-contract","statement":"Complete the canonical PCG submission information contract at /pcg/workspace without changing the already-live single/batch capture behavior. Receive Cards must create or reuse one tenant-scoped unified_contacts customer, preserve the collector return address there, and link card_grading_submissions.customer_contact_id to that canonical contact. Keep inbound delivery_method separate from return fulfillment. Add canonical submission fields for return_shipping_method (FedEx 2 Day, FedEx Saver, or Pickup), optional return_shipping_cost, and optional return_insurance_amount / declared return coverage. Intake may also capture inbound tracking when available. Stripe remains the billing/payment owner: do not store payment-card secrets; PCG stores only existing payment status/reference/paid_at. Carry return shipping method/cost/coverage into the submission workbench; show safe return-shipping method + tracking in WMP/customer progress; include return shipping method and tracking in completion/shipment email context. Do not expose the street address publicly. Preserve tenant RLS/Data API safety, all existing lifecycle gates, the exact top-level modes, and the Google Workspace Drive capture ","provenance":{"reason":null,"source":"current_request_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-runtime","proof-visual"]}],"objective":"Complete the canonical PCG submission information contract at /pcg/workspace without changing the already-live single/batch capture behavior. Receive Cards must create or reuse one tenant-scoped unified_contacts customer, preserve the collector return address there, and link card_grading_submissions.customer_contact_id to that canonical contact. Keep inbound delivery_method separate from return fulfillment. Add canonical submission fields for return_shipping_method (FedEx 2 Day, FedEx Saver, or Pickup), optional return_shipping_cost, and optional return_insurance_amount / declared return coverage. Intake may also capture inbound tracking when available. Stripe remains the billing/payment owner: do not store payment-card secrets; PCG stores only existing payment status/reference/paid_at. Carry return shipping method/cost/coverage into the submission workbench; show safe return-shipping method + tracking in WMP/customer progress; include return shipping method and tracking in completion/shipment email context. Do not expose the street address publicly. Preserve tenant RLS/Data API safety, all existing lifecycle gates, the exact top-level modes, and the Google Workspace Drive capture integration already live. For new FedEx-return submissions, require a complete return address before creation; Pickup does not require an address. Reuse/update an existing tenant contact by normalized email first, otherwise normalized phone; create a new tenant contact only when no deterministic match exists. Add a real FK from customer_contact_id to unified_contacts.id if current production data permits it. Ship via one focused PR, Gate, merge, affected frontend/Supabase release, and prove the new intake fields + contact link + safe WMP/fulfillment propagation live.","constraints":[{"id":"canonical-contact","statement":"Customer identity and return address use tenant-scoped unified_contacts and customer_contact_id; no parallel PCG customer/address schema.","provenance":{"reason":null,"source":"current_request_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-runtime"]},{"id":"billing-boundary","statement":"Stripe/provider remains owner of billing/payment-card information; do not store card secrets in PCG.","provenance":{"reason":null,"source":"current_request_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-runtime"]},{"id":"shipping-separation","statement":"Inbound delivery_method remains separate from return shipping method/cost/insurance.","provenance":{"reason":null,"source":"current_request_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-runtime","proof-visual"]},{"id":"public-privacy","statement":"WMP may show safe return shipping method and tracking but must not expose the collector street address.","provenance":{"reason":null,"source":"current_request_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-runtime","proof-visual"]},{"id":"preserve-capture","statement":"Do not regress the live bound single-card and batch capture flow or Google Workspace Drive storage.","provenance":{"reason":null,"source":"current_request_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-runtime"]},{"id":"visual-artifact-scope","statement":"Visual acceptance is limited to PCG intake/workbench/WMP surfaces required by this information contract; do not redesign unrelated surfaces.","provenance":{"reason":null,"source":"current_request_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-visual"]},{"id":"visual-content-truth","statement":"Use synthetic test data only for verification and do not present invented customer facts as real.","provenance":{"reason":null,"source":"current_request_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-visual"]},{"id":"tenant-visual-isolation","statement":"All proof remains isolated to the PCG tenant.","provenance":{"reason":null,"source":"current_request_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-visual"]},{"id":"visual-viewport-authority","statement":"Desktop is the primary acceptance viewport; preserve responsive behavior.","provenance":{"reason":null,"source":"current_request_explicit","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-visual"]},{"id":"capability-completeness","statement":"Every dependency the implementation declares or relies on must be wired and proven across applicable frontend, backend/runtime, schema/data/storage, authentication/authorization, provider configuration, prerequisite/loading/empty/error states, release ownership, and live production behavior; owner-authorized unavailable dependencies must become explicit prerequisite states rather than runtime failures.","provenance":{"reason":null,"source":"hard_safety_invariant","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-runtime"]},{"id":"atomic-capability-lifecycle","statement":"Changed capabilities remain non-active until dependency readiness, N/N-1 compatibility, affected-target release, and claim-matched production canary proof are satisfied; missing optional dependencies become prerequisite_required, and runtime drift or health-contract violation quarantines only the affected capability instead of breaking unrelated working capability.","provenance":{"reason":null,"source":"hard_safety_invariant","inherited":false,"blockingAuthority":true},"proofConditionIds":["proof-runtime"]}],"adaptivePolicy":{"risk":{"tier":"standard","blastRadius":"scoped"},"proof":{"requiredKinds":["runtime","visual"],"visualProofScope":"none","interactionRequired":true,"runtimeProofRequired":true},"scope":{"route":"/pcg/workspace","roleRef":"tenant_owner","tenantRef":"pcg","sourceTargets":["src/pages/crm/PcgWorkspace.tsx","src/pages/card-grading/PCGCompletionCenter.tsx","supabase/functions/pcg-customer-progress/index.ts","src/pages/whats-my-progress/PCGWhatsMyProgressHome.tsx","config/capabilities/pcg-card-grading-modes.json"]},"dynamic":{"variables":["main_and_runtime_lineage","runner_capacity","queue_and_active_work","provider_health","failure_clusters_and_circuits","release_target_state","current_pr_and_gate_state"],"refreshStages":["preflight","gate","release","runtime_proof"],"refreshMayChange":["runner_selection","parallelism","retry_path","qa_depth","release_recovery","proof_timing"],"refreshMayNotChange":["owner_outcome","explicit_no_go_constraints","tenant_identity","credential_boundary","hard_safety_invariants"]},"urgency":{"priority":"deadline_sensitive","deadlineSignals":["before creation","by normalized email first"],"deadlineExplicit":true},"version":"paul-adaptive-objective-v1","recovery":{"transient":"one_bounded_retry_then_alternate_eligible_pool_or_provider_path","deterministic":"repair_source_or_contract_do_not_blind_rerun","mutationDependencyFailure":"prerequisite_required_or_targeted_recovery_never_invent","readOnlyDependencyFailure":"degrade_to_available_grounded_context_and_keep_conversation_alive"},"unknowns":[],"authority":{"outcome":"current_explicit_owner_request","tactics":"live_prime_truth","unknownPolicy":"preserve_unknown_never_invent","historicalContext":"advisory_unless_current_request_confirms"},"execution":{"mutation":true,"concurrency":"parallel_non_overlapping_tenant_work","scopePolicy":"start_bounded_expand_only_with_machine_readable_dependency_evidence","staleStatePolicy":"refresh_dynamic_state_before_irreversible_or_acceptance_stage","conversationIsolation":true,"ownerOutcomeMayBeChangedByAdaptation":false},"experience":{"visual":false,"viewports":["desktop","mobile"],"behavioral":true,"visualProofScope":"none"},"dependencies":{"requiredDomains":["frontend","backend_runtime","schema_data_storage","provider_configuration","release_ownership","live_production_proof"],"capabilityDomains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"releaseTargetHints":["frontend","supabaseEdge"]},"inputSignals":{"rawUtterance":"Complete the canonical PCG submission information contract at /pcg/workspace without changing the already-live single/batch capture behavior. Receive Cards must create or reuse one tenant-scoped unified_contacts customer, preserve the collector return address there, and link card_grading_submissions.customer_contact_id to that canonical contact. Keep inbound delivery_method separate from return fulfillment. Add canonical submission fields for return_shipping_method (FedEx 2 Day, FedEx Saver, or Pickup), optional return_shipping_cost, and optional return_insurance_amount / declared return coverage. Intake may also capture inbound tracking when available. Stripe remains the billing/payment owner: do not store payment-card secrets; PCG stores only existing payment status/reference/paid_at. Carry return shipping method/cost/coverage into the submission workbench; show safe return-shipping method + tracking in WMP/customer progress; include return shipping method and tracking in completion/shipment email context. Do not expose the street address publicly. Preserve tenant RLS/Data API safety, all existing lifecycle gates, the exact top-level modes, and the Google Workspace Drive capture integration already live. For new FedEx-return submissions, require a complete return address before creation; Pickup does not require an address. Reuse/update an existing tenant contact by normalized email first, otherwise normalized phone; create a new tenant contact only when no deterministic match exists. Add a real FK from customer_contact_id to unified_contacts.id if current production data permits it. Ship via one focused PR, Gate, merge, affected frontend/Supabase release, and prove the new intake fields + contact link + safe WMP/fulfillment propagation live.","canonicalIntent":"Complete the canonical PCG submission information contract at /pcg/workspace without changing the already-live single/batch capture behavior. Receive Cards must create or reuse one tenant-scoped unified_contacts customer, preserve the collector return address there, and link card_grading_submissions.customer_contact_id to that canonical contact. Keep inbound delivery_method separate from return fulfillment. Add canonical submission fields for return_shipping_method (FedEx 2 Day, FedEx Saver, or Pickup), optional return_shipping_cost, and optional return_insurance_amount / declared return coverage. Intake may also capture inbound tracking when available. Stripe remains the billing/payment owner: do not store payment-card secrets; PCG stores only existing payment status/reference/paid_at. Carry return shipping method/cost/coverage into the submission workbench; show safe return-shipping method + tracking in WMP/customer progress; include return shipping method and tracking in completion/shipment email context. Do not expose the street address publicly. Preserve tenant RLS/Data API safety, all existing lifecycle gates, the exact top-level modes, and the Google Workspace Drive capture integration already live. For new FedEx-return submissions, require a complete return address before creation; Pickup does not require an address. Reuse/update an existing tenant contact by normalized email first, otherwise normalized phone; create a new tenant contact only when no deterministic match exists. Add a real FK from customer_contact_id to unified_contacts.id if current production data permits it. Ship via one focused PR, Gate, merge, affected frontend/Supabase release, and prove the new intake fields + contact link + safe WMP/fulfillment propagation live.","conversationContextPresent":false}},"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-runtime","kind":"runtime","claim":"Production PCG persists canonical customer/contact return address linkage and separate return fulfillment terms with safe payment boundaries and no capture regression.","route":"/pcg/workspace","roleRef":"tenant_owner","userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false},{"id":"proof-visual","kind":"visual","claim":"Receive Cards and the submission workbench expose the required return-address and return-shipping information clearly without duplicate customer selection.","route":"/pcg/workspace","roleRef":"tenant_owner","userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"requireCapacityAdmissible":false,"expectedWatchdogPolicyVersion":null,"minConsecutiveHealthyHeartbeats":1,"requirePositiveMemoryAttribution":false,"requireMemoryAdmissionPressureFalse":false}],"validationErrors":[],"capabilityManifest":{"id":"pcg-submission-information-contract","driftPolicy":"exact_manifest_source_release_dependency_or_runtime_identity_mismatch_is_nonterminal","proofLedger":"command_center_mission_ledger_request_contract_hash_bound","schemaVersion":1,"releaseTargets":[],"lifecycleStates":["prepare","deploy","verify","activate"],"activationPolicy":"dependencies_and_claim_matched_live_proof_before_exposure","dependencyDomains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_required_not_runtime_failures","compatibilityWindow":["N","N-1"],"failureIsolationPolicy":"quarantine_or_rollback_affected_capability_only_preserve_unrelated_working_capabilities","canaryProofConditionIds":["proof-runtime"]},"capabilityCompleteness":{"domains":["frontend","backend_runtime","schema_data_storage","authentication_authorization","provider_configuration","prerequisite_loading_empty_error_states","release_ownership","live_production_proof"],"required":true,"prerequisitePolicy":"expected_unavailable_dependencies_are_prerequisite_states_not_runtime_failures"}},"requestedBranch":null,"conversationContext":null,"requestContractHash":"f498623aaab946fd5250094bdf036b986473ab8a13976bc9b554fe4ff7d0afc7","requestContractRevision":1},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-09-29T21:20:39.066405+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:170cd815-b306-4e74-bda1-5a306838e0ad:tenant-workstream-contribution:430182283cb48fcbb4258a2c9b231c92fc25fed9c7eebf04cacea37d90c65e11","mission_step_id":null,"command_center_event_id":"170cd815-b306-4e74-bda1-5a306838e0ad"},{"id":"e491786f-14fc-483f-a525-30af05a8ed34","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"branch":"ai/objective-first-repair-ef2348b23788","approved":true,"missionId":"ef2348b2-3788-460c-b4d8-1ecab679d19b","objective":"Reduce only the desktop/tablet visual density of src/pages/card-grading/PCGPublicSite.tsx so the PCG public preview at 100% browser zoom visually matches the owner's observed 67% sweet spot. Keep mobile sizing unchanged. Keep prestigiouscardgrading.com and www.prestigiouscardgrading.com on the existing Under Construction gate. Use one maintainable PCG-local scaling primitive rather than manually resizing every element. Do not touch PrivateAppShell or PcgAppShell. Ship, deploy, and verify the preview route on desktop and mobile.","ownerApproved":true,"sourceTargets":["src/pages/card-grading/PCGPublicSite.tsx"],"anchored_edits":[{"path":"src/pages/card-grading/PCGPublicSite.tsx","new_content":"<main data-pcg-public-site=\"true\" className=\"relative min-h-screen overflow-x-hidden bg-[#020608] text-white md:scale-[0.67]\">","old_content":"<main data-pcg-public-site=\"true\" className=\"relative min-h-screen overflow-x-hidden bg-[#020608] text-white\">"}],"durableMutationResume":true},"recovery":false,"fingerprint":"0243d88a558f01fb5bffbe3490ff0b33802c31ab4ed721c6daf16d3cbf6f71c4","replayCount":0,"serializedBytes":1138},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T13:56:40.352779+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:ef2348b2-3788-460c-b4d8-1ecab679d19b:repository-mutation-intent:0243d88a558f01fb5bffbe3490ff0b33802c31ab4ed721c6daf16d3cbf6f71c4:0","mission_step_id":"f08f05d2-4c1e-46c4-ad2b-68ad2a83434f","command_center_event_id":"ef2348b2-3788-460c-b4d8-1ecab679d19b"},{"id":"e492048f-869b-4f71-bd8f-865459e4e7d8","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-63e7ab723bff","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":69071,"releaseCount":0,"toolCallCount":20,"repeatedCallCount":15,"executorlessWaitMs":358829,"firstUsefulResultAt":"2026-10-05T13:05:40.771Z","recoveryAttemptCount":17,"ownerInterruptionCount":0},"version":null,"prNumber":4909,"terminal":false,"missionId":"63e7ab72-3bff-4983-8fee-24ae6766518d","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":{"prReadinessMs":2337,"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":"63e7ab72-3bff-4983-8fee-24ae6766518d"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":819,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T13:08:55.570584+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"4909","receipt_type":"automatic_mission_resume","idempotency_key":"mission:63e7ab72-3bff-4983-8fee-24ae6766518d:automatic-mission-resume:4909:repair_mission_pr_ready_retryable","mission_step_id":"0d63dbe2-e20d-4cf8-929b-806939023bab","command_center_event_id":"63e7ab72-3bff-4983-8fee-24ae6766518d"},{"id":"e493650a-f9cf-4f08-948d-c2458f57a6e8","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/phone-first-auth-ui","reason":null,"status":"source_resolution_required","metrics":{"receiptBytes":3068,"releaseCount":0,"toolCallCount":2,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.46.14-file-write-contract","prNumber":null,"terminal":false,"missionId":"788bdc0c-086e-490f-a340-6d372b4d2bf0","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":null,"nextAction":"Resolve bounded authoritative Forgejo source targets, then continue this same mission with exact files or anchored_edits. Do not call the synthesis helper again until source exists.","receiptRef":{"mode":"full","missionId":"788bdc0c-086e-490f-a340-6d372b4d2bf0"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":7481,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-16T19:48:09.484461+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:788bdc0c-086e-490f-a340-6d372b4d2bf0:execute_mission:repair_mission_source_resolution_required","mission_step_id":"a3e3a617-c685-4ebc-8f15-24d53c5ad9d2","command_center_event_id":"788bdc0c-086e-490f-a340-6d372b4d2bf0"},{"id":"e4960970-8e5c-4789-bd87-f15bccfc0c2a","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/curri-control-center-cohesion-20260912","reason":"retryable_provider_transport:GET:The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.118-architecture-exclusivity","prNumber":null,"terminal":false,"missionId":"9faaa622-8429-430a-819d-776302bbc354","operation":"execute_mission","proofGate":"repair_mission_execution_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":23543,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":263,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":263,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":263,"repositoryMutationMs":23543,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":263,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"9faaa622-8429-430a-819d-776302bbc354"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1561,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-12T19:41:51.395255+00:00","proof_gate":"repair_mission_execution_retryable","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:9faaa622-8429-430a-819d-776302bbc354:execute_mission:repair_mission_execution_retryable:current-generation","mission_step_id":"56161d1c-495e-474b-9250-799f81d5959a","command_center_event_id":"9faaa622-8429-430a-819d-776302bbc354"},{"id":"e4961654-837f-46f0-a996-f524ef16a697","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"89dd27cfe4d92548470dbc75f9d86883d055c678","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"89dd27cfe4d92548470dbc75f9d86883d055c678","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":"c6db130de29ffbfa8e6dcb21bc736287daa6b2c263be687a0a31c56b274de30a","forgejoWorkflowProof":{"runId":11027,"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-23T02:16:11.554905+00:00","proof_gate":"canonical_release_pending","source_sha":"89dd27cfe4d92548470dbc75f9d86883d055c678","external_id":"forgejo-main-89dd27cfe4d9","receipt_type":"canonical_release_status","idempotency_key":"mission:01018640-eadf-4b23-a2f6-266526b06bd6:forgejo-release-status:89dd27cfe4d92548470dbc75f9d86883d055c678:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"689df51d-6f00-4915-81f2-3c9d166482f4","command_center_event_id":"01018640-eadf-4b23-a2f6-266526b06bd6"},{"id":"e49720a6-49aa-43ff-9ab3-fe1325a2b1a5","source":"cc-execution","status":"source_resolution_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-c1a357e53eae","reason":null,"status":"source_resolution_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.220-terminal-step-projection","prNumber":null,"terminal":false,"missionId":"c1a357e5-3eae-42ed-9cd4-f6fde7e3673c","operation":"execute_mission","proofGate":"repair_mission_source_resolution_required","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":124,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":435,"providerAuthMs":0,"ledgerPrepareMs":435,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":435,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":435,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Resolve bounded authoritative Forgejo source targets, then call /mission/execute again with this same missionId and exact files or anchored_edits. Do not switch workflows.","receiptRef":{"mode":"full","missionId":"c1a357e5-3eae-42ed-9cd4-f6fde7e3673c"},"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":3856,"likelyAffectedFiles":[],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T03:48:06.310998+00:00","proof_gate":"repair_mission_source_resolution_required","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:c1a357e5-3eae-42ed-9cd4-f6fde7e3673c:execute_mission:repair_mission_source_resolution_required:current-generation","mission_step_id":"280f9b89-7ef9-4f78-9291-50a207f8e5ac","command_center_event_id":"c1a357e5-3eae-42ed-9cd4-f6fde7e3673c"},{"id":"e4977389-7632-45fd-a14a-aaac632d5676","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"e93706970540e5bca86854e973784efaf76c19a3","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"e93706970540e5bca86854e973784efaf76c19a3","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"requestContractHash":"99eb5249033c3b5f0d439e7406064b4b38a4453467a8401cf77b4898afdbbdb4","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/3939","runId":3939,"status":"running","sourceSha":"e93706970540e5bca86854e973784efaf76c19a3","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"d60e3c27-73ed-4a5f-a49b-c37636455daf","created_at":"2026-09-01T02:41:07.792765+00:00","proof_gate":"canonical_release_pending","source_sha":"e93706970540e5bca86854e973784efaf76c19a3","external_id":"forgejo-main-e93706970540","receipt_type":"canonical_release_status","idempotency_key":"mission:16b4f5f4-48f7-43e0-a1b7-3bd603580d2f:forgejo-release-status:e93706970540e5bca86854e973784efaf76c19a3:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"0111f34a-075c-4d30-bdb6-d1f313c7edf4","command_center_event_id":"16b4f5f4-48f7-43e0-a1b7-3bd603580d2f"},{"id":"e497e017-2f95-4811-a2f2-72bbf98ad646","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"9ce9cd2a69a3fe99b85f5b45c8c7453691483e92","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"warm-dependency-cache","satisfied":true,"statement":"The canonical Gate uses the established Node+lockfile dependency-cache path/version, so existing warm dependency caches remain reusable instead of forcing avoidable npm reinstalls.","proofConditionIds":["proof-workflow-source","proof-gate"]},{"id":"semantic-ts-cache","satisfied":true,"statement":"TypeScript incremental state is separately restored by exact semantic inputs and legacy lockfile-bundled tsbuildinfo is deleted before semantic restore, preventing stale-state contamination.","proofConditionIds":["proof-workflow-source","proof-gate"]},{"id":"unrelated-churn-safe","satisfied":true,"statement":"Changes outside Node runtime, dependency manifests, src, and tsconfig.app.json do not invalidate the TypeScript incremental cache.","proofConditionIds":["proof-workflow-source"]},{"id":"policy-synchronized","satisfied":true,"statement":"The control plane capability document describes the final dependency and TypeScript cache behavior.","proofConditionIds":["proof-policy-source"]}],"satisfied":true,"constraints":[{"id":"no-safety-reduction","satisfied":true,"statement":"Preserve the full TypeScript semantic check, protected-main freshness checks, canonical Gate, one-runner policy, and release ownership; no bypass, reduced-scope validation, duplicate workflow, or second validator.","proofConditionIds":["proof-workflow-source","proof-gate"]},{"id":"bounded-control-plane","satisfied":true,"statement":"Change only .forgejo/workflows/knocklaunch.yml and config/control-plane-capabilities.json.","proofConditionIds":["proof-workflow-source","proof-policy-source"]}],"contractHash":"b3bc79482b371759fb8defcb03f902ce6340a91c502cbdfbd30a22a7fbfbf419","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"proof-workflow-source","kind":"repository","evidence":{"releaseState":"verified","releaseRequestContractHash":"b3bc79482b371759fb8defcb03f902ce6340a91c502cbdfbd30a22a7fbfbf419"},"required":true,"satisfied":true},{"id":"proof-policy-source","kind":"repository","evidence":{"releaseState":"verified","releaseRequestContractHash":"b3bc79482b371759fb8defcb03f902ce6340a91c502cbdfbd30a22a7fbfbf419"},"required":true,"satisfied":true},{"id":"proof-gate","kind":"runtime","evidence":{"releaseState":"verified","releaseRequestContractHash":"b3bc79482b371759fb8defcb03f902ce6340a91c502cbdfbd30a22a7fbfbf419"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":[]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":9},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-29T18:48:35.836977+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"9ce9cd2a69a3fe99b85f5b45c8c7453691483e92","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:c50d8da7-6690-40f2-9cd1-2d815628cbd7:request-contract:b3bc79482b371759fb8defcb03f902ce6340a91c502cbdfbd30a22a7fbfbf419:9ce9cd2a69a3fe99b85f5b45c8c7453691483e92:verified:","mission_step_id":"c6fce020-7c34-4c09-bf81-2834faace256","command_center_event_id":"c50d8da7-6690-40f2-9cd1-2d815628cbd7"},{"id":"e498d28e-cdf3-4255-a8c1-28c1f1e15c7a","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-bf04bf881a57","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":178823,"releaseCount":0,"toolCallCount":88,"repeatedCallCount":86,"executorlessWaitMs":8339057,"firstUsefulResultAt":"2026-10-02T20:43:04.185Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.56-paul-eval-diagnostics-mission-freedom-structured-facade-explicit-contract-hydration","prNumber":4552,"terminal":false,"missionId":"bf04bf88-1a57-406e-adba-588dd71d6d9d","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4315,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":663,"missionSetupMs":275,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":275,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":275,"repositoryMutationMs":3652,"repositoryProviderMs":3652,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2246,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":275,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1406},"nextAction":"Canonical KnockLaunch Gate notifier and durable mission supervisor own Gate, merge, release, and proof progression from this exact PR head outside the owner response path.","receiptRef":{"mode":"full","missionId":"bf04bf88-1a57-406e-adba-588dd71d6d9d"},"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":3234,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T23:02:08.635985+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"4552","receipt_type":"execute_mission","idempotency_key":"mission:bf04bf88-1a57-406e-adba-588dd71d6d9d:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"18bc9fa2-f4d9-4925-a48a-9450fe37ea00","command_center_event_id":"bf04bf88-1a57-406e-adba-588dd71d6d9d"},{"id":"e49aecf5-39e4-4dae-bacd-d1229f297e10","source":"forgejo","status":"waiting","payload":{"branch":"","prNumber":4938,"nextAction":null,"mergeCommitSha":"4b09950c9717ce4192d26dfc95e06edeedadd95f","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T15:10:41.534082+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"4b09950c9717ce4192d26dfc95e06edeedadd95f","external_id":"4938","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:bb8a11fb-9dda-4c2d-b77f-2290043ff4b2:merged-pr:4938:4b09950c9717ce4192d26dfc95e06edeedadd95f","mission_step_id":"c06a25a5-9fd2-464a-853f-574e3aa65314","command_center_event_id":"bb8a11fb-9dda-4c2d-b77f-2290043ff4b2"},{"id":"e49b035b-d3b3-4e96-bd1f-380b807f709f","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-dcd0495462fe","reason":"control_plane_maintenance_authorization_required","status":"blocked","metrics":{"receiptBytes":7991,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-09-24T07:08:25.903Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.249-semantic-conflict-generation","prNumber":null,"terminal":false,"missionId":"dcd04954-62fe-46d7-b127-4255c90c294d","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":0,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":265,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":265,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":265,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":265,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"dcd04954-62fe-46d7-b127-4255c90c294d"},"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":1495,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T07:08:26.820181+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:dcd04954-62fe-46d7-b127-4255c90c294d:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"448e4bb4-842c-4651-af08-f035feb74c21","command_center_event_id":"dcd04954-62fe-46d7-b127-4255c90c294d"},{"id":"e49f4689-a87d-48e8-8f1b-1b5659755cc5","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"4cbb84de5ca634c3f5d29d96e17c0bd84593688f","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"4cbb84de5ca634c3f5d29d96e17c0bd84593688f","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"pending"},"requestContractHash":"093e54573c4213f1a8bb683241f25c607ae79854087b641aa9dd63c371088871","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/11546","runId":11546,"status":"running","sourceSha":"4cbb84de5ca634c3f5d29d96e17c0bd84593688f","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"frontend":"pending"},"targetJobCount":7,"observedTargetStates":{"frontend":"pending"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"d60e3c27-73ed-4a5f-a49b-c37636455daf","created_at":"2026-09-24T17:16:06.263532+00:00","proof_gate":"canonical_release_pending","source_sha":"4cbb84de5ca634c3f5d29d96e17c0bd84593688f","external_id":"forgejo-main-4cbb84de5ca6","receipt_type":"canonical_release_status","idempotency_key":"mission:c9e442a7-8255-4ef8-a592-40da0d9aac0b:forgejo-release-status:4cbb84de5ca634c3f5d29d96e17c0bd84593688f:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"264d46cb-0a4f-436c-b33a-d2eb14f70ad0","command_center_event_id":"c9e442a7-8255-4ef8-a592-40da0d9aac0b"},{"id":"e4a052fe-f403-49be-a83e-a9d0cdd90a27","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","cc-execution/runtime-proof":"success"},"mainSha":"8d1c0a41c724a2d707a1357f89034e0bd75bef48","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"b4265df1a392688796f7560cd44dcc41bb6c6670","releaseState":"verified","sourceInMain":true,"compareStatus":"known_exact_protected_main_push_history","releaseTargets":{"frontend":false,"migrations":false,"ccExecution":true,"supabaseEdge":false},"releaseTargetStates":{"ccExecution":"success"},"requestContractHash":"2d84552093021079d80e83398cd2e7548cd13b3354237257ce454f52489ed9ea","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/22172","runId":22470,"status":"success","sourceSha":"b4265df1a392688796f7560cd44dcc41bb6c6670","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"ccExecution":"success"},"targetJobCount":7,"observedTargetStates":{"ccExecution":"success"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"8d1c0a41c724a2d707a1357f89034e0bd75bef48","proofGate":"cc_execution_target_aware_runtime_identity_verified","deploymentId":"forgejo-main-8d1c0a41c724a2d707a1357f89034e0bd75bef48","compareStatus":"target_job_success_runtime_verified","workflowRunId":22470,"identitySource":"canonical_release_target_job","runtimeVersion":"1.67.20-three-way-current-anchor-proof","workflowFailed":false,"containsSourceSha":false},"releaseTargetRecoveryProof":{"exact":true,"source":"exact_source_parent_diff_shared_release_owner_mapping","parentSha":"7ab74124a6f0ba0fefd35c1b293d226dd4fa4286","sourceSha":"b4265df1a392688796f7560cd44dcc41bb6c6670","changedPaths":["workers/cc-execution/src/index-mission-control.js"],"changedPathCount":1,"independentOfCurrentMainCompare":true},"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-13T14:53:35.48262+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"b4265df1a392688796f7560cd44dcc41bb6c6670","external_id":null,"receipt_type":"canonical_release_status","idempotency_key":"mission:0605e400-fbab-4c3c-907e-1e869a467f49:forgejo-release-status:b4265df1a392688796f7560cd44dcc41bb6c6670:verified:forgejo-main/source=success|forgejo-release/workflow=success|cc-execution/runtime-proof=success","mission_step_id":"4ae48530-2dbf-4f0c-a4a0-c7353d54178e","command_center_event_id":"0605e400-fbab-4c3c-907e-1e869a467f49"},{"id":"e4a2f47f-e313-4cd8-94ab-24af8f306dd7","source":"forgejo","status":"waiting","payload":{"branch":"ai/objective-first-repair-77035d30540c","prNumber":4281,"nextAction":"Follow the existing canonical release to terminal proof.","mergeCommitSha":"8a73088bdcfaccc04d87aea8747d0c8aa9291187","branchDeletedAfterMerge":true,"correctiveGenerationCreated":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T21:30:26.881768+00:00","proof_gate":"forgejo_merged_pr_is_authoritative_source_lineage","source_sha":"8a73088bdcfaccc04d87aea8747d0c8aa9291187","external_id":"4281","receipt_type":"source_lineage_merged_pr_authoritative","idempotency_key":"mission:77035d30-540c-44ac-93b2-04fdefec9a5b:merged-pr:4281:8a73088bdcfaccc04d87aea8747d0c8aa9291187","mission_step_id":"b4e7cc11-ae0e-4128-b637-56b8ec992f62","command_center_event_id":"77035d30-540c-44ac-93b2-04fdefec9a5b"},{"id":"e4a46947-6808-4625-96be-951a812fd14b","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/deterministic-business-core-20260819","reason":"pull_request_stale_refresh_required","status":"retryable","metrics":{"receiptBytes":7887,"releaseCount":0,"toolCallCount":7,"repeatedCallCount":2,"ownerInterruptionCount":0},"version":"1.47.10-forgejo-merge-authority","prNumber":447,"terminal":false,"missionId":"e628682a-5725-476b-a254-a5b8f7bec413","operation":"execute_mission","proofGate":"repair_mission_pr_ready_retryable","sourceSha":null,"timingsMs":null,"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"e628682a-5725-476b-a254-a5b8f7bec413"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":5510,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-19T20:47:15.732512+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"447","receipt_type":"execute_mission","idempotency_key":"mission:e628682a-5725-476b-a254-a5b8f7bec413:execute_mission:repair_mission_pr_ready_retryable","mission_step_id":"83b10988-8e60-4077-bd7f-658deef967cc","command_center_event_id":"e628682a-5725-476b-a254-a5b8f7bec413"},{"id":"e4a4b8fe-fa77-407f-8e83-530cade5a211","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","cc-execution/runtime-proof":"pending"},"mainSha":"013c7e5d0d482168ffda3c79c9b6d922b8aa55c1","missing":[],"pending":["forgejo-release/workflow","cc-execution/runtime-proof"],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof"],"sourceSha":"013c7e5d0d482168ffda3c79c9b6d922b8aa55c1","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/237","runId":237,"status":"running","conclusion":null,"failedJobs":[]},"ccExecutionRuntimeProof":{"liveSha":"761c1bbd54839549edaa51fad3bcfa1cbb9e4548","deploymentId":"forgejo-main-761c1bbd54839549edaa51fad3bcfa1cbb9e4548","compareStatus":null,"identitySource":"local_build_metadata","runtimeVersion":"1.45.0-adaptive-control-plane-intelligence","containsSourceSha":false}},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-15T02:47:13.770169+00:00","proof_gate":"canonical_release_pending","source_sha":"013c7e5d0d482168ffda3c79c9b6d922b8aa55c1","external_id":"forgejo-main-013c7e5d0d48","receipt_type":"canonical_release_status","idempotency_key":"mission:ec64fcf7-d21f-448f-9e9c-fd0b8eb275e9:forgejo-release-status:013c7e5d0d482168ffda3c79c9b6d922b8aa55c1:pending:forgejo-main/source=success|forgejo-release/workflow=pending|cc-execution/runtime-proof=pending","mission_step_id":"b467f9c8-c747-4179-8ed2-9afbfd510e24","command_center_event_id":"ec64fcf7-d21f-448f-9e9c-fd0b8eb275e9"},{"id":"e4a52157-45e9-479c-876e-1bf2272ad702","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\":\"release\",\"status\":\"waiting\",\"lane\":\"production-release-conductor\"},\"nextStep\":{\"key\":\"runtime_proof\",\"status\":\"waiting\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"verify_visual\",\"lane\":\"onrunner\",\"reason\":\"release_verified_existing_visual_job_pending_reconciliation\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"acceptance\":{\"total\":2,\"verified\":1,\"pending\":1,\"percent\":50,\"satisfied\":false,\"verifiedIds\":[\"proof-production\"],\"pendingIds\":[\"proof-visual\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"pull_request\",\"deadlineAt\":\"2026-09-21T18:47:09.190501+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-ad033befa378\",\"prNumber\":3362,\"sourceSha\":\"514f04cec499c23d9388b3f5ed314050aa94f84d\",\"deploymentId\":\"forgejo-main-514f04cec499\"}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-21T17:03:51.906061+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:ad033bef-a378-4fd8-b821-892b60801fb5:owner-progress-heartbeat:119334015","mission_step_id":"24f507f8-cddd-4ce2-94c2-c88fb3a294e3","command_center_event_id":"ad033bef-a378-4fd8-b821-892b60801fb5"},{"id":"e4a5b740-7d0c-44fd-bdd1-72e3c32ea51b","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-181f544ef91a","reason":"retryable_provider_transport:forgejo_provider_read_timeout","status":"retryable","metrics":{"receiptBytes":11867,"releaseCount":0,"toolCallCount":7,"repeatedCallCount":4,"executorlessWaitMs":427174,"firstUsefulResultAt":"2026-09-27T15:32:16.804Z","recoveryAttemptCount":5,"ownerInterruptionCount":0},"version":null,"prNumber":3882,"terminal":false,"missionId":"181f544e-f91a-4eec-9b78-1f5b27d7bf09","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":"181f544e-f91a-4eec-9b78-1f5b27d7bf09"},"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-27T15:38:11.174802+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"3882","receipt_type":"automatic_mission_resume","idempotency_key":"mission:181f544e-f91a-4eec-9b78-1f5b27d7bf09:automatic-mission-resume:3882:repair_mission_pr_ready_retryable","mission_step_id":"5771a4bc-d4df-499a-883a-3608dec8d5db","command_center_event_id":"181f544e-f91a-4eec-9b78-1f5b27d7bf09"},{"id":"e4a63193-1ab9-4858-aa16-ecfc6fdab322","source":"cc-execution","status":"authorized","payload":{"paths":["config/control-plane-capabilities.json","workers/cc-execution/src/index-mission-control.js","workers/cc-execution/test/release-orchestration-invariants.test.js"],"reason":"Exact implementation of the remaining owner-wait SLO telemetry promised in the owner-authorized hardening plan.","baseSha":"25509717c3a1331d21ff574b07fc85a4d250a263","issuedAt":1788925854643,"expiresAt":1788926034643,"missionId":"20bef598-f4d2-4c6b-86fd-f142edeb8455","authorizationId":"54f7ae49-397b-4c36-9475-06682fb20a90","retryableWithinExactScope":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-09T03:50:55.072692+00:00","proof_gate":"control_plane_maintenance_scope_authorized","source_sha":"25509717c3a1331d21ff574b07fc85a4d250a263","external_id":null,"receipt_type":"control_plane_maintenance_authorization","idempotency_key":"control-plane-maintenance-authorize:54f7ae49-397b-4c36-9475-06682fb20a90","mission_step_id":"b9cc9e85-0566-40fd-af07-16919a99e34a","command_center_event_id":"20bef598-f4d2-4c6b-86fd-f142edeb8455"},{"id":"e4a7d3ce-7f7d-49cd-b17a-122296b11dd4","source":"durable-mission-ledger","status":"verified","payload":{"sourceSha":"64565d4035b52891716209307e81a698a4d9b1ff","requestContractProof":{"legacy":false,"present":true,"outcomes":[{"id":"paul-scheduler-source-scope","satisfied":true,"statement":"Repair the canonical PAUL durable scheduler source-scope handoff. Proven failure: owner-authorized PAUL schedules compile with adaptivePolicy.scope.sourceTargets=[] even when exact source paths are supplied, causing scheduled mutation-capable missions to stop at repair_mission_source_resolution_required. Fix the scheduler/request-contract compiler and dispatch path so an optional explicit bounded sourceTargets array is accepted by paul_schedule_create, validated against current Forgejo source truth, persisted durably, returned by create/list readback, copied into the explicit scheduled requestContract adaptivePolicy.scope.sourceTargets, and forwarded unchanged into canonical execute_objective dispatch. Preserve backward compatibility for schedules without sourceTargets; those may remain read-only or require resolution, but must not silently drop caller-supplied explicit targets. Add focused regression coverage for create -> durable readback -> scheduled contract -> execute_objective handoff, including proof that exact source targets survive and the prior source_resolution_required failure class is eliminated. Keep mutation bounded to the scheduler/control-plane contract and directl","proofConditionIds":["proof-production"]}],"satisfied":true,"constraints":[{"id":"canonical-execution","satisfied":true,"statement":"Execute through canonical KNOCKLAUNCH mission, Gate, release, and proof rules; the schedule grants no arbitrary shell, SQL, URL, secret, or provider authority.","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":"d78d319a8820f343164cd155ac3fb05b391ad1ab6820e9e8b0359ee05287fa02","releaseBound":true,"witnessBound":false,"visualRequested":false,"visualSatisfied":true,"conditionResults":[{"id":"proof-production","kind":"runtime","evidence":{"reason":null,"satisfied":true,"releaseState":"verified","missingTargets":[],"disallowedTargets":[],"migrationRequired":false,"releaseTargetStates":{"supabaseEdge":"success"},"unsuccessfulTargets":[],"activeReleaseTargets":["supabaseEdge"],"allowedReleaseTargets":[],"requiredReleaseTargets":[],"migrationReleaseVerified":null,"releaseRequestContractHash":"d78d319a8820f343164cd155ac3fb05b391ad1ab6820e9e8b0359ee05287fa02"},"required":true,"satisfied":true}],"validationErrors":[],"pendingProofKinds":[],"activeReleaseTargets":["supabaseEdge"]},"authoritativeMissionRefresh":true,"evaluatedRequestContractRevision":4},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-30T16:16:21.703805+00:00","proof_gate":"request_contract_terminal_verified","source_sha":"64565d4035b52891716209307e81a698a4d9b1ff","external_id":null,"receipt_type":"request_contract_reconciliation","idempotency_key":"mission:c398c910-00c7-45c6-862c-fa68ccb819b9:request-contract:d78d319a8820f343164cd155ac3fb05b391ad1ab6820e9e8b0359ee05287fa02:64565d4035b52891716209307e81a698a4d9b1ff:verified:","mission_step_id":"91eaa8d4-3c77-4ac2-83de-80e3188d761a","command_center_event_id":"c398c910-00c7-45c6-862c-fa68ccb819b9"},{"id":"e4a8cfc2-5a96-4735-81c9-ab0b8aa00faf","source":"cc-execution","status":"release_verification_pending","payload":{"ok":true,"jobId":null,"phase":"release","branch":null,"reason":null,"status":"release_verification_pending","metrics":{"receiptBytes":2325,"releaseCount":1,"toolCallCount":2,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.31.31-resumable-backup-failover","prNumber":4553,"terminal":false,"missionId":"aecfe47d-55fd-4b7b-9120-37692daa2de3","operation":"ship_and_prove","proofGate":"ship_and_prove_release_pending","sourceSha":"9afab614c6660a996e925b83751acb24c29504ca","timingsMs":null,"nextAction":null,"receiptRef":{"mode":"full","missionId":"aecfe47d-55fd-4b7b-9120-37692daa2de3"},"performance":null,"deploymentId":"canonical-release-9afab614c666","workflowRunId":31430270804,"releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1574,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-08-10T20:43:01.737881+00:00","proof_gate":"ship_and_prove_release_pending","source_sha":"9afab614c6660a996e925b83751acb24c29504ca","external_id":"canonical-release-9afab614c666","receipt_type":"ship_and_prove","idempotency_key":"mission:aecfe47d-55fd-4b7b-9120-37692daa2de3:ship_and_prove:ship_and_prove_release_pending:9afab614c6660a996e925b83751acb24c29504ca:31430270804","mission_step_id":"4bb45d2f-bc46-467b-b768-05fa24a66d01","command_center_event_id":"aecfe47d-55fd-4b7b-9120-37692daa2de3"},{"id":"e4a8e1c6-cf9a-44cf-beed-a2dd38f1f580","source":"cc-execution","status":"release_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"release","branch":"ai/objective-first-repair-ddc4d9fea167","reason":null,"status":"release_reconciliation_pending","metrics":{"receiptBytes":31918,"releaseCount":0,"toolCallCount":6,"repeatedCallCount":2,"executorlessWaitMs":421398,"firstUsefulResultAt":"2026-09-24T15:50:29.382Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.58.260-release-actions-query-parity","prNumber":3635,"terminal":false,"missionId":"ddc4d9fe-a167-4bce-8a9c-3429ab3491e7","operation":"execute_mission","proofGate":"canonical_release_reconciliation_pending","sourceSha":"6bc90f59a6a40e54f5e11502e8e67a5bd3b155e7","timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1358,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":146,"approvedPlanMs":0,"missionSetupMs":1751,"providerAuthMs":0,"shipAndProveMs":576,"ledgerPrepareMs":778,"ledgerReconcileMs":0,"lineageReconcileMs":973,"resolvePreflightMs":1751,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":778,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"reconcile_release","receiptRef":{"mode":"full","missionId":"ddc4d9fe-a167-4bce-8a9c-3429ab3491e7"},"performance":null,"deploymentId":"forgejo-main-6bc90f59a6a4","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":2918,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-24T15:57:32.940649+00:00","proof_gate":"canonical_release_reconciliation_pending","source_sha":"6bc90f59a6a40e54f5e11502e8e67a5bd3b155e7","external_id":"forgejo-main-6bc90f59a6a4","receipt_type":"execute_mission","idempotency_key":"mission:ddc4d9fe-a167-4bce-8a9c-3429ab3491e7:execute_mission:canonical_release_reconciliation_pending:current-generation","mission_step_id":"fb06ea62-00da-45e2-acd6-1d0905ffe582","command_center_event_id":"ddc4d9fe-a167-4bce-8a9c-3429ab3491e7"},{"id":"e4acef66-2939-4925-abb9-27ac0726a593","source":"cc-execution","status":"verified","payload":{"paths":["config/control-plane-capabilities.json","src/__tests__/contracts/command-center-forgejo-transport-reliability.contract.test.ts","workers/cc-execution/src/index-release-fast-lane.js","workers/cc-execution/src/version.js","workers/cc-execution/test/release-orchestration-invariants.test.js"],"baseSha":"3514b1ac9817652b1d7e514f85cf40c15e3d2658","consumedAt":1787958488057,"consumerToken":"a9208693-ac4b-49cc-9b21-e439fa2eb67d","authorizationId":"80cc658e-5335-4c3b-a9be-6eae233d72f5"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-28T23:08:09.637651+00:00","proof_gate":"control_plane_maintenance_single_use_consumed","source_sha":"3514b1ac9817652b1d7e514f85cf40c15e3d2658","external_id":null,"receipt_type":"control_plane_maintenance_consumed","idempotency_key":"control-plane-maintenance-consume:80cc658e-5335-4c3b-a9be-6eae233d72f5","mission_step_id":"251e1ba6-25e5-43f9-a2a5-d6cbd6ecf93a","command_center_event_id":"e9c822db-fde4-4007-9473-cafd96ba2f7a"},{"id":"e4addccd-f95d-4efb-8659-3c9e5f5aab86","source":"cc-execution","status":"recorded","payload":{"requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Correct only the stale regression harness expectations on existing PR #2247 for the empty orphan branch repair. Keep the same branch and PR. Use a bodyless 204 mock for DELETE, make the recreated branch mock report the new commit head after the atomic commit, and replace obsolete source assertions for retired orphan divergence variables with the new fail-closed classification markers.","wordingChanged":false,"canonicalIntent":"Correct only the stale regression harness expectations on existing PR #2247 for the empty orphan branch repair. Keep the same branch and PR. Use a bodyless 204 mock for DELETE, make the recreated branch mock report the new commit head after the atomic commit, and replace obsolete source assertions for retired orphan divergence variables with the new fail-closed classification markers.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"outcome-1","statement":"No-op or failed mutations cannot create or leave an empty orphan branch and active mission retries reuse the same branch identity.","proofConditionIds":["proof-repository","proof-production"]}],"objective":"Correct only the stale regression harness expectations on existing PR #2247 for the empty orphan branch repair. Keep the same branch and PR. Use a bodyless 204 mock for DELETE, make the recreated branch mock report the new commit head after the atomic commit, and replace obsolete source assertions for retired orphan divergence variables with the new fail-closed classification markers.","constraints":[{"id":"constraint-1","statement":"Forgejo only; keep PR #2247 and its branch; never delete unique-work, protected, open-PR, or concurrently advanced branches.","proofConditionIds":["proof-repository","proof-production"]}],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"proof-repository","kind":"repository","claim":"Gate regression coverage proves proven-empty cleanup, exact-head race protection, same-branch atomic recreation, and fail-closed unique/diverged/open/protected behavior.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]},{"id":"proof-production","kind":"runtime","claim":"Live cc-execution runtime reports the merged repaired source SHA.","route":null,"roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":[],"requiredReleaseTargets":[]}],"validationErrors":[]},"requestContractHash":"ee7fa00b671eaec73fe13f304c2d847dde683fb0b35927acc70dc1ec24cb9963","requestContractRevision":5,"previousRequestContractHash":"1e4badd3c1f0754455e742a6e876d0ec334fdf0ca0e9a4eab7e2942cf742fdd3"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-09T17:44:42.025741+00:00","proof_gate":"request_contract_revision_recorded","source_sha":null,"external_id":null,"receipt_type":"request_contract_revision","idempotency_key":"mission:df2024ae-a7cb-4df9-98f1-336e1c691cbd:request-contract:ee7fa00b671eaec73fe13f304c2d847dde683fb0b35927acc70dc1ec24cb9963","mission_step_id":"bb041af0-69a4-41c8-a262-080507a0a588","command_center_event_id":"df2024ae-a7cb-4df9-98f1-336e1c691cbd"},{"id":"e4aef9af-23d6-4fe6-80ec-f4979ddbd05f","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"objective_received","branch":null,"reason":"branch_must_start_with_ai","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.105-orphan-compare-evidence-adoption","prNumber":null,"terminal":false,"missionId":"7ccdd3b3-2896-4e6f-9b89-90780d32730e","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":1803,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":1803,"ledgerReconcileMs":625,"lineageReconcileMs":0,"resolvePreflightMs":1803,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":2428,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"7ccdd3b3-2896-4e6f-9b89-90780d32730e"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1298,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-11T18:30:06.28917+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:7ccdd3b3-2896-4e6f-9b89-90780d32730e:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"7a86f463-82e6-4f31-ae11-386274c3c15c","command_center_event_id":"7ccdd3b3-2896-4e6f-9b89-90780d32730e"},{"id":"e4af699b-e912-45a6-ba3c-6216e238d186","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-e401b124d159","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":4390,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-10-01T18:37:08.781Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.38-paul-owner-velocity","prNumber":4381,"terminal":false,"missionId":"e401b124-d159-45bc-8b82-b603a8f7bc13","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4237,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":720,"missionSetupMs":291,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":291,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":291,"repositoryMutationMs":3517,"repositoryProviderMs":3517,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2245,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":291,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1272},"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":"e401b124-d159-45bc-8b82-b603a8f7bc13"},"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":3215,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-10-01T18:37:14.081967+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"4381","receipt_type":"execute_mission","idempotency_key":"mission:e401b124-d159-45bc-8b82-b603a8f7bc13:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"07589611-d696-4ae6-b3ae-257e7da13b86","command_center_event_id":"e401b124-d159-45bc-8b82-b603a8f7bc13"},{"id":"e4b3ef86-1dfd-42db-ad3e-a48046efd2c0","source":"cc-execution","status":"waiting_for_gate","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-f33e92dcff39","reason":"provider_verified_auto_progress_owns_gate_merge_release_outside_owner_response","status":"waiting_for_gate","metrics":{"receiptBytes":56408,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-10-03T03:02:44.511Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.70-paul-conversation-examples","prNumber":4603,"terminal":false,"missionId":"f33e92dc-ff39-4cfe-b3fc-f257b060a558","operation":"execute_mission","proofGate":"repair_mission_pr_handed_off_to_supervisor","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":4026,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":666,"missionSetupMs":326,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":326,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":326,"repositoryMutationMs":3360,"repositoryProviderMs":3360,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":2008,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":326,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":1352},"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":"f33e92dc-ff39-4cfe-b3fc-f257b060a558"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":[],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":3235,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T03:02:49.887817+00:00","proof_gate":"repair_mission_pr_handed_off_to_supervisor","source_sha":null,"external_id":"4603","receipt_type":"execute_mission","idempotency_key":"mission:f33e92dc-ff39-4cfe-b3fc-f257b060a558:execute_mission:repair_mission_pr_handed_off_to_supervisor:current-generation","mission_step_id":"14945dc7-c492-47d2-acdd-aef39e5e7624","command_center_event_id":"f33e92dc-ff39-4cfe-b3fc-f257b060a558"},{"id":"e4b40152-2eba-47c8-8e22-539ca6952489","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"43f9bd5c63a7feb7b9ed2b0fd55054178192a627","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"43f9bd5c63a7feb7b9ed2b0fd55054178192a627","releaseState":"pending","sourceInMain":true,"compareStatus":"identical","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/625","runId":625,"status":"running","conclusion":null,"failedJobs":[]},"onrunnerRuntimeProof":null,"ccExecutionRuntimeProof":null},"tenant_id":"766cfaa7-ac42-46c8-bbef-69d13268a29d","created_at":"2026-08-16T00:59:23.161701+00:00","proof_gate":"canonical_release_pending","source_sha":"43f9bd5c63a7feb7b9ed2b0fd55054178192a627","external_id":"forgejo-main-43f9bd5c63a7","receipt_type":"canonical_release_status","idempotency_key":"mission:be3cc031-5542-4882-a461-8384448f61b1:forgejo-release-status:43f9bd5c63a7feb7b9ed2b0fd55054178192a627:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"88e7eab0-8737-4e89-89d2-8933518adf8a","command_center_event_id":"be3cc031-5542-4882-a461-8384448f61b1"},{"id":"e4b433ce-9016-4706-b0e0-cbe4ed009c0e","source":"cc-execution","status":"blocked","payload":{"reason":"compiler_recovery_diff_window_limit","failureClass":null,"sourceTargets":["src/pages/card-grading/PCGSlabUpload.tsx"],"dependencyReason":null,"dependencyStatus":null,"providerAttempts":[],"automaticExecutorAssigned":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-15T10:33:55.35762+00:00","proof_gate":"bounded_implementation_checkpoint_persisted","source_sha":"38351720f8679d89a1ff4df173a4e481e6984208","external_id":null,"receipt_type":"bounded_implementation_continuation","idempotency_key":"mission:c1c9f249-a137-4d08-ac7f-44ae035f2e52:compiler:38351720f8679d89a1ff4df173a4e481e6984208:src/pages/card-grading/PCGSlabUpload.tsx","mission_step_id":"3275583e-c0e5-4967-96d7-cf26c24808ad","command_center_event_id":"c1c9f249-a137-4d08-ac7f-44ae035f2e52"},{"id":"e4b6b842-0a89-410e-8d1f-e649174c713d","source":"cc-execution","status":"recorded","payload":{"objective":"Correct the production release blocker exposed by merged PR 1252. Current wrangler.toml intentionally owns 321autounlock.com and www.321autounlock.com, but scripts/cloudflare-sync-worker-routes.mjs hard-fails when that configured zone does not yet exist. Make the smallest safe shared fix: for the explicitly allowlisted 321autounlock.com zone only, if an exact zone does not exist in the configured Cloudflare account, create a full Cloudflare zone using CLOUDFLARE_ACCOUNT_ID, then apply the configured Worker routes even if the new zone is pending activation. Existing zones and all existing routes must behave exactly as before. Log non-secret created-zone status and assigned nameservers so any registrar-only delegation step is provable. One fresh branch, one PR, canonical gate, squash merge, frontend-only release, live proof. Do not touch unrelated tenants, routes, or PRs.","tenantRef":"d60e3c27-73ed-4a5f-a49b-c37636455daf","receivedAt":"2026-09-01T13:31:41.223Z","fingerprint":"396deec9faaff9214ffeecf6095e8a0d1573fa015f1676fc173fe58f661a054d","workstreamRef":"d60e3c2773ed4a5fa49bc37636455daf","conversationId":null,"canonicalBranch":"ai/321-auto-unlock-cloudflare-zone-20260901","requestContract":{"valid":true,"intent":{"evidence":[],"confidence":null,"rawUtterance":"Correct the production release blocker exposed by merged PR 1252. Current wrangler.toml intentionally owns 321autounlock.com and www.321autounlock.com, but scripts/cloudflare-sync-worker-routes.mjs hard-fails when that configured zone does not yet exist. Make the smallest safe shared fix: for the explicitly allowlisted 321autounlock.com zone only, if an exact zone does not exist in the configured Cloudflare account, create a full Cloudflare zone using CLOUDFLARE_ACCOUNT_ID, then apply the configured Worker routes even if the new zone is pending activation. Existing zones and all existing routes must behave exactly as before. Log non-secret created-zone status and assigned nameservers so any registrar-only delegation step is provable. One fresh branch, one PR, canonical gate, squash merge, frontend-only release, live proof. Do not touch unrelated tenants, routes, or PRs.","wordingChanged":false,"canonicalIntent":"Correct the production release blocker exposed by merged PR 1252. Current wrangler.toml intentionally owns 321autounlock.com and www.321autounlock.com, but scripts/cloudflare-sync-worker-routes.mjs hard-fails when that configured zone does not yet exist. Make the smallest safe shared fix: for the explicitly allowlisted 321autounlock.com zone only, if an exact zone does not exist in the configured Cloudflare account, create a full Cloudflare zone using CLOUDFLARE_ACCOUNT_ID, then apply the configured Worker routes even if the new zone is pending activation. Existing zones and all existing routes must behave exactly as before. Log non-secret created-zone status and assigned nameservers so any registrar-only delegation step is provable. One fresh branch, one PR, canonical gate, squash merge, frontend-only release, live proof. Do not touch unrelated tenants, routes, or PRs.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"zone","statement":"The configured Cloudflare account contains a 321autounlock.com zone and the release exposes its status/nameservers without secrets.","proofConditionIds":["repo","release"]},{"id":"routes","statement":"The production worker routes for 321autounlock.com and www.321autounlock.com are applied to that zone.","proofConditionIds":["release","runtime"]}],"objective":"Correct the production release blocker exposed by merged PR 1252. Current wrangler.toml intentionally owns 321autounlock.com and www.321autounlock.com, but scripts/cloudflare-sync-worker-routes.mjs hard-fails when that configured zone does not yet exist. Make the smallest safe shared fix: for the explicitly allowlisted 321autounlock.com zone only, if an exact zone does not exist in the configured Cloudflare account, create a full Cloudflare zone using CLOUDFLARE_ACCOUNT_ID, then apply the configured Worker routes even if the new zone is pending activation. Existing zones and all existing routes must behave exactly as before. Log non-secret created-zone status and assigned nameservers so any registrar-only delegation step is provable. One fresh branch, one PR, canonical gate, squash merge, frontend-only release, live proof. Do not touch unrelated tenants, routes, or PRs.","constraints":[{"id":"allowlist","statement":"Automatic zone creation is restricted to 321autounlock.com; all other missing zones retain the existing hard-fail behavior.","proofConditionIds":["repo"]},{"id":"scope","statement":"Do not modify wrangler route ownership, unrelated domains, tenants, workflows, or application behavior.","proofConditionIds":["repo"]}],"terminalPolicy":"all_tool_performable_repairs_complete_and_any_owner_only_registrar_action_precisely_identified","proofConditions":[{"id":"repo","kind":"repository","claim":"Forgejo diff is limited to the bounded Cloudflare route-sync primitive and auto-provisioning is allowlisted only for 321autounlock.com.","route":"/321-auto-unlock","roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"]},{"id":"release","kind":"runtime","claim":"Frontend release creates or resolves the 321autounlock.com zone and synchronizes both configured worker routes, exposing zone status and assigned nameservers if newly created.","route":"/321-auto-unlock","roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"]},{"id":"runtime","kind":"runtime","claim":"If DNS delegation is already correct, 321autounlock.com root serves the existing 321 Auto Unlock public experience; otherwise release proof identifies only registrar nameserver delegation as the remaining owner-only action.","route":"/321-auto-unlock","roleRef":null,"userRef":null,"required":true,"expectedText":null,"targetedActions":[],"allowedReleaseTargets":["frontend"],"requiredReleaseTargets":["frontend"]}],"validationErrors":[]},"requestedBranch":"ai/321-auto-unlock-cloudflare-zone-20260901","conversationContext":null,"requestContractHash":"4e8e65fd2c17906232b8806b44d16852c6800722119230eb845bba503163b6ff","requestContractRevision":1},"tenant_id":"d60e3c27-73ed-4a5f-a49b-c37636455daf","created_at":"2026-09-01T13:31:41.729627+00:00","proof_gate":"tenant_workstream_contribution_recorded","source_sha":null,"external_id":null,"receipt_type":"tenant_workstream_contribution","idempotency_key":"mission:8a65d51e-9ca9-48e0-8a94-02635fe4e0b4:tenant-workstream-contribution:396deec9faaff9214ffeecf6095e8a0d1573fa015f1676fc173fe58f661a054d","mission_step_id":null,"command_center_event_id":"8a65d51e-9ca9-48e0-8a94-02635fe4e0b4"},{"id":"e4b911f1-175b-4ce6-828f-a9d46242b3b3","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-mu2q1r7a","reason":"anchored_edit_anchor_not_unique:src/components/invoices/BigPapisInvoiceCreator.tsx","status":"blocked","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.151-mission-create-single-rpc","prNumber":2819,"terminal":false,"missionId":"a37fb99d-608d-4a18-acb3-b58d89750d79","operation":"execute_mission","proofGate":"repair_mission_execution_blocked","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1493,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":536,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":334,"ledgerReconcileMs":0,"lineageReconcileMs":202,"resolvePreflightMs":536,"repositoryMutationMs":1493,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":334,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"a37fb99d-608d-4a18-acb3-b58d89750d79"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1548,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-15T13:54:42.748557+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":"2819","receipt_type":"execute_mission","idempotency_key":"mission:a37fb99d-608d-4a18-acb3-b58d89750d79:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"bfe6ba52-12b8-4bef-be19-a2fac9c7eef6","command_center_event_id":"a37fb99d-608d-4a18-acb3-b58d89750d79"},{"id":"e4ba2526-d735-4ac4-94ca-e516f843e316","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in release.","nextAction":{"lane":"production-release-conductor","action":"reconcile_release","reason":"merged_source_requires_release_proof","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_release\",\"recoveryOwner\":\"production-release-conductor\"},\"acceptance\":{\"total\":6,\"verified\":0,\"pending\":6,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"preflight\",\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"release\",\"deadlineAt\":\"2026-08-07T19:43:25.672504+00:00\",\"recoveryAction\":\"reconcile_release\"},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/restore-frontend-source-proof-marker-cc\",\"prNumber\":4217,\"sourceSha\":\"ddf9714987cabd9dccb38dcac71c5d8239a7001a\",\"deploymentId\":\"canonical-release-ddf9714987ca\"}"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-10-04T20:17:53.11251+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:1fa1b2df-cab0-4d66-88fd-d98d4ce19055:owner-progress-heartbeat:119409671","mission_step_id":"0b22fb36-4d78-4a11-969a-c67e44b532cc","command_center_event_id":"1fa1b2df-cab0-4d66-88fd-d98d4ce19055"},{"id":"e4bd8c72-55f7-4857-8042-99eeb72c805f","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/tenant-readiness-corrective-20260913","reason":"retryable_provider_transport:POST:The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.58.126-forgejo-bounded-retry","prNumber":2652,"terminal":false,"missionId":"261da808-08e7-48bd-ba48-19c85b97ddd1","operation":"execute_mission","proofGate":"repair_mission_execution_retryable","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":19244,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":0,"approvedPlanMs":0,"missionSetupMs":2456,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":288,"ledgerReconcileMs":0,"lineageReconcileMs":2168,"resolvePreflightMs":2456,"repositoryMutationMs":19244,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":288,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"261da808-08e7-48bd-ba48-19c85b97ddd1"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1559,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-13T16:25:25.719364+00:00","proof_gate":"repair_mission_execution_retryable","source_sha":null,"external_id":"2652","receipt_type":"execute_mission","idempotency_key":"mission:261da808-08e7-48bd-ba48-19c85b97ddd1:execute_mission:repair_mission_execution_retryable:current-generation","mission_step_id":"6970a4fd-184b-41f8-b32c-80583d57287a","command_center_event_id":"261da808-08e7-48bd-ba48-19c85b97ddd1"},{"id":"e4be6472-d054-4c29-a97a-c0bda1044c2b","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-9195136d4945","reason":"pull_request_stale_refresh_required","status":"retryable","metrics":{"receiptBytes":174794,"releaseCount":0,"toolCallCount":142,"repeatedCallCount":127,"executorlessWaitMs":13814583,"firstUsefulResultAt":"2026-10-06T16:32:37.768Z","recoveryAttemptCount":75,"ownerInterruptionCount":0},"version":null,"prNumber":5207,"terminal":false,"missionId":"9195136d-4945-4fc1-99e6-0b1c3d9a7b5f","operation":"automatic_mission_resume","proofGate":"repair_mission_pr_ready_retryable","sourceSha":"634d13c9e503cacc2d01ebbf0c3aaad852524ce3","timingsMs":{"prReadinessMs":8901,"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":"9195136d-4945-4fc1-99e6-0b1c3d9a7b5f"},"performance":null,"deploymentId":null,"releaseState":"pending","workflowRunId":null,"releaseTargets":{"frontend":false,"migrations":false,"ccExecution":false,"supabaseEdge":true},"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["repository"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1612,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-06T16:37:22.7191+00:00","proof_gate":"repair_mission_pr_ready_retryable","source_sha":null,"external_id":"5207","receipt_type":"automatic_mission_resume","idempotency_key":"mission:9195136d-4945-4fc1-99e6-0b1c3d9a7b5f:automatic-mission-resume:5207:repair_mission_pr_ready_retryable","mission_step_id":"b3d5734a-b9a2-4d78-8fe0-dee1f6e1d16a","command_center_event_id":"9195136d-4945-4fc1-99e6-0b1c3d9a7b5f"},{"id":"e4beb9de-8eca-4803-858e-533b8a968997","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in pull request.","nextAction":{"lane":"cc-execution","action":"reconcile_pull_request","reason":"pull_request_exists_without_merged_source","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"pull_request\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"control_plane_maintenance_authorization\",\"status\":\"authorized\",\"proofGate\":\"control_plane_maintenance_scope_authorized\"},\"activeStep\":{\"key\":\"pull_request\",\"status\":\"waiting\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"release\",\"status\":\"ready\",\"lane\":\"production-release-conductor\"},\"nextSafeAction\":{\"action\":\"reconcile_pull_request\",\"lane\":\"cc-execution\",\"reason\":\"pull_request_exists_without_merged_source\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"acceptance\":{\"total\":1,\"verified\":0,\"pending\":1,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"repo-proof\"]},\"stall\":{\"stalled\":false,\"reason\":\"within_deadline\",\"step\":\"visual_proof\",\"deadlineAt\":\"2026-09-23T16:37:31.953037+00:00\",\"recoveryAction\":null},\"blocker\":null,\"terminal\":false,\"branch\":\"ai/objective-first-repair-b340734effd5\",\"prNumber\":3519,\"sourceSha\":null,\"deploymentId\":null}"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-23T13:23:12.148262+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:b340734e-ffd5-4a29-87ce-1232233ec3ea:owner-progress-heartbeat:119344652","mission_step_id":"81f50bbd-1f5e-4c37-aea4-41419d9983df","command_center_event_id":"b340734e-ffd5-4a29-87ce-1232233ec3ea"},{"id":"e4bf85a0-eb2e-46ee-8068-c66c89579c86","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","frontend-cloudflare/live":"pending"},"mainSha":"64182992ba8a0cc104ffbcc7d6ee629a44ab959b","missing":[],"pending":["forgejo-release/workflow","frontend-cloudflare/live"],"required":["forgejo-main/source","forgejo-release/workflow","frontend-cloudflare/live"],"sourceSha":"64182992ba8a0cc104ffbcc7d6ee629a44ab959b","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"migrations":false,"ccExecution":false,"supabaseEdge":false,"edgeFunctionSlugs":[]},"releaseTargetStates":{"frontend":"pending"},"requestContractHash":"a6fe31d2c47fae0c7c0dd58d4fc92dfab986f6d0bb5cdaa8f61ca0d7e424b7c7","forgejoWorkflowProof":{"runId":15671,"source":"signed_push_receipt","status":"running","results":{},"conclusion":"running","targetStates":{"frontend":"pending"},"targetJobCount":7,"observedTargetStates":{"frontend":"pending"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-05T14:55:03.280184+00:00","proof_gate":"canonical_release_pending","source_sha":"64182992ba8a0cc104ffbcc7d6ee629a44ab959b","external_id":"forgejo-main-64182992ba8a","receipt_type":"canonical_release_status","idempotency_key":"mission:75b0e46e-5f54-4d21-b4c4-121236478806:forgejo-release-status:64182992ba8a0cc104ffbcc7d6ee629a44ab959b:pending:forgejo-main/source=success|forgejo-release/workflow=pending|frontend-cloudflare/live=pending","mission_step_id":"90216df9-adc1-4e7d-8766-4fab4306515d","command_center_event_id":"75b0e46e-5f54-4d21-b4c4-121236478806"},{"id":"e4c5945a-172e-4875-8b21-db3c12b9fc20","source":"forgejo-runtime","status":"verified","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"success","frontend-cloudflare/live":"success","cc-execution/runtime-proof":"success","supabase-edge-production/live":"success"},"mainSha":"94e81ab836407d76a1e2d7f9a85b0aba20dc90f0","missing":[],"pending":[],"required":["forgejo-main/source","forgejo-release/workflow","cc-execution/runtime-proof","supabase-edge-production/live","frontend-cloudflare/live"],"sourceSha":"94e81ab836407d76a1e2d7f9a85b0aba20dc90f0","releaseState":"verified","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":true,"onrunner":false,"migrations":false,"ccExecution":true,"supabaseEdge":true,"edgeFunctionSlugs":["health-check"]},"releaseTargetStates":{"frontend":"success","ccExecution":"success","supabaseEdge":"success"},"requestContractHash":"83cc095206650bb04352b62b3236d8dfc3cfe60efed325c648cdb6928e3d3e22","forgejoWorkflowProof":{"runId":8917,"source":"signed_push_receipt","status":"success","results":{},"conclusion":"success","targetStates":{"frontend":"success","ccExecution":"success","supabaseEdge":"success"},"targetJobCount":7,"observedTargetStates":{"frontend":"success","ccExecution":"success","supabaseEdge":"success"}},"onrunnerRuntimeProof":null,"releaseSourceVerified":true,"ccExecutionRuntimeProof":{"liveSha":"94e81ab836407d76a1e2d7f9a85b0aba20dc90f0","proofGate":"cc_execution_target_aware_runtime_identity_verified","deploymentId":"forgejo-main-94e81ab836407d76a1e2d7f9a85b0aba20dc90f0","compareStatus":"target_job_success_runtime_verified","workflowRunId":8917,"identitySource":"canonical_release_target_job","runtimeVersion":"1.58.162-owner-activity-mission-recovery","workflowFailed":false,"containsSourceSha":true},"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-16T18:52:49.967361+00:00","proof_gate":"canonical_release_terminal_verified","source_sha":"94e81ab836407d76a1e2d7f9a85b0aba20dc90f0","external_id":"forgejo-main-94e81ab83640","receipt_type":"canonical_release_status","idempotency_key":"mission:3b9d8a79-596c-452b-b977-af63ecd3cd99:forgejo-release-status:94e81ab836407d76a1e2d7f9a85b0aba20dc90f0:verified:forgejo-main/source=success|forgejo-release/workflow=success|cc-execution/runtime-proof=success|supabase-edge-production/live=success|frontend-cloudflare/live=success","mission_step_id":"d45afe6d-5e33-4236-88e5-32041668186f","command_center_event_id":"3b9d8a79-596c-452b-b977-af63ecd3cd99"},{"id":"e4c6560a-d426-4238-8615-fdad2eea7406","source":"cc-execution","status":"retryable","payload":{"ok":false,"jobId":null,"phase":"objective_received","branch":"ai/release-reconciliation-read-retry-20260825","reason":"The operation was aborted due to timeout","status":"retryable","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"ownerInterruptionCount":0},"version":"1.50.48-visual-proof-intent-routing","prNumber":762,"terminal":false,"missionId":"e7e35ef1-44cd-40ca-824e-c7ac5a5a4fbd","operation":"execute_mission","proofGate":"canonical_release_transport_retryable","sourceSha":null,"timingsMs":{"handlerMs":45281,"prReadinessMs":3117,"approvedPlanMs":0,"missionSetupMs":1787,"shipAndProveMs":42164},"nextAction":"Reconcile this same mission and pull request automatically; do not create a replacement branch or PR.","receiptRef":{"mode":"full","missionId":"e7e35ef1-44cd-40ca-824e-c7ac5a5a4fbd"},"performance":null,"deploymentId":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":4866,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-08-26T01:45:39.350179+00:00","proof_gate":"canonical_release_transport_retryable","source_sha":null,"external_id":"762","receipt_type":"execute_mission","idempotency_key":"mission:e7e35ef1-44cd-40ca-824e-c7ac5a5a4fbd:execute_mission:canonical_release_transport_retryable","mission_step_id":"a299b42c-4c21-496f-a9c9-dcf8aaf90a8f","command_center_event_id":"e7e35ef1-44cd-40ca-824e-c7ac5a5a4fbd"},{"id":"e4c66fa1-e7e9-4e1e-b485-c126a873cc2f","source":"cc-execution","status":"release_freshness_reconciliation_pending","payload":{"ok":true,"jobId":null,"phase":"pull_request","branch":"ai/objective-first-repair-0c9214aed67b","reason":null,"status":"release_freshness_reconciliation_pending","metrics":{"receiptBytes":58941,"releaseCount":0,"toolCallCount":20,"repeatedCallCount":12,"executorlessWaitMs":1517189,"firstUsefulResultAt":"2026-09-29T02:20:23.532Z","recoveryAttemptCount":8,"ownerInterruptionCount":0},"version":"1.63.0-mission-freedom-web-research","prNumber":4088,"terminal":false,"missionId":"0c9214ae-d67b-4116-b34f-105594135791","operation":"execute_mission","proofGate":"canonical_release_freshness_reconciliation_pending","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1837,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"prReadinessMs":931,"approvedPlanMs":0,"missionSetupMs":390,"providerAuthMs":0,"shipAndProveMs":453,"ledgerPrepareMs":282,"ledgerReconcileMs":0,"lineageReconcileMs":108,"resolvePreflightMs":390,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":282,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":"refresh_regate_and_reconcile_release","receiptRef":{"mode":"full","missionId":"0c9214ae-d67b-4116-b34f-105594135791"},"performance":null,"deploymentId":null,"releaseState":null,"workflowRunId":null,"releaseTargets":null,"detailsAvailable":true,"ownerFacingState":"IN_PROGRESS","pendingProofKinds":["visual","runtime","runtime"],"verificationState":null,"workflowInvariant":{"oneBranch":true,"oneMission":true,"oneRelease":true,"invariantScope":"repair_generation","onePullRequest":true,"terminalProofRequired":true,"correctiveGenerationsAllowed":true},"sourceReceiptBytes":1463,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-09-29T02:48:12.157866+00:00","proof_gate":"canonical_release_freshness_reconciliation_pending","source_sha":null,"external_id":"4088","receipt_type":"execute_mission","idempotency_key":"mission:0c9214ae-d67b-4116-b34f-105594135791:execute_mission:canonical_release_freshness_reconciliation_pending:current-generation","mission_step_id":"3740dfcc-522f-4099-9fed-68a313ef527c","command_center_event_id":"0c9214ae-d67b-4116-b34f-105594135791"},{"id":"e4c6f7d6-009d-4de3-b43a-aa9932b7437e","source":"cc-execution","status":"blocked","payload":{"reason":"compiler_recovery_diff_window_limit","failureClass":null,"sourceTargets":["src/pages/card-grading/PCGSlabUpload.tsx"],"dependencyReason":null,"dependencyStatus":null,"providerAttempts":[],"automaticExecutorAssigned":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-15T02:11:42.341752+00:00","proof_gate":"bounded_implementation_checkpoint_persisted","source_sha":"578733efd569800e223f7f1ebf8138322e08e111","external_id":null,"receipt_type":"bounded_implementation_continuation","idempotency_key":"mission:45ebbf05-5e08-4679-b6ae-76fa5c2386e0:compiler:578733efd569800e223f7f1ebf8138322e08e111:src/pages/card-grading/PCGSlabUpload.tsx","mission_step_id":"7a2f4522-5b48-4c88-9eb6-5f08e2a3adf9","command_center_event_id":"45ebbf05-5e08-4679-b6ae-76fa5c2386e0"},{"id":"e4c8525a-12eb-4f8a-b9a4-c222210b6b4c","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[],"branch":"ai/objective-first-repair-be8a91c52fcf","writes":[],"patches":[],"version":1,"approved":true,"missionId":"be8a91c5-2fcf-4fdb-b38e-aeb4fac93e43","objective":"Repair the first held-out PAUL intelligence failures observed live after 1.64.76: broaden semantic live/research verification phrasing without keyword-only routing, and allow synthetic execution held-out cases to propose the synthetic execute_task tool while remaining non-mutating. Preserve held-out separation. Gate, merge, release cc-execution, rerun held-out cases.","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["workers/cc-execution/src/paul-intent-semantics.js","workers/cc-execution/src/paul-intelligence-heldout-eval.js","workers/cc-execution/src/version.js"],"anchored_edits":[{"find":"const research=any(text,[/\\\\bsearch (?:the )?(?:web|internet|online)\\\\b/,/\\\\blook (?:it|this|that)? ?up\\\\b/,/\\\\bresearch\\\\b/,/\\\\bofficial docs?\\\\b/,/\\\\bprovider docs?\\\\b/,/\\\\bcurrent api (?:docs|requirements?)\\\\b/,/\\\\bverify (?:online|externally|with .*docs)\\\\b/]);","path":"workers/cc-execution/src/paul-intent-semantics.js","replace":"const research=any(text,[/\\\\bsearch (?:the )?(?:web|internet|online)\\\\b/,/\\\\blook (?:it|this|that)? ?up\\\\b/,/\\\\bresearch\\\\b/,/\\\\bofficial docs?\\\\b/,/\\\\bprovider docs?\\\\b/,/\\\\bcurrent api (?:docs|requirements?)\\\\b/,/\\\\bverify (?:online|externally|with .*docs)\\\\b/,/\\\\b(?:vendor|provider) (?:changed|change|updated|update).{0,40}\\\\b(?:api|requirement|docs?)\\\\b/,/\\\\b(?:api|requirement|docs?).{0,40}\\\\b(?:vendor|provider).{0,30}\\\\b(?:changed|updated)\\\\b/]);"},{"find":"const live=any(text,[/\\\\bwhat (?:changed|shipped|failed) today\\\\b/,/\\\\b(?:latest|current) (?:deploy|deployment|runtime|release|gate|pr|queue|runner|status)\\\\b/,/\\\\bwhat are you working on right now\\\\b/,/\\\\bhow (?:are|is) we looking\\\\b/,/^status[?.! ]*$/,/\\\\bis it live\\\\b/,/\\\\bproduction (?:state|status|version)\\\\b/]);","path":"workers/cc-execution/src/paul-intent-semantics.js","replace":"const live=any(text,[/\\\\bwhat (?:changed|shipped|failed) today\\\\b/,/\\\\btoday(?:'s|s)? (?:release|releases|deploy|deployments|status|failures?)\\\\b/,/\\\\b(?:release|deploy|build)s? .{0,35}\\\\b(?:reached|made it to|is in) production\\\\b/,/\\\\b(?:latest|current) (?:deploy|deployment|runtime|release|gate|pr|queue|runner|status|build)\\\\b/,/\\\\bwhat are you working on right now\\\\b/,/\\\\bhow (?:are|is) we looking\\\\b/,/^status[?.! ]*$/,/\\\\bis it live\\\\b/,/\\\\bproduction (?:state|status|version|build)\\\\b/,/\\\\b(?:stay|stayed|still) (?:fixed|working|healthy|live)\\\\b/,/\\\\bdid .{0,50}\\\\b(?:stay|stayed|remain) (?:fixed|working|healthy|live)\\\\b/]);"},{"find":"scope:{authorization:\"synthetic_eval\",mutationAllowed:false,caseId:caseDef.id}","path":"workers/cc-execution/src/paul-intelligence-heldout-eval.js","replace":"scope:{authorization:needSet(caseDef.expectedNeed).has(\"execution\")?\"synthetic_eval_action_authorized\":\"synthetic_eval\",mutationAllowed:needSet(caseDef.expectedNeed).has(\"execution\"),caseId:caseDef.id}"},{"find":"export const CC_EXECUTION_VERSION = \"1.64.76-paul-semantic-heldout\";","path":"workers/cc-execution/src/version.js","replace":"export const CC_EXECUTION_VERSION = \"1.64.77-paul-heldout-repair\";"}],"implementation":{"files":[],"writes":[]},"requestContract":{"intent":{"rawUtterance":"Repair the first held-out PAUL intelligence failures observed live after 1.64.76: broaden semantic live/research verification phrasing without keyword-only routing, and allow synthetic execution held-out cases to propose the synthetic execute_task tool while remaining non-mutating. Preserve held-out separation. Gate, merge, release cc-execution, rerun held-out cases.","wordingChanged":false,"canonicalIntent":"Repair the first held-out PAUL intelligence failures observed live after 1.64.76: broaden semantic live/research verification phrasing without keyword-only routing, and allow synthetic execution held-out cases to propose the synthetic execute_task tool while remaining non-mutating. Preserve held-out separation. Gate, merge, release cc-execution, rerun held-out cases.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"repair","statement":"Repair the first held-out PAUL intelligence failures observed live after 1.64.76: broaden semantic live/research verification phrasing without keyword-only routing, and allow synthetic execution held-out cases to propose the synthetic execute_task tool while remaining non-mutating. Preserve held-out separation. Gate, merge, release cc-execution, rerun held-out cases.","provenance":{"reason":null,"source":"current_explicit_owner_request","inherited":false,"blockingAuthority":true},"proofConditionIds":["eval"]}],"objective":"Repair the first held-out PAUL intelligence failures observed live after 1.64.76: broaden semantic live/research verification phrasing without keyword-only routing, and allow synthetic execution held-out cases to propose the synthetic execute_task tool while remaining non-mutating. Preserve held-out separation. Gate, merge, release cc-execution, rerun held-out cases.","constraints":[],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"eval","kind":"runtime","claim":"The previously failing held-out semantic/research/execution/verification cases pass in production without weakening fail-closed execution.","required":true}]},"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":null,"ownerApproved":true,"releaseIntent":null,"sourceTargets":["workers/cc-execution/src/paul-intent-semantics.js","workers/cc-execution/src/paul-intelligence-heldout-eval.js","workers/cc-execution/src/version.js"],"requestContract":{"intent":{"rawUtterance":"Repair the first held-out PAUL intelligence failures observed live after 1.64.76: broaden semantic live/research verification phrasing without keyword-only routing, and allow synthetic execution held-out cases to propose the synthetic execute_task tool while remaining non-mutating. Preserve held-out separation. Gate, merge, release cc-execution, rerun held-out cases.","wordingChanged":false,"canonicalIntent":"Repair the first held-out PAUL intelligence failures observed live after 1.64.76: broaden semantic live/research verification phrasing without keyword-only routing, and allow synthetic execution held-out cases to propose the synthetic execute_task tool while remaining non-mutating. Preserve held-out separation. Gate, merge, release cc-execution, rerun held-out cases.","resolutionStatus":"exact","uniqueResolution":true,"clarificationRequired":false},"source":"explicit","version":1,"outcomes":[{"id":"repair","statement":"Repair the first held-out PAUL intelligence failures observed live after 1.64.76: broaden semantic live/research verification phrasing without keyword-only routing, and allow synthetic execution held-out cases to propose the synthetic execute_task tool while remaining non-mutating. Preserve held-out separation. Gate, merge, release cc-execution, rerun held-out cases.","provenance":{"reason":null,"source":"current_explicit_owner_request","inherited":false,"blockingAuthority":true},"proofConditionIds":["eval"]}],"objective":"Repair the first held-out PAUL intelligence failures observed live after 1.64.76: broaden semantic live/research verification phrasing without keyword-only routing, and allow synthetic execution held-out cases to propose the synthetic execute_task tool while remaining non-mutating. Preserve held-out separation. Gate, merge, release cc-execution, rerun held-out cases.","constraints":[],"terminalPolicy":"all_required_proof_conditions_satisfied_after_live_release","proofConditions":[{"id":"eval","kind":"runtime","claim":"The previously failing held-out semantic/research/execution/verification cases pass in production without weakening fail-closed execution.","required":true}]},"repairGeneration":null,"proofRequirements":null,"controlPlaneUnfreeze":false,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"proofRequirements":null,"controlPlaneUnfreeze":false,"durableMutationResume":true,"controlPlaneMaintenance":false,"controlPlaneMaintenancePaths":[],"controlPlaneMaintenanceReason":null},"recovery":false,"fingerprint":"02ed65656981e4224db1001f1dc3493f8dfa6380f81787b49c9e4e5de2d47a4e","replayCount":0,"serializedBytes":8506},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-03T04:40:38.859154+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:be8a91c5-2fcf-4fdb-b38e-aeb4fac93e43:repository-mutation-intent:02ed65656981e4224db1001f1dc3493f8dfa6380f81787b49c9e4e5de2d47a4e:0","mission_step_id":"227acacd-5fca-42ec-9edb-473f75a746ab","command_center_event_id":"be8a91c5-2fcf-4fdb-b38e-aeb4fac93e43"},{"id":"e4c967a1-a66b-4edb-886c-fd48db7b7bae","source":"cc-execution","status":"blocked","payload":{"ok":false,"jobId":null,"phase":"implementation","branch":"ai/objective-first-repair-1c0f5f650a35","reason":"file_write_content_or_explicit_delete_required","status":"blocked","metrics":{"receiptBytes":14036,"releaseCount":0,"toolCallCount":3,"repeatedCallCount":1,"executorlessWaitMs":128237,"firstUsefulResultAt":"2026-10-02T13:38:14.034Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.48-guarded-legacy-pr-retirement","prNumber":null,"terminal":false,"missionId":"1c0f5f65-0a35-4270-a746-4cac25a3c34f","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":323,"providerAuthMs":0,"shipAndProveMs":0,"ledgerPrepareMs":323,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":323,"repositoryMutationMs":0,"repositoryProviderMs":0,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"repositoryAtomicCommitMs":0,"repositoryBranchCreateMs":0,"totalSynchronousLedgerMs":323,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0,"repositoryPullRequestCreateMs":0},"nextAction":null,"receiptRef":{"mode":"full","missionId":"1c0f5f65-0a35-4270-a746-4cac25a3c34f"},"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":1563,"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T13:40:24.05041+00:00","proof_gate":"repair_mission_execution_blocked","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:1c0f5f65-0a35-4270-a746-4cac25a3c34f:execute_mission:repair_mission_execution_blocked:current-generation","mission_step_id":"abd0a1aa-72a4-4e43-9174-bae04e0f4013","command_center_event_id":"1c0f5f65-0a35-4270-a746-4cac25a3c34f"},{"id":"e4cbf7f3-0e00-4131-a13a-1990e44d8893","source":"cc-execution","status":"waiting","payload":{"body":{"ship":true,"files":[{"path":"src/PrivateAppShell.tsx","content":"/** KNOCKLAUNCH private application shell. */\nimport React,{Suspense} from 'react';\nimport {createPortal} from 'react-dom';\nimport {Link,Navigate,Route,Routes,useLocation,useNavigate,useParams} from 'react-router-dom';\nimport { ArrowLeft, Home, MessageCircle, RefreshCw } from 'lucide-react';\nimport {RouteHealthBanner} from '@/components/RouteHealthBanner';\nimport {UniversalLoadingScreen} from '@/components/ui/universal-loading-screen';\nimport {PageLoadingSkeleton} from '@/components/ux/PageLoadingSkeleton';\nimport {useCanonicalTenantRedirect} from '@/hooks/useCanonicalTenantRedirect';\nimport {MultiTenantProvider,useMultiTenant} from './contexts/MultiTenantContext';\nimport {RealtimeProvider} from './contexts/RealtimeContext';\nimport {TenantApplicationChromeContext} from './contexts/TenantApplicationChromeContext';\nimport {UserImpersonationProvider} from '@/contexts/UserImpersonationContext';\nimport {UserImpersonationBanner} from './components/admin/UserImpersonationBanner';\nimport {AuditorModeBanner} from './components/AuditorModeBanner';\nimport SiteBackground from './components/SiteBackground';\nimport {TelInterceptorBridge} from './components/communications/TelInterceptorBridge';\nimport {TenantBrandTheme} from '@/components/branding/TenantBrandTheme';\nimport TenantQuickTour from '@/components/onboarding/TenantQuickTour';\nimport {BaseErrorBoundary} from '@/components/error-boundary/BaseErrorBoundary';\nimport {GodModePageOverrideRuntime} from '@/components/godmode/GodModePageOverrideRuntime';\nimport TenantPublishedExperienceRuntime from '@/components/experience-editor/TenantPublishedExperienceRuntime';\nimport {setGlobalShortcutsState} from './hooks/useGlobalKeyboardShortcuts';\nimport {lazyWithRetry} from '@/lib/lazyWithRetry';\nimport {useShortcutHint} from './hooks/useShortcutHint';\nimport {FocusModeProvider} from './components/ux/FocusMode';\nimport {useSessionTracker} from './hooks/useSessionTracker';\nimport {useActivityLogger} from './hooks/useActivityLogger';\nimport {useRealtimeStormEvents} from './hooks/useRealtimeStormEvents';\nimport {ROLES} from './routes/helpers';\nimport {UnifiedProtectedRoute} from '@/components/UnifiedProtectedRoute';\n\nimport {getTenantDashboardPathForTenant,isKnockLaunchOsWorkspace} from '@/lib/tenantUtils';\nimport {persistCachedTenantBackground,resolveTenantBackgroundUrl} from '@/lib/tenantBackground';\nimport {resolveTenantWorkspaceRuntimeProfile} from '@/lib/tenants/tenantWorkspaceRuntimeProfile';\nimport {canonicalTenantRouteSlugForIdentity,resolveTenantRouteMembership,tenantRouteIdentityMatchesRequestedSlug} from '@/routes/verticalRouteRegistry';\nimport {buildTenantApplicationWorkspacePath,getTenantApplicationByReference,getTenantApplicationByStandaloneHost,type ApplicationCapability} from '@/config/applicationCapabilityRegistry';\nimport {resolveRequestedTenantRouteIdentity,resolveTenantApplicationRoute} from '@/routes/tenantApplicationRouteResolver';\nimport {readGodModeAccessContext} from '@/lib/godmodeAccess';\nimport {PROJECTED_TENANT_ROUTE_GRACE_MS,projectedTenantRouteIntentMatches,shouldHoldTenantRouteHydration} from '@/routes/tenantRouteIdentityBoundaryState';\nimport {resolvePrivateWorkspaceCompatibility} from '@/routes/privateWorkspaceCompatibility';\nimport RedfishWorkspaceShell from '@/components/redfish/RedfishWorkspaceShell';\nimport TenantModesShell from '@/shells/TenantModesShell';\nimport CurriControlCenterShell from '@/shells/curri/CurriControlCenterShell';\nimport { isModesTenant } from '@/shells/modesTenantShell';\nimport { TenantLayoutPreferenceBridge } from '@/components/layout/TenantLayoutControl';\nimport { CanonicalWorkspaceSidebarRoot, WorkspaceSidebarProvider } from '@/components/layout/TenantLayoutControl';\nimport PlatformContextMenu from '@/components/interaction/PlatformContextMenu';\nimport '@/styles/bigPapisApplicationFamily.css';\nimport '@/styles/bigPapisApplicationFamily.css';\n\nconst MailApplicationRoute=lazyWithRetry(()=>import('./pages/applications/MailApplicationRoute'));\nconst CalendarApplicationRoute=lazyWithRetry(()=>import('./pages/applications/CalendarApplicationRoute'));\nconst MessagingApplicationShell=lazyWithRetry(()=>import('./apps/messaging/MessagingApplicationShell'));\nconst DocumentsEvidenceApplicationRoute=lazyWithRetry(()=>import('./pages/applications/DocumentsEvidenceApplicationRoute'));\nconst BillingPaymentsApplicationRoute=lazyWithRetry(()=>import('./pages/applications/BillingPaymentsApplicationRoute'));\nconst ReportsAnalyticsApplicationRoute=lazyWithRetry(()=>import('./pages/applications/ReportsAnalyticsApplicationRoute'));\nconst JobsWorkOrdersApplicationRoute=lazyWithRetry(()=>import('./pages/applications/JobsWorkOrdersApplicationRoute'));\nconst ContactsRouter=lazyWithRetry(()=>import('./components/ContactsRouter').then(module=>({default:module.ContactsRouter})));\nconst TasksPage=lazyWithRetry(()=>import('./pages/TasksPage'));\nconst TenantSettingsPage=lazyWithRetry(()=>import('./pages/settings/TenantSettingsPageWithWebsiteAssets'));\nconst OpportunityRadarPage=lazyWithRetry(()=>import('./pages/crm/OpportunityRadarPage')); \nconst lazyNamedWithRetry=<TModule,TKey extends keyof TModule>(loader:()=>Promise<TModule>,exportName:TKey)=>lazyWithRetry(()=>loader().then(module=>({default:module[exportName] as React.ComponentType<any>})));\nconst AdminUsersCommandCenter=lazyNamedWithRetry(()=>import('./components/admin/TenantUserCommandCenters'),'AdminUsersCommandCenter');\nconst OwnerUsers=lazyWithRetry(()=>import('./pages/owner/OwnerUsers'));const KnockLaunchPortfolio=lazyWithRetry(()=>import('./pages/owner/KnockLaunchPortfolio'));const KnockLaunchOSDashboard=lazyWithRetry(()=>import('./pages/owner/KnockLaunchOSDashboard'));const KnockLaunchOSSettings=lazyWithRetry(()=>import('./pages/owner/KnockLaunchOSSettings'));const VideoStudio=lazyWithRetry(()=>import('./pages/owner/VideoStudio'));\nconst FirstClassAppTenantBoundary=lazyWithRetry(()=>import('./components/applications/FirstClassAppTenantBoundary'));const ProposalEditorApplicationRoute=lazyWithRetry(()=>import('./pages/applications/ProposalEditorApplicationRoute'));const UniversalProposalWorkspace=lazyWithRetry(()=>import('./pages/proposals/UniversalProposalWorkspace'));const CreativeStudioApplicationRoute=lazyWithRetry(()=>import('./pages/applications/CreativeStudioApplicationRoute'));const NotFound=lazyWithRetry(()=>import('./pages/NotFound'));const BackgroundOCRStatus=lazyNamedWithRetry(()=>import('./components/management/BackgroundOCRStatus'),'BackgroundOCRStatus');const GlobalCommandPalette=lazyNamedWithRetry(()=>import('./components/GlobalCommandPalette'),'GlobalCommandPalette');const KeyboardShortcutsModal=lazyNamedWithRetry(()=>import('./components/KeyboardShortcutsModal'),'KeyboardShortcutsModal');const TrialBanner=lazyNamedWithRetry(()=>import('./components/billing/TrialBanner'),'TrialBanner');const TrialAhaModal=lazyNamedWithRetry(()=>import('./components/billing/TrialAhaModal'),'TrialAhaModal');const ExperienceEditorCanvasBridge=lazyWithRetry(()=>import('./components/experience-editor/ExperienceEditorCanvasBridge'));const MiscAwareAccountMenu=lazyWithRetry(()=>import('./components/MiscAwareAccountMenu'));const RoofHelpFinderWorkspace=lazyWithRetry(()=>import('./pages/roof-help/RoofHelpFinderWorkspace'));const RedfishCanvassingRoute=lazyWithRetry(()=>import('./components/redfish/RedfishCanvassingRoute'));const RedfishContactWorkspace=lazyWithRetry(()=>import('./pages/crm/ContactWorkspace/index'));const MediaLibrary=lazyWithRetry(()=>import('./pages/admin/MediaLibrary'));const AutoUnlockWorkspaceRouter=lazyWithRetry(()=>import('./pages/auto-lockout/AutoUnlockWorkspaceRouter'));const PCGCanonicalWorkspaceRoute=lazyWithRetry(()=>import('./pages/card-grading/PCGCanonicalWorkspaceRoute'));const BookMeDirectlyWorkspace=lazyWithRetry(()=>import('./pages/book-me-directly/BookMeDirectlyWorkspace'));const CallCenterApplicationRoute=lazyWithRetry(()=>import('./pages/applications/CallCenterApplicationRoute'));const MarketingApplicationRoute=lazyWithRetry(()=>import('./pages/applications/MarketingApplicationRoute'));const EventRentalCustomersPage=lazyNamedWithRetry(()=>import('./pages/event-rentals/EventRentalWorkspace'),'EventRentalCustomersPage');const EventRentalInventoryPage=lazyNamedWithRetry(()=>import('./pages/event-rentals/EventRentalWorkspace'),'EventRentalInventoryPage');const EventRentalBookingsPage=lazyNamedWithRetry(()=>import('./pages/event-rentals/EventRentalWorkspace'),'EventRentalBookingsPage');const EventRentalOperationsPage=lazyNamedWithRetry(()=>import('./pages/event-rentals/EventRentalWorkspace'),'EventRentalOperationsPage');const EventRentalCalendarPage=lazyNamedWithRetry(()=>import('./pages/event-rentals/EventRentalWorkspace'),'EventRentalCalendarPage');const EventRentalPrepChecklistPage=lazyNamedWithRetry(()=>import('./pages/event-rentals/EventRentalWorkspace'),'EventRentalPrepChecklistPage');const EventRentalPaymentsPage=lazyNamedWithRetry(()=>import('./pages/event-rentals/EventRentalWorkspace'),'EventRentalPaymentsPage');const EventRentalReportsPage=lazyNamedWithRetry(()=>import('./pages/event-rentals/EventRentalWorkspace'),'EventRentalReportsPage');const EventRentalSetupReturnPage=lazyNamedWithRetry(()=>import('./pages/event-rentals/EventRentalWorkspace'),'EventRentalSetupReturnPage');\nconst RoofTracingPage=lazyWithRetry(()=>import('./pages/roof-estimator/RoofTracingPage'));\nconst TenantCrmRoutes=lazyWithRetry(()=>import('./routes/crmRoutes').then(module=>({default:function TenantCrmRoutesRuntime({locationOverride}:{locationOverride?:string}){return <Routes location={locationOverride}>{module.crmRoutes}<Route path=\"*\" element={<Suspense fallback={<RouteFallback/>}><NotFound/></Suspense>}/></Routes>}})));\nconst AdminRouteRegistry=lazyWithRetry(()=>import('./routes/adminRoutes').then(module=>({default:function AdminRouteRegistryRuntime(){return <Routes>{module.adminRoutes}<Route path=\"*\" element={<Suspense fallback={<RouteFallback/>}><NotFound/></Suspense>}/></Routes>}})));\nconst SceRouteRegistry=lazyWithRetry(()=>import('./routes/sceRoutes').then(module=>({default:function SceRouteRegistryRuntime(){return <Routes>{module.sceRoutes}<Route path=\"*\" element={<Suspense fallback={<RouteFallback/>}><NotFound/></Suspense>}/></Routes>}})));\nconst OwnerRouteRegistry=lazyWithRetry(()=>import('./routes/ownerRoutes').then(module=>({default:function OwnerRouteRegistryRuntime(){return <Routes>{module.ownerRoutes}<Route path=\"*\" element={<Suspense fallback={<RouteFallback/>}><NotFound/></Suspense>}/></Routes>}})));\nconst DefaultPrivateRouteRegistry=lazyWithRetry(()=>Promise.all([import('./routes/sceRoutes'),import('./routes/vanityRoutes'),import('./routes/ownerRoutes'),import('./routes/commandCenterRoutes')]).then(([sce,vanity,owner,commandCenter])=>({default:function DefaultPrivateRouteRegistryRuntime(){return <Routes>{sce.sceRoutes}{vanity.vanityRoutes}{owner.ownerRoutes}{commandCenter.commandCenterRoutes}<Route path=\"/index\" element={<Navigate to=\"/select-tenant\" replace/>}/><Route path=\"*\" element={<TenantCrmRouteFallback/>}/></Routes>}})));\nconst DIRECT_MODES_APPLICATION_IDS=new Set(['calendar','communications','mail','documents','invoices','payments','billing','analytics','reports','jobs','contacts','tasks','opportunity-radar','creative-studio','marketing']);\nfunction DirectModesApplicationSurface({app}:{app:ApplicationCapability}){let content:React.ReactNode=null;switch(app.id){case'calendar':content=<CalendarApplicationRoute/>;break;case'communications':content=<MessagingApplicationShell/>;break;case'mail':content=<MailApplicationRoute/>;break;case'documents':content=<DocumentsEvidenceApplicationRoute/>;break;case'invoices':case'payments':case'billing':content=<BillingPaymentsApplicationRoute/>;break;case'analytics':case'reports':content=<ReportsAnalyticsApplicationRoute/>;break;case'jobs':content=<JobsWorkOrdersApplicationRoute/>;break;case'contacts':content=<ContactsRouter/>;break;case'tasks':content=<TasksPage/>;break;case'opportunity-radar':content=<OpportunityRadarPage/>;break;case'creative-studio':content=<CreativeStudioApplicationRoute/>;break;case'marketing':content=<MarketingApplicationRoute/>;break;default:return null;}return <div data-tenant-application-surface=\"true\" data-tenant-application-id={app.id} className=\"relative h-full min-h-0 w-full overflow-hidden bg-transparent\"><Suspense fallback={<RouteFallback/>}>{content}</Suspense></div>}\nfunction isEventRentalTenantContext(tenant:any){const settings=((tenant as any)?.settings||{}) as Record<string,any>;const values=[tenant?.tenant_type,settings.declared_business_type,settings.business_type,settings.business_operating_blueprint?.businessTypeKey,settings.tenant_manifest?.businessOperatingBlueprint?.businessTypeKey].map(value=>String(value||'').trim().toUpperCase().replace(/[\\s-]+/g,'_'));return values.some(value=>value==='EVENT_RENTAL'||value==='EVENT_RENTALS'||value==='PARTY_RENTAL'||value==='PARTY_RENTALS')}\nfunction EventRentalModesApplicationSurface({app}:{app:ApplicationCapability}){const location=useLocation();const requestedKey=String(new URLSearchParams(location.search).get('modeApp')||'').trim();const requestedApp=requestedKey?getTenantApplicationByReference(requestedKey):undefined;const effectiveApp=requestedApp?.workspaceSurface&&requestedApp.workspaceSurface===app.workspaceSurface?requestedApp:app;let content:React.ReactNode=null;switch(effectiveApp.id){case'contacts':content=<EventRentalCustomersPage/>;break;case'booking':content=<EventRentalBookingsPage/>;break;case'rental-inventory':content=<EventRentalInventoryPage/>;break;case'event-rental-operations':content=<EventRentalOperationsPage/>;break;case'calendar':content=<CalendarApplicationRoute/>;break;case'tasks':content=<EventRentalPrepChecklistPage/>;break;case'invoices':content=<BillingPaymentsApplicationRoute embedded embeddedSurface=\"invoices\"/>;break;case'payments':case'billing':content=<EventRentalPaymentsPage/>;break;case'analytics':case'reports':content=<EventRentalReportsPage/>;break;case'forms':content=<EventRentalSetupReturnPage/>;break;case'proposals':content=<UniversalProposalWorkspace/>;break;default:if(DIRECT_MODES_APPLICATION_IDS.has(effectiveApp.id))return <DirectModesApplicationSurface app={effectiveApp}/>;return <EventRentalModesRouteFallback app={effectiveApp}/>;}return <Suspense fallback={<RouteFallback/>}>{content}</Suspense>}\nfunction EventRentalModesRouteFallback({app}:{app:ApplicationCapability}){const{activeTenant}=useMultiTenant();const home=activeTenant?.id?getTenantDashboardPathForTenant(activeTenant):'/select-tenant';return <section data-event-rental-route-fallback=\"true\" className=\"mx-auto my-6 w-full max-w-3xl rounded-3xl border border-white/12 bg-black/35 p-6 text-white shadow-[0_18px_48px_rgba(0,0,0,.22)] backdrop-blur-xl\"><div className=\"text-[10px] font-black uppercase tracking-[.2em] text-white/48\">Event rental workspace</div><h1 className=\"mt-2 text-2xl font-black\">{app.label} is not wired to this MODES workspace yet</h1><p className=\"mt-2 text-sm font-medium leading-6 text-white/60\">This route is blocked from falling through to the generic CRM. Return to the rental workspace instead.</p><Link to={home} className=\"mt-5 inline-flex min-h-11 items-center justify-center rounded-xl border border-white/14 bg-white/[.08] px-4 text-sm font-black text-white\">Back to workspace</Link></section>} \n\nfunction GlobalFallbackAccountMenu({verifyShellOwnership=false}:{verifyShellOwnership?:boolean}){const location=useLocation();const {activeTenant}=useMultiTenant();const normalizedPath=location.pathname.toLowerCase().replace(/\\/+$/g,'')||'/';const tenantType=String(activeTenant?.tenant_type||'').trim().toUpperCase().replace(/[\\s-]+/g,'_');const tenantSlug=String(activeTenant?.company_slug||'').trim().toLowerCase();const settings=((activeTenant as any)?.settings||{}) as Record<string,any>;const blueprintDriven=Boolean(settings.business_operating_blueprint||settings.tenant_manifest?.businessOperatingBlueprint||settings.declared_business_type);const adaptiveShellOwnsAccountMenu=(blueprintDriven||tenantType==='MISC'||tenantType==='MISCELLANEOUS')&&Boolean(tenantSlug)&&(normalizedPath===`/${tenantSlug}`||normalizedPath.startsWith(`/${tenantSlug}/`)||normalizedPath.startsWith('/crm/misc/'));const applicationRoute=resolveTenantApplicationRoute(normalizedPath);const selfContainedRouteFamily=resolveTenantWorkspaceRuntimeProfile(activeTenant,location.pathname).isSelfContainedTenantWorkspace;const shellContractOwnsAccountMenu=verifyShellOwnership||(adaptiveShellOwnsAccountMenu&&!selfContainedRouteFamily);if(location.pathname.startsWith('/admin'))return null;if(applicationRoute?.mode==='standalone')return null;const forcePcgMobileAvatar=tenantSlug==='pcg'&&typeof window!=='undefined'&&window.matchMedia('(max-width: 767px)').matches;if(shellContractOwnsAccountMenu&&!forcePcgMobileAvatar)return null;return <div data-global-fallback-avatar-host=\"true\"><MiscAwareAccountMenu singletonKey=\"global-private-shell-account-menu\" placement=\"fixed\" fallback avatarMode=\"tenant\" tenantShellOwner/></div>}\nfunction LazyShellSlot({children}:{children:React.ReactNode}){return <Suspense fallback={null}>{children}</Suspense>}\nfunction CanonicalRedirectHandler(){useCanonicalTenantRedirect();return null}\nfunction BigPapisApplicationFamilyStyle(){\n  const location=useLocation();\n  const{activeTenant}=useMultiTenant();\n\n  React.useEffect(()=>{\n    if(typeof document==='undefined')return;\n    const slug=String(activeTenant?.company_slug||'').trim().toLowerCase();\n    const path=location.pathname.toLowerCase();\n    const isBigPapis=slug==='big-papis'||path.startsWith('/big-papis/');\n    const modeClass=path.includes('/start-popup')||path.includes('/pop-up')||path.includes('/popup')?'kl-bp-popup':path.includes('/back-office')?'kl-bp-back-office':path.includes('/messages')||path.includes('/messaging')||path.includes('/communications')?'kl-bp-connect':path.includes('/event')?'kl-bp-event':'kl-bp-plan';\n    const classes=['kl-big-papis-app-family','kl-bp-plan','kl-bp-popup','kl-bp-event','kl-bp-back-office','kl-bp-connect'];\n    for(const className of classes)document.body.classList.remove(className);\n    if(isBigPapis)document.body.classList.add('kl-big-papis-app-family',modeClass);\n    return()=>{for(const className of classes)document.body.classList.remove(className)};\n  },[activeTenant?.company_slug,location.pathname]);\n\n  return null;\n}\nfunction MobileViewportRecovery(){const[zoomed,setZoomed]=React.useState(false);const lastTapRef=React.useRef<{time:number;x:number;y:number}|null>(null);const resetViewport=React.useCallback(()=>{if(typeof document==='undefined'||typeof window==='undefined')return;const active=document.activeElement as HTMLElement|null;if(active&&typeof active.blur==='function')active.blur();let viewport=document.querySelector('meta[name=\"viewport\"]') as HTMLMetaElement|null;const created=!viewport;if(!viewport){viewport=document.createElement('meta');viewport.name='viewport';document.head.appendChild(viewport)}const original=viewport.content;const fallback='width=device-width, initial-scale=1, viewport-fit=cover';viewport.content='width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, viewport-fit=cover';window.setTimeout(()=>{if(!viewport)return;viewport.content=original||fallback;if(created&&!original)viewport.content=fallback;window.dispatchEvent(new Event('resize'))},180)},[]);React.useEffect(()=>{const visualViewport=window.visualViewport;if(!visualViewport)return;const sync=()=>setZoomed(visualViewport.scale>1.05);sync();visualViewport.addEventListener('resize',sync);visualViewport.addEventListener('scroll',sync);return()=>{visualViewport.removeEventListener('resize',sync);visualViewport.removeEventListener('scroll',sync)}},[]);React.useEffect(()=>{const onPointerUp=(event:PointerEvent)=>{if(!zoomed||event.pointerType==='mouse')return;const target=event.target as Element|null;if(target?.closest('input,textarea,select,button,a,[role=\"button\"],[contenteditable=\"true\"],[data-no-viewport-reset]')){lastTapRef.current=null;return}const now=Date.now();const previous=lastTapRef.current;lastTapRef.current={time:now,x:event.clientX,y:event.clientY};if(!previous||now-previous.time>320)return;const dx=event.clientX-previous.x;const dy=event.clientY-previous.y;if(Math.hypot(dx,dy)>28)return;event.preventDefault();lastTapRef.current=null;resetViewport()};document.addEventListener('pointerup',onPointerUp,{passive:false});return()=>document.removeEventListener('pointerup',onPointerUp)},[resetViewport,zoomed]);return <><style>{`@media (max-width: 767px){.kl-responsive-tenant-runtime input:not([type=\"checkbox\"]):not([type=\"radio\"]):not([type=\"range\"]),.kl-responsive-tenant-runtime select,.kl-responsive-tenant-runtime textarea,.kl-responsive-tenant-runtime [contenteditable=\"true\"]{font-size:max(16px,1em)!important}.kl-responsive-tenant-runtime input,.kl-responsive-tenant-runtime select,.kl-responsive-tenant-runtime textarea,.kl-responsive-tenant-runtime button{touch-action:manipulation}}`}</style>{zoomed?<button type=\"button\" data-no-viewport-reset=\"true\" aria-label=\"Reset page zoom to normal\" onClick={resetViewport} className=\"fixed right-3 top-[calc(var(--comm-banner-h,0px)+env(safe-area-inset-top)+0.75rem)] z-[9999] min-h-10 rounded-full border border-white/20 bg-black/80 px-3 text-xs font-black text-white shadow-lg backdrop-blur-xl\">Reset view</button>:null}</>}\nfunction readInstalledAppSafeInsets(){if(typeof document==='undefined')return{top:0,right:0,bottom:0,left:0};const probe=document.createElement('div');probe.style.cssText='position:fixed;visibility:hidden;pointer-events:none;padding-top:env(safe-area-inset-top);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left)';document.body.appendChild(probe);const style=window.getComputedStyle(probe);const value=(input:string)=>Number.parseFloat(input)||0;const insets={top:value(style.paddingTop),right:value(style.paddingRight),bottom:value(style.paddingBottom),left:value(style.paddingLeft)};probe.remove();return insets}\nfunction InstalledAppNavigationRecovery(){const navigate=useNavigate();const location=useLocation();const{activeTenant}=useMultiTenant();const footerRef=React.useRef<HTMLElement|null>(null);const normalizedUtilityPath=location.pathname.toLowerCase().replace(/\\/+$/g,'')||'/';const suppressUtilityFooter=normalizedUtilityPath==='/select-tenant'||normalizedUtilityPath.startsWith('/sign-agreement')||normalizedUtilityPath.startsWith('/agreement-verification');const[mobile,setMobile]=React.useState(()=>!suppressUtilityFooter&&typeof window!=='undefined'&&window.matchMedia('(max-width: 767px)').matches);const[stackRevision,setStackRevision]=React.useState(0);React.useEffect(()=>{if(typeof window==='undefined')return;const media=window.matchMedia('(max-width: 767px)');const sync=()=>setMobile(!suppressUtilityFooter&&media.matches);sync();media.addEventListener('change',sync);return()=>media.removeEventListener('change',sync)},[suppressUtilityFooter]);React.useEffect(()=>{if(!mobile||typeof document==='undefined'||typeof window==='undefined')return;const footer=footerRef.current;if(!footer)return;const selectors=['[data-big-papis-mobile-nav=\"true\"]','[data-tenant-modes-mobile-nav=\"true\"]','[data-tenant-modes-mobile-landing-nav=\"true\"]','[data-mobile-bottom-nav=\"true\"]','[data-tenant-mobile-nav=\"true\"]'];const sync=()=>{const primary=selectors.map((selector)=>document.querySelector<HTMLElement>(selector)).find(Boolean);if(!primary)return;const style=window.getComputedStyle(primary);const active=primary.querySelector<HTMLElement>('[aria-current=\"page\"]');const activeStyle=active?window.getComputedStyle(active):null;footer.style.setProperty('--kl-utility-nav-bg',style.backgroundColor||'rgba(5,10,16,.94)');footer.style.setProperty('--kl-utility-nav-border',style.borderTopColor||'rgba(255,255,255,.12)');footer.style.setProperty('--kl-utility-nav-text',style.color||'rgba(255,255,255,.82)');footer.style.setProperty('--kl-utility-nav-accent',activeStyle?.color||style.color||'rgba(255,255,255,.92)');footer.style.setProperty('--kl-utility-nav-shadow',style.boxShadow||'0 -14px 44px rgba(0,0,0,.32)');footer.style.setProperty('--kl-utility-nav-backdrop',style.backdropFilter||'blur(24px)');document.documentElement.style.setProperty('--kl-platform-mobile-nav-h',`${Math.ceil(footer.getBoundingClientRect().height)}px`)};sync();const observer=new MutationObserver(sync);observer.observe(document.body,{childList:true,subtree:true,attributes:true,attributeFilter:['class','style','aria-current']});window.addEventListener('resize',sync,{passive:true});return()=>{observer.disconnect();window.removeEventListener('resize',sync)}},[mobile,activeTenant?.id]);React.useEffect(()=>{if(!mobile||typeof document==='undefined'||typeof window==='undefined')return;const footer=footerRef.current;if(!footer)return;const selectors=['[data-big-papis-mobile-nav=\"true\"]','[data-tenant-modes-mobile-nav=\"true\"]','[data-tenant-modes-mobile-landing-nav=\"true\"]','[data-mobile-bottom-nav=\"true\"]','[data-tenant-mobile-nav=\"true\"]'];const primary=selectors.map((selector)=>document.querySelector<HTMLElement>(selector)).find(Boolean);if(!primary){const utilityRoot=document.querySelector<HTMLElement>('.kl-responsive-tenant-runtime');const previousUtilityRootStyle=utilityRoot?.getAttribute('style')??null;const previousPlatformNavHeight=document.documentElement.style.getPropertyValue('--kl-platform-mobile-nav-h');const previousStackHeight=document.documentElement.style.getPropertyValue('--kl-mobile-bottom-stack-h');const syncUtilityOnly=()=>{const utilityHeight=Math.ceil(footer.getBoundingClientRect().height);footer.style.setProperty('bottom','0px','important');document.documentElement.style.setProperty('--kl-platform-mobile-nav-h',`${utilityHeight}px`);document.documentElement.style.setProperty('--kl-mobile-bottom-stack-h',`${utilityHeight}px`);if(utilityRoot){utilityRoot.style.setProperty('position','fixed','important');utilityRoot.style.setProperty('inset','0 0 '+utilityHeight+'px 0','important');utilityRoot.style.setProperty('height','auto','important');utilityRoot.style.setProperty('min-height','0','important');utilityRoot.style.setProperty('overflow-y','auto','important');utilityRoot.style.setProperty('padding-bottom','0px','important');utilityRoot.style.setProperty('overscroll-behavior-y','contain','important')}};syncUtilityOnly();let lateMounted=false;const lateMountObserver=new MutationObserver(()=>{if(lateMounted)return;const mounted=selectors.some((selector)=>Boolean(document.querySelector<HTMLElement>(selector)));if(!mounted)return;lateMounted=true;setStackRevision((revision)=>revision+1)});lateMountObserver.observe(document.body,{childList:true,subtree:true,attributes:true,attributeFilter:['class','style','aria-current']});window.addEventListener('resize',syncUtilityOnly,{passive:true});return()=>{lateMountObserver.disconnect();window.removeEventListener('resize',syncUtilityOnly);if(utilityRoot){if(previousUtilityRootStyle===null)utilityRoot.removeAttribute('style');else utilityRoot.setAttribute('style',previousUtilityRootStyle)}if(previousPlatformNavHeight)document.documentElement.style.setProperty('--kl-platform-mobile-nav-h',previousPlatformNavHeight);else document.documentElement.style.removeProperty('--kl-platform-mobile-nav-h');if(previousStackHeight)document.documentElement.style.setProperty('--kl-mobile-bottom-stack-h',previousStackHeight);else document.documentElement.style.removeProperty('--kl-mobile-bottom-stack-h')}}const canonicalTenantNavs=selectors.map((selector)=>document.querySelector<HTMLElement>(selector)).filter((candidate):candidate is HTMLElement=>Boolean(candidate)&&candidate!==footer&&!footer.contains(candidate));const ordered=[primary,...Array.from(new Set(canonicalTenantNavs.filter((candidate)=>candidate!==primary)))];const originalBottoms=new Map(ordered.map((element)=>[element,element.style.bottom]));const root=document.querySelector<HTMLElement>('.kl-responsive-tenant-runtime');const previousRootPadding=root?.style.paddingBottom||'';const previousPlatformNavHeight=document.documentElement.style.getPropertyValue('--kl-platform-mobile-nav-h');const previousStackHeight=document.documentElement.style.getPropertyValue('--kl-mobile-bottom-stack-h');const previousPrimaryNavHeight=document.documentElement.style.getPropertyValue('--kl-mobile-primary-nav-h');const syncStack=()=>{const utilityHeight=Math.ceil(footer.getBoundingClientRect().height);footer.style.setProperty('bottom','0px','important');document.documentElement.style.setProperty('--kl-platform-mobile-nav-h',`${utilityHeight}px`);document.documentElement.style.setProperty('--kl-mobile-primary-nav-h',`${Math.ceil(primary.getBoundingClientRect().height)}px`);let offset=utilityHeight;for(const element of ordered){element.style.setProperty('bottom',`${offset}px`,'important');offset+=Math.ceil(element.getBoundingClientRect().height)}document.documentElement.style.setProperty('--kl-mobile-bottom-stack-h',`${offset}px`);if(root)root.style.setProperty('padding-bottom',`${offset}px`,'important')};syncStack();const observer=new ResizeObserver(syncStack);observer.observe(footer);for(const element of ordered)observer.observe(element);window.addEventListener('resize',syncStack,{passive:true});return()=>{observer.disconnect();window.removeEventListener('resize',syncStack);for(const [element,previousBottom] of originalBottoms){if(previousBottom)element.style.bottom=previousBottom;else element.style.removeProperty('bottom')}if(root){if(previousRootPadding)root.style.paddingBottom=previousRootPadding;else root.style.removeProperty('padding-bottom')}if(previousPlatformNavHeight)document.documentElement.style.setProperty('--kl-platform-mobile-nav-h',previousPlatformNavHeight);else document.documentElement.style.removeProperty('--kl-platform-mobile-nav-h');if(previousStackHeight)document.documentElement.style.setProperty('--kl-mobile-bottom-stack-h',previousStackHeight);else document.documentElement.style.removeProperty('--kl-mobile-bottom-stack-h');if(previousPrimaryNavHeight)document.documentElement.style.setProperty('--kl-mobile-primary-nav-h',previousPrimaryNavHeight);else document.documentElement.style.removeProperty('--kl-mobile-primary-nav-h')}},[mobile,activeTenant?.id,location.pathname,location.search,stackRevision]);if(!mobile||!activeTenant?.id||typeof window==='undefined'||typeof document==='undefined'||window.location.hostname.toLowerCase()!=='app.knocklaunch.app')return null;const home=activeTenant?.id?getTenantDashboardPathForTenant(activeTenant):'/select-tenant';const goBack=()=>{if(window.history.length>1)navigate(-1);else navigate(home)};const goHome=()=>navigate(home);const reload=()=>window.location.reload();const openMessages=()=>window.dispatchEvent(new CustomEvent('knocklaunch:messages-open'));const iconStyle={color:'var(--kl-utility-nav-accent,var(--kl-utility-nav-text,rgba(255,255,255,.92)))'};return createPortal(<><style>{`@media (max-width:767px){.kl-responsive-tenant-runtime{--kl-mobile-primary-nav-h:64px;--kl-mobile-utility-footer-h:56px;box-sizing:border-box}}`}</style><nav ref={footerRef} data-platform-mobile-utility-footer=\"true\" aria-label=\"Mobile utility navigation\" className=\"fixed inset-x-0 bottom-0 z-[10050] grid h-[calc(var(--kl-mobile-utility-footer-h,56px)+env(safe-area-inset-bottom))] grid-cols-4 border-t pb-[env(safe-area-inset-bottom)] md:hidden\" style={{background:'var(--kl-utility-nav-bg,rgba(5,10,16,.94))',borderColor:'var(--kl-utility-nav-border,rgba(255,255,255,.12))',color:'var(--kl-utility-nav-text,rgba(255,255,255,.82))',boxShadow:'var(--kl-utility-nav-shadow,0 -14px 44px rgba(0,0,0,.32))',backdropFilter:'var(--kl-utility-nav-backdrop,blur(24px))'}}><button type=\"button\" data-installed-app-navigation-action=\"back\" onClick={goBack} className=\"flex min-h-14 flex-col items-center justify-center gap-0.5 text-[10px] font-black\"><ArrowLeft className=\"h-5 w-5\" style={iconStyle}/><span>Back</span></button><button type=\"button\" data-installed-app-navigation-action=\"home\" onClick={goHome} className=\"flex min-h-14 flex-col items-center justify-center gap-0.5 text-[10px] font-black\"><Home className=\"h-5 w-5\" style={iconStyle}/><span>Home</span></button><button type=\"button\" data-installed-app-navigation-action=\"reload\" onClick={reload} className=\"flex min-h-14 flex-col items-center justify-center gap-0.5 text-[10px] font-black\"><RefreshCw className=\"h-5 w-5\" style={iconStyle}/><span>Refresh</span></button><button type=\"button\" data-installed-app-navigation-action=\"messages\" onClick={openMessages} className=\"flex min-h-14 flex-col items-center justify-center gap-0.5 text-[10px] font-black\"><MessageCircle className=\"h-5 w-5\" style={iconStyle}/><span>Messages</span></button></nav></>,document.body)}\nfunction TenantRouteScrollRestoration(){const location=useLocation();React.useEffect(()=>{if(typeof window==='undefined'||typeof document==='undefined'||location.hash)return;const frame=window.requestAnimationFrame(()=>{const tenantOwner=document.querySelector<HTMLElement>('[data-experience-runtime-root=\"true\"][data-route-scroll-owner=\"tenant\"]');if(tenantOwner){tenantOwner.scrollTo({top:0,left:0,behavior:'auto'});return}window.scrollTo({top:0,left:0,behavior:'auto'})});return()=>window.cancelAnimationFrame(frame)},[location.pathname,location.hash]);return null}\nfunction GlobalTrackers(){useSessionTracker();useActivityLogger();useRealtimeStormEvents();React.useEffect(()=>{void import('@/lib/externalNativeCall').then(m=>m.installExternalNativeCallInterceptor())},[]);return null}\nfunction ConditionalRouteHealthBanner(){const location=useLocation();if(!location.pathname.startsWith('/crm'))return null;return <RouteHealthBanner/>}\nfunction GlobalImpersonationBanner(){return <UserImpersonationBanner/>}\nfunction RouteFallback(){return <PageLoadingSkeleton variant=\"minimal\"/>} \nfunction UsersRouteAlias(){const {activeTenant,effectiveRole,hasGodModeAnywhere,isLoading}=useMultiTenant();const platformAuthority=effectiveRole==='GodMode'||hasGodModeAnywhere();if(platformAuthority)return <Suspense fallback={<RouteFallback/>}><section className=\"mx-auto w-full max-w-[1600px] space-y-4 px-4 py-5 sm:px-6 sm:py-6\"><div><h1 className=\"text-2xl font-semibold tracking-tight\">Users</h1><p className=\"mt-1 text-sm text-muted-foreground\">Manage people, roles, and workspace access.</p></div><AdminUsersCommandCenter/></section></Suspense>;if(activeTenant?.id)return <Suspense fallback={<RouteFallback/>}><OwnerUsers/></Suspense>;if(isLoading)return <RouteFallback/>;return <Navigate to=\"/select-tenant?next=%2Fusers\" replace/>}\nfunction DemoWorkspaceEntry(){const {tenantId}=useParams();const navigate=useNavigate();const {activeTenant,memberships,isLoading,switchTenant}=useMultiTenant();const [error,setError]=React.useState('');const membership=memberships.find(m=>m.tenant_id===tenantId);React.useEffect(()=>{let cancelled=false;if(isLoading||!tenantId||!membership?.tenant)return;const tenant=membership.tenant;const readiness=((tenant as any)?.settings?.tenant_readiness||{}) as Record<string,any>;if(readiness.demo_ready!==true){const missing=Array.isArray(readiness.demo_missing)?readiness.demo_missing.map((value:unknown)=>String(value||'').trim()).filter(Boolean):[];setError(`Demo is still being prepared.${missing.length?` ${missing.join(' · ')}.`:''} Run Workspace Health after branding is complete.`);return}const target=getTenantDashboardPathForTenant(tenant);void(async()=>{try{if(activeTenant?.id!==tenant.id)await switchTenant(tenant.id);if(!cancelled)navigate(target,{replace:true})}catch(caught){if(!cancelled)setError(caught instanceof Error?caught.message:'Could not open the branded demo workspace.')}})();return()=>{cancelled=true}},[activeTenant?.id,isLoading,membership?.tenant,navigate,switchTenant,tenantId]);if(!tenantId)return <Navigate to=\"/select-tenant\" replace/>;if(error||(!isLoading&&!membership))return <section className=\"mx-auto mt-16 max-w-xl rounded-2xl border border-rose-300/20 bg-rose-400/10 p-6 text-white\"><h1 className=\"text-xl font-semibold\">Demo workspace unavailable</h1><p className=\"mt-2 text-sm text-white/70\">{error||'This branded demo tenant is not available to the current account.'}</p></section>;const targetTenant=membership?.tenant;return <UniversalLoadingScreen brandName={targetTenant?.company_dba_name||targetTenant?.company_legal_name||targetTenant?.name} logoUrl={targetTenant?.company_logo_url} backgroundUrl={resolveTenantBackgroundUrl(targetTenant)||undefined} tenantKey={targetTenant?.company_slug||targetTenant?.id} title=\"Opening branded demo\" subtitle=\"Loading the certified workspace.\" showCountdown={false}/>}\nfunction ShortcutsModalManager({children}:{children:React.ReactNode}){const [showShortcutsModal,setShowShortcutsModal]=React.useState(false);useShortcutHint();React.useEffect(()=>{setGlobalShortcutsState({showShortcutsModal,setShowShortcutsModal})},[showShortcutsModal]);return <><PlatformContextMenu/><LazyShellSlot><KeyboardShortcutsModal open={showShortcutsModal} onOpenChange={setShowShortcutsModal}/></LazyShellSlot>{children}</>}\nfunction AdminRoutesOnly(){return <Suspense fallback={<RouteFallback/>}><AdminRouteRegistry/></Suspense>}\nfunction roofingInternalCrmPath(pathname:string,activeTenant:any){const normalized=String(pathname||'').toLowerCase().replace(/\\/+$/g,'');const tenantSlug=canonicalTenantRouteSlugForIdentity(activeTenant).toLowerCase();const tenantType=String(activeTenant?.tenant_type||'ROOFING_COMPANY').trim().toUpperCase().replace(/[\\s-]+/g,'_');const rest=tenantSlug&&normalized.startsWith(`/${tenantSlug}`)?normalized.slice(tenantSlug.length+1).replace(/^\\//,''):'';if(!rest)return `/crm/${tenantType}/${tenantSlug}/dashboard`;const [head,...tail]=rest.split('/').filter(Boolean);const internalHead=({today:'dashboard',homeowners:'contacts',production:'jobs',schedule:'calendar',money:'billing',inbox:'communications',opportunities:'opportunity-radar',opportunity:'opportunity-radar',radar:'opportunity-radar','roof-measurement':'roof-tracer'} as Record<string,string>)[head]||head;return `/crm/${tenantType}/${tenantSlug}/${[internalHead,...tail].filter(Boolean).join('/')}`}\nfunction RedfishHomeownerDetailRouter(){return <Routes><Route path=\"/redfish-roofing/homeowners/:contactId\" element={<UnifiedProtectedRoute allowedRoles={ROLES.FIELD_STAFF} redirectTo=\"/crm/login\"><Suspense fallback={<RouteFallback/>}><RedfishContactWorkspace/></Suspense></UnifiedProtectedRoute>}/></Routes>}\nfunction RoofingOwnerWorkspaceRouter(){const location=useLocation();const {activeTenant}=useMultiTenant();const tenantSlug=activeTenant?.id?canonicalTenantRouteSlugForIdentity(activeTenant).toLowerCase():'';const normalized=location.pathname.toLowerCase().replace(/\\/+$/g,'');if(tenantSlug&&normalized===`/${tenantSlug}`)return <Navigate to={`/${tenantSlug}/today`} replace/>;if(tenantSlug&&normalized===`/${tenantSlug}/roof-measurement`)return <UnifiedProtectedRoute allowedRoles={['Rep','PA','Roofer','PM','Admin','Owner','Tenant Owner','GodMode']} redirectTo=\"/crm/login\"><Suspense fallback={<RouteFallback/>}><RoofTracingPage/></Suspense></UnifiedProtectedRoute>;const internalPath=roofingInternalCrmPath(location.pathname,activeTenant);return <Suspense fallback={<RouteFallback/>}><TenantCrmRoutes locationOverride={`${internalPath}${location.search||''}`}/></Suspense>} \nfunction TenantCrmRouteFallback(){const {activeTenant,isLoading}=useMultiTenant();if(!activeTenant?.id){if(isLoading)return <RouteFallback/>;return <Navigate to=\"/select-tenant\" replace/>}return <Suspense fallback={<RouteFallback/>}><TenantCrmRoutes/></Suspense>}\nfunction isTenantSettingsWorkspacePath(pathname:string,activeTenant:any){if(!activeTenant?.id)return false;const slug=canonicalTenantRouteSlugForIdentity(activeTenant).toLowerCase();const normalized=String(pathname||'').toLowerCase().replace(/\\/+$/g,'');const base=`/${slug}/settings`;return normalized===base||normalized.startsWith(`${base}/`)}\nfunction ModesTenantRouteFallback(){const location=useLocation();const {activeTenant,isLoading}=useMultiTenant();if(!activeTenant?.id){if(isLoading)return <RouteFallback/>;return <Navigate to=\"/select-tenant\" replace/>}const slug=canonicalTenantRouteSlugForIdentity(activeTenant).toLowerCase();const home=getTenantDashboardPathForTenant(activeTenant);const normalize=(value:string)=>String(value||'/').toLowerCase().replace(/\\/+$/g,'')||'/';const current=normalize(location.pathname);const homePath=normalize(home);const tenantRoot=`/${slug}`;const params=new URLSearchParams(location.search);const modeApp=String(params.get('modeApp')||'').trim();if(modeApp){const app=getTenantApplicationByReference(modeApp);if(app){const appPath=String(app.standalonePath||`/${app.slug}`).replace(/^\\/+|\\/+$/g,'');const target=`/${slug}/${appPath}`;if(current!==normalize(target))return <Navigate to={`${target}${location.search||''}${location.hash||''}`} replace/>;return <StandaloneApplicationWorkspace app={app} tenantSlugFromPath={slug}/>}}if(current===homePath||current===tenantRoot||current===`${tenantRoot}/dashboard`)return null;return <Navigate to={home} replace/>}\nfunction TenantRouteIdentityBoundary({children}:{children:React.ReactNode}){const location=useLocation();const {activeTenant,memberships,isLoading,switchTenant}=useMultiTenant();const requestedIdentity=React.useMemo(()=>resolveRequestedTenantRouteIdentity(location.pathname),[location.pathname]);const requestedSlug=requestedIdentity?.tenantSlug||'';const resolution=React.useMemo(()=>requestedSlug?resolveTenantRouteMembership(memberships,requestedSlug,requestedIdentity?.tenantType||undefined):null,[memberships,requestedIdentity?.tenantType,requestedSlug]);const requestedTenant=resolution?.membership?.tenant||null;const requestedTenantId=String(requestedTenant?.id||'');const activeMatchesRequested=!requestedSlug||tenantRouteIdentityMatchesRequestedSlug(activeTenant,requestedSlug);const projectedAccess=readGodModeAccessContext();const projectedIntentMatchesRequested=projectedTenantRouteIntentMatches({requestedSlug,projectedTenantSlug:projectedAccess?.tenantSlug,projectedRole:projectedAccess?.role,projectedMode:projectedAccess?.mode});const projectionGraceKey=projectedIntentMatchesRequested&&!activeMatchesRequested&&!requestedTenantId?`${requestedSlug}:${projectedAccess?.tenantId||''}`:'';const [expiredProjectionGraceKey,setExpiredProjectionGraceKey]=React.useState('');const projectionGraceElapsed=Boolean(projectionGraceKey&&expiredProjectionGraceKey===projectionGraceKey);const [switching,setSwitching]=React.useState(false);const [switchFailed,setSwitchFailed]=React.useState(false);React.useEffect(()=>{if(!projectionGraceKey){if(expiredProjectionGraceKey)setExpiredProjectionGraceKey('');return}if(expiredProjectionGraceKey===projectionGraceKey)return;const timeoutId=window.setTimeout(()=>setExpiredProjectionGraceKey(projectionGraceKey),PROJECTED_TENANT_ROUTE_GRACE_MS);return()=>window.clearTimeout(timeoutId)},[expiredProjectionGraceKey,projectionGraceKey]);React.useEffect(()=>{if(!requestedTenantId||requestedTenantId===activeTenant?.id){setSwitchFailed(false);setSwitching(false);return}let cancelled=false;setSwitchFailed(false);setSwitching(true);void switchTenant(requestedTenantId).then(()=>{if(!cancelled)setSwitching(false)}).catch(()=>{if(!cancelled){setSwitching(false);setSwitchFailed(true)}});return()=>{cancelled=true}},[activeTenant?.id,requestedTenantId,switchTenant]);if(switchFailed){const next=encodeURIComponent(`${location.pathname}${location.search||''}${location.hash||''}`);return <section data-tenant-route-boundary=\"switch-failed\" className=\"mx-auto mt-16 max-w-xl rounded-2xl border border-amber-300/20 bg-amber-300/10 p-6 text-white\"><h1 className=\"text-xl font-semibold\">Workspace connection needs another try</h1><p className=\"mt-2 text-sm text-white/70\">KNOCKLAUNCH kept this workspace route in place instead of sending you away. Retry the tenant connection or choose a workspace manually.</p><div className=\"mt-4 flex flex-wrap gap-3\"><button type=\"button\" onClick={()=>{setSwitchFailed(false);setSwitching(false)}} className=\"inline-flex rounded-xl border border-white/15 bg-white/[0.08] px-4 py-2 text-sm font-semibold text-white\">Retry workspace</button><Link to={`/select-tenant?manual=1&next=${next}`} className=\"inline-flex rounded-xl border border-white/10 bg-black/20 px-4 py-2 text-sm font-semibold text-white/80\">Choose workspace</Link></div></section>}if(requestedTenantId&&(switching||activeTenant?.id!==requestedTenantId))return <RouteFallback/>;if(shouldHoldTenantRouteHydration({requestedSlug,activeMatchesRequested,requestedTenantId,isLoading,projectedIntentMatchesRequested,projectionGraceElapsed}))return <RouteFallback/>;return <>{children}</>}\nfunction StandaloneApplicationWorkspace({app,tenantSlugFromPath='',suffixFromPath=''}:{app:ApplicationCapability;tenantSlugFromPath?:string;suffixFromPath?:string}){\n  const location=useLocation();\n  const {activeTenant,memberships,isLoading,switchTenant}=useMultiTenant();\n  const requestedTenantSlug=React.useMemo(()=>String(tenantSlugFromPath||new URLSearchParams(location.search).get('tenant')||'').trim().toLowerCase(),[tenantSlugFromPath,location.search]);\n  const standaloneHostApp=React.useMemo(()=>typeof window==='undefined'?undefined:getTenantApplicationByStandaloneHost(window.location.hostname),[]);\n  const applicationMode=tenantSlugFromPath?'tenant-integrated':'standalone';\n  const activeTenantSlug=React.useMemo(()=>activeTenant?.id?canonicalTenantRouteSlugForIdentity(activeTenant).toLowerCase():'',[activeTenant?.id,activeTenant?.company_slug,activeTenant?.tenant_type,activeTenant?.name]);\n  const requestedMembership=React.useMemo(()=>requestedTenantSlug?memberships.find(m=>m.tenant?.id&&canonicalTenantRouteSlugForIdentity(m.tenant).toLowerCase()===requestedTenantSlug)||null:null,[memberships,requestedTenantSlug]);\n  const [switchingTenant,setSwitchingTenant]=React.useState(false);\n  React.useEffect(()=>{if(!requestedTenantSlug||!requestedMembership?.tenant?.id||requestedMembership.tenant.id===activeTenant?.id)return;let cancelled=false;setSwitchingTenant(true);void switchTenant(requestedMembership.tenant.id).finally(()=>{if(!cancelled)setSwitchingTenant(false)});return()=>{cancelled=true}},[tenantSlugFromPath,requestedTenantSlug,requestedMembership?.tenant?.id,activeTenant?.id,switchTenant]);\n  if(isLoading||switchingTenant)return <RouteFallback/>;\n  if(!requestedTenantSlug){if(activeTenant?.id&&memberships.some(m=>m.tenant?.id===activeTenant.id)){const params=new URLSearchParams(location.search);params.set('tenant',canonicalTenantRouteSlugForIdentity(activeTenant));return <Navigate to={`${location.pathname}?${params.toString()}`} replace/>}const next=encodeURIComponent(`${location.pathname}${location.search||''}`);return <Navigate to={`/select-tenant?app=${encodeURIComponent(app.slug)}&next=${next}`} replace/>}\n  if(!requestedMembership?.tenant?.id)return <Navigate to={`/select-tenant?app=${encodeURIComponent(app.slug)}`} replace/>;\n  if(!activeTenant?.id||activeTenant.id!==requestedMembership.tenant.id||activeTenantSlug!==requestedTenantSlug)return <RouteFallback/>;\n  const base=app.standalonePath;const normalized=location.pathname.toLowerCase().replace(/\\/+$/g,'')||'/';const suffix=suffixFromPath||(tenantSlugFromPath?'':app.id==='mail'?normalized.replace(/^\\/(?:communications\\/)?(?:mail|email|emails|email-suite)(?:\\/|$)/,''):normalized.split('/').filter(Boolean).slice(base.split('/').filter(Boolean).length).join('/'));if(tenantSlugFromPath&&standaloneHostApp?.id===app.id){const params=new URLSearchParams(location.search);params.set('tenant',requestedTenantSlug);const hostStandalone=`${base}${suffix?`/${suffix}`:''}`;return <Navigate to={`${hostStandalone}?${params.toString()}`} replace/>}if(applicationMode==='tenant-integrated'&&isModesTenant(activeTenant)&&isEventRentalTenantContext(activeTenant)&&app.routeAdapter==='tenant-workspace')return <EventRentalModesApplicationSurface app={app}/>;if(applicationMode==='tenant-integrated'&&isModesTenant(activeTenant)&&DIRECT_MODES_APPLICATION_IDS.has(app.id))return <DirectModesApplicationSurface app={app}/>;if(app.routeAdapter==='mail')return <FirstClassAppTenantBoundary appSlug=\"mail\" applicationChrome={applicationMode!=='tenant-integrated'} applicationMode={applicationMode}><MailApplicationRoute/></FirstClassAppTenantBoundary>;if(app.routeAdapter==='call-center')return <FirstClassAppTenantBoundary appSlug={app.slug} platformDefault applicationChrome={applicationMode!=='tenant-integrated'} applicationMode={applicationMode}><CallCenterApplicationRoute/></FirstClassAppTenantBoundary>; if(app.routeAdapter==='proposal-editor')return <FirstClassAppTenantBoundary appSlug={app.slug} applicationChrome={applicationMode!=='tenant-integrated'} applicationMode={applicationMode}><ProposalEditorApplicationRoute/></FirstClassAppTenantBoundary>;if(app.routeAdapter==='creative-studio')return <FirstClassAppTenantBoundary appSlug={app.slug} applicationChrome={applicationMode!=='tenant-integrated'} applicationMode={applicationMode}><CreativeStudioApplicationRoute/></FirstClassAppTenantBoundary>;if(app.routeAdapter==='platform-workspace')return <Navigate to=\"/admin\" replace/>;const internal=buildTenantApplicationWorkspacePath(String(activeTenant.tenant_type||'MISC'),String(activeTenant.company_slug||''),app.slug,suffix);if(!internal)return <Navigate to={`/select-tenant?app=${encodeURIComponent(app.slug)}`} replace/>;return <FirstClassAppTenantBoundary appSlug={app.slug} applicationChrome={applicationMode!=='tenant-integrated'} applicationMode={applicationMode}><Suspense fallback={<RouteFallback/>}><TenantCrmRoutes locationOverride={`${internal}${location.search||''}`}/></Suspense></FirstClassAppTenantBoundary>\n}\n\nfunction TenantContractSafePrivateRouteFallback(){const location=useLocation();const {activeTenant,isLoading}=useMultiTenant();if(!activeTenant?.id){if(isLoading)return <RouteFallback/>;return <Navigate to=\"/select-tenant\" replace/>}const profile=resolveTenantWorkspaceRuntimeProfile(activeTenant,location.pathname);const settings=((activeTenant as any)?.settings||{}) as Record<string,any>;const workspaceVariant=String(settings.workspace_variant||'').trim().toLowerCase();const contractOwnsPrivateRouting=profile.isSelfContainedTenantWorkspace||profile.suppressGenericTenantChrome||profile.shellProfile!=='standard'||profile.navigationProfile!=='standard'||workspaceVariant==='curri_control_center';if(!contractOwnsPrivateRouting)return <Suspense fallback={<RouteFallback/>}><DefaultPrivateRouteRegistry/></Suspense>;const normalize=(value:string)=>String(value||'/').toLowerCase().replace(/\\/+$/g,'')||'/';const home=getTenantDashboardPathForTenant(activeTenant);const current=normalize(location.pathname);const homePath=normalize(home);const tenantSlug=canonicalTenantRouteSlugForIdentity(activeTenant).toLowerCase();const tenantRoot=tenantSlug?`/${tenantSlug}`:'';if(current===homePath||(tenantRoot&&(current===tenantRoot||current===`${tenantRoot}/dashboard`)))return null;return <Navigate to={home} replace/>}\nfunction PrivateRoutes(){const location=useLocation();const {activeTenant}=useMultiTenant();const applicationRoute=resolveTenantApplicationRoute(location.pathname);const tenantScopedApp=applicationRoute?.mode==='tenant-integrated'?applicationRoute:null;const {normalizedPath,isBigPapisPrivateWorkspace,isSavagePizzaPrivateWorkspace,isCafeQsrPrivateWorkspace,isScePrivateWorkspace,isRoofHelpFinderPrivateWorkspace,isRoofingPrivateWorkspace,isPcgPrivateWorkspace,isBookMeDirectlyPrivateWorkspace,isLegacyPcgCrmWorkspace,isRedfishHomeownerDetailWorkspace,isRedfishCanvassingWorkspace,isAutoUnlockPrivateWorkspace,isCallCenterPrivateWorkspace,nativeTenantRouteOwner}=resolvePrivateWorkspaceCompatibility(location.pathname,activeTenant);const isBareUsersAlias=normalizedPath==='/users'||normalizedPath==='/team';const standaloneApp=applicationRoute?.mode==='standalone'?applicationRoute.app:null;if(normalizedPath==='/knock-launch-os')return <Navigate to=\"/knock-launch-os/portfolio\" replace/>;if(normalizedPath==='/knock-launch-os/portfolio'||normalizedPath.startsWith('/knock-launch-os/portfolio/'))return <Suspense fallback={<RouteFallback/>}><KnockLaunchPortfolio/></Suspense>;if(normalizedPath.startsWith('/knock-launch-os'))return <Navigate to=\"/knock-launch-os/portfolio\" replace/>;if(normalizedPath==='/knock-launch-crm')return <Navigate to=\"/knock-launch-os/portfolio\" replace/>;if(normalizedPath.startsWith('/knock-launch-crm')){const suffix=location.pathname.slice('/knock-launch-crm'.length);return <Navigate to={`/knock-launch-os${suffix}${location.search||''}${location.hash||''}`} replace/>;}if(isBareUsersAlias)return <UsersRouteAlias/>;const isCanonicalPcgCardGradingRoute=normalizedPath==='/pcg/card-grading'||normalizedPath.startsWith('/pcg/card-grading/');if(isLegacyPcgCrmWorkspace)return <Navigate to=\"/pcg/workspace\" replace/>;if(isCanonicalPcgCardGradingRoute)return <Suspense fallback={<RouteFallback/>}><FirstClassAppTenantBoundary appSlug=\"card-grading\"><PCGCanonicalWorkspaceRoute/></FirstClassAppTenantBoundary></Suspense>;if(tenantScopedApp&&!nativeTenantRouteOwner)return <StandaloneApplicationWorkspace app={tenantScopedApp.app} tenantSlugFromPath={tenantScopedApp.tenantSlug} suffixFromPath={tenantScopedApp.suffix}/>;if(isBookMeDirectlyPrivateWorkspace)return <Suspense fallback={<RouteFallback/>}><BookMeDirectlyWorkspace/></Suspense>;if(isTenantSettingsWorkspacePath(location.pathname,activeTenant))return <Suspense fallback={<RouteFallback/>}><TenantSettingsPage/></Suspense>;if(isPcgPrivateWorkspace)return <Suspense fallback={<RouteFallback/>}><FirstClassAppTenantBoundary appSlug=\"card-grading\"><PCGCanonicalWorkspaceRoute/></FirstClassAppTenantBoundary></Suspense>;if(isAutoUnlockPrivateWorkspace)return <Suspense fallback={<RouteFallback/>}><AutoUnlockWorkspaceRouter/></Suspense>;if(standaloneApp)return <StandaloneApplicationWorkspace app={standaloneApp}/>;if(normalizedPath.startsWith('/demo-workspace/'))return <Routes><Route path=\"/demo-workspace/:tenantId\" element={<DemoWorkspaceEntry/>}/></Routes>;if(normalizedPath==='/media-library')return <Suspense fallback={<RouteFallback/>}><MediaLibrary/></Suspense>;if(isAutoUnlockPrivateWorkspace)return <Suspense fallback={<RouteFallback/>}><AutoUnlockWorkspaceRouter/></Suspense>;if(isCallCenterPrivateWorkspace)return <Suspense fallback={<RouteFallback/>}><FirstClassAppTenantBoundary appSlug=\"call-center\" platformDefault applicationMode=\"tenant-integrated\"><CallCenterApplicationRoute/></FirstClassAppTenantBoundary></Suspense>;if(isRoofHelpFinderPrivateWorkspace)return <Suspense fallback={<RouteFallback/>}><RoofHelpFinderWorkspace/></Suspense>;if(isScePrivateWorkspace)return <Suspense fallback={<RouteFallback/>}><SceRouteRegistry/></Suspense>;if(isRedfishHomeownerDetailWorkspace)return <RedfishHomeownerDetailRouter/>;if(isRedfishCanvassingWorkspace)return <Suspense fallback={<RouteFallback/>}><RedfishCanvassingRoute/></Suspense>;if(normalizedPath==='/redfish-roofing/roof-measurement')return <RoofingOwnerWorkspaceRouter/>;if(isRoofingPrivateWorkspace)return <RoofingOwnerWorkspaceRouter/>;if(isBigPapisPrivateWorkspace||isSavagePizzaPrivateWorkspace||isCafeQsrPrivateWorkspace)return <Suspense fallback={<RouteFallback/>}><OwnerRouteRegistry/></Suspense>;if(isModesTenant(activeTenant))return <ModesTenantRouteFallback/>;return <TenantContractSafePrivateRouteFallback/>}\n\nfunction OwnerOsTenantBoundary({children}:{children:React.ReactNode}){const{activeTenant,memberships,isLoading,switchTenant}=useMultiTenant();const ownerMembership=React.useMemo(()=>memberships.find(m=>m.tenant?.id&&isKnockLaunchOsWorkspace(m.tenant))||null,[memberships]);const ownerTenantId=String(ownerMembership?.tenant?.id||'');const[isSwitching,setIsSwitching]=React.useState(false);const[switchFailed,setSwitchFailed]=React.useState(false);React.useEffect(()=>{if(isLoading||!ownerTenantId||activeTenant?.id===ownerTenantId){setIsSwitching(false);setSwitchFailed(false);return}let cancelled=false;setIsSwitching(true);setSwitchFailed(false);void switchTenant(ownerTenantId).then(()=>{if(!cancelled)setIsSwitching(false)}).catch(()=>{if(!cancelled){setIsSwitching(false);setSwitchFailed(true)}});return()=>{cancelled=true}},[activeTenant?.id,isLoading,ownerTenantId,switchTenant]);if(isLoading||isSwitching||(ownerTenantId&&activeTenant?.id!==ownerTenantId&&!switchFailed))return <UniversalLoadingScreen brandName=\"KNOCKLAUNCH OS\" title=\"Opening owner workspace\" subtitle=\"Binding the canonical KNOCKLAUNCH OS workspace context.\" platformAuthoritative presentationPreset=\"pcg-wmp\" showCountdown={false}/>;if(!ownerTenantId||switchFailed)return <section data-owner-os-tenant-boundary=\"blocked\" className=\"mx-auto mt-16 max-w-xl rounded-2xl border border-amber-300/20 bg-amber-300/10 p-6 text-white\"><h1 className=\"text-xl font-semibold\">KNOCKLAUNCH OS workspace unavailable</h1><p className=\"mt-2 text-sm text-white/70\">The owner workspace could not be resolved safely. Customer tenant context was not reused.</p><Link to=\"/select-tenant?manual=1\" className=\"mt-4 inline-flex rounded-xl border border-white/15 bg-white/[0.06] px-4 py-2 text-sm font-semibold text-white\">Choose workspace</Link></section>;return <div data-owner-os-tenant-boundary=\"bound\" data-owner-os-tenant-id={ownerTenantId}>{children}</div>}\nfunction AdminShell(){return <><MultiTenantProvider><FocusModeProvider><UserImpersonationProvider><ShortcutsModalManager><LazyShellSlot><GlobalCommandPalette/></LazyShellSlot><GlobalImpersonationBanner/><AuditorModeBanner/><div className=\"kl-platform-surface relative z-10 flex h-[calc(100dvh-var(--comm-banner-h,0px))] min-h-0 flex-col overflow-hidden\"><BaseErrorBoundary scope=\"AdminShell.Routes\" variant=\"panel\" title=\"Admin console route failed\" description=\"The platform shell loaded, but this route needs repair.\"><AdminRoutesOnly/></BaseErrorBoundary></div></ShortcutsModalManager></UserImpersonationProvider></FocusModeProvider></MultiTenantProvider></>}\nfunction PortfolioShell(){return <div className=\"min-h-screen bg-[#040806]\"><MultiTenantProvider><OwnerOsTenantBoundary><FocusModeProvider><UserImpersonationProvider><ShortcutsModalManager><LazyShellSlot><GlobalCommandPalette/></LazyShellSlot><GlobalImpersonationBanner/><AuditorModeBanner/><div className=\"kl-platform-surface relative z-10 min-h-screen w-full overflow-x-hidden overflow-y-auto\"><BaseErrorBoundary scope=\"PortfolioShell\" variant=\"panel\" title=\"Portfolio needs repair\" description=\"The KNOCKLAUNCH OS portfolio shell loaded, but the owner portfolio route needs repair.\"><Suspense fallback={<RouteFallback/>}><KnockLaunchPortfolio/></Suspense></BaseErrorBoundary></div></ShortcutsModalManager></UserImpersonationProvider></FocusModeProvider></OwnerOsTenantBoundary></MultiTenantProvider></div>}\nfunction PortfolioOpsShell(){return <div className=\"min-h-screen bg-[#040806]\"><MultiTenantProvider><OwnerOsTenantBoundary><FocusModeProvider><UserImpersonationProvider><ShortcutsModalManager><LazyShellSlot><GlobalCommandPalette/></LazyShellSlot><GlobalImpersonationBanner/><AuditorModeBanner/><div className=\"kl-platform-surface relative z-10 min-h-screen w-full overflow-x-hidden overflow-y-auto\"><BaseErrorBoundary scope=\"PortfolioOpsShell\" variant=\"panel\" title=\"Owner OS route needs repair\" description=\"The KNOCKLAUNCH OS shell loaded, but this owner route needs repair.\"><Suspense fallback={<RouteFallback/>}><KnockLaunchOSDashboard/></Suspense></BaseErrorBoundary></div></ShortcutsModalManager></UserImpersonationProvider></FocusModeProvider></OwnerOsTenantBoundary></MultiTenantProvider></div>}\n\nfunction PortfolioSettingsShell(){return <div className=\"min-h-screen bg-[#040806]\"><MultiTenantProvider><OwnerOsTenantBoundary><FocusModeProvider><UserImpersonationProvider><ShortcutsModalManager><LazyShellSlot><GlobalCommandPalette/></LazyShellSlot><GlobalImpersonationBanner/><AuditorModeBanner/><div className=\"kl-platform-surface relative z-10 min-h-screen w-full overflow-x-hidden overflow-y-auto\"><BaseErrorBoundary scope=\"PortfolioSettingsShell\" variant=\"panel\" title=\"Owner settings need repair\" description=\"The KNOCKLAUNCH OS owner shell loaded, but settings need repair.\"><Suspense fallback={<RouteFallback/>}><KnockLaunchOSSettings/></Suspense></BaseErrorBoundary></div></ShortcutsModalManager></UserImpersonationProvider></FocusModeProvider></OwnerOsTenantBoundary></MultiTenantProvider></div>}\nfunction TenantWorkspaceRuntime(){const location=useLocation();const {activeTenant,isLoading}=useMultiTenant();const applicationRoute=resolveTenantApplicationRoute(location.pathname);const tenantIntegratedApp=applicationRoute?.mode==='tenant-integrated'&&!resolvePrivateWorkspaceCompatibility(location.pathname,activeTenant).nativeTenantRouteOwner?applicationRoute:null;const {normalizedPath,isMsLawnBarberWorkspace,msLawnBarberBackgroundUrl,isSelfContainedSeasideLaunch,isSelfContainedBigPapisWorkspace,isSelfContainedSavagePizzaWorkspace,isSelfContainedAutoUnlockWorkspace,isSelfContainedRedfishWorkspace,isSelfContainedPcgWorkspace,isSelfContainedBookMeDirectlyWorkspace,isSelfContainedTenantWorkspace,suppressGenericTenantChrome,shellProfile,navigationProfile,viewportOwner,tenantOwnsViewport,operatingContractSource,compatibilitySource,backgroundOwnership}=resolveTenantWorkspaceRuntimeProfile(activeTenant,location.pathname);const activeTenantSettings=((activeTenant as any)?.settings||{}) as Record<string,any>;const useCurriControlCenterShell=String(activeTenant?.company_slug||'').trim().toLowerCase()==='curri-control-center'||String(activeTenantSettings.workspace_variant||'').trim().toLowerCase()==='curri_control_center';const normalizedActiveTenantSlug=String(activeTenant?.company_slug||'').trim().toLowerCase();const normalizedActiveTenantName=String((activeTenant as any)?.company_dba_name||(activeTenant as any)?.company_legal_name||(activeTenant as any)?.name||'').trim().toLowerCase();const useTennexWorkspaceShell=normalizedActiveTenantSlug==='tennex'||normalizedActiveTenantSlug==='tennex-tax-solutions'||normalizedActiveTenantName==='tennex tax solutions';const useTenantModesShell=(useTennexWorkspaceShell||isModesTenant(activeTenant))&&applicationRoute?.mode!=='standalone'&&!isSelfContainedBigPapisWorkspace&&!isSelfContainedPcgWorkspace&&!useCurriControlCenterShell;const suppressTenantPresentationChrome=suppressGenericTenantChrome||useTenantModesShell;const usePcgSharedApplicationBackground=isSelfContainedPcgWorkspace;const effectiveBackgroundOwner=usePcgSharedApplicationBackground?'tenant':backgroundOwnership.owner;const effectiveBackgroundContractValid=usePcgSharedApplicationBackground?true:backgroundOwnership.contractValid;if(!activeTenant?.id&&!isSelfContainedBigPapisWorkspace){if(isLoading)return <UniversalLoadingScreen/>;const next=encodeURIComponent(`${location.pathname}${location.search||''}`);return <Navigate to={`/select-tenant?next=${next}`} replace/>}const tenantPresentationClass=isSelfContainedTenantWorkspace?(isSelfContainedBigPapisWorkspace?'z-[70] bg-transparent':isSelfContainedSavagePizzaWorkspace?'z-10 bg-[#100d0b]':isSelfContainedAutoUnlockWorkspace?'z-20 bg-[#02050a]':isSelfContainedBookMeDirectlyWorkspace?'z-20 bg-[#030409]':isSelfContainedRedfishWorkspace||isSelfContainedPcgWorkspace?'z-20 bg-transparent':isMsLawnBarberWorkspace?'z-10 bg-transparent':'z-10 bg-transparent'):'z-10 bg-transparent';const viewportClass=tenantOwnsViewport?`fixed inset-0 h-dvh min-h-0 min-w-0 w-full max-w-full overflow-x-hidden overflow-y-auto overscroll-y-none ${isSelfContainedTenantWorkspace?'':'flex flex-col'}`:'relative min-h-[calc(100dvh-var(--comm-banner-h,0px))] min-w-0 w-full max-w-full flex flex-col overflow-x-hidden overflow-y-auto';return <TenantApplicationChromeContext.Provider value=\"tenant-integrated\"><>{(backgroundOwnership.renderPlatformBackground||usePcgSharedApplicationBackground)&&!useTenantModesShell?<SiteBackground/>:null}{useTenantModesShell?null:<GodModePageOverrideRuntime/>}<TenantBrandTheme/><TenantLayoutPreferenceBridge/><RealtimeProvider><FocusModeProvider><UserImpersonationProvider><ShortcutsModalManager>{suppressTenantPresentationChrome?null:<LazyShellSlot><TrialBanner/></LazyShellSlot>}<ConditionalRouteHealthBanner/><CanonicalRedirectHandler/><GlobalTrackers/><TenantRouteScrollRestoration/><BigPapisApplicationFamilyStyle/><MobileViewportRecovery/><InstalledAppNavigationRecovery/>{suppressTenantPresentationChrome?null:<GlobalImpersonationBanner/>}{suppressTenantPresentationChrome?null:<AuditorModeBanner/>}{suppressTenantPresentationChrome?null:<LazyShellSlot><BackgroundOCRStatus/></LazyShellSlot>}{suppressTenantPresentationChrome?null:<LazyShellSlot><TrialAhaModal/></LazyShellSlot>}{isSelfContainedRedfishWorkspace||isSelfContainedPcgWorkspace||useCurriControlCenterShell||useTenantModesShell?null:<LazyShellSlot><GlobalFallbackAccountMenu/></LazyShellSlot>}{suppressTenantPresentationChrome?null:<TenantPublishedExperienceRuntime/>}{suppressTenantPresentationChrome?null:<LazyShellSlot><ExperienceEditorCanvasBridge/></LazyShellSlot>}{suppressTenantPresentationChrome||isSelfContainedTenantWorkspace?null:<TenantQuickTour/>}<TelInterceptorBridge/><div data-experience-runtime-root=\"true\" data-experience-region-id=\"experience-route-canvas\" data-tenant-shell-profile={shellProfile} data-tenant-navigation-profile={navigationProfile} data-tenant-operating-contract-source={operatingContractSource} data-tenant-runtime-compatibility-source={compatibilitySource} data-tenant-background-owner={effectiveBackgroundOwner} data-tenant-background-contract-valid={effectiveBackgroundContractValid?'true':'false'} data-tenant-viewport-owner={viewportOwner} data-tenant-mobile-shell-contract=\"canonical-v2\" data-seaside-viewport-host={isSelfContainedSeasideLaunch?'true':undefined} data-big-papis-viewport-host={isSelfContainedBigPapisWorkspace?'true':undefined} data-savage-pizza-viewport-host={isSelfContainedSavagePizzaWorkspace?'true':undefined} data-auto-unlock-viewport-host={isSelfContainedAutoUnlockWorkspace?'true':undefined} data-pcg-viewport-host={isSelfContainedPcgWorkspace?'true':undefined} data-book-me-directly-viewport-host={isSelfContainedBookMeDirectlyWorkspace?'true':undefined} data-mslawnbarber-viewport-host={isMsLawnBarberWorkspace?'true':undefined} data-route-scroll-owner={tenantOwnsViewport?'tenant':'document'} className={`kl-platform-surface kl-responsive-tenant-runtime ${viewportClass} ${tenantPresentationClass}`}  style={{paddingTop:isSelfContainedTenantWorkspace?0:'var(--comm-banner-h, 0px)',...(isSelfContainedPcgWorkspace?{['--primary' as string]:'43 48% 66%',['--primary-foreground' as string]:'220 18% 7%',['--ring' as string]:'43 48% 66%',['--accent' as string]:'42 60% 78%',['--accent-foreground' as string]:'220 18% 7%',['--tenant-brand-primary' as string]:'#d8bb78',['--tenant-brand-accent' as string]:'#f2d99f'}:{}),...(isMsLawnBarberWorkspace&&msLawnBarberBackgroundUrl?{backgroundImage:`linear-gradient(180deg,rgba(1,8,5,.30),rgba(1,8,5,.58)),url(\"${msLawnBarberBackgroundUrl}\")`,backgroundSize:'cover',backgroundPosition:'center',backgroundRepeat:'no-repeat',['--ms-lawn-barber-background' as string]:`url(\"${msLawnBarberBackgroundUrl}\")`}:{})} as React.CSSProperties}><BaseErrorBoundary scope=\"TenantWorkspaceRuntime.RouteCanvas\" variant=\"panel\" title=\"Workspace route needs repair\" description=\"The tenant shell is still available while this route recovers.\">{useCurriControlCenterShell?<CurriControlCenterShell>{tenantIntegratedApp?<FirstClassAppTenantBoundary appSlug={tenantIntegratedApp.app.slug} applicationChrome={false} applicationMode=\"tenant-integrated\"><PrivateRoutes/></FirstClassAppTenantBoundary>:<PrivateRoutes/>}</CurriControlCenterShell>:useTenantModesShell?<TenantModesShell>{tenantIntegratedApp?<FirstClassAppTenantBoundary appSlug={tenantIntegratedApp.app.slug} applicationChrome={false} applicationMode=\"tenant-integrated\"><PrivateRoutes/></FirstClassAppTenantBoundary>:<PrivateRoutes/>}</TenantModesShell>:isSelfContainedRedfishWorkspace?<RedfishWorkspaceShell>{tenantIntegratedApp?<FirstClassAppTenantBoundary appSlug={tenantIntegratedApp.app.slug} applicationChrome={false} applicationMode=\"tenant-integrated\"><PrivateRoutes/></FirstClassAppTenantBoundary>:<PrivateRoutes/>}</RedfishWorkspaceShell>:tenantIntegratedApp?<FirstClassAppTenantBoundary appSlug={tenantIntegratedApp.app.slug} applicationChrome={false} applicationMode=\"tenant-integrated\"><PrivateRoutes/></FirstClassAppTenantBoundary>:<PrivateRoutes/>}</BaseErrorBoundary></div></ShortcutsModalManager></UserImpersonationProvider></FocusModeProvider></RealtimeProvider></></TenantApplicationChromeContext.Provider>}\nfunction TenantBackgroundCacheBridge(){const {activeTenant}=useMultiTenant();React.useEffect(()=>{if(activeTenant?.id)persistCachedTenantBackground(activeTenant)},[activeTenant]);return null}\nfunction TenantWorkspaceShell(){return <MultiTenantProvider><TenantBackgroundCacheBridge/><WorkspaceSidebarProvider><TenantRouteIdentityBoundary><TenantWorkspaceRuntime/><CanonicalWorkspaceSidebarRoot/></TenantRouteIdentityBoundary></WorkspaceSidebarProvider></MultiTenantProvider>}\nfunction GlobalAccountRouteAlias({section}:{section:'settings'|'profile'}){const {activeTenant,effectiveRole,hasGodModeAnywhere,isLoading}=useMultiTenant();if(isLoading)return <RouteFallback/>;const platformAuthority=effectiveRole==='GodMode'||hasGodModeAnywhere();if(platformAuthority)return <Navigate to={section==='profile'?'/admin/account?section=profile':'/admin/account?section=settings'} replace/>;if(activeTenant?.id){const slug=canonicalTenantRouteSlugForIdentity(activeTenant).toLowerCase();const target=`/${slug}/settings`;return <Navigate to={`${target}${section==='profile'?'?section=profile':''}`} replace/>}return <Navigate to={`/select-tenant?workspace=settings${section==='profile'?'&section=profile':''}`} replace/>}\nexport default function PrivateAppShell(){const location=useLocation();const normalizedPath=location.pathname.toLowerCase().replace(/\\/+$/g,'')||'/';if(normalizedPath==='/settings'||normalizedPath==='/profile')return <MultiTenantProvider><GlobalAccountRouteAlias section={normalizedPath==='/profile'?'profile':'settings'}/></MultiTenantProvider>;if(normalizedPath==='/bookmedirectly-com'||normalizedPath.startsWith('/bookmedirectly-com/')){const suffix=location.pathname.slice('/bookmedirectly-com'.length);return <Navigate to={`/bookmedirectly${suffix}${location.search||''}${location.hash||''}`} replace/>}if(normalizedPath==='/knock-launch-os')return <PortfolioOpsShell/>;if(normalizedPath==='/knock-launch-crm')return <Navigate to=\"/knock-launch-os\" replace/>;if(normalizedPath==='/knock-launch-os/profile'||normalizedPath==='/knock-launch-crm/profile')return <Navigate to={`/knock-launch-os/settings?section=profile${location.hash||''}`} replace/>;if(normalizedPath==='/knock-launch-crm/settings'||normalizedPath.startsWith('/knock-launch-crm/settings/')){const suffix=location.pathname.slice('/knock-launch-crm'.length);return <Navigate to={`/knock-launch-os${suffix}${location.search||''}${location.hash||''}`} replace/>}if(normalizedPath==='/knock-launch-os/video-studio')return <div className=\"min-h-screen bg-[#040806]\"><MultiTenantProvider><OwnerOsTenantBoundary><FocusModeProvider><UserImpersonationProvider><ShortcutsModalManager><LazyShellSlot><GlobalCommandPalette/></LazyShellSlot><GlobalImpersonationBanner/><AuditorModeBanner/><div className=\"kl-platform-surface relative z-10 min-h-screen w-full overflow-x-hidden overflow-y-auto\"><BaseErrorBoundary scope=\"VideoStudioShell\" variant=\"panel\" title=\"Video Studio needs repair\" description=\"The KNOCKLAUNCH owner shell loaded, but Video Studio needs repair.\"><Suspense fallback={<RouteFallback/>}><VideoStudio/></Suspense></BaseErrorBoundary></div></ShortcutsModalManager></UserImpersonationProvider></FocusModeProvider></OwnerOsTenantBoundary></MultiTenantProvider></div>;if(normalizedPath==='/knock-launch-os/settings'||normalizedPath.startsWith('/knock-launch-os/settings/'))return <PortfolioSettingsShell/>;if(normalizedPath==='/knock-launch-crm/portfolio'||normalizedPath.startsWith('/knock-launch-crm/portfolio/')){const suffix=location.pathname.slice('/knock-launch-crm'.length);return <Navigate to={`/knock-launch-os${suffix}${location.search||''}${location.hash||''}`} replace/>}if(normalizedPath==='/knock-launch-os/portfolio'||normalizedPath.startsWith('/knock-launch-os/portfolio/'))return <PortfolioShell/>;if(normalizedPath.startsWith('/knock-launch-os/'))return <PortfolioOpsShell/>;if(normalizedPath.startsWith('/knock-launch-crm/')){const suffix=location.pathname.slice('/knock-launch-crm'.length);return <Navigate to={`/knock-launch-os${suffix}${location.search||''}${location.hash||''}`} replace/>}if(normalizedPath==='/godmode/console')return <Navigate to=\"/admin/console\" replace/>;if(location.pathname.startsWith('/admin'))return <AdminShell/>;return <TenantWorkspaceShell/>}\n"},{"path":"src/config/applicationCapabilityRegistry.ts","content":"import { normalizeRoutePath } from '@/routes/routeNormalization';\n\nexport type ApplicationAudience = 'tenant-user' | 'customer-public';\nexport type ApplicationRouteAdapter = 'tenant-workspace' | 'mail' | 'call-center' | 'proposal-editor' | 'creative-studio' | 'platform-workspace' | 'external-public';\nexport type ApplicationLaunchMode = 'standalone-and-tenant' | 'tenant-only' | 'public-standalone';\nexport type ApplicationWorkspaceMode = 'embedded-primary' | 'embedded-secondary' | 'tenant-native' | 'standalone-primary' | 'background-service' | 'public';\nexport type ApplicationSurfaceKind = 'inline' | 'panel' | 'action' | 'full-page';\nexport type ApplicationConnectionKind = 'calendar' | 'mail' | 'payments' | 'storage' | 'telephony';\nexport type ApplicationProductRole = 'platform-shell' | 'primary-product' | 'suite-surface' | 'vertical-workspace' | 'orchestrator' | 'platform-primitive' | 'public-experience';\nexport type ApplicationMaturity = 'experimental' | 'internal' | 'supported' | 'production' | 'flagship';\nexport type ApplicationCommercialIdentity = 'included-platform' | 'sellable-product' | 'suite-capability' | 'vertical-module' | 'orchestration-layer' | 'public-experience';\nexport type ApplicationAvailabilityPolicy = 'universal' | 'default' | 'assigned' | 'inherited';\nexport type ApplicationLifecycleStatus = 'active' | 'beta' | 'internal' | 'deprecated' | 'disabled';\n\nexport const PRODUCT_APPLICATION_REGISTRY_CONTRACT = Object.freeze({\n  version: 2,\n  authority: 'source-product-catalog',\n  persistedCatalogProjection: 'public.application_catalog',\n  tenantAssignmentProjection: 'public.tenant_applications',\n  universalTenantSurfaces: 'tenantAvatarMenuContract',\n  searchPrimitiveIsApplication: false,\n});\n\nexport type ApplicationLifecycleContract = {\n  independentlyInstallable: boolean;\n  independentlyLaunchable: boolean;\n  independentlyLoginable: boolean;\n  marketable: boolean;\n  removable: boolean;\n  inheritsFromPrimaryProduct: boolean;\n};\n\nexport type ApplicationCapabilityRelationships = {\n  owns: readonly string[];\n  provides: readonly string[];\n  consumes: readonly string[];\n  delegates: readonly string[];\n};\n\nexport type ApplicationCompositionContract = {\n  requires: readonly string[];\n  embeds: readonly string[];\n  optional: readonly string[];\n};\n\nexport type ApplicationWorkspaceContract = {\n  mode: ApplicationWorkspaceMode;\n  intents: readonly string[];\n  surfaces: readonly ApplicationSurfaceKind[];\n  contextualCapabilities: readonly string[];\n  connectionKinds: readonly ApplicationConnectionKind[];\n};\n\nexport type ApplicationCapability = {\n  id: string;\n  label: string;\n  slug: string;\n  audience: ApplicationAudience;\n  loginPath: string | null;\n  workspaceSurface: string | null;\n  standalonePath: string;\n  standaloneHost: string | null;\n  externalUrl: string | null;\n  capabilities: readonly string[];\n  dataOwners: readonly string[];\n  bootstrap: 'default' | 'vertical' | 'token';\n  bootstrapVersion: number;\n  defaultInstalled: boolean;\n  availabilityPolicy: ApplicationAvailabilityPolicy;\n  lifecycleStatus: ApplicationLifecycleStatus;\n  supportedTenantTypes: readonly string[];\n  supportedExperienceFamilies: readonly string[];\n  allowedRoles: readonly string[];\n  routeAdapter: ApplicationRouteAdapter;\n  launchMode: ApplicationLaunchMode;\n  productRole: ApplicationProductRole;\n  primaryProductId: string | null;\n  maturity: ApplicationMaturity;\n  commercialIdentity: ApplicationCommercialIdentity;\n  lifecycle: ApplicationLifecycleContract;\n  relationships: ApplicationCapabilityRelationships;\n  composition: ApplicationCompositionContract;\n  workspaceContract: ApplicationWorkspaceContract;\n};\n\nexport type TenantCapabilityPackModule = { id: string; label: string; path: string; description?: string; emphasis?: 'primary' | 'high' | 'secondary'; modeKey?: string; modeTitle?: string };\nexport type TenantCapabilityPack = { key: string; label: string; description: string; applicationIds: readonly string[]; modules: readonly TenantCapabilityPackModule[]; experienceFamily?: 'modes' };\n\nconst workspaceContract = (\n  mode: ApplicationWorkspaceMode,\n  intents: string[],\n  surfaces: ApplicationSurfaceKind[],\n  contextualCapabilities: string[],\n  connectionKinds: ApplicationConnectionKind[] = [],\n): ApplicationWorkspaceContract => ({ mode, intents, surfaces, contextualCapabilities, connectionKinds });\n\nexport const APPLICATION_WORKSPACE_CONTRACTS: Readonly<Record<string, ApplicationWorkspaceContract>> = {\n  crm: workspaceContract('tenant-native', ['workspace','pipeline','sales','overview'], ['full-page','panel','action'], ['read-workspace','manage-pipeline']),\n  contacts: workspaceContract('embedded-primary', ['contacts','customers','leads','people'], ['inline','panel','action','full-page'], ['list','create','update','import']),\n  communications: workspaceContract('embedded-primary', ['communications','conversation','follow-up','customer'], ['inline','panel','action','full-page'], ['read','send-email','send-sms'], ['mail','telephony']),\n  'call-center': workspaceContract('standalone-primary', ['calls','calling','campaigns','outreach','qa'], ['panel','action','full-page'], ['guided-calls','call-history','follow-up','campaign-controls','supervisor-queue'], ['telephony']),\n  mail: workspaceContract('embedded-primary', ['mail','email','conversation','follow-up'], ['inline','panel','action','full-page'], ['read','compose','send','reply','forward'], ['mail']),\n  calendar: workspaceContract('embedded-primary', ['schedule','calendar','events','appointments','availability','deadlines'], ['inline','panel','action','full-page'], ['list-events','create-event','update-event','list-connections','authorize-provider','sync-connection'], ['calendar']),\n  invoices: workspaceContract('embedded-primary', ['invoice','invoices','billing','money','customer'], ['inline','panel','action','full-page'], ['list','create','send','record-payment']),\n  payments: workspaceContract('embedded-primary', ['payments','collect-payment','money','billing','customer'], ['inline','panel','action','full-page'], ['list','collect','refund','reconcile'], ['payments']),\n  billing: workspaceContract('embedded-secondary', ['billing','money','receivables','finance'], ['panel','action','full-page'], ['list-receivables','list-invoices','list-payments']),\n  proposals: workspaceContract('embedded-primary', ['proposal','proposals','quote','quotes','estimate','customer'], ['inline','panel','action','full-page'], ['list','create','send','accept']),\n  'proposal-editor': workspaceContract('standalone-primary', ['proposal-design','proposal-editor','proposal','presentation'], ['panel','action','full-page'], ['design','create','render','approve','tenant-presentation']),\n  'creative-studio': workspaceContract('standalone-primary', ['creative','design','flyer','proposal','invoice','brand','template'], ['panel','action','full-page'], ['creative-library','flyers','templates','proposal-design','invoice-presentation']),\n  documents: workspaceContract('embedded-primary', ['documents','files','attachments','customer','job'], ['inline','panel','action','full-page'], ['list','upload','generate','share'], ['storage']),\n  forms: workspaceContract('embedded-secondary', ['forms','signatures','documents','intake'], ['panel','action','full-page'], ['create-template','fill','request-signature']),\n  booking: workspaceContract('embedded-primary', ['booking','appointments','availability','events','schedule'], ['inline','panel','action','full-page'], ['list','create','reschedule','cancel'], ['calendar']),\n  tasks: workspaceContract('embedded-primary', ['tasks','follow-up','work','customer','job'], ['inline','panel','action','full-page'], ['list','create','complete','assign']),\n  jobs: workspaceContract('embedded-primary', ['jobs','production','work-order','service','customer'], ['inline','panel','action','full-page'], ['list','create','assign','update-status']),\n  reports: workspaceContract('embedded-secondary', ['reports','reporting','performance','operations'], ['panel','action','full-page'], ['list','generate','share']),\n  analytics: workspaceContract('embedded-secondary', ['analytics','metrics','performance','overview'], ['panel','action','full-page'], ['read-metrics','export']),\n  'opportunity-radar': workspaceContract('standalone-primary', ['opportunities','prospecting','radar','leads'], ['panel','action','full-page'], ['scan','review','convert']),\n  'field-intelligence': workspaceContract('tenant-native', ['field','properties','targets','territories','map'], ['panel','action','full-page'], ['list-properties','list-targets','territories']),\n  canvassing: workspaceContract('tenant-native', ['canvassing','doors','territories','map','field'], ['panel','action','full-page'], ['map','territories','doors','import']),\n  'route-service-operations': workspaceContract('tenant-native', ['routes','service','visits','lawn-care','schedule'], ['panel','action','full-page'], ['list-visits','list-routes','service-workspace']),\n  'rental-inventory': workspaceContract('tenant-native', ['rental-inventory','inventory','equipment','availability'], ['panel','action','full-page'], ['list-assets','create-assets','update-assets','read-availability']),\n  'event-rental-operations': workspaceContract('tenant-native', ['event-rentals','delivery','setup','pickup','returns'], ['panel','action','full-page'], ['read-rental-operations','advance-event-stage','read-load-plan']),\n  'card-grading': workspaceContract('tenant-native', ['card-grading','grading','certificates','population','quality-control','intake'], ['panel','action','full-page'], ['intake','imaging','identify','grade','qa','encapsulate','certify','population-report','fulfill','audit'], ['storage']),\n  'operational-command': workspaceContract('tenant-native', ['operations','overview','priority-work','command'], ['panel','action','full-page'], ['read-overview','priority-work','vertical-operations']),\n  'claim-operations': workspaceContract('tenant-native', ['claims','claim','deadlines','representation'], ['panel','action','full-page'], ['list-claims','claim-file','representation-packets']),\n  'realtor-transaction-operations': workspaceContract('tenant-native', ['transactions','listings','properties','showings'], ['panel','action','full-page'], ['list-transactions','list-properties','transaction-workspace']),\n  marketing: workspaceContract('embedded-primary', ['marketing','campaigns','audiences','segments','customers','reactivation','referrals'], ['inline','panel','action','full-page'], ['read-audience','segment','prepare-campaign','approve-campaign'], ['mail']),\n  'qr-suite': workspaceContract('embedded-secondary', ['qr','campaign','share','marketing'], ['panel','action','full-page'], ['create','list','track']),\n  'roof-estimator': workspaceContract('embedded-primary', ['roof-estimate','estimate','measurement','roofing','proposal'], ['inline','panel','action','full-page'], ['measure','estimate','approve','generate-proposal']),\n  academy: workspaceContract('standalone-primary', ['academy','training','roleplay','learning'], ['panel','action','full-page'], ['list-courses','train','roleplay']),\n  progress: workspaceContract('public', ['progress','customer-portal','documents','status'], ['action','full-page'], ['view-progress','view-documents','upload-documents']),\n};\n\nfunction workspaceContractFor(id: string): ApplicationWorkspaceContract {\n  const contract = APPLICATION_WORKSPACE_CONTRACTS[id];\n  if (!contract) throw new Error(`Application ${id} requires a contextual workspace contract.`);\n  return contract;\n}\n\nconst app = (\n  id: string,\n  label: string,\n  workspaceSurface: string | null,\n  capabilities: string[],\n  dataOwners: string[],\n  bootstrap: 'default' | 'vertical' | 'token' = 'default',\n  defaultInstalled = true,\n  audience: ApplicationAudience = 'tenant-user',\n  externalUrl: string | null = null,\n  supportedTenantTypes: string[] = [],\n  standalonePath: string | null = null,\n  routeAdapter: ApplicationRouteAdapter = 'tenant-workspace',\n  bootstrapVersion = 1,\n  standaloneHost: string | null = null,\n): ApplicationCapability => ({\n  id,\n  label,\n  slug: id,\n  audience,\n  loginPath: audience === 'tenant-user' ? `/${id}/login` : null,\n  workspaceSurface,\n  standalonePath: standalonePath || `/${id}`,\n  standaloneHost,\n  externalUrl,\n  capabilities,\n  dataOwners,\n  bootstrap,\n  bootstrapVersion,\n  defaultInstalled,\n  availabilityPolicy: audience === 'customer-public' ? 'universal' : defaultInstalled ? 'default' : 'assigned',\n  lifecycleStatus: 'active',\n  supportedTenantTypes,\n  supportedExperienceFamilies: [],\n  allowedRoles: [],\n  routeAdapter,\n  launchMode: audience === 'customer-public' ? 'public-standalone' : 'standalone-and-tenant',\n  productRole: audience === 'customer-public' ? 'public-experience' : 'primary-product',\n  primaryProductId: null,\n  maturity: 'supported',\n  commercialIdentity: audience === 'customer-public' ? 'public-experience' : 'sellable-product',\n  lifecycle: {\n    independentlyInstallable: audience === 'tenant-user',\n    independentlyLaunchable: true,\n    independentlyLoginable: audience === 'tenant-user',\n    marketable: true,\n    removable: audience === 'tenant-user',\n    inheritsFromPrimaryProduct: false,\n  },\n  relationships: { owns: capabilities, provides: [], consumes: [], delegates: [] },\n  composition: { requires: [], embeds: [], optional: [] },\n  workspaceContract: workspaceContractFor(id),\n});\n\ntype ApplicationArchitecturePatch = {\n  maturity?: ApplicationMaturity;\n  commercialIdentity?: ApplicationCommercialIdentity;\n  availabilityPolicy?: ApplicationAvailabilityPolicy;\n  lifecycleStatus?: ApplicationLifecycleStatus;\n  supportedExperienceFamilies?: readonly string[];\n  allowedRoles?: readonly string[];\n  lifecycle?: Partial<ApplicationLifecycleContract>;\n  relationships?: Partial<ApplicationCapabilityRelationships>;\n  composition?: Partial<ApplicationCompositionContract>;\n};\n\nconst withArchitecture = (entry: ApplicationCapability, patch: ApplicationArchitecturePatch): ApplicationCapability => ({\n  ...entry,\n  ...patch,\n  lifecycle: { ...entry.lifecycle, ...(patch.lifecycle || {}) },\n  relationships: { ...entry.relationships, ...(patch.relationships || {}) },\n  composition: { ...entry.composition, ...(patch.composition || {}) },\n});\n\nconst withProductRole = (entry: ApplicationCapability, productRole: ApplicationProductRole, primaryProductId: string | null = null): ApplicationCapability => ({\n  ...entry,\n  productRole,\n  primaryProductId,\n});\n\nconst suiteSurface = (entry: ApplicationCapability, primaryProductId: string): ApplicationCapability => withArchitecture(withProductRole(entry, 'suite-surface', primaryProductId), {\n  commercialIdentity: 'suite-capability',\n  availabilityPolicy: 'inherited',\n  lifecycle: { independentlyInstallable: false, independentlyLaunchable: false, independentlyLoginable: false, marketable: false, removable: false, inheritsFromPrimaryProduct: true },\n  composition: { requires: [primaryProductId] },\n});\nconst platformShell = (entry: ApplicationCapability): ApplicationCapability => withArchitecture(withProductRole(entry, 'platform-shell'), {\n  commercialIdentity: 'included-platform',\n  availabilityPolicy: 'universal',\n  lifecycle: { independentlyInstallable: false, marketable: false, removable: false },\n});\nconst verticalWorkspace = (entry: ApplicationCapability): ApplicationCapability => withArchitecture(withProductRole(entry, 'vertical-workspace'), {\n  commercialIdentity: 'vertical-module',\n  lifecycle: { independentlyInstallable: true, independentlyLaunchable: true, independentlyLoginable: true, marketable: true, removable: true, inheritsFromPrimaryProduct: false },\n});\nconst orchestrator = (entry: ApplicationCapability): ApplicationCapability => withArchitecture(withProductRole(entry, 'orchestrator'), {\n  commercialIdentity: 'orchestration-layer',\n  availabilityPolicy: 'universal',\n  lifecycle: { independentlyInstallable: false, independentlyLaunchable: false, independentlyLoginable: false, marketable: false, removable: false, inheritsFromPrimaryProduct: false },\n});\nconst platformPrimitive = (entry: ApplicationCapability): ApplicationCapability => withArchitecture(withProductRole(entry, 'platform-primitive'), {\n  commercialIdentity: 'included-platform',\n  availabilityPolicy: 'universal',\n  lifecycle: { independentlyInstallable: false, independentlyLaunchable: false, independentlyLoginable: false, marketable: false, removable: false, inheritsFromPrimaryProduct: false },\n});\nconst publicExperience = (entry: ApplicationCapability): ApplicationCapability => withArchitecture(withProductRole(entry, 'public-experience'), {\n  commercialIdentity: 'public-experience',\n  availabilityPolicy: 'universal',\n  lifecycle: { independentlyInstallable: false, independentlyLaunchable: true, independentlyLoginable: false, marketable: false, removable: false, inheritsFromPrimaryProduct: false },\n});\n\nexport const APPLICATION_CAPABILITY_REGISTRY: readonly ApplicationCapability[] = [\n  platformShell({ ...app('crm', 'CRM', 'dashboard', ['read-workspace', 'manage-pipeline'], ['unified_contacts', 'pipeline_stages', 'pipeline_transition_rules'], 'default', true, 'tenant-user', null, [], '/knock-launch-crm', 'platform-workspace'), loginPath: '/crm/login' }),\n  platformPrimitive(app('contacts', 'Contacts', 'contacts', ['list', 'create', 'update', 'import'], ['unified_contacts', 'contact_notes', 'contact_files'])),\n  withArchitecture(app('communications', 'Communications', 'communications', ['read', 'send-email', 'send-sms'], ['unified_inbox', 'email_messages', 'sms_history']), { relationships: { owns: ['conversation-context'], provides: ['omnichannel-context'], consumes: ['mail-delivery','telephony-channel'], delegates: [] }, composition: { requires: ['contacts'], optional: ['mail','call-center'] } }),\n  withArchitecture(app('call-center', 'Call Center', 'call-center', ['guided-calls', 'manage-queue', 'call-history', 'dispositions', 'follow-up', 'telephony', 'campaigns', 'csv-import', 'csv-export', 'weekly-reporting', 'performance', 'campaign-controls', 'playbooks', 'supervisor-queue', 'qa-coaching', 'multilingual-ui', 'operator-management'], ['unified_contacts', 'call_center_workflows', 'call_center_stages', 'call_center_queue', 'call_center_sessions', 'call_center_dispositions', 'call_center_campaigns', 'call_center_campaign_members', 'call_center_imports', 'call_center_weekly_reports', 'call_center_playbooks', 'call_center_qa_reviews', 'call_center_import_mappings', 'call_center_agents', 'call_center_campaign_agents'], 'default', false, 'tenant-user', null, [], '/call-center', 'call-center'), { maturity: 'flagship', availabilityPolicy: 'assigned', relationships: { owns: ['calling-campaign-lifecycle','agent-workflow'], provides: ['structured-calling','campaign-execution'], consumes: ['contacts','telephony-channel'], delegates: [] }, composition: { requires: ['contacts'], optional: ['communications'] } }),\n  withArchitecture(app('mail', 'Mail', 'communications/email', ['read', 'compose', 'send', 'reply', 'forward'], ['unified_inbox', 'email_messages', 'tenant_mailboxes', 'mail_webhook_events'], 'default', true, 'tenant-user', null, [], null, 'mail'), { maturity: 'flagship', relationships: { owns: ['email-client-lifecycle','mailbox-state'], provides: ['email-client'], consumes: ['contacts'], delegates: [] }, composition: { requires: ['contacts'], optional: ['communications'] } }),\n  withArchitecture(app('calendar', 'Calendar', 'calendar', ['list-events', 'create-event', 'update-event', 'list-connections', 'authorize-provider', 'add-ics', 'add-caldav', 'sync-connection', 'revoke-connection'], ['user_calendar_events', 'calendar_connections', 'calendar_external_events', 'calendar_connection_secrets', 'calendar_connection_oauth_states'], 'default', true, 'tenant-user', null, [], null, 'tenant-workspace', 3, 'calendar.knocklaunch.com'), { maturity: 'production', relationships: { owns: ['time-event-lifecycle','provider-sync'], provides: ['availability','calendar-sync'], consumes: [], delegates: [] } }),\n  app('invoices', 'Invoices', 'invoices', ['list', 'create', 'send', 'void', 'record-payment'], ['invoices', 'invoice_templates']),\n  suiteSurface(app('payments', 'Payments', 'billing/payments', ['list', 'collect', 'refund', 'reconcile'], ['finance_transactions', 'finance_accounts', 'invoices']), 'invoices'),\n  suiteSurface(app('billing', 'Billing', 'billing', ['list-receivables', 'list-invoices', 'list-payments'], ['invoices', 'invoice_templates', 'finance_transactions', 'finance_accounts', 'settlement_invoices', 'tarping_invoices']), 'invoices'),\n  withArchitecture(app('proposals', 'Proposals', 'proposals', ['list', 'create', 'send', 'accept'], ['proposals', 'proposal_versions', 'proposal_profiles']), { maturity: 'production', relationships: { owns: ['proposal-lifecycle','proposal-status','proposal-acceptance'], provides: ['proposal-record'], consumes: ['contacts'], delegates: ['proposal-editor:design-rendering'] }, composition: { requires: ['contacts'], optional: ['proposal-editor','roof-estimator'] } }),\n  withArchitecture(app('proposal-editor', 'Proposal Editor', null, ['design', 'create', 'manage', 'render', 'approve', 'tenant-presentation'], ['proposal_profiles', 'proposals', 'proposal_versions', 'proposal_sequences'], 'vertical', false, 'tenant-user', null, ['MOBILE_VENDOR', 'REALTOR', 'ROOFING_COMPANY', 'PUBLIC_ADJUSTER_FIRM', 'MITIGATION', 'LAWN_CARE', 'MISC'], '/proposal-editor', 'proposal-editor'), { maturity: 'production', relationships: { owns: ['proposal-presentation-state'], provides: ['proposal-design','proposal-rendering'], consumes: ['proposals:proposal-record'], delegates: [] }, composition: { requires: ['proposals'] } }),\n  withArchitecture(app('creative-studio', 'Creative Studio', 'creative-studio', ['creative-library','flyers','templates','proposal-design','invoice-presentation'], ['creative_profiles','creative_templates','tenant_media_assets','proposal_profiles','invoice_templates'], 'default', false, 'tenant-user', null, [], '/creative-studio', 'creative-studio'), { maturity: 'production', relationships: { owns: ['creative-library','flyer-template-lifecycle','creative-preferences'], provides: ['shared-brand-presentation','shared-template-presentation'], consumes: ['tenant-media','proposals','invoices'], delegates: ['proposal-editor:proposal-design','invoices:invoice-records'] }, composition: { requires: ['proposals','invoices'], optional: ['proposal-editor','documents'] } }),\n  app('documents', 'Documents', 'documents', ['list', 'upload', 'generate', 'share'], ['documents', 'document_versions', 'document_share_links']),\n  suiteSurface(app('forms', 'Forms', 'documents', ['create-template', 'fill', 'request-signature'], ['document_templates', 'document_field_templates', 'document_requests']), 'documents'),\n  withArchitecture(app('booking', 'Booking', 'booking', ['list', 'create', 'reschedule', 'cancel'], ['event_bookings', 'appointment_settings'], 'default', true, 'tenant-user', 'https://bookmedirectly.com'), { maturity: 'production', relationships: { owns: ['reservation-lifecycle','appointment-settings'], provides: ['booking'], consumes: ['calendar:availability','calendar:provider-sync'], delegates: [] }, composition: { requires: ['calendar'], optional: ['contacts'] } }),\n  app('tasks', 'Tasks', 'tasks', ['list', 'create', 'complete', 'assign'], ['tasks']),\n  app('jobs', 'Jobs', 'jobs', ['list', 'create', 'assign', 'update-status'], ['jobs', 'job_activity_log', 'job_time_logs']),\n  suiteSurface(app('reports', 'Reports', 'reports', ['list', 'generate', 'share'], ['report_definitions', 'scheduled_reports']), 'analytics'),\n  app('analytics', 'Analytics', 'analytics', ['read-metrics', 'export'], ['analytics_metrics', 'analytics_snapshots']),\n  app('opportunity-radar', 'Opportunity Radar', 'opportunity-radar', ['scan', 'review', 'convert'], ['opportunity_radar_opportunities', 'opportunity_radar_runs', 'opportunity_radar_seed_state']),\n  suiteSurface(app('field-intelligence', 'Field Intelligence', 'field-intelligence', ['list-properties', 'list-targets', 'territories'], ['property_intelligence', 'territories', 'door_objects', 'canvassing_routes', 'door_visits'], 'vertical', false, 'tenant-user', null, ['MITIGATION', 'ROOFING_COMPANY', 'PUBLIC_ADJUSTER_FIRM', 'REALTOR']), 'canvassing'),\n  app('canvassing', 'Canvassing', 'canvassing', ['map', 'territories', 'doors', 'import'], ['door_objects', 'territories', 'canvassing_routes', 'door_visits'], 'vertical', false),\n  withArchitecture(verticalWorkspace(app('route-service-operations', 'Route Service Operations', 'lawn-care', ['list-visits', 'list-routes', 'service-workspace'], ['lawn_service_visits', 'lawn_service_routes', 'lawn_service_plans', 'lawn_service_requests'], 'vertical', false, 'tenant-user', null, ['LAWN_CARE', 'MISC'])), { maturity: 'production', composition: { requires: ['contacts','jobs','calendar'], embeds: ['tasks'], optional: ['invoices','communications'] } }),\n  withArchitecture(verticalWorkspace(app('rental-inventory', 'Rental Inventory & Availability', 'inventory', ['list-assets','create-assets','update-assets','read-availability'], ['event_rental_assets','event_rental_asset_allocations'], 'vertical', true, 'tenant-user', null, ['EVENT_RENTALS'])), { maturity: 'production', relationships: { owns: ['rental-asset-lifecycle','rental-availability'], provides: ['inventory-availability'], consumes: ['booking:reservation-lifecycle'], delegates: [] }, composition: { requires: [], optional: ['booking','calendar'] } }),\n  withArchitecture(verticalWorkspace(app('event-rental-operations', 'Event Day Operations', 'operations', ['read-rental-operations','advance-event-stage','read-load-plan'], ['event_bookings','event_rental_assets','event_rental_asset_allocations'], 'vertical', true, 'tenant-user', null, ['EVENT_RENTALS'])), { maturity: 'production', relationships: { owns: ['event-rental-operating-stage'], provides: ['load-plan','delivery-return-workflow'], consumes: ['rental-inventory:rental-availability','booking:reservation-lifecycle'], delegates: [] }, composition: { requires: ['booking','rental-inventory'], embeds: ['tasks'], optional: ['jobs','documents','calendar'] } }),\n  withArchitecture(verticalWorkspace(app('card-grading', 'Card Grading', 'card-grading', ['intake','imaging','identify','grade','qa','encapsulate','certify','population-report','fulfill','audit'], ['card_grading_submissions','card_grading_cards','card_grading_media','card_grading_grading_sessions','card_grading_criterion_results','card_grading_qc_reviews','card_grading_exceptions','card_grading_certificates','card_grading_workflow_events'], 'vertical', false, 'tenant-user', null, ['MISC'], '/card-grading', 'tenant-workspace')), { maturity: 'production', availabilityPolicy: 'assigned', relationships: { owns: ['card-grading-lifecycle','certificate-publication','population-report'], provides: ['graded-card-record','published-certificate'], consumes: ['storage'], delegates: [] }, composition: { requires: [], optional: ['documents','mail'] } }),\n  orchestrator(app('operational-command', 'Operational Command', 'dashboard', ['read-overview', 'priority-work', 'vertical-operations'], ['unified_contacts', 'jobs', 'contact_claims', 'realtor_transactions', 'analytics_metrics'], 'vertical', false, 'tenant-user', null, ['MITIGATION', 'ROOFING_COMPANY', 'PUBLIC_ADJUSTER_FIRM', 'REALTOR', 'TIRE_SHOP'])),\n  withArchitecture(verticalWorkspace(app('claim-operations', 'Claim Operations', 'claim-operations', ['list-claims', 'claim-file', 'representation-packets'], ['contact_claims', 'claim_deadlines', 'signed_agreements', 'claim_negotiation_events', 'claim_payment_status_history'], 'vertical', false, 'tenant-user', null, ['PUBLIC_ADJUSTER_FIRM'])), { maturity: 'production', composition: { requires: ['contacts','documents','tasks'], embeds: ['calendar'], optional: ['mail','proposals'] } }),\n  withArchitecture(verticalWorkspace(app('realtor-transaction-operations', 'Realtor Transaction Operations', 'realtor-operations', ['list-transactions', 'list-properties', 'transaction-workspace'], ['realtor_transactions', 'realtor_properties', 'realtor_property_contacts', 'realtor_campaigns'], 'vertical', false, 'tenant-user', null, ['REALTOR'])), { maturity: 'production', composition: { requires: ['contacts','calendar','documents'], embeds: ['tasks'], optional: ['mail','proposals'] } }),\n  withArchitecture(app('marketing', 'Marketing', 'marketing', ['read-audience','segment','prepare-campaign','approve-campaign'], ['unified_contacts'], 'default', false), { maturity: 'production', relationships: { owns: ['audience-preparation'], provides: ['marketing-audience'], consumes: ['contacts'], delegates: [] }, composition: { requires: ['contacts'], optional: ['mail','communications','analytics','call-center'] } }),\n  app('qr-suite', 'QR Suite', 'qr-suite', ['create', 'list', 'track'], ['qr_codes', 'qr_campaigns', 'qr_events']),\n  withArchitecture(app('roof-estimator', 'Roof Estimator', 'roof-estimator/admin', ['measure', 'estimate', 'approve', 'generate-proposal'], ['roof_estimates', 'roof_estimate_versions', 'roof_price_book', 'roof_price_book_items'], 'vertical', false), { maturity: 'production', relationships: { owns: ['estimate-scope','measurement-state','price-book'], provides: ['approved-estimate-scope'], consumes: ['contacts'], delegates: ['proposals:create'] }, composition: { requires: ['contacts'], optional: ['proposals'] } }),\n  app('academy', 'Academy', 'academy', ['list-courses', 'train', 'roleplay'], ['academy_courses', 'academy_trainee_progress']),\n  publicExperience(app('progress', 'Progress', null, ['view-progress', 'view-documents', 'upload-documents'], ['customer_portal_access', 'portal_links', 'document_requests'], 'token', true, 'customer-public', 'https://whatsmyprogress.com', [], '/progress', 'external-public')),\n] as const;\n\nexport const TENANT_CAPABILITY_PACKS: readonly TenantCapabilityPack[] = [\n  { key:'modes-workspace', label:'MODES Workspace', description:'Visual contextual entry into the work that matters.', applicationIds:['contacts','jobs','calendar','tasks','documents','communications','analytics','opportunity-radar'], experienceFamily:'modes', modules:[\n    {id:'planning',label:'Plan',path:'calendar',description:'Plan the next work and commitments.',emphasis:'high',modeKey:'planning',modeTitle:'Plan'},\n    {id:'operations',label:'Operations',path:'jobs',description:'Run active work and handoffs.',emphasis:'primary',modeKey:'operations',modeTitle:'Operations'},\n    {id:'opportunities',label:'Opportunities',path:'opportunity-radar',description:'See growth opportunities and follow-up.',emphasis:'high',modeKey:'opportunities',modeTitle:'Opportunities'},\n    {id:'back-office',label:'Back Office',path:'documents',description:'Documents and administration.',emphasis:'secondary',modeKey:'back-office',modeTitle:'Back Office'} ] },\n  { key:'field-operations', label:'Field Operations', description:'Jobs, field intelligence, schedules, proof, and communications.', applicationIds:['contacts','jobs','calendar','tasks','documents','communications','operational-command','field-intelligence','canvassing'], modules:[\n    {id:'field-today',label:'Today',path:'dashboard',description:'Priority field work and exceptions.',emphasis:'primary'},\n    {id:'field-jobs',label:'Jobs',path:'jobs',description:'Active jobs and production status.',emphasis:'high'},\n    {id:'field-map',label:'Field',path:'field-intelligence',description:'Properties, targets, territories, and field activity.',emphasis:'high'},\n    {id:'field-schedule',label:'Schedule',path:'calendar',description:'Appointments, deadlines, crews, and next stops.',emphasis:'high'} ] },\n  { key:'portfolio-control', label:'Portfolio Control', description:'Executive priorities, performance, opportunities, decisions, and reporting.', applicationIds:['analytics','reports','tasks','documents','opportunity-radar','calendar','communications','contacts'], experienceFamily:'modes', modules:[\n    {id:'executive-brief',label:'Executive Brief',path:'dashboard',description:'What needs executive attention now.',emphasis:'primary',modeKey:'today',modeTitle:'Today'},\n    {id:'business-pulse',label:'Business Pulse',path:'analytics',description:'Performance across the portfolio.',emphasis:'high',modeKey:'performance',modeTitle:'Performance'},\n    {id:'cross-business-opportunities',label:'Cross-Business Opportunities',path:'opportunity-radar',description:'Growth across the businesses you oversee.',emphasis:'high',modeKey:'opportunities',modeTitle:'Opportunities'},\n    {id:'decisions',label:'Decisions',path:'tasks',description:'Exceptions, approvals, and decisions.',emphasis:'high',modeKey:'decisions',modeTitle:'Decisions'} ] },\n  { key:'route-service-operations', label:'Route Service Operations', description:'Routes, recurring visits, jobs, schedules, customers, and billing.', applicationIds:['route-service-operations','contacts','jobs','calendar','tasks','invoices','communications','booking'], experienceFamily:'modes', modules:[\n    {id:'route-operations',label:'Route Operations',path:'lawn-care',description:'Routes, stops, and service visits.',emphasis:'primary',modeKey:'operations',modeTitle:'Operations'},\n    {id:'route-schedule',label:'Schedule',path:'calendar',description:'Recurring work and upcoming visits.',emphasis:'high',modeKey:'planning',modeTitle:'Plan'},\n    {id:'route-customers',label:'Customers',path:'contacts',description:'Customer, property, and service details.',emphasis:'high',modeKey:'customers',modeTitle:'Customers'},\n    {id:'route-money',label:'Money',path:'invoices',description:'Invoices, balances, and collections.',emphasis:'high',modeKey:'financials',modeTitle:'Money'} ] },\n  { key:'event-rental-operations', label:'Event Rental Operations', description:'Inventory availability, quoting and booking, event-day logistics, returns, and back office for rental companies.', applicationIds:['rental-inventory','event-rental-operations','booking','calendar','contacts','proposals','invoices','payments','tasks','jobs','documents','communications','analytics'], experienceFamily:'modes', modules:[\n    {id:'rental-inventory',label:'Inventory & Availability',path:'rental-inventory',description:'Real gear counts, condition, availability, and conflicts.',emphasis:'primary',modeKey:'planning',modeTitle:'Inventory & Availability'},\n    {id:'rental-booking',label:'Quote & Book',path:'booking',description:'Customers, quotes, dates, deposits, and reserved gear.',emphasis:'high',modeKey:'booking',modeTitle:'Quote & Book'},\n    {id:'rental-event-day',label:'Event Day',path:'event-rental-operations',description:'Load plan, delivery, setup, teardown, pickup, and return inspection.',emphasis:'high',modeKey:'operations',modeTitle:'Event Day'},\n    {id:'rental-back-office',label:'Back Office',path:'invoices',description:'Payments, documents, communication, reporting, and administration.',emphasis:'secondary',modeKey:'back-office',modeTitle:'Back Office'} ] },\n  { key:'business-documents', label:'Business Documents', description:'Connected proposals, estimates, invoices, forms, signatures, and files.', applicationIds:['contacts','proposals','proposal-editor','invoices','payments','documents','forms'], modules:[\n    {id:'document-proposals',label:'Proposals & Estimates',path:'proposals',description:'Create, send, accept, and manage offers.',emphasis:'primary'},\n    {id:'document-invoices',label:'Invoices & Payments',path:'invoices',description:'Bill, collect, and track payment status.',emphasis:'high'},\n    {id:'document-library',label:'Documents',path:'documents',description:'Files, generated documents, forms, and proof.',emphasis:'high'},\n    {id:'document-customers',label:'Customers',path:'contacts',description:'Keep documents tied to the right relationship.',emphasis:'secondary'} ] },\n  { key:'booking-scheduling', label:'Booking & Scheduling', description:'Booking, availability, calendars, reminders, customers, and deposits.', applicationIds:['booking','calendar','contacts','communications','payments','invoices'], modules:[\n    {id:'booking-workspace',label:'Bookings',path:'booking',description:'Requests, appointments, and rescheduling.',emphasis:'primary'},\n    {id:'booking-calendar',label:'Schedule',path:'calendar',description:'Availability, events, and staff time.',emphasis:'high'},\n    {id:'booking-customers',label:'Customers',path:'contacts',description:'History, preferences, and rebooking context.',emphasis:'high'},\n    {id:'booking-messages',label:'Reminders',path:'communications',description:'Confirmations, reminders, and follow-up.',emphasis:'secondary'} ] },\n  { key:'customer-portal', label:'Customer Portal', description:'White-label progress, documents, uploads, and booking.', applicationIds:['progress','booking','documents','contacts'], modules:[\n    {id:'portal-booking',label:'Customer Booking',path:'booking',description:'Bookings and requests feeding the customer experience.',emphasis:'high'},\n    {id:'portal-documents',label:'Customer Documents',path:'documents',description:'Documents and uploads shared with customers.',emphasis:'high'},\n    {id:'portal-customers',label:'Customers',path:'contacts',description:'Customer records anchoring portal access.',emphasis:'high'} ] },\n  { key:'lead-funnel', label:'Lead Funnel', description:'Capture, qualify, follow up, and hand off focused opportunities.', applicationIds:['contacts','opportunity-radar','communications','tasks','analytics','qr-suite'], modules:[\n    {id:'funnel-opportunities',label:'Opportunities',path:'opportunity-radar',description:'Review and qualify opportunities.',emphasis:'primary'},\n    {id:'funnel-contacts',label:'Leads',path:'contacts',description:'Qualified people flowing into the business.',emphasis:'high'},\n    {id:'funnel-follow-up',label:'Follow Up',path:'tasks',description:'Next actions and handoffs.',emphasis:'high'},\n    {id:'funnel-performance',label:'Funnel Performance',path:'analytics',description:'Conversion and channel performance.',emphasis:'secondary'} ] },\n  { key:'premium-service-operations', label:'Premium Service Operations', description:'A calm contextual service workspace for work, customers, scheduling, growth, and money.', applicationIds:['contacts','jobs','calendar','booking','opportunity-radar','proposals','invoices','payments','communications','reports'], experienceFamily:'modes', modules:[\n    {id:'service-today',label:'Today',path:'dashboard',description:'The work and decisions that matter now.',emphasis:'primary',modeKey:'today',modeTitle:'Today'},\n    {id:'service-schedule',label:'Schedule',path:'calendar',description:'Appointments, jobs, and what is next.',emphasis:'high',modeKey:'planning',modeTitle:'Plan'},\n    {id:'service-customers',label:'Customers',path:'contacts',description:'People, properties, history, and context.',emphasis:'high',modeKey:'customers',modeTitle:'Customers'},\n    {id:'service-opportunities',label:'Opportunities',path:'opportunity-radar',description:'New work, follow-up, and growth.',emphasis:'high',modeKey:'opportunities',modeTitle:'Opportunities'} ] },\n] as const;\n\nconst TENANT_CAPABILITY_PACK_BY_KEY = new Map(TENANT_CAPABILITY_PACKS.map((pack) => [pack.key, pack] as const));\nexport function getTenantCapabilityPack(key: string): TenantCapabilityPack | undefined { return TENANT_CAPABILITY_PACK_BY_KEY.get(String(key || '').trim().toLowerCase()); }\nfunction assertTenantCapabilityPacks(): void { const appIds=new Set(APPLICATION_CAPABILITY_REGISTRY.map((entry)=>entry.id));const keys=new Set<string>();for(const pack of TENANT_CAPABILITY_PACKS){if(!pack.key||!pack.label||!pack.applicationIds.length||!pack.modules.length)throw new Error('Tenant capability packs require a key, label, applications, and modules.');if(keys.has(pack.key))throw new Error(`Duplicate tenant capability pack: ${pack.key}`);keys.add(pack.key);for(const applicationId of pack.applicationIds)if(!appIds.has(applicationId))throw new Error(`Tenant capability pack ${pack.key} references unknown application ${applicationId}.`);const moduleIds=new Set<string>();for(const module of pack.modules){if(!module.id||!module.label||!module.path)throw new Error(`Tenant capability pack ${pack.key} contains an incomplete module.`);if(moduleIds.has(module.id))throw new Error(`Tenant capability pack ${pack.key} contains duplicate module ${module.id}.`);moduleIds.add(module.id)}}}\n\nexport const APPLICATION_SLUG_ALIASES: Readonly<Record<string, string>> = {\n  'invoice-creator': 'invoices',\n  email: 'mail',\n  emails: 'mail',\n  'email-suite': 'mail',\n};\n\nconst REGISTERED_TENANT_WORKSPACE_SURFACES = new Set([\n  'dashboard','contacts','communications','communications/email','calendar','invoices','billing/payments','billing','proposals','creative-studio','documents','booking','tasks','jobs','reports','analytics','opportunity-radar','field-intelligence','canvassing','lawn-care','inventory','card-grading','operations','claim-operations','realtor-operations','qr-suite','roof-estimator/admin','academy',\n]);\n\nfunction assertApplicationRegistry(): void {\n  const ids = new Set<string>();\n  const paths = new Set<string>();\n  const logins = new Set<string>();\n  const unclaimedWorkspaceContracts = new Set(Object.keys(APPLICATION_WORKSPACE_CONTRACTS));\n  if (unclaimedWorkspaceContracts.size !== APPLICATION_CAPABILITY_REGISTRY.length) throw new Error('Every registered application requires exactly one contextual workspace contract.');\n  for (const entry of APPLICATION_CAPABILITY_REGISTRY) {\n    if (!entry.id || !entry.slug || !entry.label) throw new Error('Application registry entries require id, slug, and label.');\n    if (ids.has(entry.id)) throw new Error(`Duplicate application id: ${entry.id}`);\n    ids.add(entry.id);\n    if (!entry.standalonePath || !entry.standalonePath.startsWith('/')) throw new Error(`Application ${entry.id} requires a canonical standalone route.`);\n    if (paths.has(entry.standalonePath)) throw new Error(`Duplicate standalone application route: ${entry.standalonePath}`);\n    paths.add(entry.standalonePath);\n    if (!Number.isInteger(entry.bootstrapVersion) || entry.bootstrapVersion < 1) throw new Error(`Application ${entry.id} requires a bootstrap version.`);\n    if (!entry.routeAdapter) throw new Error(`Application ${entry.id} requires route adapter ownership.`);\n    if (entry.audience === 'customer-public' && entry.launchMode !== 'public-standalone') throw new Error(`Public application ${entry.id} requires a public standalone launch contract.`);\n    if (entry.audience === 'tenant-user' && !['standalone-and-tenant', 'tenant-only'].includes(entry.launchMode)) throw new Error(`Tenant application ${entry.id} requires an explicit tenant launch contract.`);\n    if (!entry.capabilities.length) throw new Error(`Application ${entry.id} requires explicit capabilities.`);\n    if (!entry.dataOwners.length) throw new Error(`Application ${entry.id} requires explicit data ownership.`);\n    if (!unclaimedWorkspaceContracts.delete(entry.id)) throw new Error(`Application ${entry.id} is missing its unique contextual workspace contract.`);\n    if (!entry.workspaceContract.intents.length) throw new Error(`Application ${entry.id} requires at least one contextual work intent.`);\n    if (!entry.workspaceContract.surfaces.length) throw new Error(`Application ${entry.id} requires at least one contextual surface.`);\n    if (!entry.workspaceContract.contextualCapabilities.length) throw new Error(`Application ${entry.id} requires contextual capabilities.`);\n    for (const capability of entry.workspaceContract.contextualCapabilities) {\n      if (!entry.capabilities.includes(capability)) throw new Error(`Application ${entry.id} exposes undeclared contextual capability: ${capability}`);\n    }\n    if (entry.audience === 'customer-public' && entry.workspaceContract.mode !== 'public') throw new Error(`Public application ${entry.id} requires public workspace mode.`);\n    if (entry.audience === 'tenant-user' && entry.workspaceContract.mode === 'public') throw new Error(`Tenant application ${entry.id} cannot use public workspace mode.`);\n    if (entry.audience !== 'tenant-user') continue;\n    if (!entry.loginPath || (entry.loginPath !== `/${entry.slug}/login` && entry.slug !== 'crm')) throw new Error(`Tenant application ${entry.id} requires its canonical compatibility login route.`);\n    if (logins.has(entry.loginPath)) throw new Error(`Duplicate application login route: ${entry.loginPath}`);\n    logins.add(entry.loginPath);\n    if (!entry.workspaceSurface && !['proposal-editor', 'platform-workspace'].includes(entry.routeAdapter)) throw new Error(`Tenant application ${entry.id} requires an authenticated workspace owner.`);\n    if (entry.routeAdapter === 'tenant-workspace' && (!entry.workspaceSurface || !REGISTERED_TENANT_WORKSPACE_SURFACES.has(entry.workspaceSurface))) throw new Error(`First-class application ${entry.id} points to an unregistered tenant workspace surface: ${entry.workspaceSurface || 'none'}.`);\n  }\n  const applicationsById = new Map(APPLICATION_CAPABILITY_REGISTRY.map((entry) => [entry.id, entry] as const));\n  for (const entry of APPLICATION_CAPABILITY_REGISTRY) {\n    if (entry.productRole === 'suite-surface') {\n      if (!entry.primaryProductId || entry.primaryProductId === entry.id) throw new Error(`Suite surface ${entry.id} requires a distinct primary product owner.`);\n      const primary = applicationsById.get(entry.primaryProductId);\n      if (!primary) throw new Error(`Suite surface ${entry.id} points to missing primary product ${entry.primaryProductId}.`);\n      if (primary.productRole !== 'primary-product') throw new Error(`Suite surface ${entry.id} must be owned by a primary product, not ${primary.productRole}.`);\n    } else if (entry.primaryProductId !== null) {\n      throw new Error(`Application ${entry.id} may only declare a primary product owner when it is a suite surface.`);\n    }\n    if (entry.productRole === 'public-experience' && entry.audience !== 'customer-public') throw new Error(`Public experience ${entry.id} requires customer-public audience.`);\n    if (entry.audience === 'customer-public' && entry.productRole !== 'public-experience') throw new Error(`Customer-public application ${entry.id} must be classified as a public experience.`);\n    if (entry.productRole === 'platform-shell' && entry.routeAdapter !== 'platform-workspace') throw new Error(`Platform shell ${entry.id} requires platform-workspace routing.`);\n    if (entry.productRole === 'vertical-workspace' && entry.bootstrap !== 'vertical') throw new Error(`Vertical workspace ${entry.id} requires vertical bootstrap ownership.`);\n    if (!entry.maturity || !entry.commercialIdentity) throw new Error(`Application ${entry.id} requires maturity and commercial identity.`);\n    const relationshipTargets = [...entry.composition.requires, ...entry.composition.embeds, ...entry.composition.optional];\n    for (const targetId of relationshipTargets) if (!applicationsById.has(targetId)) throw new Error(`Application ${entry.id} references missing composition target ${targetId}.`);\n    if (entry.productRole === 'suite-surface') {\n      if (!entry.lifecycle.inheritsFromPrimaryProduct || entry.lifecycle.independentlyInstallable || entry.lifecycle.independentlyLoginable || entry.lifecycle.marketable) throw new Error(`Suite surface ${entry.id} must inherit lifecycle from ${entry.primaryProductId}.`);\n      if (entry.commercialIdentity !== 'suite-capability') throw new Error(`Suite surface ${entry.id} requires suite-capability commercial identity.`);\n      if (!entry.composition.requires.includes(entry.primaryProductId!)) throw new Error(`Suite surface ${entry.id} must require its primary product ${entry.primaryProductId}.`);\n    }\n    if (entry.productRole === 'platform-primitive' && (entry.lifecycle.independentlyInstallable || entry.lifecycle.removable || entry.lifecycle.marketable)) throw new Error(`Platform primitive ${entry.id} cannot behave like an independently sold installable product.`);\n    if (entry.productRole === 'public-experience' && (entry.lifecycle.independentlyInstallable || entry.lifecycle.independentlyLoginable)) throw new Error(`Public experience ${entry.id} cannot inherit tenant application lifecycle.`);\n  }\n  if (unclaimedWorkspaceContracts.size) throw new Error(`Contextual workspace contracts exist without registered applications: ${[...unclaimedWorkspaceContracts].join(', ')}`);\n}\n\nassertApplicationRegistry();\nassertTenantCapabilityPacks();\n\nexport function getApplicationBySlug(slug: string) {\n  const normalized = String(slug || '').trim().toLowerCase();\n  const canonical = normalized === 'customer-portal' ? 'progress' : (APPLICATION_SLUG_ALIASES[normalized] || normalized);\n  return APPLICATION_CAPABILITY_REGISTRY.find((entry) => entry.slug === canonical);\n}\n\nexport function getTenantApplicationBySlug(slug: string) {\n  const entry = getApplicationBySlug(slug);\n  return entry?.audience === 'tenant-user' ? entry : undefined;\n}\n\nexport function getApplicationWorkspaceContract(slug: string): ApplicationWorkspaceContract | undefined {\n  return getApplicationBySlug(slug)?.workspaceContract;\n}\n\nexport function getTenantApplicationLoginAliases(): Array<{ slug: string; loginPath: string; app: ApplicationCapability }> {\n  return Object.entries(APPLICATION_SLUG_ALIASES).flatMap(([slug, canonicalSlug]) => {\n    const app = getTenantApplicationBySlug(canonicalSlug);\n    return app && supportsIndependentApplicationLogin(app) ? [{ slug, loginPath: `/${slug}/login`, app }] : [];\n  });\n}\n\nexport function isPeerApplicationProduct(entry: ApplicationCapability | undefined | null): boolean {\n  return entry?.productRole === 'primary-product';\n}\n\nexport function isSuiteApplicationSurface(entry: ApplicationCapability | undefined | null): boolean {\n  return entry?.productRole === 'suite-surface';\n}\n\nexport function isPlatformApplicationRole(entry: ApplicationCapability | undefined | null): boolean {\n  return Boolean(entry && ['platform-shell', 'platform-primitive', 'orchestrator'].includes(entry.productRole));\n}\n\nexport function isVerticalApplicationWorkspace(entry: ApplicationCapability | undefined | null): boolean {\n  return entry?.productRole === 'vertical-workspace';\n}\n\nexport function isPublicApplicationExperience(entry: ApplicationCapability | undefined | null): boolean {\n  return entry?.productRole === 'public-experience';\n}\n\nexport const PRODUCT_CATALOG = APPLICATION_CAPABILITY_REGISTRY.filter(isPeerApplicationProduct);\nexport const VERTICAL_WORKSPACES = APPLICATION_CAPABILITY_REGISTRY.filter(isVerticalApplicationWorkspace);\nexport const PLATFORM_PRIMITIVES = APPLICATION_CAPABILITY_REGISTRY.filter((entry) => entry.productRole === 'platform-primitive');\nexport const SUITE_SURFACES = APPLICATION_CAPABILITY_REGISTRY.filter(isSuiteApplicationSurface);\nexport const ORCHESTRATORS = APPLICATION_CAPABILITY_REGISTRY.filter((entry) => entry.productRole === 'orchestrator');\nexport const PUBLIC_EXPERIENCES = APPLICATION_CAPABILITY_REGISTRY.filter(isPublicApplicationExperience);\n\nexport function getPrimaryApplicationProducts(): ApplicationCapability[] {\n  return [...PRODUCT_CATALOG];\n}\n\nexport function getApplicationsByMaturity(maturity: ApplicationMaturity): ApplicationCapability[] {\n  return APPLICATION_CAPABILITY_REGISTRY.filter((entry) => entry.maturity === maturity);\n}\n\nexport function getApplicationsByCommercialIdentity(identity: ApplicationCommercialIdentity): ApplicationCapability[] {\n  return APPLICATION_CAPABILITY_REGISTRY.filter((entry) => entry.commercialIdentity === identity);\n}\n\nexport function getApplicationDependencies(slug: string): ApplicationCapability[] {\n  const entry = getApplicationBySlug(slug);\n  if (!entry) return [];\n  return entry.composition.requires.map((id) => getApplicationBySlug(id)).filter((value): value is ApplicationCapability => Boolean(value));\n}\n\nexport function canPromoteSuiteSurfaceToPrimaryProduct(entry: ApplicationCapability | undefined | null): boolean {\n  if (!entry || entry.productRole !== 'suite-surface') return false;\n  return Boolean(\n    entry.lifecycle.independentlyInstallable &&\n    entry.lifecycle.independentlyLaunchable &&\n    entry.lifecycle.independentlyLoginable &&\n    entry.lifecycle.marketable &&\n    !entry.lifecycle.inheritsFromPrimaryProduct &&\n    entry.commercialIdentity === 'sellable-product' &&\n    entry.dataOwners.length > 0 &&\n    entry.workspaceContract.contextualCapabilities.length > 0 &&\n    entry.composition.requires.every((id) => id !== entry.primaryProductId)\n  );\n}\nexport function getApplicationProductCounts(): Record<ApplicationProductRole, number> {\n  return APPLICATION_CAPABILITY_REGISTRY.reduce<Record<ApplicationProductRole, number>>((counts, entry) => {\n    counts[entry.productRole] += 1;\n    return counts;\n  }, {\n    'platform-shell': 0,\n    'primary-product': 0,\n    'suite-surface': 0,\n    'vertical-workspace': 0,\n    orchestrator: 0,\n    'platform-primitive': 0,\n    'public-experience': 0,\n  });\n}\n\nexport function supportsIndependentApplicationLaunch(entry: ApplicationCapability | undefined | null): boolean {\n  return Boolean(entry?.lifecycle.independentlyLaunchable);\n}\n\nexport function supportsIndependentApplicationLogin(entry: ApplicationCapability | undefined | null): boolean {\n  return Boolean(entry && entry.audience === 'tenant-user' && entry.lifecycle.independentlyLoginable);\n}\n\nexport function isIndependentlyInstallableApplication(entry: ApplicationCapability | undefined | null): boolean {\n  return Boolean(entry && entry.audience === 'tenant-user' && entry.lifecycle.independentlyInstallable);\n}\n\nexport function shouldListApplicationAsPeer(entry: ApplicationCapability | undefined | null): boolean {\n  return Boolean(entry && ['primary-product', 'vertical-workspace'].includes(entry.productRole) && entry.lifecycle.marketable);\n}\n\nexport function supportsStandaloneApplicationLaunch(entry: ApplicationCapability | undefined | null): boolean {\n  return Boolean(entry && supportsIndependentApplicationLaunch(entry) && (entry.launchMode === 'standalone-and-tenant' || entry.launchMode === 'public-standalone'));\n}\n\nexport function supportsTenantEmbeddedApplicationLaunch(entry: ApplicationCapability | undefined | null): boolean {\n  return Boolean(entry && entry.audience === 'tenant-user' && (entry.launchMode === 'standalone-and-tenant' || entry.launchMode === 'tenant-only'));\n}\n\nexport function normalizeApplicationTenantType(value: unknown): string {\n  return String(value || '').trim().toUpperCase().replace(/[\\s-]+/g, '_');\n}\n\nexport function getTenantApplicationByReference(reference: unknown): ApplicationCapability | undefined {\n  const raw = String(reference || '').trim();\n  if (!raw) return undefined;\n  const simpleToken = raw.replace(/^\\/+|\\/+$/g, '');\n  if (simpleToken && !/[/?#]/.test(simpleToken)) {\n    const direct = getTenantApplicationBySlug(simpleToken);\n    if (direct) return direct;\n  }\n  let pathname = raw;\n  try { pathname = new URL(raw, 'https://knocklaunch.local').pathname; } catch {}\n  const normalized = normalizeRoutePath(pathname.startsWith('/') ? pathname : `/${pathname}`);\n  const standalone = getTenantApplicationByStandalonePath(normalized);\n  if (standalone) return standalone;\n  return APPLICATION_CAPABILITY_REGISTRY.find((entry) =>\n    entry.audience === 'tenant-user'\n    && Boolean(entry.workspaceSurface)\n    && normalizeRoutePath(`/${entry.workspaceSurface}`) === normalized,\n  );\n}\n\nexport function isTenantApplicationSupported(entry: ApplicationCapability | undefined | null, tenantType: unknown): boolean {\n  if (!entry || entry.audience !== 'tenant-user') return false;\n  const normalizedTenantType = normalizeApplicationTenantType(tenantType);\n  const supported = entry.supportedTenantTypes.map(normalizeApplicationTenantType);\n  return supported.length === 0 || supported.includes(normalizedTenantType);\n}\n\nexport type TenantApplicationAssignmentState = ReadonlyMap<string, boolean> | Readonly<Record<string, boolean | null | undefined>>;\nexport type TenantApplicationResolutionContext = {\n  tenantType: unknown;\n  enabledApplications?: TenantApplicationAssignmentState | null;\n  role?: unknown;\n  experienceFamily?: unknown;\n  platformAdmin?: boolean;\n  contextApplicationIds?: readonly string[];\n  applicationScopeExplicit?: boolean;\n};\nexport type TenantApplicationAccessResolution = {\n  app: ApplicationCapability | null;\n  available: boolean;\n  reason: 'available' | 'not-tenant-application' | 'inactive' | 'unsupported-tenant-type' | 'unsupported-experience' | 'role-restricted' | 'platform-admin-only' | 'context-excluded' | 'assignment-required' | 'explicitly-disabled' | 'owner-unavailable';\n  explicitEnabled: boolean | null;\n};\n\nconst normalizeApplicationScopeToken = (value: unknown) => String(value || '').trim().toLowerCase().replace(/[\\s_]+/g, '-');\nfunction applicationAssignmentValue(assignments: TenantApplicationAssignmentState | null | undefined, applicationId: string): boolean | null {\n  if (!assignments) return null;\n  const mapLike = assignments as ReadonlyMap<string, boolean>;\n  if (typeof mapLike.get === 'function') {\n    const value = mapLike.get(applicationId);\n    return typeof value === 'boolean' ? value : null;\n  }\n  const value = (assignments as Readonly<Record<string, boolean | null | undefined>>)[applicationId];\n  return typeof value === 'boolean' ? value : null;\n}\n\nexport type TenantApplicationScopeSource = 'business_operating_blueprint' | 'manifest_business_operating_blueprint' | 'onboarding_business_operating_blueprint' | 'tenant_operating_contract' | 'enabled_applications' | 'tenant_manifest' | 'onboarding_contract' | 'implicit_defaults';\nexport type TenantApplicationScope = { explicit: boolean; applicationIds: string[]; source: TenantApplicationScopeSource };\n\nconst applicationScopeRecord = (value: unknown): Record<string, any> => value && typeof value === 'object' && !Array.isArray(value) ? value as Record<string, any> : {};\nfunction canonicalTenantApplicationScopeIds(values: unknown[]): string[] {\n  const ids = values.map((value) => {\n    const raw = String(value || '').trim();\n    if (!raw) return '';\n    return getTenantApplicationByReference(raw)?.id || normalizeApplicationScopeToken(raw);\n  }).filter(Boolean);\n  return [...new Set(ids)];\n}\n\nexport function getTenantApplicationScopeFromSettings(settings: unknown): TenantApplicationScope {\n  const source = applicationScopeRecord(settings);\n  const manifest = applicationScopeRecord(source.tenant_manifest);\n  const onboarding = applicationScopeRecord(source.onboarding_contract);\n  const directBlueprint = applicationScopeRecord(source.business_operating_blueprint);\n  const manifestBlueprint = applicationScopeRecord(manifest.businessOperatingBlueprint || manifest.business_operating_blueprint);\n  const onboardingBlueprint = applicationScopeRecord(onboarding.businessOperatingBlueprint || onboarding.business_operating_blueprint);\n  const operatingContract = applicationScopeRecord(source.tenant_operating_contract);\n  const operatingApplications = applicationScopeRecord(operatingContract.applications);\n  const candidates: Array<{ source: TenantApplicationScopeSource; declared: boolean; values: unknown[] }> = [\n    { source: 'business_operating_blueprint', declared: Array.isArray(directBlueprint.applications), values: Array.isArray(directBlueprint.applications) ? directBlueprint.applications : [] },\n    { source: 'manifest_business_operating_blueprint', declared: Array.isArray(manifestBlueprint.applications), values: Array.isArray(manifestBlueprint.applications) ? manifestBlueprint.applications : [] },\n    { source: 'onboarding_business_operating_blueprint', declared: Array.isArray(onboardingBlueprint.applications), values: Array.isArray(onboardingBlueprint.applications) ? onboardingBlueprint.applications : [] },\n    { source: 'tenant_operating_contract', declared: operatingApplications.explicit === true && Array.isArray(operatingApplications.registry_ids), values: Array.isArray(operatingApplications.registry_ids) ? operatingApplications.registry_ids : [] },\n    { source: 'enabled_applications', declared: Array.isArray(source.enabled_applications), values: Array.isArray(source.enabled_applications) ? source.enabled_applications : [] },\n    { source: 'tenant_manifest', declared: Array.isArray(manifest.applications), values: Array.isArray(manifest.applications) ? manifest.applications : [] },\n    { source: 'onboarding_contract', declared: Array.isArray(onboarding.applications), values: Array.isArray(onboarding.applications) ? onboarding.applications : [] },\n  ];\n  for (const candidate of candidates) if (candidate.declared) return { explicit: true, applicationIds: canonicalTenantApplicationScopeIds(candidate.values), source: candidate.source };\n  return { explicit: false, applicationIds: [], source: 'implicit_defaults' };\n}\n\nexport function getTenantApplicationAssignmentsFromSettings(settings: unknown): ReadonlyMap<string, boolean> {\n  const scope = getTenantApplicationScopeFromSettings(settings);\n  return new Map(scope.applicationIds.map((id) => [id, true] as const));\n}\n\nexport function isPlatformApplicationProjection(tenant: any): boolean {\n  const settings = tenant?.settings && typeof tenant.settings === 'object' ? tenant.settings as Record<string, unknown> : {};\n  return String(settings.workspace_variant || '').trim().toLowerCase() === 'platform_admin'\n    || String(settings.routing_family || '').trim().toUpperCase() === 'PLATFORM'\n    || normalizeApplicationTenantType(tenant?.tenant_type) === 'PLATFORM_ADMIN';\n}\n\nexport function resolveTenantApplicationAccess(entry: ApplicationCapability | undefined | null, context: TenantApplicationResolutionContext): TenantApplicationAccessResolution {\n  if (!entry || entry.audience !== 'tenant-user') return { app: entry || null, available: false, reason: 'not-tenant-application', explicitEnabled: null };\n  const explicitEnabled = applicationAssignmentValue(context.enabledApplications, entry.id);\n  if (entry.lifecycleStatus === 'disabled' || entry.lifecycleStatus === 'deprecated' || (entry.lifecycleStatus === 'internal' && !context.platformAdmin)) return { app: entry, available: false, reason: 'inactive', explicitEnabled };\n  if (!isTenantApplicationSupported(entry, context.tenantType)) return { app: entry, available: false, reason: 'unsupported-tenant-type', explicitEnabled };\n  const experience = normalizeApplicationScopeToken(context.experienceFamily);\n  const supportedExperiences = entry.supportedExperienceFamilies.map(normalizeApplicationScopeToken).filter(Boolean);\n  if (supportedExperiences.length && (!experience || !supportedExperiences.includes(experience))) return { app: entry, available: false, reason: 'unsupported-experience', explicitEnabled };\n  const role = normalizeApplicationScopeToken(context.role);\n  const allowedRoles = entry.allowedRoles.map(normalizeApplicationScopeToken).filter(Boolean);\n  if (allowedRoles.length && !context.platformAdmin && (!role || !allowedRoles.includes(role))) return { app: entry, available: false, reason: 'role-restricted', explicitEnabled };\n  const contextIds = (context.contextApplicationIds || []).map((value) => String(value || '').trim().toLowerCase()).filter(Boolean);\n  if (context.applicationScopeExplicit === true && !contextIds.includes(entry.id)) return { app: entry, available: false, reason: 'context-excluded', explicitEnabled };\n  if (contextIds.length && !contextIds.includes(entry.id)) return { app: entry, available: false, reason: 'context-excluded', explicitEnabled };\n  if (entry.productRole === 'platform-shell' && !context.platformAdmin) return { app: entry, available: false, reason: 'platform-admin-only', explicitEnabled };\n  if (entry.availabilityPolicy === 'inherited' || entry.productRole === 'suite-surface') {\n    if (explicitEnabled === false) return { app: entry, available: false, reason: 'explicitly-disabled', explicitEnabled };\n    const owner = entry.primaryProductId ? getTenantApplicationBySlug(entry.primaryProductId) : undefined;\n    const ownerResolution = owner ? resolveTenantApplicationAccess(owner, { ...context, contextApplicationIds: undefined }) : null;\n    return ownerResolution?.available\n      ? { app: entry, available: true, reason: 'available', explicitEnabled }\n      : { app: entry, available: false, reason: 'owner-unavailable', explicitEnabled };\n  }\n  if (entry.availabilityPolicy === 'universal') return { app: entry, available: true, reason: 'available', explicitEnabled };\n  if (explicitEnabled === false) return { app: entry, available: false, reason: 'explicitly-disabled', explicitEnabled };\n  if (entry.availabilityPolicy === 'assigned') return explicitEnabled === true\n    ? { app: entry, available: true, reason: 'available', explicitEnabled }\n    : { app: entry, available: false, reason: 'assignment-required', explicitEnabled };\n  const available = explicitEnabled === true || (explicitEnabled === null && entry.defaultInstalled);\n  return { app: entry, available, reason: available ? 'available' : 'assignment-required', explicitEnabled };\n}\n\nexport function resolveTenantApplications(context: TenantApplicationResolutionContext): ApplicationCapability[] {\n  return APPLICATION_CAPABILITY_REGISTRY.filter((entry) =>\n    entry.audience === 'tenant-user'\n    && entry.lifecycle.independentlyLaunchable\n    && resolveTenantApplicationAccess(entry, context).available,\n  );\n}\n\nexport function isTenantApplicationAvailable(entry: ApplicationCapability | undefined | null, tenantType: unknown, explicitEnabled?: boolean | null): boolean {\n  const enabledApplications = entry && typeof explicitEnabled === 'boolean' ? new Map([[entry.id, explicitEnabled]]) : undefined;\n  return resolveTenantApplicationAccess(entry, { tenantType, enabledApplications }).available;\n}\n\nexport function getTenantApplicationByStandaloneHost(hostname: string) {\n  const normalized = String(hostname || '').trim().toLowerCase().replace(/^www\\./, '');\n  if (!normalized) return undefined;\n  return APPLICATION_CAPABILITY_REGISTRY.find((entry) => entry.audience === 'tenant-user' && supportsStandaloneApplicationLaunch(entry) && String(entry.standaloneHost || '').trim().toLowerCase().replace(/^www\\./, '') === normalized);\n}\n\nexport function getTenantApplicationByStandalonePath(pathname: string) {\n  const parts = normalizeRoutePath(pathname).split('/').filter(Boolean);\n  if (parts[0] === 'communications' && ['mail', 'email', 'emails'].includes(parts[1])) return getTenantApplicationBySlug('mail');\n  const normalized = `/${[APPLICATION_SLUG_ALIASES[parts[0]] || parts[0], ...parts.slice(1)].join('/')}`;\n  return APPLICATION_CAPABILITY_REGISTRY\n    .filter((entry) => entry.audience === 'tenant-user' && supportsStandaloneApplicationLaunch(entry))\n    .sort((a, b) => b.standalonePath.length - a.standalonePath.length)\n    .find((entry) => normalized === entry.standalonePath || normalized.startsWith(`${entry.standalonePath}/`));\n}\n\nexport function getPublicApplicationByStandalonePath(pathname: string) {\n  const normalized = normalizeRoutePath(pathname);\n  return APPLICATION_CAPABILITY_REGISTRY\n    .filter((entry) => entry.audience === 'customer-public')\n    .sort((a, b) => b.standalonePath.length - a.standalonePath.length)\n    .find((entry) => normalized === entry.standalonePath || normalized.startsWith(`${entry.standalonePath}/`));\n}\n\nexport function getPublicApplicationStandalonePaths(): string[] {\n  return APPLICATION_CAPABILITY_REGISTRY\n    .filter((entry) => entry.audience === 'customer-public')\n    .map((entry) => entry.standalonePath);\n}\n\nexport function getApplicationLoginPaths(): string[] {\n  return APPLICATION_CAPABILITY_REGISTRY.flatMap((entry) => entry.loginPath && supportsIndependentApplicationLogin(entry) ? [entry.loginPath] : []);\n}\n\nexport function buildStandaloneApplicationPath(appSlug: string, tenantSlug?: string | null): string | null {\n  const entry = getTenantApplicationBySlug(appSlug);\n  if (!entry || !supportsStandaloneApplicationLaunch(entry)) return null;\n  const normalizedTenantSlug = String(tenantSlug || '').trim().toLowerCase();\n  if (!normalizedTenantSlug) return entry.standalonePath;\n  const params = new URLSearchParams();\n  params.set('tenant', normalizedTenantSlug);\n  return `${entry.standalonePath}?${params.toString()}`;\n}\n\nexport function buildTenantApplicationPath(_tenantType: string, tenantSlug: string, appSlug: string): string | null {\n  const entry = getTenantApplicationBySlug(appSlug);\n  if (!entry) return null;\n  const normalizedTenantSlug = String(tenantSlug || '').trim().toLowerCase();\n  if (!normalizedTenantSlug) return supportsStandaloneApplicationLaunch(entry) ? entry.standalonePath : null;\n  if (!supportsTenantEmbeddedApplicationLaunch(entry)) return null;\n  return `/${encodeURIComponent(normalizedTenantSlug)}${entry.standalonePath}`;\n}\n\nexport function getTenantApplicationByEmbeddedPath(pathname: string): { app: ApplicationCapability; suffix: string } | null {\n  const rawRoute = normalizeRoutePath(pathname).split('/').filter(Boolean);\n  if (!rawRoute.length) return null;\n  const route = rawRoute[0] === 'communications' && ['mail', 'email', 'emails'].includes(rawRoute[1] || '')\n    ? ['mail', ...rawRoute.slice(2)]\n    : [APPLICATION_SLUG_ALIASES[rawRoute[0]] || rawRoute[0], ...rawRoute.slice(1)];\n  const candidates: Array<{ app: ApplicationCapability; segments: string[]; source: 'standalone' | 'workspace' }> = [];\n  for (const entry of APPLICATION_CAPABILITY_REGISTRY) {\n    if (entry.audience !== 'tenant-user' || !supportsTenantEmbeddedApplicationLaunch(entry)) continue;\n    const standaloneSegments = normalizeRoutePath(entry.standalonePath).split('/').filter(Boolean);\n    if (standaloneSegments.length <= route.length && standaloneSegments.every((segment, index) => route[index] === segment)) {\n      candidates.push({ app: entry, segments: standaloneSegments, source: 'standalone' });\n    }\n    if (entry.workspaceSurface) {\n      const workspaceSegments = normalizeRoutePath(`/${entry.workspaceSurface}`).split('/').filter(Boolean);\n      if (workspaceSegments.length <= route.length && workspaceSegments.every((segment, index) => route[index] === segment)) {\n        candidates.push({ app: entry, segments: workspaceSegments, source: 'workspace' });\n      }\n    }\n  }\n  const exactStandalone = candidates.find((candidate) => candidate.source === 'standalone' && candidate.segments.length === route.length);\n  const exactWorkspace = candidates.find((candidate) => candidate.source === 'workspace' && candidate.segments.length === route.length);\n  const match = exactStandalone || exactWorkspace || candidates.sort((left, right) => right.segments.length - left.segments.length || (left.source === 'standalone' ? -1 : 1))[0];\n  if (!match) return null;\n  return { app: match.app, suffix: route.slice(match.segments.length).join('/') };\n}\n\nexport function getTenantApplicationByTenantScopedPath(pathname: string): { app: ApplicationCapability; tenantSlug: string; suffix: string } | null {\n  const normalized = normalizeRoutePath(pathname);\n  const segments = normalized.split('/').filter(Boolean);\n  if (segments.length < 2) return null;\n  const legacyCrm = segments[0] === 'crm' && segments.length >= 4;\n  const reservedApplicationRoot = getTenantApplicationByStandalonePath(`/${segments[0]}`) || getTenantApplicationByEmbeddedPath(`/${segments[0]}`);\n  if (!legacyCrm && (['owner', 'admin', 'crm'].includes(segments[0]) || reservedApplicationRoot)) return null;\n  const rawTenantSlug = legacyCrm ? segments[2] : segments[0];\n  const tenantSlug = rawTenantSlug === 'big-papis-coquito-iceys' ? 'big-papis' : rawTenantSlug;\n  if (!/^[a-z0-9][a-z0-9-]{0,80}$/.test(tenantSlug)) return null;\n  const route = segments.slice(legacyCrm ? 3 : 1);\n  if (route[0] === 'owner') route.shift();\n  const embedded = getTenantApplicationByEmbeddedPath(`/${route.join('/')}`);\n  if (!embedded) return null;\n  return { ...embedded, tenantSlug };\n}\n\nexport function buildTenantApplicationWorkspacePath(tenantType: string, tenantSlug: string, appSlug: string, suffix = ''): string | null {\n  const entry = getTenantApplicationBySlug(appSlug);\n  if (!entry?.workspaceSurface || !supportsTenantEmbeddedApplicationLaunch(entry)) return null;\n  const cleanSuffix = String(suffix || '').replace(/^\\/+/, '');\n  const base = `/crm/${encodeURIComponent(tenantType)}/${encodeURIComponent(tenantSlug)}/${entry.workspaceSurface}`;\n  return cleanSuffix ? `${base}/${cleanSuffix}` : base;\n}\n"},{"path":"src/pages/applications/MarketingApplicationRoute.tsx","content":"import { useEffect, useMemo, useState } from 'react';\nimport { AlertTriangle, CheckCircle2, Mail, Megaphone, Phone, PlugZap, RefreshCcw, ShieldCheck, Users } from 'lucide-react';\nimport { useNavigate } from 'react-router-dom';\n\nimport { Button } from '@/components/ui/button';\nimport { useMultiTenant } from '@/contexts/MultiTenantContext';\nimport { supabase } from '@/integrations/supabase/client';\n\ntype MarketingContact = {\n  id: string;\n  name?: string | null;\n  first_name?: string | null;\n  last_name?: string | null;\n  email?: string | null;\n  phone?: string | null;\n  normalized_email?: string | null;\n  normalized_phone?: string | null;\n  contact_status?: string | null;\n  lead_stage?: string | null;\n  lead_tags?: string[] | null;\n  engagement_score?: number | null;\n  recency_score?: number | null;\n  last_served_at?: string | null;\n  last_touched_at?: string | null;\n  referral_source?: string | null;\n  is_dnc?: boolean | null;\n  dnc_reason?: string | null;\n};\n\nconst normalizedEmail=(contact:MarketingContact)=>String(contact.normalized_email||contact.email||'').trim().toLowerCase();\nconst normalizedPhone=(contact:MarketingContact)=>String(contact.normalized_phone||contact.phone||'').replace(/\\D/g,'');\nconst contactName=(contact:MarketingContact)=>contact.name||[contact.first_name,contact.last_name].filter(Boolean).join(' ')||contact.email||contact.phone||'Unnamed contact';\n\nfunction Metric({label,value,detail}:{label:string;value:number;detail:string}) {\n  return <div className=\"rounded-2xl border border-border/70 bg-background/65 p-4 shadow-sm backdrop-blur\"><div className=\"text-2xl font-black tracking-tight text-foreground\">{value.toLocaleString()}</div><div className=\"mt-1 text-sm font-bold text-foreground\">{label}</div><div className=\"mt-1 text-xs leading-5 text-muted-foreground\">{detail}</div></div>;\n}\n\nfunction SegmentCard({title,count,detail,icon:Icon}:{title:string;count:number;detail:string;icon:any}) {\n  return <div className=\"rounded-2xl border border-border/70 bg-background/55 p-4 backdrop-blur\"><div className=\"flex items-start justify-between gap-3\"><div><div className=\"text-sm font-black text-foreground\">{title}</div><div className=\"mt-1 text-xs leading-5 text-muted-foreground\">{detail}</div></div><div className=\"rounded-xl border border-border/60 bg-primary/10 p-2 text-primary\"><Icon className=\"h-4 w-4\"/></div></div><div className=\"mt-4 text-xl font-black text-foreground\">{count.toLocaleString()}</div></div>;\n}\n\nexport default function MarketingApplicationRoute() {\n  const navigate=useNavigate();\n  const { activeTenant }=useMultiTenant();\n  const tenantId=activeTenant?.id;\n  const tenantSlug=String(activeTenant?.company_slug||'').trim();\n  const tenantName=activeTenant?.company_dba_name||activeTenant?.company_legal_name||activeTenant?.name||tenantSlug||'Workspace';\n  const [contacts,setContacts]=useState<MarketingContact[]>([]);\n  const [loading,setLoading]=useState(true);\n  const [error,setError]=useState<string|null>(null);\n\n  const load=async()=>{\n    if(!tenantId){setContacts([]);setLoading(false);return;}\n    setLoading(true);setError(null);\n    const {data,error:queryError}=await supabase\n      .from('unified_contacts')\n      .select('id,name,first_name,last_name,email,phone,normalized_email,normalized_phone,contact_status,lead_stage,lead_tags,engagement_score,recency_score,last_served_at,last_touched_at,referral_source,is_dnc,dnc_reason')\n      .eq('tenant_org_id',String(tenantId))\n      .is('deleted_at',null)\n      .limit(5000);\n    if(queryError){setError(queryError.message||'Customer data could not load.');setContacts([]);}\n    else setContacts((data||[]) as MarketingContact[]);\n    setLoading(false);\n  };\n\n  useEffect(()=>{void load();},[tenantId]);\n\n  const audience=useMemo(()=>{\n    const emailCounts=new Map<string,number>();\n    const phoneCounts=new Map<string,number>();\n    for(const contact of contacts){\n      const email=normalizedEmail(contact);const phone=normalizedPhone(contact);\n      if(email)emailCounts.set(email,(emailCounts.get(email)||0)+1);\n      if(phone)phoneCounts.set(phone,(phoneCounts.get(phone)||0)+1);\n    }\n    const suppressed=contacts.filter(contact=>contact.is_dnc===true);\n    const emailReady=contacts.filter(contact=>!contact.is_dnc&&Boolean(normalizedEmail(contact)));\n    const phoneReady=contacts.filter(contact=>!contact.is_dnc&&normalizedPhone(contact).length>=7);\n    const usable=contacts.filter(contact=>!contact.is_dnc&&(Boolean(normalizedEmail(contact))||normalizedPhone(contact).length>=7));\n    const duplicates=contacts.filter(contact=>{\n      const email=normalizedEmail(contact);const phone=normalizedPhone(contact);\n      return (email&&Number(emailCounts.get(email)||0)>1)||(phone&&Number(phoneCounts.get(phone)||0)>1);\n    });\n    const referral=contacts.filter(contact=>!contact.is_dnc&&Boolean(String(contact.referral_source||'').trim()));\n    const staleCutoff=Date.now()-120*24*60*60*1000;\n    const reactivation=emailReady.filter(contact=>{\n      const last=contact.last_touched_at||contact.last_served_at;\n      if(!last)return true;\n      const time=new Date(last).getTime();\n      return !Number.isFinite(time)||time<staleCutoff;\n    });\n    return {emailReady,phoneReady,usable,suppressed,duplicates,referral,reactivation};\n  },[contacts]);\n\n  const settingsPath=tenantSlug?`/${tenantSlug}/settings/connections`:'/select-tenant';\n  const contactsPath=tenantSlug?`/${tenantSlug}/contacts`:'/select-tenant';\n  const starters=[\n    {title:'Customer reactivation',audience:audience.reactivation.length,detail:'Older or untouched customer relationships with a usable email address.'},\n    {title:'Referral request',audience:audience.emailReady.length,detail:'Prepare a referral ask for reviewed, eligible customer records.'},\n    {title:'Service reminder',audience:audience.emailReady.length,detail:'Prepare a reminder campaign from the clean email-ready audience.'},\n    {title:'Announcement / education',audience:audience.emailReady.length,detail:'Prepare a useful update without turning the customer list into a blind blast.'},\n  ];\n\n  if(!tenantId)return <div className=\"grid min-h-[60vh] place-items-center p-6 text-sm text-muted-foreground\">Choose a tenant to open Marketing.</div>;\n\n  return <main className=\"min-h-full w-full overflow-y-auto p-4 pb-24 sm:p-6\" data-marketing-application=\"true\" data-marketing-tenant={tenantSlug||tenantId}>\n    <div className=\"mx-auto w-full max-w-6xl space-y-5\">\n      <section className=\"rounded-3xl border border-border/70 bg-background/70 p-5 shadow-sm backdrop-blur sm:p-6\">\n        <div className=\"flex flex-col gap-4 sm:flex-row sm:items-start sm:justify-between\">\n          <div className=\"min-w-0\"><div className=\"text-xs font-black uppercase tracking-[.18em] text-muted-foreground\">Growth workspace</div><h1 className=\"mt-2 text-3xl font-black tracking-tight text-foreground\">Marketing</h1><p className=\"mt-2 max-w-2xl text-sm leading-6 text-muted-foreground\">{tenantName} customer intelligence, audience preparation, campaign planning, and approval readiness.</p></div>\n          <div className=\"flex flex-wrap gap-2\"><Button variant=\"outline\" onClick={()=>void load()} disabled={loading}><RefreshCcw className={`mr-2 h-4 w-4 ${loading?'animate-spin':''}`}/>Refresh</Button><Button onClick={()=>navigate(settingsPath)}><PlugZap className=\"mr-2 h-4 w-4\"/>Google Workspace</Button></div>\n        </div>\n        <div className=\"mt-5 flex items-start gap-3 rounded-2xl border border-border/70 bg-primary/5 p-4\"><ShieldCheck className=\"mt-0.5 h-5 w-5 shrink-0 text-primary\"/><div><div className=\"text-sm font-black text-foreground\">Approval-first by design</div><p className=\"mt-1 text-xs leading-5 text-muted-foreground\">No campaign sends from this screen. Customer data is reviewed, deduplicated, segmented, and suppression-checked before any future delivery step.</p></div></div>\n      </section>\n\n      {error?<section className=\"flex items-start gap-3 rounded-2xl border border-destructive/30 bg-destructive/5 p-4\"><AlertTriangle className=\"mt-0.5 h-5 w-5 shrink-0 text-destructive\"/><div><div className=\"text-sm font-black text-foreground\">Customer data did not load</div><div className=\"mt-1 text-xs text-muted-foreground\">{error}</div></div></section>:null}\n\n      <section className=\"grid gap-3 sm:grid-cols-2 lg:grid-cols-5\">\n        <Metric label=\"Customer records\" value={contacts.length} detail=\"Tenant-scoped contacts available for review.\"/>\n        <Metric label=\"Usable audience\" value={audience.usable.length} detail=\"Has email or phone and is not suppressed.\"/>\n        <Metric label=\"Email ready\" value={audience.emailReady.length} detail=\"Usable email and not marked do-not-contact.\"/>\n        <Metric label=\"Suppressed\" value={audience.suppressed.length} detail=\"Excluded before campaign preparation.\"/>\n        <Metric label=\"Duplicate risk\" value={audience.duplicates.length} detail=\"Shares normalized email or phone with another record.\"/>\n      </section>\n\n      <section className=\"rounded-3xl border border-border/70 bg-background/60 p-5 backdrop-blur\">\n        <div className=\"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between\"><div><h2 className=\"text-lg font-black text-foreground\">Audience segments</h2><p className=\"mt-1 text-sm text-muted-foreground\">Deterministic starting segments from the customer master list.</p></div><Button variant=\"outline\" onClick={()=>navigate(contactsPath)}><Users className=\"mr-2 h-4 w-4\"/>Review customers</Button></div>\n        <div className=\"mt-4 grid gap-3 sm:grid-cols-2 lg:grid-cols-4\">\n          <SegmentCard title=\"Email ready\" count={audience.emailReady.length} detail=\"Clean email + suppression check.\" icon={Mail}/>\n          <SegmentCard title=\"Phone ready\" count={audience.phoneReady.length} detail=\"Clean phone + suppression check.\" icon={Phone}/>\n          <SegmentCard title=\"Reactivation\" count={audience.reactivation.length} detail=\"Email-ready customers untouched for roughly 120+ days.\" icon={RefreshCcw}/>\n          <SegmentCard title=\"Referral sources\" count={audience.referral.length} detail=\"Contacts with an existing referral source.\" icon={CheckCircle2}/>\n        </div>\n      </section>\n\n      <section className=\"rounded-3xl border border-border/70 bg-background/60 p-5 backdrop-blur\">\n        <div className=\"flex items-start justify-between gap-4\"><div><h2 className=\"text-lg font-black text-foreground\">Campaign preparation</h2><p className=\"mt-1 text-sm text-muted-foreground\">Starter briefs for Anthony to review before copy, scheduling, and delivery are approved.</p></div><Megaphone className=\"h-5 w-5 text-primary\"/></div>\n        <div className=\"mt-4 grid gap-3 md:grid-cols-2\">\n          {starters.map(item=><div key={item.title} className=\"rounded-2xl border border-border/70 bg-background/55 p-4\"><div className=\"flex items-center justify-between gap-3\"><div className=\"font-black text-foreground\">{item.title}</div><span className=\"rounded-full border border-border/70 px-2 py-1 text-xs font-bold text-muted-foreground\">{item.audience.toLocaleString()} candidates</span></div><p className=\"mt-2 text-sm leading-6 text-muted-foreground\">{item.detail}</p><div className=\"mt-3 text-xs font-bold text-primary\">Draft / approval stage only</div></div>)}\n        </div>\n      </section>\n\n      <section className=\"rounded-3xl border border-border/70 bg-background/60 p-5 backdrop-blur\">\n        <h2 className=\"text-lg font-black text-foreground\">Google source readiness</h2><p className=\"mt-1 text-sm leading-6 text-muted-foreground\">The existing Google Workspace connector covers Gmail, Calendar, and Drive. Customer candidates gathered from Google should be reviewed into the KNOCKLAUNCH customer master list before marketing use.</p>\n        <div className=\"mt-4\"><Button onClick={()=>navigate(settingsPath)}><PlugZap className=\"mr-2 h-4 w-4\"/>Open Connections</Button></div>\n      </section>\n\n      {contacts.length>0?<section className=\"rounded-3xl border border-border/70 bg-background/60 p-5 backdrop-blur\"><h2 className=\"text-lg font-black text-foreground\">Customer preview</h2><div className=\"mt-3 divide-y divide-border/60\">{contacts.slice(0,8).map(contact=><div key={contact.id} className=\"flex items-center justify-between gap-4 py-3\"><div className=\"min-w-0\"><div className=\"truncate text-sm font-bold text-foreground\">{contactName(contact)}</div><div className=\"truncate text-xs text-muted-foreground\">{contact.email||contact.phone||'No direct contact method'}</div></div><span className={`shrink-0 rounded-full border px-2 py-1 text-[11px] font-bold ${contact.is_dnc?'border-destructive/30 text-destructive':'border-border/70 text-muted-foreground'}`}>{contact.is_dnc?'Suppressed':'Eligible for review'}</span></div>)}</div></section>:null}\n    </div>\n  </main>;\n}\n"},{"path":"src/__tests__/contracts/marketing-application.contract.test.ts","content":"import { readFileSync } from 'node:fs';\nimport { resolve } from 'node:path';\nimport { describe, expect, it } from 'vitest';\n\nconst read=(path:string)=>readFileSync(resolve(process.cwd(),path),'utf8');\n\ndescribe('tenant Marketing application contract',()=>{\n  it('registers Marketing as an assigned tenant application and routes it through the shared private shell',()=>{\n    const registry=read('src/config/applicationCapabilityRegistry.ts');\n    const shell=read('src/PrivateAppShell.tsx');\n    expect(registry).toContain(\"marketing: workspaceContract('embedded-primary'\");\n    expect(registry).toContain(\"app('marketing', 'Marketing', 'marketing'\");\n    expect(registry).toContain(\"['unified_contacts'], 'default', false\");\n    expect(shell).toContain(\"MarketingApplicationRoute=lazyWithRetry(()=>import('./pages/applications/MarketingApplicationRoute'))\");\n    expect(shell).toContain(\"'creative-studio','marketing'\");\n    expect(shell).toContain(\"case'marketing':content=<MarketingApplicationRoute/>\");\n  });\n\n  it('keeps audience preparation tenant-scoped, suppression-aware, and non-sending',()=>{\n    const page=read('src/pages/applications/MarketingApplicationRoute.tsx');\n    expect(page).toContain(\".eq('tenant_org_id',String(tenantId))\");\n    expect(page).toContain('is_dnc');\n    expect(page).toContain('No campaign sends from this screen.');\n    expect(page).toContain('/settings/connections');\n    expect(page).not.toContain(\".insert(\");\n    expect(page).not.toContain(\".update(\");\n  });\n});\n"}],"branch":"ai/objective-first-repair-19ade7f615a0","writes":[],"patches":[],"version":1,"approved":true,"missionId":"19ade7f6-15a0-49f1-b4f6-61927fc789be","objective":"Continue the exact 10X Marketing foundation mission. Add a first-class assigned Marketing application to the canonical registry and shared private tenant shell. The application must be tenant-scoped, read unified_contacts only, calculate deterministic audience readiness/duplicate risk/suppression, expose campaign preparation starters, link to canonical Google Workspace Connections and Contacts, never send or mutate customer/campaign data, preserve shared avatar ownership, and remain unassigned to existing tenants including Tennex. Ship through Gate, squash merge, affected-target release, and runtime proof without Visual Witness.","sourceSha":"c9cb2a0e02e9b7abc5e56ec9d9beca3445ec0a9f","repository":"noel/KnockLaunchOS","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/PrivateAppShell.tsx","src/config/applicationCapabilityRegistry.ts","src/pages/applications/MarketingApplicationRoute.tsx","src/__tests__/contracts/marketing-application.contract.test.ts"],"implementation":{"files":[],"writes":[]},"requestContract":null,"repairGeneration":null,"executionEnvelope":{"ship":true,"version":1,"approved":true,"missionId":"19ade7f6-15a0-49f1-b4f6-61927fc789be","ownerApproved":true,"releaseIntent":null,"sourceTargets":["src/PrivateAppShell.tsx","src/config/applicationCapabilityRegistry.ts","src/pages/applications/MarketingApplicationRoute.tsx","src/__tests__/contracts/marketing-application.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":"cea30055db4b6e7d4c5596602df2e53c231f001f62d38406fcc68880425f9df3","replayCount":0,"serializedBytes":163842},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-01T00:17:10.688899+00:00","proof_gate":"repository_mutation_intent_persisted","source_sha":null,"external_id":null,"receipt_type":"repository_mutation_intent","idempotency_key":"mission:19ade7f6-15a0-49f1-b4f6-61927fc789be:repository-mutation-intent:cea30055db4b6e7d4c5596602df2e53c231f001f62d38406fcc68880425f9df3:0","mission_step_id":"192e0a8e-fd39-43db-b296-81eca615b8b9","command_center_event_id":"19ade7f6-15a0-49f1-b4f6-61927fc789be"},{"id":"e4cd8a71-b6f7-4b6a-a2ab-fcd9f41b554d","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"implementation","branch":null,"reason":null,"status":"synthesis_required","metrics":{"receiptBytes":1852,"releaseCount":0,"toolCallCount":1,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":"2026-10-02T11:49:13.022Z","recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.47-paul-owner-answer-quality","prNumber":null,"terminal":false,"missionId":"79324f2d-f4cd-42e1-8961-97b7d9df1175","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":1493,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":827,"providerAuthMs":0,"ledgerPrepareMs":827,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":827,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":827,"asyncBookkeepingDispatchMs":0,"ledgerAuthoritativeCommitMs":0},"nextAction":"Synthesize exact mutation from the resolved authoritative source targets and continue this same mission.","receiptRef":{"mode":"full","missionId":"79324f2d-f4cd-42e1-8961-97b7d9df1175"},"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":3255,"likelyAffectedFiles":["src/PrivateAppShell.tsx","config/capabilities/mail-workspace-v1.json","config/capabilities/pcg-google-workspace-gmail.json","config/capabilities/tenant-workspace-experience.json"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T11:49:13.078362+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:79324f2d-f4cd-42e1-8961-97b7d9df1175:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"f628d2d1-943a-4b91-b1d8-c07ed2732738","command_center_event_id":"79324f2d-f4cd-42e1-8961-97b7d9df1175"},{"id":"e4cf9fe3-fdfd-4c6f-886c-bd02983a55df","source":"cc-execution","status":"synthesis_required","payload":{"ok":true,"jobId":null,"phase":"objective_received","branch":"ai/objective-first-repair-92964f0c60ea","reason":null,"status":"synthesis_required","metrics":{"receiptBytes":0,"releaseCount":0,"toolCallCount":0,"repeatedCallCount":0,"executorlessWaitMs":0,"firstUsefulResultAt":null,"recoveryAttemptCount":0,"ownerInterruptionCount":0},"version":"1.64.10-paul-eval-precision","prNumber":null,"terminal":false,"missionId":"92964f0c-60ea-4903-a573-31d680fefd52","operation":"execute_mission","proofGate":"repair_mission_synthesis_ready","sourceSha":null,"timingsMs":{"gateMs":0,"proofMs":0,"handlerMs":2060,"releaseMs":0,"mutationMs":0,"repositoryMs":0,"missionSetupMs":1267,"providerAuthMs":0,"ledgerPrepareMs":673,"ledgerReconcileMs":0,"lineageReconcileMs":0,"resolvePreflightMs":1267,"authoritativeLedgerMs":0,"ledgerAsyncDispatchMs":0,"totalSynchronousLedgerMs":673,"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":"92964f0c-60ea-4903-a573-31d680fefd52"},"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":4593,"likelyAffectedFiles":["src/PrivateAppShell.tsx","src/config/applicationCapabilityRegistry.ts","src/pages/card-grading/PCGModesWorkspace.tsx","src/pages/crm/PcgWorkspace.tsx","supabase/functions/pcg-customer-progress/index.ts","supabase/migrations","src/__tests__/contracts"],"ownerActionRequired":false,"ownerFacingTerminal":false,"continuationRequired":true,"requestContractState":"pending"},"tenant_id":"9602e177-0cbb-496c-bdf5-2fbc93f1b859","created_at":"2026-09-30T02:16:01.711946+00:00","proof_gate":"repair_mission_synthesis_ready","source_sha":null,"external_id":null,"receipt_type":"execute_mission","idempotency_key":"mission:92964f0c-60ea-4903-a573-31d680fefd52:execute_mission:repair_mission_synthesis_ready:current-generation","mission_step_id":"5e41e989-4e13-44c5-893c-92e74ab6f13b","command_center_event_id":"92964f0c-60ea-4903-a573-31d680fefd52"},{"id":"e4d2cbac-fe94-4109-867f-be422bb3f453","source":"cc-execution","status":"waiting","payload":{"kind":"heartbeat","message":"Still active in release.","nextAction":{"lane":"production-release-conductor","action":"reconcile_release","reason":"merged_source_requires_release_proof","automationAllowed":true,"ownerActionRequired":false},"silenceBudgetMs":15000,"semanticCheckpointSignature":"{\"stateMachineVersion\":1,\"phase\":\"release\",\"ownerFacingState\":null,\"latest\":{\"kind\":\"receipt\",\"key\":\"canonical_release_status\",\"status\":\"pending\",\"proofGate\":\"canonical_release_ancestry_pending\"},\"activeStep\":{\"key\":\"preflight\",\"status\":\"ready\",\"lane\":\"cc-execution\"},\"nextStep\":{\"key\":\"implementation\",\"status\":\"pending\",\"lane\":\"cc-execution\"},\"nextSafeAction\":{\"action\":\"reconcile_release\",\"lane\":\"production-release-conductor\",\"reason\":\"merged_source_requires_release_proof\",\"automationAllowed\":true,\"ownerActionRequired\":false},\"executionOwnership\":{\"active\":false,\"state\":\"waiting\",\"executor\":null,\"lane\":\"cc-execution\",\"nextAction\":\"reconcile_release\",\"recoveryOwner\":\"production-release-conductor\"},\"acceptance\":{\"total\":6,\"verified\":0,\"pending\":6,\"percent\":0,\"satisfied\":false,\"verifiedIds\":[],\"pendingIds\":[\"preflight\",\"implementation\",\"pull_request\",\"release\",\"runtime_proof\",\"visual_proof\"]},\"stall\":{\"stalled\":true,\"reason\":\"step_deadline_exceeded\",\"step\":\"release\",\"deadlineAt\":\"2026-08-06T20:44:59.895084+00:00\",\"recoveryAction\":\"reconcile_release\"},\"blocker\":null,\"terminal\":false,\"branch\":null,\"prNumber\":4149,\"sourceSha\":\"640de003f81e52149745222b788db654f3e3e5e0\",\"deploymentId\":\"canonical-release-640de003f81e\"}"},"tenant_id":"a2929648-19db-46c8-9e93-07378ed1aa5f","created_at":"2026-10-04T11:34:50.087711+00:00","proof_gate":"owner_progress_heartbeat","source_sha":null,"external_id":null,"receipt_type":"owner_progress_heartbeat","idempotency_key":"mission:3040b4ad-01d0-42f3-bfb2-9bc8dc3cccc2:owner-progress-heartbeat:119407579","mission_step_id":"88424b07-a112-404e-bbed-f1ec3d579c28","command_center_event_id":"3040b4ad-01d0-42f3-bfb2-9bc8dc3cccc2"},{"id":"e4d3ce19-67c7-4a25-9b88-d59816b58ca4","source":"forgejo-runtime","status":"pending","payload":{"failed":[],"states":{"forgejo-main/source":"success","forgejo-release/workflow":"pending","supabase-migrations/live":"pending","supabase-edge-production/live":"pending"},"mainSha":"9b0523c579c9b915ad37991039a71fe6a0f205e7","missing":[],"pending":["forgejo-release/workflow","supabase-edge-production/live","supabase-migrations/live"],"required":["forgejo-main/source","forgejo-release/workflow","supabase-edge-production/live","supabase-migrations/live"],"sourceSha":"9b0523c579c9b915ad37991039a71fe6a0f205e7","releaseState":"pending","sourceInMain":true,"compareStatus":"protected_main_push_exact_source","releaseTargets":{"frontend":false,"migrations":true,"ccExecution":false,"supabaseEdge":true,"edgeFunctionSlugs":["google-workspace-mail","pcg-google-drive-media","tenant-provider-connections"]},"releaseTargetStates":{"migrations":"pending","supabaseEdge":"pending"},"requestContractHash":"5d24628eb09f9da8dba819c648b949d89e116cc3413cc1bf4e18ec03657265c8","forgejoWorkflowProof":{"url":"https://git.knocklaunch.app/noel/KnockLaunchOS/actions/runs/14402","runId":14402,"status":"waiting","sourceSha":"9b0523c579c9b915ad37991039a71fe6a0f205e7","conclusion":null,"failedJobs":[],"diagnostics":null,"exactSource":true,"targetStates":{"migrations":"pending","supabaseEdge":"pending"},"targetJobCount":7,"observedTargetStates":{"migrations":"pending","supabaseEdge":"pending"}},"releaseSourceVerified":true,"ccExecutionRuntimeProof":null,"releaseTargetRecoveryProof":null,"exactReleaseVerifiedAfterMainAdvanced":false},"tenant_id":"a3ffa31f-0c88-4fdd-b872-051db013ca3e","created_at":"2026-10-02T16:32:14.353305+00:00","proof_gate":"canonical_release_pending","source_sha":"9b0523c579c9b915ad37991039a71fe6a0f205e7","external_id":"forgejo-main-9b0523c579c9","receipt_type":"canonical_release_status","idempotency_key":"mission:9e1288bd-4d92-432e-b0d4-49f267b599fb:forgejo-release-status:9b0523c579c9b915ad37991039a71fe6a0f205e7:pending:forgejo-main/source=success|forgejo-release/workflow=pending|supabase-edge-production/live=pending|supabase-migrations/live=pending","mission_step_id":"9f5b2c5d-2ef1-4ec0-a5d6-41a3f94fa94d","command_center_event_id":"9e1288bd-4d92-432e-b0d4-49f267b599fb"}],"rows":400,"limit":400,"table":"command_center_receipts","format":"knocklaunch-table-chunk-v1","offset":40000,"schema":"public","order_key":"id"}