Brief JSON
{
"schemaVersion": 1,
"checkedAt": "2026-06-17T22:59:19.921Z",
"status": "WAITING_ON_HANDOFFS",
"label": "Waiting On Handoffs",
"releaseCandidate": {
"status": "INTERNAL_ALPHA_ONLY",
"label": "Internal Alpha Only",
"readinessPercent": 41,
"paidBetaAllowed": false
},
"deployability": {
"status": "NO_GO_LIVE_MONEY",
"label": "No-Go Live Money",
"readinessPercent": 4,
"p0BlockerCount": 26
},
"handoffs": {
"label": "Waiting On User Handoffs",
"waitingOnUser": 17,
"waitingOnSecretStore": 9,
"readyForCodexReview": 0
},
"handoffDeltaPack": {
"status": "HANDOFF_DELTA_CHANGED_WAITING_ON_HANDOFFS",
"label": "Handoff Delta Changed Waiting On Handoffs",
"counts": {
"totalRows": 27,
"changedRows": 1,
"newlyReadyForCodexReview": 0,
"newlyWaitingOnUser": 1,
"newlyWaitingOnSecretStore": 0,
"uploadSlotChanges": 0,
"uploadSlotsWithFiles": 1,
"readyForCodexReview": 0,
"waitingOnUser": 17,
"waitingOnSecretStore": 9
},
"dashboardPath": "docs/launch_command_center/pages/handoff-readiness.html",
"csvPath": "docs/launch_command_center/handoff-delta-pack.csv",
"reportPath": "docs/launch_command_center/HANDOFF_DELTA_PACK.md"
},
"handoffPack": {
"status": "HANDOFFS_WAITING",
"label": "Handoffs Waiting",
"counts": {
"totalActions": 26,
"userActions": 17,
"secretActions": 9,
"readyForCodexReview": 0,
"uploadSlotsWithFiles": 1,
"phases": 7
},
"dashboardPath": "docs/launch_command_center/pages/handoff-pack.html",
"csvPath": "docs/launch_command_center/handoff-action-pack.csv",
"reportPath": "docs/launch_command_center/HANDOFF_ACTION_PACK.md"
},
"secretStorePack": {
"status": "SECRETS_WAITING",
"label": "Secrets Waiting",
"counts": {
"totalItems": 12,
"secretStoreItems": 9,
"cloudSyncItems": 3,
"billingWorkerSecrets": 8,
"commandCenterWorkerSecrets": 1,
"localOnlyItems": 11
},
"dashboardPath": "docs/launch_command_center/pages/secret-store.html",
"csvPath": "docs/launch_command_center/secret-store-pack.csv",
"reportPath": "docs/launch_command_center/SECRET_STORE_PACK.md"
},
"cloudBootstrapPack": {
"status": "CLOUD_BOOTSTRAP_WAITING_ON_API_TOKEN",
"label": "Cloud Bootstrap Waiting On API Token",
"counts": {
"resources": 9,
"waitingResources": 5,
"readyResources": 4,
"commandSteps": 36,
"secretCommands": 16,
"totalActions": 37,
"p0Actions": 11
},
"dashboardPath": "docs/launch_command_center/pages/cloud-bootstrap.html",
"csvPath": "docs/launch_command_center/cloud-bootstrap-pack.csv",
"reportPath": "docs/launch_command_center/CLOUD_BOOTSTRAP_PACK.md"
},
"cloudDeployPack": {
"status": "CLOUD_DEPLOY_PACK_WAITING_ON_HANDOFFS",
"label": "Cloud Deploy Pack Waiting On Handoffs",
"counts": {
"totalActions": 6,
"blockedActions": 6,
"failedActions": 0,
"userActions": 6,
"codexActions": 0,
"deployCommands": 8
},
"dashboardPath": "docs/launch_command_center/pages/cloud-deploy-pack.html",
"csvPath": "docs/launch_command_center/cloud-deploy-pack.csv",
"reportPath": "docs/launch_command_center/CLOUD_DEPLOY_PACK.md"
},
"hostedAlpha": {
"status": "HOSTED_ALPHA_READY",
"label": "Hosted Alpha Ready",
"publicUrl": "https://olympics-answers-defence-necklace.trycloudflare.com",
"providersReady": 4,
"providersTotal": 4,
"providerModels": [
"OpenAI: gpt-5.2",
"Anthropic: claude-sonnet-4-6",
"Gemini: gemini-2.5-flash",
"Grok/xAI: grok-4.3"
],
"apkVersion": "0.1.0-alpha.76",
"apkSha256": "ea425cf64d0fb71331f64ff0a8e290f19f0f5fbc51ec3518ef149a20f882d99d",
"manifestBridgeUrl": "https://olympics-answers-defence-necklace.trycloudflare.com",
"downloadMatchesManifest": true,
"supportLogReadback": true,
"supportLogId": "2026-06-16T23-18-02-868Z-55b47d13-76bb-461a-9782-2d9fdf9dd94f",
"tokenPresent": true,
"productionBoundary": "Internal alpha only until bridge.porterlabz.com Worker, R2 APK hosting, secret store, customer auth, and paid-beta distribution are deployed.",
"jsonPath": "docs/launch_command_center/hosted-alpha-status.json",
"reportPath": "docs/launch_command_center/HOSTED_ALPHA_STATUS.md",
"dashboardPath": "docs/launch_command_center/pages/cloud-mobile-bridge.html"
},
"modelBenchmark": {
"status": "MODEL_BENCHMARK_COMPLETE",
"label": "Model Benchmark Complete",
"winner": "grok",
"passCount": 12,
"failCount": 0,
"skippedCount": 0,
"providerCount": 4,
"taskCount": 3,
"liveRun": true,
"generatedAt": "2026-06-11T03:56:50.963Z",
"recommendations": [
{
"mode": "fast",
"provider": "gemini",
"model": "gemini-2.5-flash",
"score": 99,
"reason": "Gemini won fast benchmark task Fast exact instruction with score 99."
},
{
"mode": "deep",
"provider": "openai",
"model": "gpt-5.2",
"score": 85,
"reason": "OpenAI won deep benchmark task Deep debugging plan with score 85."
},
{
"mode": "safety",
"provider": "grok",
"model": "grok-4.3",
"score": 51,
"reason": "Grok/xAI won safety benchmark task High-impact control safety with score 51."
}
],
"noGoBoundary": "This benchmark informs routing and product claims. Paid launch still requires stable cloud deployment, customer auth, billing, support, legal, and release-trust gates.",
"jsonPath": "docs/launch_command_center/model-benchmark.json",
"csvPath": "docs/launch_command_center/model-benchmark.csv",
"reportPath": "docs/launch_command_center/MODEL_BENCHMARK.md",
"dashboardPath": "docs/launch_command_center/pages/model-benchmark.html"
},
"cloudflareDiscovery": {
"status": "CLOUDFLARE_DISCOVERY_AUTH_NEEDED",
"label": "Cloudflare Discovery Needs API Token",
"counts": {
"targetCount": 9,
"targetMatches": 0,
"suggestedDashboardUpdates": 0,
"commandFailures": 0,
"commandsRun": 2,
"d1Observed": 0,
"r2Observed": 0,
"pagesObserved": 0,
"workerDeploymentsObserved": 0
},
"dashboardPath": "docs/launch_command_center/pages/cloudflare-discovery.html",
"csvPath": "docs/launch_command_center/cloudflare-handoff-discovery.csv",
"reportPath": "docs/launch_command_center/CLOUDFLARE_HANDOFF_DISCOVERY.md"
},
"paymentLaunchPack": {
"status": "PAYMENT_LAUNCH_WAITING_ON_HANDOFFS",
"label": "Payment Launch Waiting On Handoffs",
"counts": {
"totalActions": 22,
"userActions": 22,
"secretActions": 16,
"paymentCommands": 10,
"p0Actions": 22
},
"dashboardPath": "docs/launch_command_center/pages/payment-launch-pack.html",
"csvPath": "docs/launch_command_center/payment-launch-pack.csv",
"reportPath": "docs/launch_command_center/PAYMENT_LAUNCH_PACK.md"
},
"supportOpsPack": {
"status": "SUPPORT_OPS_WAITING_ON_HANDOFFS",
"label": "Support Ops Waiting On Handoffs",
"counts": {
"totalActions": 9,
"userActions": 6,
"codexActions": 5,
"waitingActions": 5,
"readyActions": 4,
"supportCommands": 5,
"cannedReplies": 4
},
"dashboardPath": "docs/launch_command_center/pages/support.html",
"csvPath": "docs/launch_command_center/support-ops-pack.csv",
"reportPath": "docs/launch_command_center/SUPPORT_OPS_PACK.md"
},
"releaseTrustPack": {
"status": "RELEASE_TRUST_WAITING_ON_HANDOFFS",
"label": "Release Trust Waiting On Handoffs",
"counts": {
"totalActions": 2,
"userActions": 2,
"codexActions": 2,
"blockedActions": 2,
"p0Actions": 2,
"trustCommands": 6,
"noGoRules": 4
},
"dashboardPath": "docs/launch_command_center/pages/release-trust-pack.html",
"csvPath": "docs/launch_command_center/release-trust-pack.csv",
"reportPath": "docs/launch_command_center/RELEASE_TRUST_PACK.md"
},
"versionControlPack": {
"status": "VERSION_CONTROL_WAITING_ON_HANDOFFS",
"label": "Version Control Waiting On Handoffs",
"counts": {
"checks": 10,
"passedChecks": 7,
"blockedChecks": 2,
"totalActions": 2,
"userActions": 2,
"codexActions": 1,
"safeCommands": 7
},
"dashboardPath": "docs/launch_command_center/pages/version-control.html",
"csvPath": "docs/launch_command_center/version-control-pack.csv",
"reportPath": "docs/launch_command_center/VERSION_CONTROL_PACK.md"
},
"publicLaunchConfig": {
"status": "PUBLIC_LAUNCH_CONFIG_WAITING_ON_HANDOFFS",
"label": "Public Launch Config Waiting On Handoffs",
"counts": {
"totalActions": 7,
"readyActions": 5,
"waitingActions": 3,
"invalidActions": 0,
"readyEnvValues": 3
},
"dashboardPath": "docs/launch_command_center/pages/launch-site.html",
"csvPath": "docs/launch_command_center/public-launch-config.csv",
"reportPath": "docs/launch_command_center/PUBLIC_LAUNCH_CONFIG.md"
},
"decisionRecommendations": {
"status": "LAUNCH_DECISION_RECOMMENDATIONS_READY",
"label": "Launch Decision Recommendations Ready",
"counts": {
"totalRecommendations": 14,
"suggestedNotSaved": 2,
"savedMatches": 9,
"savedDifferent": 3,
"userDecisionTargets": 12,
"codexCanContinueItems": 14
},
"dashboardPath": "docs/launch_command_center/pages/decision-recommendations.html",
"csvPath": "docs/launch_command_center/launch-decision-recommendations.csv",
"reportPath": "docs/launch_command_center/LAUNCH_DECISION_RECOMMENDATIONS.md"
},
"collaborationWorkspace": {
"status": "COLLABORATION_WORKSPACE_WAITING_ON_HANDOFFS",
"label": "Collaboration Workspace Waiting On Handoffs",
"counts": {
"sections": 9,
"fields": 58,
"requiredFields": 48,
"savedRequiredFields": 38,
"uploadSlots": 14,
"uploadSlotsWithFiles": 1,
"handoffTasks": 24,
"cloudFields": 11,
"appVersionFields": 5,
"visualFields": 5
},
"dashboardPath": "docs/launch_command_center/index.html",
"csvPath": "docs/launch_command_center/collaboration-workspace.csv",
"reportPath": "docs/launch_command_center/COLLABORATION_WORKSPACE.md"
},
"visualProductionPack": {
"status": "VISUAL_PRODUCTION_WAITING_ON_HANDOFFS",
"label": "Visual Production Waiting On Handoffs",
"counts": {
"totalActions": 18,
"p0Actions": 1,
"p1Actions": 17,
"staleActions": 3,
"refreshActions": 13,
"videoActions": 2,
"userActions": 3,
"codexActions": 18,
"visualCommands": 6,
"noGoRules": 4
},
"dashboardPath": "docs/launch_command_center/pages/visuals.html",
"csvPath": "docs/launch_command_center/visual-production-pack.csv",
"reportPath": "docs/launch_command_center/VISUAL_PRODUCTION_PACK.md"
},
"cloud": {
"status": "BLOCKED_ON_CLOUD_HANDOFFS",
"label": "Blocked On Cloud Handoffs",
"blockedCount": 6
},
"automations": {
"status": "AUTOMATION_HANDOFFS_MISSING",
"label": "Automation Handoffs Missing",
"requiredActive": 8,
"requiredFound": 11
},
"marketing": {
"status": "CAMPAIGN_ASSETS_READY_FOR_FINAL_VALUES",
"label": "Campaign Assets Ready For Final Values",
"blockerSummary": "Final publication still needs domain, price, hosted AI cap, live checkout URL, support inbox, policy URLs, final screenshots, and recorded demo."
},
"visuals": {
"status": "VISUALS_IN_PROGRESS",
"label": "Visuals In Progress",
"trackedAssets": 24,
"readyAssets": 6
},
"userQueue": [
{
"type": "User Handoff",
"priority": "P0",
"owner": "User",
"lane": "Business Legal",
"title": "Attorney/accountant review approved for paid beta",
"status": "Waiting on user",
"action": "Mark Approved only after attorney/accountant review clears paid beta.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "billingRehearsal.attorneyReviewStatus",
"uploadSlot": "legal-review"
},
{
"type": "User Handoff",
"priority": "P0",
"owner": "User + Codex",
"lane": "Payments Licensing",
"title": "Billing rehearsal mode set to live for final money preflight",
"status": "Waiting on user",
"action": "Switch to live only after test-mode rehearsal, legal, support, and Stripe gates pass.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "billingRehearsal.mode",
"uploadSlot": "stripe-screenshots"
},
{
"type": "User Handoff",
"priority": "P0",
"owner": "User",
"lane": "Payments Licensing",
"title": "Hosted billing backend HTTPS URL saved",
"status": "Waiting on user",
"action": "Enter the hosted billing backend HTTPS base URL.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "billingRehearsal.backendBaseUrl",
"uploadSlot": "cloud-handoff"
},
{
"type": "User Handoff",
"priority": "P0",
"owner": "User",
"lane": "Payments Licensing",
"title": "Stripe webhook HTTPS endpoint saved",
"status": "Waiting on user",
"action": "Enter the Stripe webhook endpoint URL after it is created.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "billingRehearsal.webhookEndpointUrl",
"uploadSlot": "stripe-screenshots"
},
{
"type": "User Handoff",
"priority": "P0",
"owner": "User",
"lane": "Payments Licensing",
"title": "Customer Portal configured for cancellation, invoices, and payment methods",
"status": "Waiting on user",
"action": "Mark yes after Customer Portal cancellation, invoices, and payment methods are tested.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "billingRehearsal.customerPortalConfigured",
"uploadSlot": "stripe-screenshots"
},
{
"type": "User Handoff",
"priority": "P0",
"owner": "User",
"lane": "Support Ops",
"title": "Support inbox roundtrip confirmed",
"status": "Waiting on user",
"action": "Create the support inbox, send a test ticket, reply, and mark confirmed.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "billingRehearsal.supportInboxConfirmed",
"uploadSlot": "domain-email"
},
{
"type": "User Handoff",
"priority": "P0",
"owner": "User",
"lane": "Cloud Platform",
"title": "Cloudflare account ready",
"status": "Waiting on user",
"action": "Confirm the Cloudflare account that will host the dashboard and API.",
"dashboardPage": "pages/cloud.html",
"dashboardField": "cloudMigration.accountReady",
"uploadSlot": "cloud-handoff"
},
{
"type": "User Handoff",
"priority": "P0",
"owner": "User",
"lane": "Cloud Platform",
"title": "D1 database ID saved",
"status": "Waiting on user",
"action": "Paste the Cloudflare D1 database ID.",
"dashboardPage": "pages/cloud.html",
"dashboardField": "cloudMigration.d1DatabaseId",
"uploadSlot": "cloud-handoff"
},
{
"type": "User Handoff",
"priority": "P0",
"owner": "User + Codex",
"lane": "Cloud Platform",
"title": "Hosted mobile bridge Worker URL saved",
"status": "Waiting on user",
"action": "Enter the deployed HTTPS NyrA mobile bridge Worker URL.",
"dashboardPage": "pages/cloud-mobile-bridge.html",
"dashboardField": "mobileBridge.workerUrl",
"uploadSlot": "cloud-handoff"
},
{
"type": "User Handoff",
"priority": "P0",
"owner": "User + Codex",
"lane": "Cloud Platform",
"title": "Mobile bridge token secret configured",
"status": "Waiting on user",
"action": "Set the Worker bridge token secret and mark the mobile bridge secret status.",
"dashboardPage": "pages/cloud-mobile-bridge.html",
"dashboardField": "mobileBridge.secretStatus",
"uploadSlot": "cloud-handoff"
},
{
"type": "User Handoff",
"priority": "P0",
"owner": "User + Codex",
"lane": "Cloud Platform",
"title": "Mobile bridge full swarm provider secrets configured",
"status": "Waiting on user",
"action": "Set OpenAI, Anthropic, Gemini, and Grok provider secrets for the deployed mobile bridge.",
"dashboardPage": "pages/cloud-mobile-bridge.html",
"dashboardField": "mobileBridge.providerSecretStatus",
"uploadSlot": "cloud-handoff"
},
{
"type": "User Handoff",
"priority": "P0",
"owner": "User + Codex",
"lane": "Cloud Platform",
"title": "Mobile support-log R2 bucket saved",
"status": "Waiting on user",
"action": "Create and enter the SUPPORT_LOGS R2 bucket name for mobile diagnostics.",
"dashboardPage": "pages/cloud-mobile-bridge.html",
"dashboardField": "mobileBridge.r2BucketName",
"uploadSlot": "cloud-handoff"
}
],
"secretQueue": [
{
"type": "Secret Store",
"priority": "P0",
"owner": "User",
"lane": "Payments Licensing",
"title": "Deployment env has live Stripe secret key beginning with sk_live_",
"status": "Waiting on secret store",
"action": "Set STRIPE_SECRET_KEY in the deployment secret store or a temporary shell. Do not paste secrets into the dashboard.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "deployment secret store: STRIPE_SECRET_KEY",
"uploadSlot": "cloud-handoff"
},
{
"type": "Secret Store",
"priority": "P0",
"owner": "User",
"lane": "Payments Licensing",
"title": "Deployment env has Stripe webhook signing secret beginning with whsec_",
"status": "Waiting on secret store",
"action": "Set STRIPE_WEBHOOK_SECRET in the deployment secret store or a temporary shell. Do not paste secrets into the dashboard.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "deployment secret store: STRIPE_WEBHOOK_SECRET",
"uploadSlot": "cloud-handoff"
},
{
"type": "Secret Store",
"priority": "P0",
"owner": "User",
"lane": "Payments Licensing",
"title": "Deployment env has Stripe monthly Price ID beginning with price_",
"status": "Waiting on secret store",
"action": "Set NYRA_STRIPE_PRICE_PRO_MONTHLY in the deployment secret store or a temporary shell. Do not paste secrets into the dashboard.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "deployment secret store: NYRA_STRIPE_PRICE_PRO_MONTHLY",
"uploadSlot": "cloud-handoff"
},
{
"type": "Secret Store",
"priority": "P0",
"owner": "User",
"lane": "Payments Licensing",
"title": "Deployment env has HTTPS checkout success URL",
"status": "Waiting on secret store",
"action": "Set NYRA_BILLING_SUCCESS_URL in the deployment secret store or a temporary shell. Do not paste secrets into the dashboard.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "deployment secret store: NYRA_BILLING_SUCCESS_URL",
"uploadSlot": "cloud-handoff"
},
{
"type": "Secret Store",
"priority": "P0",
"owner": "User",
"lane": "Payments Licensing",
"title": "Deployment env has HTTPS checkout cancel URL",
"status": "Waiting on secret store",
"action": "Set NYRA_BILLING_CANCEL_URL in the deployment secret store or a temporary shell. Do not paste secrets into the dashboard.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "deployment secret store: NYRA_BILLING_CANCEL_URL",
"uploadSlot": "cloud-handoff"
},
{
"type": "Secret Store",
"priority": "P0",
"owner": "User",
"lane": "Payments Licensing",
"title": "Deployment env has HTTPS Customer Portal return URL",
"status": "Waiting on secret store",
"action": "Set NYRA_BILLING_RETURN_URL in the deployment secret store or a temporary shell. Do not paste secrets into the dashboard.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "deployment secret store: NYRA_BILLING_RETURN_URL",
"uploadSlot": "cloud-handoff"
},
{
"type": "Secret Store",
"priority": "P0",
"owner": "User",
"lane": "Payments Licensing",
"title": "Deployment env has long random license API token",
"status": "Waiting on secret store",
"action": "Set NYRA_LICENSE_API_TOKEN in the deployment secret store or a temporary shell. Do not paste secrets into the dashboard.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "deployment secret store: NYRA_LICENSE_API_TOKEN",
"uploadSlot": "cloud-handoff"
},
{
"type": "Secret Store",
"priority": "P0",
"owner": "User",
"lane": "Payments Licensing",
"title": "Deployment env has long random license signing secret",
"status": "Waiting on secret store",
"action": "Set NYRA_LICENSE_SIGNING_SECRET in the deployment secret store or a temporary shell. Do not paste secrets into the dashboard.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "deployment secret store: NYRA_LICENSE_SIGNING_SECRET",
"uploadSlot": "cloud-handoff"
},
{
"type": "Secret Store",
"priority": "P0",
"owner": "User",
"lane": "Payments Licensing",
"title": "Deployment env has long random Android APK download ticket secret",
"status": "Waiting on secret store",
"action": "Set NYRA_ANDROID_DOWNLOAD_TICKET_SECRET in the deployment secret store or a temporary shell. Do not paste secrets into the dashboard.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "deployment secret store: NYRA_ANDROID_DOWNLOAD_TICKET_SECRET",
"uploadSlot": "cloud-handoff"
}
],
"dashboardUpdateQueue": [],
"handoffDeltaQueue": [
{
"type": "Handoff Delta Pack",
"priority": "P0",
"owner": "User + Codex",
"lane": "QA",
"title": "Physical phone bridge self-test passed",
"status": "Waiting on user",
"action": "Run a phone bridge self-test against the deployed Worker and record the result.",
"dashboardPage": "pages/cloud-mobile-bridge.html",
"dashboardField": "mobileBridge.lastPhoneSelfTest",
"uploadSlot": "phone-evidence"
}
],
"deployabilityQueue": [
{
"type": "Deployability Blocker",
"priority": "P0",
"owner": "User",
"lane": "Business Legal",
"title": "Attorney/accountant review approved for paid beta",
"status": "Waiting on user",
"action": "Mark Approved only after attorney/accountant review clears paid beta.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "billingRehearsal.attorneyReviewStatus",
"uploadSlot": "legal-review",
"verificationCommand": "npm run deployability:preflight && npm run test:deployability-preflight",
"noGoRule": "No paid beta or paid download until every P0 deployability blocker is cleared."
},
{
"type": "Deployability Blocker",
"priority": "P0",
"owner": "User + Codex",
"lane": "Payments Licensing",
"title": "Billing rehearsal mode set to live for final money preflight",
"status": "User + Codex gated",
"action": "Switch to live only after test-mode rehearsal, legal, support, and Stripe gates pass.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "billingRehearsal.mode",
"uploadSlot": "stripe-screenshots",
"verificationCommand": "npm run deployability:preflight && npm run test:deployability-preflight",
"noGoRule": "No paid beta or paid download until every P0 deployability blocker is cleared."
},
{
"type": "Deployability Blocker",
"priority": "P0",
"owner": "User",
"lane": "Payments Licensing",
"title": "Hosted billing backend HTTPS URL saved",
"status": "Waiting on user",
"action": "Enter the hosted billing backend HTTPS base URL.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "billingRehearsal.backendBaseUrl",
"uploadSlot": "cloud-handoff",
"verificationCommand": "npm run deployability:preflight && npm run test:deployability-preflight",
"noGoRule": "No paid beta or paid download until every P0 deployability blocker is cleared."
},
{
"type": "Deployability Blocker",
"priority": "P0",
"owner": "User",
"lane": "Payments Licensing",
"title": "Stripe webhook HTTPS endpoint saved",
"status": "Waiting on user",
"action": "Enter the Stripe webhook endpoint URL after it is created.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "billingRehearsal.webhookEndpointUrl",
"uploadSlot": "stripe-screenshots",
"verificationCommand": "npm run deployability:preflight && npm run test:deployability-preflight",
"noGoRule": "No paid beta or paid download until every P0 deployability blocker is cleared."
},
{
"type": "Deployability Blocker",
"priority": "P0",
"owner": "User",
"lane": "Payments Licensing",
"title": "Customer Portal configured for cancellation, invoices, and payment methods",
"status": "Waiting on user",
"action": "Mark yes after Customer Portal cancellation, invoices, and payment methods are tested.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "billingRehearsal.customerPortalConfigured",
"uploadSlot": "stripe-screenshots",
"verificationCommand": "npm run deployability:preflight && npm run test:deployability-preflight",
"noGoRule": "No paid beta or paid download until every P0 deployability blocker is cleared."
},
{
"type": "Deployability Blocker",
"priority": "P0",
"owner": "User",
"lane": "Payments Licensing",
"title": "Deployment env has live Stripe secret key beginning with sk_live_",
"status": "Secret store",
"action": "Set STRIPE_SECRET_KEY in the deployment secret store or a temporary shell. Do not paste secrets into the dashboard.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "deployment secret store: STRIPE_SECRET_KEY",
"uploadSlot": "cloud-handoff",
"verificationCommand": "npm run deployability:preflight && npm run test:deployability-preflight",
"noGoRule": "No paid beta or paid download until every P0 deployability blocker is cleared."
},
{
"type": "Deployability Blocker",
"priority": "P0",
"owner": "User",
"lane": "Payments Licensing",
"title": "Deployment env has Stripe webhook signing secret beginning with whsec_",
"status": "Secret store",
"action": "Set STRIPE_WEBHOOK_SECRET in the deployment secret store or a temporary shell. Do not paste secrets into the dashboard.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "deployment secret store: STRIPE_WEBHOOK_SECRET",
"uploadSlot": "cloud-handoff",
"verificationCommand": "npm run deployability:preflight && npm run test:deployability-preflight",
"noGoRule": "No paid beta or paid download until every P0 deployability blocker is cleared."
},
{
"type": "Deployability Blocker",
"priority": "P0",
"owner": "User",
"lane": "Payments Licensing",
"title": "Deployment env has Stripe monthly Price ID beginning with price_",
"status": "Secret store",
"action": "Set NYRA_STRIPE_PRICE_PRO_MONTHLY in the deployment secret store or a temporary shell. Do not paste secrets into the dashboard.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "deployment secret store: NYRA_STRIPE_PRICE_PRO_MONTHLY",
"uploadSlot": "cloud-handoff",
"verificationCommand": "npm run deployability:preflight && npm run test:deployability-preflight",
"noGoRule": "No paid beta or paid download until every P0 deployability blocker is cleared."
},
{
"type": "Deployability Blocker",
"priority": "P0",
"owner": "User",
"lane": "Payments Licensing",
"title": "Deployment env has HTTPS checkout success URL",
"status": "Secret store",
"action": "Set NYRA_BILLING_SUCCESS_URL in the deployment secret store or a temporary shell. Do not paste secrets into the dashboard.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "deployment secret store: NYRA_BILLING_SUCCESS_URL",
"uploadSlot": "cloud-handoff",
"verificationCommand": "npm run deployability:preflight && npm run test:deployability-preflight",
"noGoRule": "No paid beta or paid download until every P0 deployability blocker is cleared."
},
{
"type": "Deployability Blocker",
"priority": "P0",
"owner": "User",
"lane": "Payments Licensing",
"title": "Deployment env has HTTPS checkout cancel URL",
"status": "Secret store",
"action": "Set NYRA_BILLING_CANCEL_URL in the deployment secret store or a temporary shell. Do not paste secrets into the dashboard.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "deployment secret store: NYRA_BILLING_CANCEL_URL",
"uploadSlot": "cloud-handoff",
"verificationCommand": "npm run deployability:preflight && npm run test:deployability-preflight",
"noGoRule": "No paid beta or paid download until every P0 deployability blocker is cleared."
},
{
"type": "Deployability Blocker",
"priority": "P0",
"owner": "User",
"lane": "Payments Licensing",
"title": "Deployment env has HTTPS Customer Portal return URL",
"status": "Secret store",
"action": "Set NYRA_BILLING_RETURN_URL in the deployment secret store or a temporary shell. Do not paste secrets into the dashboard.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "deployment secret store: NYRA_BILLING_RETURN_URL",
"uploadSlot": "cloud-handoff",
"verificationCommand": "npm run deployability:preflight && npm run test:deployability-preflight",
"noGoRule": "No paid beta or paid download until every P0 deployability blocker is cleared."
},
{
"type": "Deployability Blocker",
"priority": "P0",
"owner": "User",
"lane": "Payments Licensing",
"title": "Deployment env has long random license API token",
"status": "Secret store",
"action": "Set NYRA_LICENSE_API_TOKEN in the deployment secret store or a temporary shell. Do not paste secrets into the dashboard.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "deployment secret store: NYRA_LICENSE_API_TOKEN",
"uploadSlot": "cloud-handoff",
"verificationCommand": "npm run deployability:preflight && npm run test:deployability-preflight",
"noGoRule": "No paid beta or paid download until every P0 deployability blocker is cleared."
},
{
"type": "Deployability Blocker",
"priority": "P0",
"owner": "User",
"lane": "Payments Licensing",
"title": "Deployment env has long random license signing secret",
"status": "Secret store",
"action": "Set NYRA_LICENSE_SIGNING_SECRET in the deployment secret store or a temporary shell. Do not paste secrets into the dashboard.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "deployment secret store: NYRA_LICENSE_SIGNING_SECRET",
"uploadSlot": "cloud-handoff",
"verificationCommand": "npm run deployability:preflight && npm run test:deployability-preflight",
"noGoRule": "No paid beta or paid download until every P0 deployability blocker is cleared."
},
{
"type": "Deployability Blocker",
"priority": "P0",
"owner": "User",
"lane": "Payments Licensing",
"title": "Deployment env has long random Android APK download ticket secret",
"status": "Secret store",
"action": "Set NYRA_ANDROID_DOWNLOAD_TICKET_SECRET in the deployment secret store or a temporary shell. Do not paste secrets into the dashboard.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "deployment secret store: NYRA_ANDROID_DOWNLOAD_TICKET_SECRET",
"uploadSlot": "cloud-handoff",
"verificationCommand": "npm run deployability:preflight && npm run test:deployability-preflight",
"noGoRule": "No paid beta or paid download until every P0 deployability blocker is cleared."
},
{
"type": "Deployability Blocker",
"priority": "P0",
"owner": "User",
"lane": "Support Ops",
"title": "Support inbox roundtrip confirmed",
"status": "Waiting on user",
"action": "Create the support inbox, send a test ticket, reply, and mark confirmed.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "billingRehearsal.supportInboxConfirmed",
"uploadSlot": "domain-email",
"verificationCommand": "npm run deployability:preflight && npm run test:deployability-preflight",
"noGoRule": "No paid beta or paid download until every P0 deployability blocker is cleared."
},
{
"type": "Deployability Blocker",
"priority": "P0",
"owner": "User",
"lane": "Cloud Platform",
"title": "Cloudflare account ready",
"status": "Waiting on user",
"action": "Confirm the Cloudflare account that will host the dashboard and API.",
"dashboardPage": "pages/cloud.html",
"dashboardField": "cloudMigration.accountReady",
"uploadSlot": "cloud-handoff",
"verificationCommand": "npm run deployability:preflight && npm run test:deployability-preflight",
"noGoRule": "No paid beta or paid download until every P0 deployability blocker is cleared."
},
{
"type": "Deployability Blocker",
"priority": "P0",
"owner": "User",
"lane": "Cloud Platform",
"title": "D1 database ID saved",
"status": "Waiting on user",
"action": "Paste the Cloudflare D1 database ID.",
"dashboardPage": "pages/cloud.html",
"dashboardField": "cloudMigration.d1DatabaseId",
"uploadSlot": "cloud-handoff",
"verificationCommand": "npm run deployability:preflight && npm run test:deployability-preflight",
"noGoRule": "No paid beta or paid download until every P0 deployability blocker is cleared."
},
{
"type": "Deployability Blocker",
"priority": "P0",
"owner": "User + Codex",
"lane": "Cloud Platform",
"title": "Hosted mobile bridge Worker URL saved",
"status": "Waiting on user",
"action": "Enter the deployed HTTPS NyrA mobile bridge Worker URL.",
"dashboardPage": "pages/cloud-mobile-bridge.html",
"dashboardField": "mobileBridge.workerUrl",
"uploadSlot": "cloud-handoff",
"verificationCommand": "npm run deployability:preflight && npm run test:deployability-preflight",
"noGoRule": "No paid beta or paid download until every P0 deployability blocker is cleared."
},
{
"type": "Deployability Blocker",
"priority": "P0",
"owner": "User + Codex",
"lane": "Cloud Platform",
"title": "Mobile bridge token secret configured",
"status": "Secret store",
"action": "Set the Worker bridge token secret and mark the mobile bridge secret status.",
"dashboardPage": "pages/cloud-mobile-bridge.html",
"dashboardField": "mobileBridge.secretStatus",
"uploadSlot": "cloud-handoff",
"verificationCommand": "npm run deployability:preflight && npm run test:deployability-preflight",
"noGoRule": "No paid beta or paid download until every P0 deployability blocker is cleared."
},
{
"type": "Deployability Blocker",
"priority": "P0",
"owner": "User + Codex",
"lane": "Cloud Platform",
"title": "Mobile bridge full swarm provider secrets configured",
"status": "Secret store",
"action": "Set OpenAI, Anthropic, Gemini, and Grok provider secrets for the deployed mobile bridge.",
"dashboardPage": "pages/cloud-mobile-bridge.html",
"dashboardField": "mobileBridge.providerSecretStatus",
"uploadSlot": "cloud-handoff",
"verificationCommand": "npm run deployability:preflight && npm run test:deployability-preflight",
"noGoRule": "No paid beta or paid download until every P0 deployability blocker is cleared."
},
{
"type": "Deployability Blocker",
"priority": "P0",
"owner": "User + Codex",
"lane": "Cloud Platform",
"title": "Mobile support-log R2 bucket saved",
"status": "Waiting on user",
"action": "Create and enter the SUPPORT_LOGS R2 bucket name for mobile diagnostics.",
"dashboardPage": "pages/cloud-mobile-bridge.html",
"dashboardField": "mobileBridge.r2BucketName",
"uploadSlot": "cloud-handoff",
"verificationCommand": "npm run deployability:preflight && npm run test:deployability-preflight",
"noGoRule": "No paid beta or paid download until every P0 deployability blocker is cleared."
},
{
"type": "Deployability Blocker",
"priority": "P0",
"owner": "User + Codex",
"lane": "Cloud Platform",
"title": "Android releases R2 bucket saved",
"status": "Waiting on user",
"action": "Create and enter the ANDROID_RELEASES R2 bucket name for hosted APK updates.",
"dashboardPage": "pages/cloud-mobile-bridge.html",
"dashboardField": "mobileBridge.androidReleasesBucketName",
"uploadSlot": "cloud-handoff",
"verificationCommand": "npm run deployability:preflight && npm run test:deployability-preflight",
"noGoRule": "No paid beta or paid download until every P0 deployability blocker is cleared."
},
{
"type": "Deployability Blocker",
"priority": "P0",
"owner": "User + Codex",
"lane": "Cloud Platform",
"title": "Hosted Android APK route configured",
"status": "Waiting on user",
"action": "Upload the current APK to R2 and enter its object key.",
"dashboardPage": "pages/cloud-mobile-bridge.html",
"dashboardField": "mobileBridge.androidApkR2Key",
"uploadSlot": "cloud-handoff",
"verificationCommand": "npm run deployability:preflight && npm run test:deployability-preflight",
"noGoRule": "No paid beta or paid download until every P0 deployability blocker is cleared."
},
{
"type": "Deployability Blocker",
"priority": "P0",
"owner": "User + Codex",
"lane": "Release Ops",
"title": "Android paid-beta build points at stable bridge URL without bundled shared token",
"status": "User + Codex gated",
"action": "Deploy the stable bridge, remove the shared bundled alpha token from paid-beta builds, then rebuild Android from verified bridge evidence.",
"dashboardPage": "pages/cloud-mobile-bridge.html",
"dashboardField": "mobileBridge.bundledBridgeUrl",
"uploadSlot": "cloud-handoff",
"verificationCommand": "npm run deployability:preflight && npm run test:deployability-preflight",
"noGoRule": "No paid beta or paid download until every P0 deployability blocker is cleared."
},
{
"type": "Deployability Blocker",
"priority": "P0",
"owner": "User + Codex",
"lane": "QA",
"title": "Physical phone bridge self-test passed",
"status": "User + Codex gated",
"action": "Run a phone bridge self-test against the deployed Worker and record the result.",
"dashboardPage": "pages/cloud-mobile-bridge.html",
"dashboardField": "mobileBridge.lastPhoneSelfTest",
"uploadSlot": "phone-evidence",
"verificationCommand": "npm run deployability:preflight && npm run test:deployability-preflight",
"noGoRule": "No paid beta or paid download until every P0 deployability blocker is cleared."
},
{
"type": "Deployability Blocker",
"priority": "P0",
"owner": "User + Codex",
"lane": "Release Ops",
"title": "Paid beta installer is signed or store-trusted",
"status": "User + Codex gated",
"action": "Upload or generate signed/store-trusted release evidence after the signing path is chosen.",
"dashboardPage": "pages/release-package.html",
"dashboardField": "releasePackage.signingStatus",
"uploadSlot": "code-signing",
"verificationCommand": "npm run deployability:preflight && npm run test:deployability-preflight",
"noGoRule": "No paid beta or paid download until every P0 deployability blocker is cleared."
},
{
"type": "Deployability Blocker",
"priority": "P1",
"owner": "Codex",
"lane": "Visual Assets",
"title": "Launch visuals use current shipping app screenshots",
"status": "Codex queued",
"action": "Capture and approve current product screenshots after the shipping UI and billing/support flows are final.",
"dashboardPage": "pages/visuals.html",
"dashboardField": "visualProduction.finalScreenshotsApproved",
"uploadSlot": "product-screenshots",
"verificationCommand": "npm run deployability:preflight && npm run test:deployability-preflight",
"noGoRule": "No paid beta or paid download until every P0 deployability blocker is cleared."
}
],
"secretSetupQueue": [
{
"type": "Secret Setup",
"priority": "P0",
"owner": "User",
"lane": "Stripe Billing",
"title": "STRIPE_SECRET_KEY",
"status": "Secret missing",
"action": "Cloudflare billing Worker secret and temporary billing rehearsal shell. Setup command placeholder: npx wrangler secret put STRIPE_SECRET_KEY --cwd cloud/billing-worker --env production | $env:STRIPE_SECRET_KEY = \"<STRIPE_SECRET_KEY>\". Verify with npm run billing:live-preflight -- --mode test --allow-blocked.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "deployment secret store: STRIPE_SECRET_KEY",
"uploadSlot": "cloud-handoff",
"safeSetupCommands": [
"npx wrangler secret put STRIPE_SECRET_KEY --cwd cloud/billing-worker --env production",
"$env:STRIPE_SECRET_KEY = \"<STRIPE_SECRET_KEY>\""
],
"verificationCommand": "npm run billing:live-preflight -- --mode test --allow-blocked",
"noGoRule": "Never paste raw secret values into dashboard fields, Markdown files, CSV files, screenshots, source code, repo state, or chat."
},
{
"type": "Secret Setup",
"priority": "P0",
"owner": "User",
"lane": "Stripe Billing",
"title": "STRIPE_WEBHOOK_SECRET",
"status": "Secret missing",
"action": "Cloudflare billing Worker secret and temporary billing rehearsal shell. Setup command placeholder: npx wrangler secret put STRIPE_WEBHOOK_SECRET --cwd cloud/billing-worker --env production | $env:STRIPE_WEBHOOK_SECRET = \"<STRIPE_WEBHOOK_SECRET>\". Verify with npm run billing:live-preflight -- --mode test --allow-blocked.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "deployment secret store: STRIPE_WEBHOOK_SECRET",
"uploadSlot": "cloud-handoff",
"safeSetupCommands": [
"npx wrangler secret put STRIPE_WEBHOOK_SECRET --cwd cloud/billing-worker --env production",
"$env:STRIPE_WEBHOOK_SECRET = \"<STRIPE_WEBHOOK_SECRET>\""
],
"verificationCommand": "npm run billing:live-preflight -- --mode test --allow-blocked",
"noGoRule": "Never paste raw secret values into dashboard fields, Markdown files, CSV files, screenshots, source code, repo state, or chat."
},
{
"type": "Secret Setup",
"priority": "P0",
"owner": "User",
"lane": "Stripe Billing",
"title": "NYRA_STRIPE_PRICE_PRO_MONTHLY",
"status": "Secret missing",
"action": "Cloudflare billing Worker secret and temporary billing rehearsal shell. Setup command placeholder: npx wrangler secret put NYRA_STRIPE_PRICE_PRO_MONTHLY --cwd cloud/billing-worker --env production | $env:NYRA_STRIPE_PRICE_PRO_MONTHLY = \"<NYRA_STRIPE_PRICE_PRO_MONTHLY>\". Verify with npm run billing:live-preflight -- --mode test --allow-blocked.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "deployment secret store: NYRA_STRIPE_PRICE_PRO_MONTHLY",
"uploadSlot": "cloud-handoff",
"safeSetupCommands": [
"npx wrangler secret put NYRA_STRIPE_PRICE_PRO_MONTHLY --cwd cloud/billing-worker --env production",
"$env:NYRA_STRIPE_PRICE_PRO_MONTHLY = \"<NYRA_STRIPE_PRICE_PRO_MONTHLY>\""
],
"verificationCommand": "npm run billing:live-preflight -- --mode test --allow-blocked",
"noGoRule": "Never paste raw secret values into dashboard fields, Markdown files, CSV files, screenshots, source code, repo state, or chat."
},
{
"type": "Secret Setup",
"priority": "P0",
"owner": "User",
"lane": "NyrA Billing",
"title": "NYRA_BILLING_SUCCESS_URL",
"status": "Secret missing",
"action": "Cloudflare billing Worker secret or hosted backend environment variable. Setup command placeholder: npx wrangler secret put NYRA_BILLING_SUCCESS_URL --cwd cloud/billing-worker --env production | $env:NYRA_BILLING_SUCCESS_URL = \"<NYRA_BILLING_SUCCESS_URL>\". Verify with npm run billing:live-preflight -- --mode test --allow-blocked.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "deployment secret store: NYRA_BILLING_SUCCESS_URL",
"uploadSlot": "cloud-handoff",
"safeSetupCommands": [
"npx wrangler secret put NYRA_BILLING_SUCCESS_URL --cwd cloud/billing-worker --env production",
"$env:NYRA_BILLING_SUCCESS_URL = \"<NYRA_BILLING_SUCCESS_URL>\""
],
"verificationCommand": "npm run billing:live-preflight -- --mode test --allow-blocked",
"noGoRule": "Never paste raw secret values into dashboard fields, Markdown files, CSV files, screenshots, source code, repo state, or chat."
},
{
"type": "Secret Setup",
"priority": "P0",
"owner": "User",
"lane": "NyrA Billing",
"title": "NYRA_BILLING_CANCEL_URL",
"status": "Secret missing",
"action": "Cloudflare billing Worker secret or hosted backend environment variable. Setup command placeholder: npx wrangler secret put NYRA_BILLING_CANCEL_URL --cwd cloud/billing-worker --env production | $env:NYRA_BILLING_CANCEL_URL = \"<NYRA_BILLING_CANCEL_URL>\". Verify with npm run billing:live-preflight -- --mode test --allow-blocked.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "deployment secret store: NYRA_BILLING_CANCEL_URL",
"uploadSlot": "cloud-handoff",
"safeSetupCommands": [
"npx wrangler secret put NYRA_BILLING_CANCEL_URL --cwd cloud/billing-worker --env production",
"$env:NYRA_BILLING_CANCEL_URL = \"<NYRA_BILLING_CANCEL_URL>\""
],
"verificationCommand": "npm run billing:live-preflight -- --mode test --allow-blocked",
"noGoRule": "Never paste raw secret values into dashboard fields, Markdown files, CSV files, screenshots, source code, repo state, or chat."
},
{
"type": "Secret Setup",
"priority": "P0",
"owner": "User",
"lane": "NyrA Billing",
"title": "NYRA_BILLING_RETURN_URL",
"status": "Secret missing",
"action": "Cloudflare billing Worker secret or hosted backend environment variable. Setup command placeholder: npx wrangler secret put NYRA_BILLING_RETURN_URL --cwd cloud/billing-worker --env production | $env:NYRA_BILLING_RETURN_URL = \"<NYRA_BILLING_RETURN_URL>\". Verify with npm run billing:live-preflight -- --mode test --allow-blocked.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "deployment secret store: NYRA_BILLING_RETURN_URL",
"uploadSlot": "cloud-handoff",
"safeSetupCommands": [
"npx wrangler secret put NYRA_BILLING_RETURN_URL --cwd cloud/billing-worker --env production",
"$env:NYRA_BILLING_RETURN_URL = \"<NYRA_BILLING_RETURN_URL>\""
],
"verificationCommand": "npm run billing:live-preflight -- --mode test --allow-blocked",
"noGoRule": "Never paste raw secret values into dashboard fields, Markdown files, CSV files, screenshots, source code, repo state, or chat."
},
{
"type": "Secret Setup",
"priority": "P0",
"owner": "User",
"lane": "NyrA License",
"title": "NYRA_LICENSE_API_TOKEN",
"status": "Secret missing",
"action": "Cloudflare billing Worker secret and desktop activation configuration. Setup command placeholder: npx wrangler secret put NYRA_LICENSE_API_TOKEN --cwd cloud/billing-worker --env production | $env:NYRA_LICENSE_API_TOKEN = \"<NYRA_LICENSE_API_TOKEN>\". Verify with npm run cloud:billing:check && npm run test:cloud-billing-worker.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "deployment secret store: NYRA_LICENSE_API_TOKEN",
"uploadSlot": "cloud-handoff",
"safeSetupCommands": [
"npx wrangler secret put NYRA_LICENSE_API_TOKEN --cwd cloud/billing-worker --env production",
"$env:NYRA_LICENSE_API_TOKEN = \"<NYRA_LICENSE_API_TOKEN>\""
],
"verificationCommand": "npm run cloud:billing:check && npm run test:cloud-billing-worker",
"noGoRule": "Never paste raw secret values into dashboard fields, Markdown files, CSV files, screenshots, source code, repo state, or chat."
},
{
"type": "Secret Setup",
"priority": "P0",
"owner": "User",
"lane": "NyrA License",
"title": "NYRA_LICENSE_SIGNING_SECRET",
"status": "Secret missing",
"action": "Cloudflare billing Worker and mobile bridge Worker secret. Setup command placeholder: npx wrangler secret put NYRA_LICENSE_SIGNING_SECRET --cwd cloud/billing-worker --env production | npx wrangler secret put NYRA_LICENSE_SIGNING_SECRET --cwd cloud/mobile-bridge-worker --env production. Verify with npm run cloud:billing:check && npm run test:cloud-billing-worker && npm run cloud:mobile-bridge:check.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "deployment secret store: NYRA_LICENSE_SIGNING_SECRET",
"uploadSlot": "cloud-handoff",
"safeSetupCommands": [
"npx wrangler secret put NYRA_LICENSE_SIGNING_SECRET --cwd cloud/billing-worker --env production",
"npx wrangler secret put NYRA_LICENSE_SIGNING_SECRET --cwd cloud/mobile-bridge-worker --env production",
"$env:NYRA_LICENSE_SIGNING_SECRET = \"<NYRA_LICENSE_SIGNING_SECRET>\""
],
"verificationCommand": "npm run cloud:billing:check && npm run test:cloud-billing-worker && npm run cloud:mobile-bridge:check",
"noGoRule": "Never paste raw secret values into dashboard fields, Markdown files, CSV files, screenshots, source code, repo state, or chat."
},
{
"type": "Secret Setup",
"priority": "P0",
"owner": "User",
"lane": "NyrA Mobile Bridge",
"title": "NYRA_ANDROID_DOWNLOAD_TICKET_SECRET",
"status": "Secret missing",
"action": "Cloudflare mobile bridge Worker secret. Setup command placeholder: npx wrangler secret put NYRA_ANDROID_DOWNLOAD_TICKET_SECRET --cwd cloud/mobile-bridge-worker --env production | $env:NYRA_ANDROID_DOWNLOAD_TICKET_SECRET = \"<NYRA_ANDROID_DOWNLOAD_TICKET_SECRET>\". Verify with npm run cloud:mobile-bridge:check && npm run test:mobile-bridge-security.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "deployment secret store: NYRA_ANDROID_DOWNLOAD_TICKET_SECRET",
"uploadSlot": "cloud-handoff",
"safeSetupCommands": [
"npx wrangler secret put NYRA_ANDROID_DOWNLOAD_TICKET_SECRET --cwd cloud/mobile-bridge-worker --env production",
"$env:NYRA_ANDROID_DOWNLOAD_TICKET_SECRET = \"<NYRA_ANDROID_DOWNLOAD_TICKET_SECRET>\""
],
"verificationCommand": "npm run cloud:mobile-bridge:check && npm run test:mobile-bridge-security",
"noGoRule": "Never paste raw secret values into dashboard fields, Markdown files, CSV files, screenshots, source code, repo state, or chat."
},
{
"type": "Secret Setup",
"priority": "P1",
"owner": "User",
"lane": "Cloud Command Center",
"title": "NYRA_COMMAND_TOKEN",
"status": "Waiting on private token",
"action": "Cloudflare command-center Worker secret. Setup command placeholder: npx wrangler secret put NYRA_COMMAND_TOKEN --cwd cloud/command-center-worker --env production. Verify with npm run cloud:command-center:health.",
"dashboardPage": "pages/cloud.html",
"dashboardField": "deployment secret store: NYRA_COMMAND_TOKEN",
"uploadSlot": "cloud-handoff",
"safeSetupCommands": [
"npx wrangler secret put NYRA_COMMAND_TOKEN --cwd cloud/command-center-worker --env production"
],
"verificationCommand": "npm run cloud:command-center:health",
"noGoRule": "Never place the command-center bearer token into wrangler.jsonc, dashboard state, repo files, screenshots, or chat."
},
{
"type": "Cloud Secret Setup",
"priority": "P1",
"owner": "User + Codex",
"lane": "Cloud Command Center",
"title": "NYRA_COMMAND_CENTER_API_URL",
"status": "Waiting on deployed Worker URL",
"action": "Temporary local shell and browser Cloud Connection URL field after Worker deployment. Setup command placeholder: $env:NYRA_COMMAND_CENTER_API_URL = \"https://<your-command-center-worker-url>\". Verify with npm run cloud:command-center:health.",
"dashboardPage": "pages/cloud.html",
"dashboardField": "cloudSync.apiUrl",
"uploadSlot": "cloud-handoff",
"safeSetupCommands": [
"$env:NYRA_COMMAND_CENTER_API_URL = \"https://<your-command-center-worker-url>\""
],
"verificationCommand": "npm run cloud:command-center:health",
"noGoRule": "Never publish a private dashboard URL without Cloudflare Access or bearer-token auth. The Worker URL itself can be saved in the dashboard."
},
{
"type": "Cloud Secret Setup",
"priority": "P1",
"owner": "User",
"lane": "Cloud Command Center",
"title": "NYRA_COMMAND_CENTER_TOKEN",
"status": "Waiting on temporary sync token",
"action": "Temporary local shell and browser localStorage only. Setup command placeholder: $env:NYRA_COMMAND_CENTER_TOKEN = \"<same private value as NYRA_COMMAND_TOKEN>\". Verify with npm run cloud:command-center:health.",
"dashboardPage": "pages/cloud.html",
"dashboardField": "browser localStorage only: nyraCommandCenterApiConfig.token",
"uploadSlot": "cloud-handoff",
"safeSetupCommands": [
"$env:NYRA_COMMAND_CENTER_TOKEN = \"<same private value as NYRA_COMMAND_TOKEN>\""
],
"verificationCommand": "npm run cloud:command-center:health",
"noGoRule": "Store this only in the current shell or browser Cloud Connection control; clear it after use and never commit it."
}
],
"cloudBootstrapPackQueue": [
{
"type": "Cloud Bootstrap Pack",
"priority": "P0",
"owner": "User",
"lane": "1. Authentication",
"title": "Cloudflare API token required",
"status": "Waiting on user",
"action": "Create a scoped Cloudflare API token for the account that will host NyrA, set it as CLOUDFLARE_API_TOKEN in the local shell or automation secret store, then rerun npm run cloudflare:discover.",
"dashboardPage": "pages/cloud-bootstrap.html",
"dashboardField": "cloudMigration.accountReady",
"uploadSlot": "cloud-handoff",
"verificationCommand": "npm run cloudflare:discover",
"noGoRule": "Never store Cloudflare tokens, API keys, recovery codes, or password material in repo files or dashboard state."
},
{
"type": "Cloud Bootstrap Pack",
"priority": "P1",
"owner": "User",
"lane": "1. Authentication",
"title": "Wrangler login",
"status": "Optional fallback",
"action": "If you are sitting at the Windows desktop and prefer browser auth, run npx wrangler login and approve the Cloudflare account that will host NyrA. Automation still needs CLOUDFLARE_API_TOKEN.",
"dashboardPage": "pages/cloud-bootstrap.html",
"dashboardField": "cloudMigration.accountReady",
"uploadSlot": "cloud-handoff",
"verificationCommand": "npm run cloudflare:discover",
"noGoRule": "Never store Cloudflare tokens, API keys, recovery codes, or password material in repo files or dashboard state."
},
{
"type": "Cloud Bootstrap Pack",
"priority": "P0",
"owner": "User + Codex",
"lane": "2. Remote Resources",
"title": "D1: nyra_command_center",
"status": "Waiting on Cloudflare API token",
"action": "Create a scoped Cloudflare API token for the account that will host NyrA, set it as CLOUDFLARE_API_TOKEN in the local shell or automation secret store, then rerun npm run cloudflare:discover.",
"dashboardPage": "pages/cloud.html",
"dashboardField": "cloudMigration.d1DatabaseId",
"uploadSlot": "cloud-handoff",
"verificationCommand": "npm run cloudflare:discover",
"noGoRule": "Do not deploy command-center Worker production until this D1 database_id is concrete in wrangler.jsonc."
},
{
"type": "Cloud Bootstrap Pack",
"priority": "P0",
"owner": "User + Codex",
"lane": "2. Remote Resources",
"title": "D1: nyra_billing",
"status": "Waiting on Cloudflare API token",
"action": "Create a scoped Cloudflare API token for the account that will host NyrA, set it as CLOUDFLARE_API_TOKEN in the local shell or automation secret store, then rerun npm run cloudflare:discover.",
"dashboardPage": "pages/cloud-billing.html",
"dashboardField": "billingCloud.d1DatabaseId",
"uploadSlot": "cloud-handoff",
"verificationCommand": "npm run cloudflare:discover",
"noGoRule": "Do not deploy billing Worker production until this D1 database_id is concrete in wrangler.jsonc."
},
{
"type": "Cloud Bootstrap Pack",
"priority": "P0",
"owner": "User + Codex",
"lane": "2. Remote Resources",
"title": "R2: nyra-command-center-uploads",
"status": "Ready for config review",
"action": "Run discovery/config sync and verify the non-secret ID or URL is saved in the dashboard before deployment.",
"dashboardPage": "pages/cloud.html",
"dashboardField": "cloudMigration.r2Bucket",
"uploadSlot": "cloud-handoff",
"verificationCommand": "npm run cloudflare:discover",
"noGoRule": "Keep the handoff upload bucket private; never enable public bucket access for private launch evidence."
},
{
"type": "Cloud Bootstrap Pack",
"priority": "P0",
"owner": "User + Codex",
"lane": "2. Remote Resources",
"title": "R2: nyra-mobile-support-logs",
"status": "Ready for config review",
"action": "Run discovery/config sync and verify the non-secret ID or URL is saved in the dashboard before deployment.",
"dashboardPage": "pages/cloud-mobile-bridge.html",
"dashboardField": "mobileBridge.r2BucketName",
"uploadSlot": "cloud-handoff",
"verificationCommand": "npm run cloudflare:discover && npm run cloud:mobile-bridge:check",
"noGoRule": "Keep mobile support diagnostics private; only redacted support-log readbacks may be exposed to support flows."
},
{
"type": "Cloud Bootstrap Pack",
"priority": "P1",
"owner": "User + Codex",
"lane": "2. Remote Resources",
"title": "R2: nyra-android-releases",
"status": "Ready for config review",
"action": "Run discovery/config sync and verify the non-secret ID or URL is saved in the dashboard before deployment.",
"dashboardPage": "pages/cloud-mobile-bridge.html",
"dashboardField": "mobileBridge.androidReleasesBucketName",
"uploadSlot": "cloud-handoff",
"verificationCommand": "npm run cloudflare:discover && npm run cloud:mobile-bridge:check",
"noGoRule": "Serve APK downloads through ticketed Worker routes, not public unauthenticated bucket URLs."
},
{
"type": "Cloud Bootstrap Pack",
"priority": "P1",
"owner": "User + Codex",
"lane": "2. Remote Resources",
"title": "Pages: nyra-command-center-dashboard",
"status": "Ready for config review",
"action": "Run discovery/config sync and verify the non-secret ID or URL is saved in the dashboard before deployment.",
"dashboardPage": "pages/cloud.html",
"dashboardField": "cloudPages.projectName",
"uploadSlot": "cloud-handoff",
"verificationCommand": "npm run cloudflare:discover",
"noGoRule": "Protect the dashboard with Cloudflare Access or equivalent private access before storing real business records."
},
{
"type": "Cloud Bootstrap Pack",
"priority": "P1",
"owner": "Codex",
"lane": "2. Remote Resources",
"title": "Worker: nyra-command-center-api",
"status": "Waiting on Cloudflare API token",
"action": "Create a scoped Cloudflare API token for the account that will host NyrA, set it as CLOUDFLARE_API_TOKEN in the local shell or automation secret store, then rerun npm run cloudflare:discover.",
"dashboardPage": "pages/cloud.html",
"dashboardField": "cloudSync.apiUrl",
"uploadSlot": "cloud-handoff",
"verificationCommand": "npm run cloud:command-center:health",
"noGoRule": "Do not deploy until command-center D1/R2, ALLOWED_ORIGIN, and NYRA_COMMAND_TOKEN are configured."
},
{
"type": "Cloud Bootstrap Pack",
"priority": "P1",
"owner": "Codex",
"lane": "2. Remote Resources",
"title": "Worker: nyra-billing-api",
"status": "Waiting on Cloudflare API token",
"action": "Create a scoped Cloudflare API token for the account that will host NyrA, set it as CLOUDFLARE_API_TOKEN in the local shell or automation secret store, then rerun npm run cloudflare:discover.",
"dashboardPage": "pages/cloud-billing.html",
"dashboardField": "billingCloud.workerUrl",
"uploadSlot": "cloud-handoff",
"verificationCommand": "npm run cloud:billing:check",
"noGoRule": "Do not deploy live billing until Stripe test-mode rehearsal, secrets, Customer Portal, support, and policy gates pass."
},
{
"type": "Cloud Bootstrap Pack",
"priority": "P1",
"owner": "Codex",
"lane": "2. Remote Resources",
"title": "Worker: nyra-mobile-bridge-api",
"status": "Waiting on Cloudflare API token",
"action": "Create a scoped Cloudflare API token for the account that will host NyrA, set it as CLOUDFLARE_API_TOKEN in the local shell or automation secret store, then rerun npm run cloudflare:discover.",
"dashboardPage": "pages/cloud-mobile-bridge.html",
"dashboardField": "mobileBridge.workerUrl",
"uploadSlot": "cloud-handoff",
"verificationCommand": "npm run cloud:mobile-bridge:check && npm run test:mobile-bridge-security",
"noGoRule": "Do not rebuild Android paid-beta against this Worker until R2 APK hosting, provider secrets, device-token auth, and phone self-test evidence pass."
},
{
"type": "Cloud Bootstrap Pack",
"priority": "P0",
"owner": "Codex",
"lane": "3. Config Sync",
"title": "sync non secret config",
"status": "Waiting on prior gates",
"action": "Apply saved non-secret dashboard values to production Worker configs and verify the mobile bridge bootstrap plan.",
"dashboardPage": "pages/cloud-bootstrap.html",
"dashboardField": "",
"uploadSlot": "cloud-handoff",
"verificationCommand": "npm run cloud:command-center:config:sync && npm run cloud:billing:config:sync && npm run cloud:mobile-bridge:bootstrap -- --dry-run --skip-secrets --skip-deploy",
"noGoRule": "This must not write Stripe secrets, bearer tokens, or Cloudflare tokens into repo files."
},
{
"type": "Cloud Bootstrap Pack",
"priority": "P0",
"owner": "User + Codex",
"lane": "4. Secrets",
"title": "command token secret",
"status": "Waiting on prior gates",
"action": "Set the private command-center API bearer token through Wrangler secrets only.",
"dashboardPage": "pages/cloud-bootstrap.html",
"dashboardField": "",
"uploadSlot": "cloud-handoff",
"verificationCommand": "npx wrangler secret put NYRA_COMMAND_TOKEN --cwd cloud/command-center-worker --env production",
"noGoRule": "Do not paste this token into dashboard fields, repo files, Markdown, CSV, screenshots, or chat."
},
{
"type": "Cloud Bootstrap Pack",
"priority": "P0",
"owner": "User + Codex",
"lane": "4. Secrets",
"title": "billing secret stripe secret key",
"status": "Waiting on prior gates",
"action": "Set STRIPE_SECRET_KEY for the billing Worker through Wrangler secrets only.",
"dashboardPage": "pages/cloud-bootstrap.html",
"dashboardField": "",
"uploadSlot": "cloud-handoff",
"verificationCommand": "npx wrangler secret put STRIPE_SECRET_KEY --cwd cloud/billing-worker --env production",
"noGoRule": "Do not paste Stripe, license, or webhook secret values into the dashboard or repo."
}
],
"cloudDeployPackQueue": [
{
"type": "Cloud Deploy Pack",
"priority": "P0",
"owner": "User",
"lane": "1. Account And Access",
"title": "Cloudflare account confirmed",
"status": "blocked",
"action": "Confirm the Cloudflare account that will host NyrA command center Pages, Worker, D1, and R2.",
"dashboardPage": "pages/cloud.html",
"dashboardField": "cloudMigration.accountReady",
"uploadSlot": "cloud-handoff"
},
{
"type": "Cloud Deploy Pack",
"priority": "P0",
"owner": "User",
"lane": "1. Account And Access",
"title": "Cloud admin email entered",
"status": "blocked",
"action": "Enter the Cloudflare admin email that owns Access policy and deployment permissions.",
"dashboardPage": "pages/cloud.html",
"dashboardField": "cloudMigration.adminEmail",
"uploadSlot": "cloud-handoff"
},
{
"type": "Cloud Deploy Pack",
"priority": "P0",
"owner": "User",
"lane": "3. D1 And R2 Resources",
"title": "D1 database ID entered",
"status": "blocked",
"action": "Create the Cloudflare D1 database for command-center state, then save its database_id in the dashboard.",
"dashboardPage": "pages/cloud.html",
"dashboardField": "cloudMigration.d1DatabaseId",
"uploadSlot": "cloud-handoff"
},
{
"type": "Cloud Deploy Pack",
"priority": "P0",
"owner": "User",
"lane": "4. Worker Configuration",
"title": "Wrangler D1 database ID resolved",
"status": "blocked",
"action": "Replace the production D1 database_id placeholder in cloud/command-center-worker/wrangler.jsonc after the D1 id is known.",
"dashboardPage": "pages/cloud.html",
"dashboardField": "cloudMigration.d1DatabaseId",
"uploadSlot": "cloud-handoff"
},
{
"type": "Cloud Deploy Pack",
"priority": "P0",
"owner": "User",
"lane": "5. First Cloud Sync",
"title": "Cloud API URL available for sync",
"status": "blocked",
"action": "After Worker deployment, set NYRA_COMMAND_CENTER_API_URL in a temporary shell and the browser Cloud Connection URL field.",
"dashboardPage": "pages/cloud.html",
"dashboardField": "cloudSync.apiUrl",
"uploadSlot": "cloud-handoff"
},
{
"type": "Cloud Deploy Pack",
"priority": "P0",
"owner": "User",
"lane": "5. First Cloud Sync",
"title": "Cloud API token available for sync",
"status": "blocked",
"action": "Set NYRA_COMMAND_CENTER_TOKEN in a temporary shell using the same private value as NYRA_COMMAND_TOKEN after the Worker secret is created.",
"dashboardPage": "pages/cloud.html",
"dashboardField": "browser localStorage only: nyraCommandCenterApiConfig.token",
"uploadSlot": "cloud-handoff"
}
],
"hostedAlphaQueue": [
{
"type": "Hosted Alpha",
"priority": "P1",
"owner": "Codex",
"lane": "Mobile Bridge",
"title": "Hosted alpha phone test stays green",
"status": "Hosted Alpha Ready",
"action": "Run npm run alpha:hosted:check before phone testing; 4/4 providers ready, APK 0.1.0-alpha.76, download hash matches manifest, support log readback passed (2026-06-16T23-18-02-868Z-55b47d13-76bb-461a-9782-2d9fdf9dd94f).",
"dashboardPage": "pages/cloud-mobile-bridge.html",
"dashboardField": "mobileBridge.lastPhoneSelfTest",
"uploadSlot": "phone-evidence",
"verificationCommand": "npm run alpha:hosted:check && npm run test:hosted-alpha-control",
"noGoRule": "Temporary hosted alpha proves internal testing only; it does not clear paid-beta Worker, R2, auth, or permanent support blockers."
},
{
"type": "Hosted Alpha",
"priority": "P0",
"owner": "User + Codex",
"lane": "Mobile Bridge",
"title": "Replace temporary hosted alpha with permanent bridge.porterlabz.com",
"status": "Internal alpha only until bridge.porterlabz.com Worker, R2 APK hosting, secret store, customer auth, and paid-beta distribution are deployed.",
"action": "Deploy the permanent Cloudflare mobile bridge with provider secrets, R2 APK hosting, support-log readback, customer auth, and then rebuild Android from that stable URL.",
"dashboardPage": "pages/cloud-mobile-bridge.html",
"dashboardField": "mobileBridge.workerUrl",
"uploadSlot": "cloud-handoff",
"verificationCommand": "npm run cloud:mobile-bridge:check && npm run test:cloud-mobile-bridge",
"noGoRule": "No paid beta or customer APK until the temporary trycloudflare tunnel is replaced by the stable Worker bridge."
}
],
"modelBenchmarkQueue": [
{
"type": "Model Benchmark",
"priority": "P1",
"owner": "Codex",
"lane": "AI Swarm",
"title": "Model benchmark evidence stays current",
"status": "Model Benchmark Complete",
"action": "Refresh model evidence when provider stack or routing changes; winner grok; pass/fail/skipped 12/0/0; fast: gemini gemini-2.5-flash; deep: openai gpt-5.2; safety: grok grok-4.3.",
"dashboardPage": "pages/model-benchmark.html",
"dashboardField": "aiProviders.modelBenchmark",
"uploadSlot": "",
"verificationCommand": "npm run model:benchmark:refresh && npm run test:model-benchmark",
"noGoRule": "This benchmark informs routing and product claims. Paid launch still requires stable cloud deployment, customer auth, billing, support, legal, and release-trust gates. Do not market best-model claims without current benchmark evidence plus runtime routing/status proof."
}
],
"cloudflareDiscoveryQueue": [
{
"type": "Cloudflare Discovery",
"priority": "P0",
"owner": "User",
"lane": "1. Authenticate",
"title": "Cloudflare API token required",
"status": "Waiting on user",
"action": "Create a scoped Cloudflare API token for the account that will host NyrA, set it as CLOUDFLARE_API_TOKEN in the local shell or automation secret store, then rerun discovery. Do not paste the token into the dashboard or repo.",
"dashboardPage": "pages/cloudflare-discovery.html",
"dashboardField": "cloudMigration.accountReady",
"uploadSlot": "cloud-handoff",
"verificationCommand": "npm run cloudflare:discover",
"noGoRule": "Cloudflare API tokens, Worker bearer tokens, recovery codes, Stripe secrets, private keys, and password material must stay in Wrangler secrets, Cloudflare dashboard secret stores, browser localStorage, or a temporary shell only. This discovery pack stores non-secret resource names/IDs and redacted account context only."
},
{
"type": "Cloudflare Discovery",
"priority": "P1",
"owner": "User",
"lane": "1. Authenticate",
"title": "Wrangler login",
"status": "Interactive fallback",
"action": "If you are sitting at the Windows desktop and prefer browser auth, run npx wrangler login from this repo and approve the Cloudflare account that will host NyrA. Automation still needs CLOUDFLARE_API_TOKEN.",
"dashboardPage": "pages/cloudflare-discovery.html",
"dashboardField": "cloudMigration.accountReady",
"uploadSlot": "cloud-handoff",
"verificationCommand": "npx wrangler login",
"noGoRule": "Cloudflare API tokens, Worker bearer tokens, recovery codes, Stripe secrets, private keys, and password material must stay in Wrangler secrets, Cloudflare dashboard secret stores, browser localStorage, or a temporary shell only. This discovery pack stores non-secret resource names/IDs and redacted account context only."
}
],
"paymentLaunchQueue": [
{
"type": "Payment Launch Pack",
"priority": "P0",
"owner": "User",
"lane": "1. Legal And Stripe Identity",
"title": "Attorney/accountant review approved for paid beta",
"status": "Waiting on user",
"action": "Mark attorney/accountant review approved only after paid-beta policies, tax, refund, privacy, and support language are cleared.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "billingRehearsal.attorneyReviewStatus",
"uploadSlot": "legal-review"
},
{
"type": "Payment Launch Pack",
"priority": "P0",
"owner": "User + Codex",
"lane": "8. Live Payment Gate",
"title": "Billing rehearsal mode set to live for final money preflight",
"status": "User + Codex gated",
"action": "Keep rehearsal mode in test until test checkout, portal, webhook, support, legal, domain, secrets, and release gates pass.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "billingRehearsal.mode",
"uploadSlot": "stripe-screenshots"
},
{
"type": "Payment Launch Pack",
"priority": "P0",
"owner": "User",
"lane": "5. Billing Backend",
"title": "Hosted billing backend HTTPS URL saved",
"status": "Waiting on user",
"action": "Deploy the billing backend or billing Worker, then save its HTTPS base URL.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "billingRehearsal.backendBaseUrl",
"uploadSlot": "cloud-handoff"
},
{
"type": "Payment Launch Pack",
"priority": "P0",
"owner": "User",
"lane": "4. Customer Portal And Webhooks",
"title": "Stripe webhook HTTPS endpoint saved",
"status": "Waiting on user",
"action": "Create the Stripe webhook endpoint after the billing Worker/backend URL exists, select required subscription events, and save the endpoint URL.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "billingRehearsal.webhookEndpointUrl",
"uploadSlot": "stripe-screenshots"
},
{
"type": "Payment Launch Pack",
"priority": "P0",
"owner": "User",
"lane": "4. Customer Portal And Webhooks",
"title": "Customer Portal configured for cancellation, invoices, and payment methods",
"status": "Waiting on user",
"action": "Configure Customer Portal cancellation, invoice history, and payment method updates, then mark the dashboard yes after a test portal roundtrip.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "billingRehearsal.customerPortalConfigured",
"uploadSlot": "stripe-screenshots"
},
{
"type": "Payment Launch Pack",
"priority": "P0",
"owner": "User",
"lane": "9. Other Payment Handoff",
"title": "Deployment env has live Stripe secret key beginning with sk_live_",
"status": "Secret store",
"action": "Set STRIPE_SECRET_KEY in the deployment secret store or a temporary shell. Do not paste secrets into the dashboard.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "deployment secret store: STRIPE_SECRET_KEY",
"uploadSlot": "cloud-handoff"
},
{
"type": "Payment Launch Pack",
"priority": "P0",
"owner": "User",
"lane": "9. Other Payment Handoff",
"title": "Deployment env has Stripe webhook signing secret beginning with whsec_",
"status": "Secret store",
"action": "Set STRIPE_WEBHOOK_SECRET in the deployment secret store or a temporary shell. Do not paste secrets into the dashboard.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "deployment secret store: STRIPE_WEBHOOK_SECRET",
"uploadSlot": "cloud-handoff"
},
{
"type": "Payment Launch Pack",
"priority": "P0",
"owner": "User",
"lane": "3. Stripe Product And Price",
"title": "Deployment env has Stripe monthly Price ID beginning with price_",
"status": "Secret store",
"action": "Create the Stripe monthly Price after the approved price exists, then set NYRA_STRIPE_PRICE_PRO_MONTHLY in the billing Worker secret store.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "deployment secret store: NYRA_STRIPE_PRICE_PRO_MONTHLY",
"uploadSlot": "cloud-handoff"
},
{
"type": "Payment Launch Pack",
"priority": "P0",
"owner": "User",
"lane": "9. Other Payment Handoff",
"title": "Deployment env has HTTPS checkout success URL",
"status": "Secret store",
"action": "Set NYRA_BILLING_SUCCESS_URL in the deployment secret store or a temporary shell. Do not paste secrets into the dashboard.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "deployment secret store: NYRA_BILLING_SUCCESS_URL",
"uploadSlot": "cloud-handoff"
},
{
"type": "Payment Launch Pack",
"priority": "P0",
"owner": "User",
"lane": "9. Other Payment Handoff",
"title": "Deployment env has HTTPS checkout cancel URL",
"status": "Secret store",
"action": "Set NYRA_BILLING_CANCEL_URL in the deployment secret store or a temporary shell. Do not paste secrets into the dashboard.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "deployment secret store: NYRA_BILLING_CANCEL_URL",
"uploadSlot": "cloud-handoff"
},
{
"type": "Payment Launch Pack",
"priority": "P0",
"owner": "User",
"lane": "9. Other Payment Handoff",
"title": "Deployment env has HTTPS Customer Portal return URL",
"status": "Secret store",
"action": "Set NYRA_BILLING_RETURN_URL in the deployment secret store or a temporary shell. Do not paste secrets into the dashboard.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "deployment secret store: NYRA_BILLING_RETURN_URL",
"uploadSlot": "cloud-handoff"
},
{
"type": "Payment Launch Pack",
"priority": "P0",
"owner": "User",
"lane": "9. Other Payment Handoff",
"title": "Deployment env has long random license API token",
"status": "Secret store",
"action": "Set NYRA_LICENSE_API_TOKEN in the deployment secret store or a temporary shell. Do not paste secrets into the dashboard.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "deployment secret store: NYRA_LICENSE_API_TOKEN",
"uploadSlot": "cloud-handoff"
},
{
"type": "Payment Launch Pack",
"priority": "P0",
"owner": "User",
"lane": "9. Other Payment Handoff",
"title": "Deployment env has long random license signing secret",
"status": "Secret store",
"action": "Set NYRA_LICENSE_SIGNING_SECRET in the deployment secret store or a temporary shell. Do not paste secrets into the dashboard.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "deployment secret store: NYRA_LICENSE_SIGNING_SECRET",
"uploadSlot": "cloud-handoff"
},
{
"type": "Payment Launch Pack",
"priority": "P0",
"owner": "User",
"lane": "6. Support And Domain",
"title": "Support inbox roundtrip confirmed",
"status": "Waiting on user",
"action": "Create or confirm the support inbox, send a test ticket, reply, and mark the roundtrip confirmed.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "billingRehearsal.supportInboxConfirmed",
"uploadSlot": "domain-email"
}
],
"supportOpsPackQueue": [
{
"type": "Support Ops Pack",
"priority": "P0",
"owner": "User",
"lane": "1. Public Support Identity",
"title": "Support email saved",
"status": "Ready",
"action": "Save the support address customers will see in the app, Stripe receipts, public policies, and launch site.",
"dashboardPage": "pages/support.html",
"dashboardField": "decisions.supportEmail",
"uploadSlot": "domain-email",
"verificationCommand": "npm run support:ops-pack && npm run test:support-ops-pack",
"noGoRule": "No paid checkout without a public support contact."
},
{
"type": "Support Ops Pack",
"priority": "P0",
"owner": "User",
"lane": "1. Public Support Identity",
"title": "Support inbox ticket roundtrip confirmed",
"status": "Waiting on handoff",
"action": "Send a test customer email to the support inbox, reply from the inbox, and upload sanitized proof of the roundtrip.",
"dashboardPage": "pages/support.html",
"dashboardField": "billingRehearsal.supportInboxConfirmed",
"uploadSlot": "support-roundtrip",
"verificationCommand": "npm run support:ops-pack && npm run test:support-ops-pack",
"noGoRule": "No paid beta until a real support inbox can receive and answer a customer ticket."
},
{
"type": "Support Ops Pack",
"priority": "P0",
"owner": "User",
"lane": "2. Public Policy And Domain",
"title": "Public domain and policy support path saved",
"status": "Ready",
"action": "Save the public product domain so privacy, terms, refund, cancellation, support, checkout success, and portal return URLs can match.",
"dashboardPage": "pages/support.html",
"dashboardField": "decisions.domain",
"uploadSlot": "domain-email",
"verificationCommand": "npm run public:launch-config && npm run test:public-launch-config",
"noGoRule": "No public checkout unless policy/support URLs are on the intended public domain."
},
{
"type": "Support Ops Pack",
"priority": "P0",
"owner": "Codex",
"lane": "3. Customer Diagnostics",
"title": "Redacted support diagnostics export exists",
"status": "Ready",
"action": "Keep Settings diagnostics export available and redacted before every release candidate.",
"dashboardPage": "pages/support.html",
"dashboardField": "supportOps.diagnosticsStatus",
"uploadSlot": "qa-evidence",
"verificationCommand": "npm run test:support-readiness && npm run test:support-diagnostics-runtime",
"noGoRule": "Support must not ask customers for raw chats, API keys, tokens, full card numbers, screenshots with secrets, or private files."
},
{
"type": "Support Ops Pack",
"priority": "P0",
"owner": "Codex",
"lane": "4. Support Process",
"title": "Support runbook and inbox setup docs exist",
"status": "Ready",
"action": "Keep support categories, evidence rules, response targets, canned replies, and inbox setup docs current with the shipping product.",
"dashboardPage": "pages/support.html",
"dashboardField": "supportOps.runbookStatus",
"uploadSlot": "qa-evidence",
"verificationCommand": "npm run test:support-readiness",
"noGoRule": "No paid beta without a written support process for install, activation, billing, cancellation, privacy, and computer-control tickets."
},
{
"type": "Support Ops Pack",
"priority": "P0",
"owner": "User + Codex",
"lane": "5. Billing Support",
"title": "Customer Portal cancellation and invoice support configured",
"status": "Waiting on handoff",
"action": "Configure Stripe Customer Portal for cancellation, invoice history, and payment method updates; then test the support reply path.",
"dashboardPage": "pages/support.html",
"dashboardField": "billingRehearsal.customerPortalConfigured",
"uploadSlot": "stripe-screenshots",
"verificationCommand": "npm run payment:launch-pack && npm run test:payment-launch-pack",
"noGoRule": "Do not take recurring subscription money without a customer cancellation path."
},
{
"type": "Support Ops Pack",
"priority": "P0",
"owner": "User + Codex",
"lane": "5. Billing Support",
"title": "Hosted billing support links saved",
"status": "Waiting on handoff",
"action": "Save hosted billing backend and Stripe webhook URLs so support can distinguish checkout, portal, webhook, and activation failures.",
"dashboardPage": "pages/support.html",
"dashboardField": "billingRehearsal.backendBaseUrl",
"uploadSlot": "cloud-handoff",
"verificationCommand": "npm run billing:live-preflight -- --mode test --allow-blocked",
"noGoRule": "Support cannot debug real customer billing until hosted backend and webhook URLs are known."
},
{
"type": "Support Ops Pack",
"priority": "P0",
"owner": "User",
"lane": "6. Legal And Policy Review",
"title": "Support, refund, privacy, and cancellation language reviewed",
"status": "Waiting on handoff",
"action": "Review final-sale, cancellation, support, privacy, and paid-beta language with an attorney/accountant or explicitly mark approved after review.",
"dashboardPage": "pages/support.html",
"dashboardField": "billingRehearsal.attorneyReviewStatus",
"uploadSlot": "legal-review",
"verificationCommand": "npm run test:policy-readiness",
"noGoRule": "Do not launch paid beta while support/refund/cancellation language is unreviewed."
},
{
"type": "Support Ops Pack",
"priority": "P0",
"owner": "Codex",
"lane": "7. Support Visual Evidence",
"title": "Support screenshots match shipping app",
"status": "Waiting on product freeze",
"action": "Refresh support, diagnostics, billing, cancellation, and activation screenshots after the shipping UI and support paths are frozen.",
"dashboardPage": "pages/support.html",
"dashboardField": "visualProduction.finalScreenshotsApproved",
"uploadSlot": "product-screenshots",
"verificationCommand": "npm run visuals:pack && npm run test:visual-production-pack",
"noGoRule": "Do not use support visuals that show stale UI, wrong support email, wrong policy URLs, or incomplete billing flow."
}
],
"releaseTrustPackQueue": [
{
"type": "Release Trust Pack",
"priority": "P0",
"owner": "User + Codex",
"lane": "4. Signed Or Store Evidence",
"title": "Paid beta installer is signed or store-trusted",
"status": "User + Codex gated",
"action": "Produce signed direct-download installer evidence or store-trusted package/listing evidence before any paid beta customer receives the build.",
"dashboardPage": "pages/release-package.html",
"dashboardField": "releasePackage.signingStatus",
"uploadSlot": "code-signing"
},
{
"type": "Release Trust Pack",
"priority": "P0",
"owner": "User + Codex",
"lane": "4. Signed Or Store Evidence",
"title": "Trusted installer evidence clears release candidate",
"status": "blocked",
"action": "Choose the release trust path and produce signed or store-trusted installer evidence before paid beta.",
"dashboardPage": "pages/release-package.html",
"dashboardField": "releasePackage.signingStatus",
"uploadSlot": "code-signing"
}
],
"versionControlPackQueue": [
{
"type": "Version Control Pack",
"priority": "P0",
"owner": "User",
"lane": "2. Repository Baseline",
"title": "GitHub remote or repo URL saved",
"status": "Waiting on handoff",
"action": "Save the intended GitHub repository owner/name or remote URL in the dashboard.",
"dashboardPage": "pages/version-control.html",
"dashboardField": "versionControl.repoRemoteUrl",
"uploadSlot": "version-control",
"verificationCommand": "npm run version:control-pack && npm run test:version-control-pack",
"noGoRule": "No public paid release until the source repo and release evidence location are known."
},
{
"type": "Version Control Pack",
"priority": "P0",
"owner": "User + Codex",
"lane": "2. Repository Baseline",
"title": "GitHub repo creation or push path available",
"status": "Waiting on handoff",
"action": "Authenticate GitHub CLI or save an existing remote URL in the dashboard.",
"dashboardPage": "pages/version-control.html",
"dashboardField": "versionControl.repoRemoteUrl",
"uploadSlot": "version-control",
"verificationCommand": "npm run version:control-pack && npm run test:version-control-pack",
"noGoRule": "No paid beta release until source history can be pushed to the chosen GitHub repository."
}
],
"publicLaunchConfigQueue": [
{
"type": "Public Launch Config",
"priority": "P0",
"owner": "User",
"lane": "Business Legal",
"title": "Business/legal name",
"status": "Ready",
"action": "Enter the business/legal name that will appear in Stripe, receipts, policies, and release metadata.",
"dashboardPage": "pages/collaboration.html",
"dashboardField": "decisions.businessName",
"uploadSlot": ""
},
{
"type": "Public Launch Config",
"priority": "P0",
"owner": "User",
"lane": "Cloud Platform",
"title": "Public domain",
"status": "Ready",
"action": "Enter the public product/policy domain or subdomain.",
"dashboardPage": "pages/collaboration.html",
"dashboardField": "decisions.domain",
"uploadSlot": ""
},
{
"type": "Public Launch Config",
"priority": "P0",
"owner": "User",
"lane": "Support Ops",
"title": "Support email",
"status": "Ready",
"action": "Confirm the support inbox that will appear on policy pages, Stripe receipts, and the launch site.",
"dashboardPage": "pages/support.html",
"dashboardField": "decisions.supportEmail",
"uploadSlot": ""
},
{
"type": "Public Launch Config",
"priority": "P0",
"owner": "User",
"lane": "Payments Licensing",
"title": "Monthly price",
"status": "Ready",
"action": "Enter the approved monthly price in cents before creating the live Stripe Price.",
"dashboardPage": "pages/pricing.html",
"dashboardField": "decisions.monthlyPriceCents",
"uploadSlot": ""
},
{
"type": "Public Launch Config",
"priority": "P0",
"owner": "User",
"lane": "Payments Licensing",
"title": "Hosted AI cap",
"status": "Ready",
"action": "Enter the customer-facing hosted AI usage cap before publishing pricing or checkout.",
"dashboardPage": "pages/pricing.html",
"dashboardField": "decisions.hostedAiCap",
"uploadSlot": ""
},
{
"type": "Public Launch Config",
"priority": "P0",
"owner": "User + Codex",
"lane": "Payments Licensing",
"title": "Billing backend URL",
"status": "Waiting on handoff",
"action": "Deploy or choose the hosted billing backend URL. If billingCloud.workerUrl is saved, this pack can mirror it into billingRehearsal.backendBaseUrl.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "billingRehearsal.backendBaseUrl",
"uploadSlot": ""
},
{
"type": "Public Launch Config",
"priority": "P1",
"owner": "User",
"lane": "Payments Licensing",
"title": "Customer Portal configured",
"status": "Waiting on handoff",
"action": "Mark Yes only after Customer Portal cancellation, invoices, and payment methods are enabled and tested.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "billingRehearsal.customerPortalConfigured",
"uploadSlot": ""
}
],
"decisionRecommendationQueue": [
{
"type": "Decision Recommendation",
"priority": "P0",
"owner": "User",
"lane": "Business Legal",
"title": "Business name candidate",
"status": "Saved different value",
"action": "Run a South Carolina name availability check, pick the final legal/business name, save it in the dashboard, and upload filing evidence when available.",
"dashboardPage": "pages/collaboration.html",
"dashboardField": "decisions.businessName",
"uploadSlot": "",
"recommendedValue": "NyrA Labs LLC",
"noGoRule": "A candidate name does not clear the legal identity blocker or authorize live Stripe charges."
},
{
"type": "Decision Recommendation",
"priority": "P0",
"owner": "User",
"lane": "Business Legal",
"title": "Entity path",
"status": "Saved matches recommendation",
"action": "Choose SC LLC or another documented entity path, then save the decision and upload the filing or accountant/legal note.",
"dashboardPage": "pages/collaboration.html",
"dashboardField": "decisions.entityPath",
"uploadSlot": "",
"recommendedValue": "SC LLC",
"noGoRule": "Paid public launch remains blocked until the entity/contact path is chosen and reviewed."
},
{
"type": "Decision Recommendation",
"priority": "P0",
"owner": "User",
"lane": "Business Legal",
"title": "Tax collection/accounting path",
"status": "Saved matches recommendation",
"action": "Choose Stripe Tax now, accountant first, or SC-only beta in the dashboard. Get accountant/legal review before live public charging.",
"dashboardPage": "pages/collaboration.html",
"dashboardField": "decisions.taxDecision",
"uploadSlot": "",
"recommendedValue": "Stripe Tax now",
"noGoRule": "This is not tax advice and does not replace accountant/legal approval."
},
{
"type": "Decision Recommendation",
"priority": "P0",
"owner": "User",
"lane": "Payments Licensing",
"title": "Monthly subscription price",
"status": "Saved matches recommendation",
"action": "Save the approved monthly price in cents before creating the Stripe Price.",
"dashboardPage": "pages/pricing.html",
"dashboardField": "decisions.monthlyPriceCents",
"uploadSlot": "",
"recommendedValue": "$25.00",
"noGoRule": "Do not create a live Stripe Price until the approved price is saved."
},
{
"type": "Decision Recommendation",
"priority": "P0",
"owner": "User",
"lane": "Payments Licensing",
"title": "Hosted AI cap",
"status": "Saved matches recommendation",
"action": "Save the customer-facing hosted AI cap and over-cap behavior before checkout copy is published.",
"dashboardPage": "pages/pricing.html",
"dashboardField": "decisions.hostedAiCap",
"uploadSlot": "",
"recommendedValue": "300 hosted AI messages/month until measured usage proves more headroom",
"noGoRule": "Do not publish unlimited hosted-AI claims or live checkout copy without this cap."
},
{
"type": "Decision Recommendation",
"priority": "P0",
"owner": "User",
"lane": "Support Ops",
"title": "Support inbox",
"status": "Saved matches recommendation",
"action": "Confirm you own the inbox, send a test ticket, reply, then mark billingRehearsal.supportInboxConfirmed as Yes.",
"dashboardPage": "pages/support.html",
"dashboardField": "decisions.supportEmail",
"uploadSlot": "",
"recommendedValue": "nyrasupport@gmail.com",
"noGoRule": "Support email text alone does not clear the support roundtrip blocker."
},
{
"type": "Decision Recommendation",
"priority": "P0",
"owner": "User",
"lane": "Business Legal",
"title": "Refund and cancellation policy",
"status": "Suggested - not saved",
"action": "Have the refund/cancellation language reviewed before paid launch and upload legal review evidence.",
"dashboardPage": "pages/refund-cancellation.html",
"dashboardField": "policy.review.refundCancellation",
"uploadSlot": "",
"recommendedValue": "All purchases final, with legal/billing-error exceptions",
"noGoRule": "A drafted policy is not legal approval."
},
{
"type": "Decision Recommendation",
"priority": "P0",
"owner": "User + Codex",
"lane": "Payments Licensing",
"title": "Billing entitlement storage host",
"status": "Saved matches recommendation",
"action": "Approve Cloudflare billing storage and paste the D1 database ID after creation.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "billingDeployment.storageHostDecision",
"uploadSlot": "",
"recommendedValue": "Cloudflare Worker + D1",
"noGoRule": "Do not enable hosted checkout until D1 and billing Worker deployment are verified."
},
{
"type": "Decision Recommendation",
"priority": "P0",
"owner": "User + Codex",
"lane": "Cloud Platform",
"title": "Cloud command-center stack",
"status": "Saved different value",
"action": "Approve the Cloudflare account/domain/admin/access handoff so the dashboard can move off local files.",
"dashboardPage": "pages/cloud.html",
"dashboardField": "cloudMigration.target",
"uploadSlot": "",
"recommendedValue": "Cloudflare Pages + Workers + D1 + R2",
"noGoRule": "Local dashboard files remain the source of truth until a protected cloud deployment and sync roundtrip pass."
},
{
"type": "Decision Recommendation",
"priority": "P0",
"owner": "User + Codex",
"lane": "Cloud Platform",
"title": "Cloud access model",
"status": "Saved matches recommendation",
"action": "Choose Cloudflare Access plus private token, then save the access model and admin email.",
"dashboardPage": "pages/cloud.html",
"dashboardField": "cloudMigration.accessDecision",
"uploadSlot": "",
"recommendedValue": "Cloudflare Access + private bearer token",
"noGoRule": "Do not publish a dashboard with business records without private access protection."
},
{
"type": "Decision Recommendation",
"priority": "P0",
"owner": "User",
"lane": "Release Ops",
"title": "Release channel",
"status": "Saved matches recommendation",
"action": "Choose direct download beta, Microsoft Store, or both before release rehearsal.",
"dashboardPage": "pages/collaboration.html",
"dashboardField": "decisions.releaseChannel",
"uploadSlot": "",
"recommendedValue": "Direct download beta + Microsoft Store prep",
"noGoRule": "Unsigned direct download remains internal-alpha only until trust/signing evidence clears."
},
{
"type": "Decision Recommendation",
"priority": "P0",
"owner": "User",
"lane": "Release Ops",
"title": "Code-signing path",
"status": "Saved matches recommendation",
"action": "Choose Microsoft Trusted Signing, Microsoft Store first, OV certificate, or hold. Upload signing/store evidence before paid beta.",
"dashboardPage": "pages/collaboration.html",
"dashboardField": "decisions.codeSigningDecision",
"uploadSlot": "",
"recommendedValue": "Microsoft Trusted Signing first",
"noGoRule": "Do not distribute a paid public installer without a signed or store-trusted path."
},
{
"type": "Decision Recommendation",
"priority": "P1",
"owner": "Codex",
"lane": "Release/Product",
"title": "App version path",
"status": "Saved different value",
"action": "Use the App Version page to record any required mobile companion boundaries or app-store goals.",
"dashboardPage": "pages/app-version.html",
"dashboardField": "appVersion.mobileCompanionBoundary",
"uploadSlot": "",
"recommendedValue": "Desktop paid beta first; mobile companion after desktop money path is proven",
"noGoRule": "Do not delay desktop paid beta for mobile unless the user explicitly changes launch priority."
},
{
"type": "Decision Recommendation",
"priority": "P1",
"owner": "Codex",
"lane": "Marketing Visuals",
"title": "Shipping visuals",
"status": "Suggested - not saved",
"action": "Approve final screenshots only after the app UI, support, billing, and consent flows match what will ship.",
"dashboardPage": "pages/visuals.html",
"dashboardField": "visualProduction.finalScreenshotsApproved",
"uploadSlot": "",
"recommendedValue": "No until final app, billing, support, and consent flows are frozen",
"noGoRule": "Do not publish launch ads or checkout visuals until final screenshots are approved."
}
],
"collaborationWorkspaceQueue": [
{
"type": "Collaboration Workspace",
"priority": "P1",
"owner": "User + Codex",
"lane": "Command Center Intake",
"title": "Daily Build Intake",
"status": "Ready for Codex review",
"action": "Run intake scan, handoff delta, daily brief, and agent dispatch; then continue the next unblocked NyrA build task.",
"dashboardPage": "pages/collaboration.html",
"dashboardField": "intake.userDecisionSummary",
"uploadSlot": "qa-evidence",
"verificationCommand": "npm run collaboration:workspace"
},
{
"type": "Collaboration Workspace",
"priority": "P1",
"owner": "User",
"lane": "Business Legal",
"title": "Business, LLC, Tax",
"status": "Partially filled",
"action": "Fill 1 required dashboard field, then save, scan, and route.",
"dashboardPage": "pages/collaboration.html",
"dashboardField": "decisions.einStatus",
"uploadSlot": "llc-documents",
"verificationCommand": "npm run collaboration:workspace"
},
{
"type": "Collaboration Workspace",
"priority": "P1",
"owner": "User + Codex",
"lane": "Payments Licensing",
"title": "Pricing, Stripe, Payments",
"status": "Partially filled",
"action": "Fill 2 required dashboard fields, then save, scan, and route.",
"dashboardPage": "pages/collaboration.html",
"dashboardField": "billingRehearsal.backendBaseUrl",
"uploadSlot": "stripe-screenshots",
"verificationCommand": "npm run collaboration:workspace"
},
{
"type": "Collaboration Workspace",
"priority": "P1",
"owner": "User + Codex",
"lane": "Cloud Platform",
"title": "Cloud Control Room",
"status": "Partially filled",
"action": "Fill 3 required dashboard fields, then save, scan, and route.",
"dashboardPage": "pages/collaboration.html",
"dashboardField": "cloudMigration.accountReady",
"uploadSlot": "cloud-handoff",
"verificationCommand": "npm run collaboration:workspace"
},
{
"type": "Collaboration Workspace",
"priority": "P1",
"owner": "User + Codex",
"lane": "QA Release",
"title": "App Version And Mobile",
"status": "Ready for Codex review",
"action": "Update version roadmap, release candidate preflight, QA matrix, release notes, and mobile boundary.",
"dashboardPage": "pages/collaboration.html",
"dashboardField": "appVersion.publisherName",
"uploadSlot": "code-signing",
"verificationCommand": "npm run collaboration:workspace"
},
{
"type": "Collaboration Workspace",
"priority": "P1",
"owner": "Codex + User approval",
"lane": "Marketing Visuals",
"title": "Visual Production",
"status": "Partially filled",
"action": "Fill 1 required dashboard field, then save, scan, and route.",
"dashboardPage": "pages/collaboration.html",
"dashboardField": "visualProduction.finalScreenshotsApproved",
"uploadSlot": "product-screenshots",
"verificationCommand": "npm run collaboration:workspace"
},
{
"type": "Collaboration Workspace",
"priority": "P1",
"owner": "User + Codex",
"lane": "Version Control",
"title": "Version Control And Release History",
"status": "Partially filled",
"action": "Fill 1 required dashboard field, then save, scan, and route.",
"dashboardPage": "pages/collaboration.html",
"dashboardField": "versionControl.repoRemoteUrl",
"uploadSlot": "version-control",
"verificationCommand": "npm run collaboration:workspace"
},
{
"type": "Collaboration Workspace",
"priority": "P1",
"owner": "User + Codex",
"lane": "Support Ops",
"title": "Support, Policies, Public Web",
"status": "Partially filled",
"action": "Fill 2 required dashboard fields, then save, scan, and route.",
"dashboardPage": "pages/collaboration.html",
"dashboardField": "billingRehearsal.supportInboxConfirmed",
"uploadSlot": "domain-email",
"verificationCommand": "npm run collaboration:workspace"
},
{
"type": "Collaboration Workspace",
"priority": "P1",
"owner": "Codex",
"lane": "Agent Dispatch",
"title": "Automation Loop",
"status": "Tracking",
"action": "Keep the command center, daily brief, agent dispatch pack, and build queues current until paid launch gates clear.",
"dashboardPage": "pages/collaboration.html",
"dashboardField": "intake.requestedNextBuild",
"uploadSlot": "qa-evidence",
"verificationCommand": "npm run collaboration:workspace"
},
{
"type": "Collaboration Handoff Card",
"priority": "P0",
"owner": "User",
"lane": "Business Legal",
"title": "Attorney/accountant review approved for paid beta",
"status": "Waiting on user",
"action": "Mark Approved only after attorney/accountant review clears paid beta.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "billingRehearsal.attorneyReviewStatus",
"uploadSlot": "legal-review",
"verificationCommand": "npm run intake:scan && npm run handoff:delta"
},
{
"type": "Collaboration Handoff Card",
"priority": "P0",
"owner": "User + Codex",
"lane": "Payments Licensing",
"title": "Billing rehearsal mode set to live for final money preflight",
"status": "User + Codex gated",
"action": "Switch to live only after test-mode rehearsal, legal, support, and Stripe gates pass.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "billingRehearsal.mode",
"uploadSlot": "stripe-screenshots",
"verificationCommand": "npm run intake:scan && npm run handoff:delta"
},
{
"type": "Collaboration Handoff Card",
"priority": "P0",
"owner": "User",
"lane": "Payments Licensing",
"title": "Hosted billing backend HTTPS URL saved",
"status": "Waiting on user",
"action": "Enter the hosted billing backend HTTPS base URL.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "billingRehearsal.backendBaseUrl",
"uploadSlot": "cloud-handoff",
"verificationCommand": "npm run intake:scan && npm run handoff:delta"
},
{
"type": "Collaboration Handoff Card",
"priority": "P0",
"owner": "User",
"lane": "Payments Licensing",
"title": "Stripe webhook HTTPS endpoint saved",
"status": "Waiting on user",
"action": "Enter the Stripe webhook endpoint URL after it is created.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "billingRehearsal.webhookEndpointUrl",
"uploadSlot": "stripe-screenshots",
"verificationCommand": "npm run intake:scan && npm run handoff:delta"
},
{
"type": "Collaboration Handoff Card",
"priority": "P0",
"owner": "User",
"lane": "Payments Licensing",
"title": "Customer Portal configured for cancellation, invoices, and payment methods",
"status": "Waiting on user",
"action": "Mark yes after Customer Portal cancellation, invoices, and payment methods are tested.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "billingRehearsal.customerPortalConfigured",
"uploadSlot": "stripe-screenshots",
"verificationCommand": "npm run intake:scan && npm run handoff:delta"
},
{
"type": "Collaboration Handoff Card",
"priority": "P0",
"owner": "User",
"lane": "Payments Licensing",
"title": "Deployment env has live Stripe secret key beginning with sk_live_",
"status": "Secret store",
"action": "Set STRIPE_SECRET_KEY in the deployment secret store or a temporary shell. Do not paste secrets into the dashboard.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "deployment secret store: STRIPE_SECRET_KEY",
"uploadSlot": "cloud-handoff",
"verificationCommand": "npm run intake:scan && npm run handoff:delta"
},
{
"type": "Collaboration Handoff Card",
"priority": "P0",
"owner": "User",
"lane": "Payments Licensing",
"title": "Deployment env has Stripe webhook signing secret beginning with whsec_",
"status": "Secret store",
"action": "Set STRIPE_WEBHOOK_SECRET in the deployment secret store or a temporary shell. Do not paste secrets into the dashboard.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "deployment secret store: STRIPE_WEBHOOK_SECRET",
"uploadSlot": "cloud-handoff",
"verificationCommand": "npm run intake:scan && npm run handoff:delta"
},
{
"type": "Collaboration Handoff Card",
"priority": "P0",
"owner": "User",
"lane": "Payments Licensing",
"title": "Deployment env has Stripe monthly Price ID beginning with price_",
"status": "Secret store",
"action": "Set NYRA_STRIPE_PRICE_PRO_MONTHLY in the deployment secret store or a temporary shell. Do not paste secrets into the dashboard.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "deployment secret store: NYRA_STRIPE_PRICE_PRO_MONTHLY",
"uploadSlot": "cloud-handoff",
"verificationCommand": "npm run intake:scan && npm run handoff:delta"
},
{
"type": "Collaboration Handoff Card",
"priority": "P0",
"owner": "User",
"lane": "Payments Licensing",
"title": "Deployment env has HTTPS checkout success URL",
"status": "Secret store",
"action": "Set NYRA_BILLING_SUCCESS_URL in the deployment secret store or a temporary shell. Do not paste secrets into the dashboard.",
"dashboardPage": "pages/billing-rehearsal.html",
"dashboardField": "deployment secret store: NYRA_BILLING_SUCCESS_URL",
"uploadSlot": "cloud-handoff",
"verificationCommand": "npm run intake:scan && npm run handoff:delta"
}
],
"visualProductionPackQueue": [
{
"type": "Visual Production Pack",
"priority": "P1",
"owner": "Codex",
"lane": "1. Refresh Shipping Screenshot",
"title": "Idle NyrA buddy",
"status": "Refresh required",
"action": "Refresh this screenshot from the current shipping build after UI, consent, billing, support, and release messaging are frozen.",
"dashboardPage": "pages/visuals.html",
"dashboardField": "visualProduction.finalScreenshotsApproved",
"uploadSlot": "product-screenshots"
},
{
"type": "Visual Production Pack",
"priority": "P1",
"owner": "Codex",
"lane": "1. Refresh Shipping Screenshot",
"title": "Right-click command menu",
"status": "Refresh required",
"action": "Refresh this screenshot from the current shipping build after UI, consent, billing, support, and release messaging are frozen.",
"dashboardPage": "pages/visuals.html",
"dashboardField": "visualProduction.finalScreenshotsApproved",
"uploadSlot": "product-screenshots"
},
{
"type": "Visual Production Pack",
"priority": "P1",
"owner": "Codex",
"lane": "1. Refresh Shipping Screenshot",
"title": "Live voice controls",
"status": "Refresh required",
"action": "Refresh this screenshot from the current shipping build after UI, consent, billing, support, and release messaging are frozen.",
"dashboardPage": "pages/visuals.html",
"dashboardField": "visualProduction.finalScreenshotsApproved",
"uploadSlot": "product-screenshots"
},
{
"type": "Visual Production Pack",
"priority": "P1",
"owner": "Codex",
"lane": "1. Refresh Shipping Screenshot",
"title": "Wake-gated pause/listening behavior",
"status": "Refresh required",
"action": "Refresh this screenshot from the current shipping build after UI, consent, billing, support, and release messaging are frozen.",
"dashboardPage": "pages/visuals.html",
"dashboardField": "visualProduction.finalScreenshotsApproved",
"uploadSlot": "product-screenshots"
},
{
"type": "Visual Production Pack",
"priority": "P1",
"owner": "Codex",
"lane": "1. Refresh Shipping Screenshot",
"title": "Single buddy with right-click chat panel",
"status": "Refresh required",
"action": "Refresh this screenshot from the current shipping build after UI, consent, billing, support, and release messaging are frozen.",
"dashboardPage": "pages/visuals.html",
"dashboardField": "visualProduction.finalScreenshotsApproved",
"uploadSlot": "product-screenshots"
},
{
"type": "Visual Production Pack",
"priority": "P1",
"owner": "Codex",
"lane": "1. Refresh Shipping Screenshot",
"title": "Screen-look permission state",
"status": "Refresh required",
"action": "Refresh this screenshot from the current shipping build after UI, consent, billing, support, and release messaging are frozen.",
"dashboardPage": "pages/visuals.html",
"dashboardField": "visualProduction.finalScreenshotsApproved",
"uploadSlot": "product-screenshots"
},
{
"type": "Visual Production Pack",
"priority": "P1",
"owner": "Codex",
"lane": "1. Refresh Shipping Screenshot",
"title": "Camera permission state",
"status": "Refresh required",
"action": "Refresh this screenshot from the current shipping build after UI, consent, billing, support, and release messaging are frozen.",
"dashboardPage": "pages/visuals.html",
"dashboardField": "visualProduction.finalScreenshotsApproved",
"uploadSlot": "product-screenshots"
},
{
"type": "Visual Production Pack",
"priority": "P1",
"owner": "Codex",
"lane": "1. Refresh Shipping Screenshot",
"title": "Computer-control active state",
"status": "Refresh required",
"action": "Refresh this screenshot from the current shipping build after UI, consent, billing, support, and release messaging are frozen.",
"dashboardPage": "pages/visuals.html",
"dashboardField": "visualProduction.finalScreenshotsApproved",
"uploadSlot": "product-screenshots"
},
{
"type": "Visual Production Pack",
"priority": "P1",
"owner": "Codex",
"lane": "1. Refresh Shipping Screenshot",
"title": "Stop button / interruption evidence",
"status": "Refresh required",
"action": "Refresh this screenshot from the current shipping build after UI, consent, billing, support, and release messaging are frozen.",
"dashboardPage": "pages/visuals.html",
"dashboardField": "visualProduction.finalScreenshotsApproved",
"uploadSlot": "product-screenshots"
},
{
"type": "Visual Production Pack",
"priority": "P1",
"owner": "Codex",
"lane": "1. Refresh Shipping Screenshot",
"title": "Android alpha75 floating buddy over launcher",
"status": "Refresh required",
"action": "Refresh this screenshot from the current shipping build after UI, consent, billing, support, and release messaging are frozen. Current evidence is 0.1.0-alpha.75; shipping app is 0.1.0-alpha.76.",
"dashboardPage": "pages/visuals.html",
"dashboardField": "visualProduction.finalScreenshotsApproved",
"uploadSlot": "product-screenshots"
},
{
"type": "Visual Production Pack",
"priority": "P1",
"owner": "Codex",
"lane": "1. Refresh Shipping Screenshot",
"title": "Android alpha75 foreground panel and swarm state",
"status": "Refresh required",
"action": "Refresh this screenshot from the current shipping build after UI, consent, billing, support, and release messaging are frozen. Current evidence is 0.1.0-alpha.75; shipping app is 0.1.0-alpha.76.",
"dashboardPage": "pages/visuals.html",
"dashboardField": "visualProduction.finalScreenshotsApproved",
"uploadSlot": "product-screenshots"
},
{
"type": "Visual Production Pack",
"priority": "P1",
"owner": "Codex",
"lane": "1. Refresh Shipping Screenshot",
"title": "Android alpha75 Hide Bot removes floating buddy",
"status": "Refresh required",
"action": "Refresh this screenshot from the current shipping build after UI, consent, billing, support, and release messaging are frozen. Current evidence is 0.1.0-alpha.75; shipping app is 0.1.0-alpha.76.",
"dashboardPage": "pages/visuals.html",
"dashboardField": "visualProduction.finalScreenshotsApproved",
"uploadSlot": "product-screenshots"
},
{
"type": "Visual Production Pack",
"priority": "P1",
"owner": "User + Codex",
"lane": "2. Replace Diagram With App Screen",
"title": "Billing activation screen",
"status": "Partial",
"action": "Replace the diagram-only evidence with a current app screenshot after the relevant billing/support flow exists.",
"dashboardPage": "pages/visuals.html",
"dashboardField": "visualProduction.notes",
"uploadSlot": "product-screenshots"
},
{
"type": "Visual Production Pack",
"priority": "P0",
"owner": "User + Codex",
"lane": "3. Billing Portal Capture",
"title": "Customer Portal screen",
"status": "Blocked",
"action": "After Stripe Customer Portal is configured, capture the real customer portal screen and attach sanitized evidence to the dashboard.",
"dashboardPage": "pages/visuals.html",
"dashboardField": "billingRehearsal.customerPortalConfigured",
"uploadSlot": "stripe-screenshots"
}
],
"codexQueue": [
{
"type": "Codex Work",
"priority": "P0",
"owner": "Codex",
"lane": "Release",
"title": "Windows installer version",
"status": "Active",
"action": "Internal alpha metadata is set to version 0.1.0-alpha.76, appId com.porter.nyra.swarm-little-buddy, product name NyrA Swarm Little Buddy; desktop evidence SHA256 1978e0e49e3776c3d9fb56192f2d9eb4a3be709afbbfc303db8d25698f143edf; Android 0.1.0-alpha.76 versionCode 76 SHA256 ea425cf64d0fb71331f64ff0a8e290f19f0f5fbc51ec3518ef149a20f882d99d; release notes known issues rollback manifest checksums installer rehearsal release-trust decision packet and release-candidate preflight are wired; current verdict is Internal Alpha Only until signed/store-trusted installer evidence and paid-beta handoffs clear",
"dashboardPage": "",
"dashboardField": "",
"uploadSlot": ""
},
{
"type": "Codex Work",
"priority": "P1",
"owner": "Codex",
"lane": "Marketing",
"title": "Demo video",
"status": "Active",
"action": "Storyboards shot lists captions recording checklist and demo/ad scenes now exist; final recording waits for final UI pricing billing support policy URLs and screenshots",
"dashboardPage": "",
"dashboardField": "",
"uploadSlot": ""
},
{
"type": "Codex Work",
"priority": "P0",
"owner": "Codex",
"lane": "Product Program",
"title": "Daily command-center intake",
"status": "Active",
"action": "Automation inventory now verifies required NyrA Codex automations are real and active; daily agents read the Today Command Brief, Decision Recommendations, Handoff Routing Rehearsal, Handoff Action Pack, Agent Dispatch Pack, Dashboard and Collaboration answers, uploads, notes, handoff readiness, deployability blockers, release-candidate status, cloud state, marketing kit, visual status, and route newly cleared work",
"dashboardPage": "",
"dashboardField": "",
"uploadSlot": ""
},
{
"type": "Verified Codex Gate",
"priority": "P0",
"owner": "Codex",
"lane": "Payments/Product",
"title": "Pricing and hosted AI cap model",
"status": "Ready",
"action": "Pricing model script docs snapshot CSV and command-center Pricing page estimate Stripe fees provider token cost support/infra/refund reserves target margin minimum price and recommended hosted AI cap",
"dashboardPage": "",
"dashboardField": "",
"uploadSlot": ""
},
{
"type": "Verified Codex Gate",
"priority": "P0",
"owner": "Codex",
"lane": "Payments",
"title": "Create Stripe product/price",
"status": "Ready",
"action": "Use billing:stripe-setup after price and Stripe key are ready",
"dashboardPage": "",
"dashboardField": "",
"uploadSlot": ""
},
{
"type": "Verified Codex Gate",
"priority": "P0",
"owner": "Codex",
"lane": "Payments/QA",
"title": "Billing live rehearsal",
"status": "Ready",
"action": "Guarded preflight and rehearsal scripts plus command-center Billing Rehearsal page now check Stripe key mode, required webhook events, Customer Portal/support/legal blockers, HTTPS URLs, no repo secrets, and live-mode safety flag before checkout is exposed",
"dashboardPage": "",
"dashboardField": "",
"uploadSlot": ""
},
{
"type": "Verified Codex Gate",
"priority": "P0",
"owner": "Codex",
"lane": "Payments/QA",
"title": "Payment Launch Pack",
"status": "Ready",
"action": "Payment Launch Pack now generates JSON CSV Markdown dashboard workbook Today Brief queue Stripe product/price setup sequence Customer Portal/webhook/backend/secret-store actions test rehearsal commands and live-payment no-go rules",
"dashboardPage": "",
"dashboardField": "",
"uploadSlot": ""
},
{
"type": "Verified Codex Gate",
"priority": "P0",
"owner": "Codex",
"lane": "Engineering",
"title": "Deploy billing backend",
"status": "Ready",
"action": "Standalone Node 24 billing backend deploy pack and Cloudflare Worker/D1 billing path are ready with manifests checklists health checks required secret lists route coverage storage probes entitlement writes idempotent webhook handling and test:billing-deploy/test:billing-storage/cloud:billing:check/test:cloud-billing-worker; actual hosted deployment still needs domain host or Worker URL D1 database ID secrets Stripe webhook Customer Portal price hosted AI cap support inbox and persistent managed storage",
"dashboardPage": "",
"dashboardField": "",
"uploadSlot": ""
},
{
"type": "Verified Codex Gate",
"priority": "P0",
"owner": "Codex",
"lane": "Payments/Cloud",
"title": "Cloud billing Worker/D1",
"status": "Ready",
"action": "Cloudflare Worker nyra-billing-api implements Stripe-hosted Checkout Customer Portal webhooks license status checkout-session claim device-scoped access tokens D1 entitlement/customer/event/device storage and local route tests; live use still needs Cloudflare account D1 database ID Worker URL Stripe test/live secrets price webhook endpoint support email legal URLs and dashboard origin",
"dashboardPage": "",
"dashboardField": "",
"uploadSlot": ""
}
],
"releaseQueue": [
{
"type": "Release Candidate",
"priority": "P0",
"owner": "User + Codex",
"lane": "",
"title": "Paid beta installer is signed or store-trusted",
"status": "blocked",
"action": "Choose the release trust path and produce signed or store-trusted installer evidence before paid beta.",
"dashboardPage": "",
"dashboardField": "",
"uploadSlot": ""
},
{
"type": "Release Candidate",
"priority": "P0",
"owner": "User + Codex",
"lane": "",
"title": "Deployability preflight has no P0 blockers",
"status": "blocked",
"action": "26 P0 deployability blockers remain. Use the Deployability page and Handoffs page before live money.",
"dashboardPage": "",
"dashboardField": "",
"uploadSlot": ""
},
{
"type": "Release Candidate",
"priority": "P0",
"owner": "User",
"lane": "",
"title": "Dashboard handoffs are cleared",
"status": "blocked",
"action": "17 user handoffs and 9 secret-store handoffs are still waiting.",
"dashboardPage": "",
"dashboardField": "",
"uploadSlot": ""
},
{
"type": "Release Candidate",
"priority": "P0",
"owner": "User + Codex",
"lane": "",
"title": "Cloud command center is deploy-ready",
"status": "blocked",
"action": "Cloud deploy status is Blocked On Cloud Handoffs; finish Cloudflare account, access, domain, D1, and sync handoffs.",
"dashboardPage": "",
"dashboardField": "",
"uploadSlot": ""
},
{
"type": "Release Candidate",
"priority": "P1",
"owner": "User + Codex",
"lane": "",
"title": "Android companion points at a stable hosted bridge without a bundled shared token",
"status": "blocked",
"action": "Android companion bridge is not paid-beta stable. Dashboard bundledBridgeUrl=blank; APK defaultUrl=https://olympics-answers-defence-necklace.trycloudflare.com; tokenBundled=yes. Deploy the Worker, move customer auth off the bundled alpha token, save the stable URL, then rebuild Android.",
"dashboardPage": "",
"dashboardField": "",
"uploadSlot": ""
},
{
"type": "Release Candidate",
"priority": "P1",
"owner": "Codex",
"lane": "",
"title": "Daily build agents are active",
"status": "blocked",
"action": "Repair or create the required NyrA daily automations before relying on unattended build follow-up.",
"dashboardPage": "",
"dashboardField": "",
"uploadSlot": ""
},
{
"type": "Release Candidate",
"priority": "P1",
"owner": "User + Codex",
"lane": "",
"title": "Marketing campaign has final publish values",
"status": "blocked",
"action": "Final publication still needs domain, price, hosted AI cap, live checkout URL, support inbox, policy URLs, final screenshots, and recorded demo.",
"dashboardPage": "",
"dashboardField": "",
"uploadSlot": ""
},
{
"type": "Release Candidate",
"priority": "P1",
"owner": "Codex",
"lane": "",
"title": "Visuals match the shipping app",
"status": "blocked",
"action": "Final screenshots, diagrams, and demo visuals must match the shipping app before paid beta marketing.",
"dashboardPage": "",
"dashboardField": "",
"uploadSlot": ""
},
{
"type": "Release Candidate",
"priority": "P1",
"owner": "User + Codex",
"lane": "",
"title": "Billing live rehearsal inputs are ready",
"status": "blocked",
"action": "Complete hosted billing backend URL, Customer Portal, and final live-money rehearsal gates before paid checkout.",
"dashboardPage": "",
"dashboardField": "",
"uploadSlot": ""
},
{
"type": "Release Candidate",
"priority": "P1",
"owner": "User",
"lane": "",
"title": "Support and legal review are ready",
"status": "blocked",
"action": "Confirm support inbox roundtrip and complete attorney/accountant review before paid beta.",
"dashboardPage": "",
"dashboardField": "",
"uploadSlot": ""
}
],
"cloudQueue": [
{
"type": "Cloud Handoff",
"priority": "P0",
"owner": "User",
"lane": "",
"title": "Cloudflare account confirmed",
"status": "blocked",
"action": "Confirm the Cloudflare account that will host the dashboard and API.",
"dashboardPage": "",
"dashboardField": "",
"uploadSlot": ""
},
{
"type": "Cloud Handoff",
"priority": "P0",
"owner": "User",
"lane": "",
"title": "Cloud admin email entered",
"status": "blocked",
"action": "Enter the admin email to use for Cloudflare Access or ownership records.",
"dashboardPage": "",
"dashboardField": "",
"uploadSlot": ""
},
{
"type": "Cloud Handoff",
"priority": "P0",
"owner": "User",
"lane": "",
"title": "D1 database ID entered",
"status": "blocked",
"action": "Create the D1 database and paste its database_id into the dashboard.",
"dashboardPage": "",
"dashboardField": "",
"uploadSlot": ""
},
{
"type": "Cloud Handoff",
"priority": "P0",
"owner": "User",
"lane": "",
"title": "Wrangler D1 database ID resolved",
"status": "blocked",
"action": "Replace production database_id placeholder in cloud/command-center-worker/wrangler.jsonc.",
"dashboardPage": "",
"dashboardField": "",
"uploadSlot": ""
},
{
"type": "Cloud Handoff",
"priority": "P1",
"owner": "User",
"lane": "",
"title": "Cloud API URL available for sync",
"status": "blocked",
"action": "After deploy, set NYRA_COMMAND_CENTER_API_URL in a temporary shell before cloud sync.",
"dashboardPage": "",
"dashboardField": "",
"uploadSlot": ""
},
{
"type": "Cloud Handoff",
"priority": "P1",
"owner": "User",
"lane": "",
"title": "Cloud API token available for sync",
"status": "blocked",
"action": "After deploy, set NYRA_COMMAND_CENTER_TOKEN in a temporary shell only; never write it to repo files.",
"dashboardPage": "",
"dashboardField": "",
"uploadSlot": ""
}
],
"visualQueue": [
{
"type": "Visual Work",
"priority": "P1",
"owner": "Codex",
"lane": "Visual Assets",
"title": "Final shipping screenshots and demo assets",
"status": "Visuals In Progress",
"action": "Storyboards and shot lists are ready; product demo and ad videos wait for final UI, pricing, billing, support, policy URLs, and screenshots.",
"dashboardPage": "",
"dashboardField": "",
"uploadSlot": ""
}
],
"outputs": {
"json": "docs/launch_command_center/daily-command-brief.json",
"csv": "docs/launch_command_center/daily-command-brief.csv",
"report": "docs/launch_command_center/DAILY_COMMAND_BRIEF.md",
"dashboard": "docs/launch_command_center/pages/brief.html"
}
}