{
  "schema": "codee.release.v1",
  "version": "2026.05.28-launch-control-v3",
  "channel": "public-cli",
  "updated_at": "2026-05-28",
  "status": "v1-launch-restored-after-billing",
  "channels": [
    {
      "id": "canary",
      "audience": "owner and internal AI K9 tests",
      "rule": "First release target for risky changes."
    },
    {
      "id": "beta",
      "audience": "trusted partners and training testers",
      "rule": "Use after canary proof passes."
    },
    {
      "id": "stable",
      "audience": "public customers and trainees",
      "rule": "Default public upgrade channel."
    }
  ],
  "upgrade_model": {
    "check_command": "python3 codee.py doctor .",
    "upgrade_command": "python3 codee.py self-update . --write",
    "checkpoint_rule": "Save the current CLI before replacing it.",
    "minimum_version_rule": "Only block old clients for urgent backend or safety fixes."
  },
  "changelog": [
    "Restored the V1 launch candidate after billing was relinked, Cloud Run was restarted through revision ai-k9-codee-digiapp-01107-bgq, direct /health returned 200, clients.codee.chat static launch-control returned 200, required all-lanes smoke had 0 required failures, noisy local/Scheduler scan jobs were paused during recovery, and launch-control was moved to a guarded v3 status.",
    "Paused the V1 launch candidate after live proof found Cloud Run 503 responses and gcloud reported BILLING_DISABLED on project digiapp-clients; paid delivery waited for billing restoration and a fresh backend proof.",
    "Locked Codee V1 Launch Candidate with all-lanes mega smoke 13/13, route loop 94/94, backend revision ai-k9-codee-digiapp-01102-w74, launch-control page, launch-control manifest, and Admin HQ owner gates.",
    "Added launch-control command schedule for daily route proof, all-lanes paid smoke, six-hour readiness, and morning/evening launch-control scans.",
    "Extended the public proof wall, SaaS manifest, service worker cache, and route-loop targets with Codee Launch Control.",
    "Added CodeeAdmin Next 20 execution board: public page, manifest, CLI writes, daily digest links, doctor routes, and route-loop proof targets.",
    "Added CodeeAdmin state-by-state v2: per-state packet pages, readiness stages, official-source checklists, AI K9 action rooms, and generated state-packet indexes.",
    "Turned the 20-move launch packet and CODEECPA professional-review packet into live browser workspaces with local progress, notes, exports, and proof-wall routes.",
    "Added the 20-move public launch packet and launch command: launch page, onboarding, preview paywall, user IDs, dashboard, doctor explainer, demo scripts, veteran path, Business Suite, billing portal prep, release channels, remote CLI, data room, policies, case studies, weekly proof, partner mission, and valuation metrics.",
    "Added CODEECPA as a guarded legal/tax/CPA consultation-prep packet with source links, review lanes, red flags, professional question lists, and live-CPA SOP training surfaces.",
    "Expanded Codee company admin packets with data room, governance, trade-secret, contributor, nonprofit license prep, monthly impact report, case study, and investor scorecard outputs.",
    "Added the Codee company alignment layer: public alignment page, IP register, investor readiness scorecard, impact model, JSON manifest, and CLI company command.",
    "Added the Codee Remote 20-move foundation: host skeleton, installer, demo mode, security gate, readiness, audit, session, and revoke command surfaces.",
    "Added light SaaS public page, customer portal, proof wall, SaaS manifest, entitlements, and starter workspace command.",
    "Added Codee Remote Viewer and Remote CLI bridge planning surfaces, manifests, and command packets.",
    "Added veteran founder agent investment model so Codee can show the path from training to proof-backed company packet.",
    "Added install, self-update, login, registry, checkpoint, eval, preview, and lane-test command surfaces.",
    "Added Codex/Claude-inspired permission modes, hook events, state.json, sensitive-file guardrails, and doctor checks.",
    "Kept payment, hosting, storage, and third-party credential operations behind backend or owner-gated flows."
  ],
  "known_limits": [
    "Cloud Run launch capacity is currently kept inside the us-central1 project quota: min 20, max 20, 1 CPU, 2 GiB memory, and concurrency 160 on the restored guarded revision.",
    "Strict 120-concurrent backend API load still needs p95/p99 tail-latency tuning before claiming unrestricted high-concurrency launch traffic; user-facing 36-concurrent customer load recovered with 0 failures after billing was restored.",
    "Metricool/hourly Scheduler jobs and the five-minute Playwright scanner must stay guarded during backend deploys so launch checks do not stampede a warming revision.",
    "The public CLI is not a bundled local model; it is a business workflow client connected to Codee backend when requested.",
    "Stripe payment completion still requires a real hosted checkout or invoice flow.",
    "Owner deploy, GCloud, Metricool, Gmail, and storage credentials are not shipped to public downloads."
  ],
  "release_gate": [
    "py_compile passes",
    "doctor passes for a generated workspace",
    "lane-test passes locally",
    "launch, launch checklist, onboarding, SaaS, remote viewer, remote CLI bridge, remote installer, remote demo, remote security, customer portal, and proof wall return 200",
    "remote readiness passes for generated workspace",
    "404 loop passes public routes after deploy",
    "company alignment, IP register, investor readiness, agent investment model, impact model, and alignment JSON return 200",
    "business-with-a-mission, impact-report-template, data-room-checklist, CODEECPA, and CODEECPA workspace routes return 200",
    "CodeeAdmin Next 20 page and JSON manifest return 200 and appear in doctor, SaaS manifest, and route-loop proof",
    "Codee Launch Control page and manifest return 200 and show either the V1 launch candidate or the exact active blocker",
    "No paid launch while Cloud Run health is not 200 or GCP billing is disabled"
  ]
}
