{
  "app": "campaign-copilot",
  "workerName": "campaign-copilot",
  "phase": "11-worker-ui-d1-private-launch",
  "runtime": "cloudflare-worker-private-cockpit",
  "ready": false,
  "readyToDeploy": false,
  "privateAppRoutesWired": true,
  "fullAppHosted": false,
  "privateCockpitAvailable": true,
  "message": "Cloudflare Worker (Phase 11). Status JSON is public (no campaign data). Private cockpit HTML under /__private/* requires PRIVATE_UI_ON_WORKER=true + Access headers (or documented test bypass). Read-only demo cockpit — full Express remains mutation runtime. Production deploy blocked until D1/Access approved. externalWrite=false.",
  "bindings": {
    "d1Binding": "CAMPAIGN_DB",
    "r2Binding": "CAMPAIGN_EXPORTS",
    "d1Present": true,
    "r2Present": true
  },
  "safeRoutes": [
    "/",
    "/health",
    "/__worker-status"
  ],
  "privateCockpitRoutes": [
    "/__private/launch",
    "/__private/architecture",
    "/__private/process-flow",
    "/__private/dashboard",
    "/__private/campaigns/camp-demo-exec",
    "/__private/approvals",
    "/__private/platforms"
  ],
  "accessHeadersPresent": false,
  "privateUiFlagEnabled": true,
  "launchDoc": "docs/worker-ui-d1-private-launch.md",
  "deploymentDoc": "docs/cloudflare-deployment-prep.md",
  "liveWrites": {
    "externalWriteAllowed": false,
    "note": "Dry-run/live-shell only — Worker does not perform platform network creates/uploads/sends"
  }
}