{
  "schema": "codee.launch-control.v1",
  "version": "2026.05.28-launch-control-v3",
  "updated_at": "2026-05-28T04:15:00Z",
  "status": "launch_candidate_restored_guarded_after_billing",
  "active_blockers": [],
  "launch_candidate": {
    "name": "Codee V1 Launch Candidate - Restored",
    "locked_at": "2026-05-28T04:15:00Z",
    "backend_revision": "ai-k9-codee-digiapp-01107-bgq",
    "backend_url": "https://ai-k9-codee-digiapp-437923042920.us-central1.run.app",
    "frontend_url": "https://codee.chat",
    "clients_url": "https://clients.codee.chat",
    "mega_smoke_report": "output/smoke/mega-all-lanes-20260528T031207Z/mega-all-lanes-report.json",
    "mega_smoke_summary": "output/smoke/mega-all-lanes-20260528T031207Z/mega-all-lanes-summary.txt",
    "mega_smoke_result": {
      "ok": true,
      "steps_passed": 12,
      "steps_failed": 1,
      "required_failures": [],
      "optional_failures": ["thousand_readiness"]
    },
    "readiness_result": {
      "status": "guarded",
      "backend_health": "200 on ai-k9-codee-digiapp-01107-bgq",
      "cloud_run_capacity": "min 20, max 20, concurrency 160, 1 CPU, 2 GiB",
      "required_lanes": "passed",
      "watch_item": "Strict 120-concurrent backend API load has slow p95/p99 tail latency; user-facing 36-concurrent customer load had 0 failures and fast latency after billing recovery."
    },
    "route_loop_report": "tmp/codee-route-loop/latest.json",
    "route_loop_result": {
      "ok": true,
      "checks": 96,
      "failed": 0,
      "not_found": 0
    }
  },
  "owner_daily_commands": [
    {
      "id": "route-loop",
      "label": "Public route proof",
      "cadence": "daily and before promotion",
      "command": "python3 tools/codee_404_loop.py --loops 1 --timeout 30",
      "pass_rule": "0 failed and 0 not_found"
    },
    {
      "id": "mega-smoke",
      "label": "All-lanes paid smoke",
      "cadence": "after backend changes, before major traffic, and at least nightly",
      "command": "python3 \"Codee original/backend/scripts/codee_all_lanes_mega_smoke.py\" --skip-screenshots --light-load --readiness-optional",
      "pass_rule": "Required service lanes pass, required_failures is empty, and optional readiness warnings are documented"
    },
    {
      "id": "readiness-loop",
      "label": "Six-hour readiness scan",
      "cadence": "every six hours",
      "command": "bash tools/run_codee_six_hour_readiness_scan.sh",
      "pass_rule": "readiness JSON writes and no critical route or delivery failure"
    },
    {
      "id": "launch-control-scan",
      "label": "Launch-control proof packet",
      "cadence": "7 AM and 7 PM local",
      "command": "bash tools/run_codee_launch_control_scan.sh",
      "pass_rule": "route loop passes, launch manifest archived, and mega smoke passes when enabled"
    }
  ],
  "service_launch_contracts": [
    {
      "id": "qrcodee",
      "name": "QRCodee",
      "paywall": "Stripe checkout before permanent hosted delivery",
      "must_deliver": "branded QR image, hosted QR landing page, delivery room, scan proof",
      "proof": "qrcodee_batch"
    },
    {
      "id": "codeeflyer100",
      "name": "CodeeFlyer100",
      "paywall": "Stripe checkout before permanent hosted delivery",
      "must_deliver": "single hosted flyer image, one CTA, branded QR, delivery room",
      "proof": "codeeflyer100_batch"
    },
    {
      "id": "codeeflyer250",
      "name": "CodeeFlyer250",
      "paywall": "Stripe checkout before premium work order delivery",
      "must_deliver": "custom flyer prompt/request packet, hosted flyer, branded QR, up to three CTA options, 72-hour delivery note, 24-hour rejection window",
      "proof": "codeeflyer250_batch"
    },
    {
      "id": "codeeapp250",
      "name": "CodeeApp250",
      "paywall": "Stripe checkout before permanent hosted app delivery",
      "must_deliver": "guidebook/app page, buy button path, QR return image, delivery room",
      "proof": "core_paid_delivery_all_lanes"
    },
    {
      "id": "codeecard",
      "name": "CodeeCard",
      "paywall": "Stripe checkout before permanent card delivery",
      "must_deliver": "Sean-style card template, profile/tiles, QR, contact/booking path, delivery room",
      "proof": "codeecard_template"
    },
    {
      "id": "codeebeeper",
      "name": "CodeeBeeper",
      "paywall": "Stripe checkout before hosted storage workspace activation",
      "must_deliver": "pin-gated note/media workspace, storage status, support/reset instructions, delivery room",
      "proof": "codeebeeper_template"
    },
    {
      "id": "codeeblog",
      "name": "CodeeBlog",
      "paywall": "Stripe checkout before permanent hosted blog shell",
      "must_deliver": "blog/resource shell, capture path, delivery room",
      "proof": "core_paid_delivery_all_lanes"
    },
    {
      "id": "codee-business-suite",
      "name": "Codee Business Suite",
      "paywall": "Stripe checkout with eligible wallet/Klarna support when allowed",
      "must_deliver": "suite site, QRCodee, CodeeFlyer100, CodeeFlyer250, CodeeApp250, CodeeCard or blog lane, request room, video review, 30-day edit window",
      "proof": "core_paid_delivery_all_lanes"
    },
    {
      "id": "index-to-income",
      "name": "Index To Income",
      "paywall": "paid public path, free/sponsored veteran path",
      "must_deliver": "course room, downloadable packet/guide, delivery proof",
      "proof": "core_paid_delivery_all_lanes"
    },
    {
      "id": "invest-in-vets-shop",
      "name": "INVEST IN VETS Shop",
      "paywall": "Stripe checkout for paid packets and shop items",
      "must_deliver": "shop page, guide/download, checkout, delivery proof",
      "proof": "nvest_nonprofit"
    }
  ],
  "twenty_moves": [
    {"id": 1, "name": "Lock launch candidate", "status": "done", "proof": "post-billing mega smoke required lanes passed, required failures 0, route loop 96/96"},
    {"id": 2, "name": "Admin HQ daily command center", "status": "done", "proof": "ownerToday checklist live"},
    {"id": 3, "name": "Morning and evening launch scans", "status": "active_guarded", "proof": "tools/run_codee_launch_control_scan.sh with fail-fast route loop"},
    {"id": 4, "name": "Public proof wall", "status": "active", "proof": "codee-proof-wall.html"},
    {"id": 5, "name": "Service contracts", "status": "active", "proof": "assets/codee/service-contracts.json"},
    {"id": 6, "name": "Delivery room as client home", "status": "active", "proof": "codee-delivery.html and paid smoke"},
    {"id": 7, "name": "Stripe event ledger", "status": "active_after_backend_restore", "proof": "checkout_created, paid, generated, delivered fields in paid smoke"},
    {"id": 8, "name": "Short checkout context recovery", "status": "done", "proof": "CodeeFlyer250 and CodeeCard paid smokes pass"},
    {"id": 9, "name": "Usage billing reserved for Business Suite/support", "status": "policy_active", "proof": "SaaS manifest and contracts"},
    {"id": 10, "name": "Cloud Run launch capacity", "status": "restored_guarded", "proof": "Billing relinked to 011025-B68334-C6EDD7; Cloud Run revision ai-k9-codee-digiapp-01107-bgq returns /health 200; min20 max20 concurrency160 warm pool is live; noisy scan jobs paused during recovery"},
    {"id": 11, "name": "Firebase cache control discipline", "status": "active", "proof": "PWA release version and route loop"},
    {"id": 12, "name": "Three demos per lane", "status": "active", "proof": "service demo library and QR example routes"},
    {"id": 13, "name": "One-offer launch campaign", "status": "active", "proof": "Metricool blast dry run passed"},
    {"id": 14, "name": "Codee CLI education hook", "status": "active", "proof": "codee-cli.html and downloadable CLI"},
    {"id": 15, "name": "Codee.chat paid intake hook", "status": "active", "proof": "service_lane_routes 103/103"},
    {"id": 16, "name": "Veteran-first onboarding path", "status": "active", "proof": "codee-trainee-hub and Index To Income lanes"},
    {"id": 17, "name": "Client account prep", "status": "active", "proof": "delivery rooms, codee-customer-portal, client workspace routes"},
    {"id": 18, "name": "Brand/IP protection packet", "status": "active", "proof": "codee-ip-register.html"},
    {"id": 19, "name": "Clean nonprofit/business money separation", "status": "active", "proof": "CodeeAdmin lanes and data room checklist"},
    {"id": 20, "name": "Investor data room", "status": "active", "proof": "codee-data-room-checklist.html and investor readiness page"}
  ],
  "launch_gates": [
    "No public blast unless route loop has 0 failed and 0 not_found.",
    "No paid checkout or delivery-room launch while GCP billing is disabled or Cloud Run health is not 200.",
    "No paid lane claim unless that lane has a passing smoke report.",
    "No delivery complete status unless generated product URL and delivery room both return 200.",
    "No nonprofit funding claim unless money lane and mission use are separated in the owner workspace.",
    "No legal, tax, trademark, investor, or accounting claim without CODEECPA prep and licensed professional review."
  ]
}
