Daily Operating Brief

Today Command Brief

The single start-here page for what you should enter next, what Codex should work next, what remains blocked, and what the daily agents read before continuing NyrA.

Brief Controls

Open brief CSV

Run npm run daily:brief after saving dashboard fields, scanning handoffs, or regenerating release/cloud evidence.

Brief status Waiting On Handoffs Ready
Release candidate Internal Alpha Only Ready
Money launch No-Go Live Money Ready
User handoffs 17 Ready
Secret-store items 9 Ready
Handoff delta pack Handoff Delta Changed Waiting On Handoffs Ready
Changed handoffs 1 Ready
Dashboard updates 0 Ready
Deployability rows 27 Ready
Secret setup pack Secrets Waiting Ready
Exact setup rows 12 Ready
Cloud sync items 3 Ready
Cloud bootstrap pack Cloud Bootstrap Waiting On API Token Ready
Bootstrap rows 14 Ready
Cloud deploy pack Cloud Deploy Pack Waiting On Handoffs Ready
Cloud pack rows 6 Ready
Hosted alpha Hosted Alpha Ready Ready
Hosted alpha rows 2 Ready
Model benchmark Model Benchmark Complete Ready
Model benchmark rows 1 Ready
Cloudflare discovery Cloudflare Discovery Needs API Token Ready
Discovery rows 2 Ready
Payment launch pack Payment Launch Waiting On Handoffs Ready
Payment rows 14 Ready
Support ops pack Support Ops Waiting On Handoffs Ready
Support rows 9 Ready
Release trust pack Release Trust Waiting On Handoffs Ready
Trust rows 2 Ready
Version control pack Version Control Waiting On Handoffs Ready
Version rows 2 Ready
Public launch config Public Launch Config Waiting On Handoffs Ready
Public config rows 7 Ready
Decision defaults Launch Decision Recommendations Ready Ready
Decision rows 14 Ready
Collaboration workspace Collaboration Workspace Waiting On Handoffs Ready
Workspace rows 18 Ready
Visual production pack Visual Production Waiting On Handoffs Ready
Visual pack rows 14 Ready
Codex queue 9 Ready
Cloud deploy Blocked On Cloud Handoffs Ready
Automations Automation Handoffs Missing Ready
Visual assets VISUALS_IN_PROGRESS Ready

User Handoffs

TypePriorityOwnerLaneTitleStatusActionPageField
User Handoff P0 User Business Legal Attorney/accountant review approved for paid beta Waiting on user Mark Approved only after attorney/accountant review clears paid beta. pages/billing-rehearsal.html billingRehearsal.attorneyReviewStatus
User Handoff P0 User + Codex Payments Licensing Billing rehearsal mode set to live for final money preflight Waiting on user Switch to live only after test-mode rehearsal, legal, support, and Stripe gates pass. pages/billing-rehearsal.html billingRehearsal.mode
User Handoff P0 User Payments Licensing Hosted billing backend HTTPS URL saved Waiting on user Enter the hosted billing backend HTTPS base URL. pages/billing-rehearsal.html billingRehearsal.backendBaseUrl
User Handoff P0 User Payments Licensing Stripe webhook HTTPS endpoint saved Waiting on user Enter the Stripe webhook endpoint URL after it is created. pages/billing-rehearsal.html billingRehearsal.webhookEndpointUrl
User Handoff P0 User Payments Licensing Customer Portal configured for cancellation, invoices, and payment methods Waiting on user Mark yes after Customer Portal cancellation, invoices, and payment methods are tested. pages/billing-rehearsal.html billingRehearsal.customerPortalConfigured
User Handoff P0 User Support Ops Support inbox roundtrip confirmed Waiting on user Create the support inbox, send a test ticket, reply, and mark confirmed. pages/billing-rehearsal.html billingRehearsal.supportInboxConfirmed
User Handoff P0 User Cloud Platform Cloudflare account ready Waiting on user Confirm the Cloudflare account that will host the dashboard and API. pages/cloud.html cloudMigration.accountReady
User Handoff P0 User Cloud Platform D1 database ID saved Waiting on user Paste the Cloudflare D1 database ID. pages/cloud.html cloudMigration.d1DatabaseId
User Handoff P0 User + Codex Cloud Platform Hosted mobile bridge Worker URL saved Waiting on user Enter the deployed HTTPS NyrA mobile bridge Worker URL. pages/cloud-mobile-bridge.html mobileBridge.workerUrl
User Handoff P0 User + Codex Cloud Platform Mobile bridge token secret configured Waiting on user Set the Worker bridge token secret and mark the mobile bridge secret status. pages/cloud-mobile-bridge.html mobileBridge.secretStatus
User Handoff P0 User + Codex Cloud Platform Mobile bridge full swarm provider secrets configured Waiting on user Set OpenAI, Anthropic, Gemini, and Grok provider secrets for the deployed mobile bridge. pages/cloud-mobile-bridge.html mobileBridge.providerSecretStatus
User Handoff P0 User + Codex Cloud Platform Mobile support-log R2 bucket saved Waiting on user Create and enter the SUPPORT_LOGS R2 bucket name for mobile diagnostics. pages/cloud-mobile-bridge.html mobileBridge.r2BucketName

Codex Work Queue

TypePriorityOwnerLaneTitleStatusActionPageField
Codex Work P0 Codex Release Windows installer version Active 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
Codex Work P1 Codex Marketing Demo video Active 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
Codex Work P0 Codex Product Program Daily command-center intake Active 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
Verified Codex Gate P0 Codex Payments/Product Pricing and hosted AI cap model Ready 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
Verified Codex Gate P0 Codex Payments Create Stripe product/price Ready Use billing:stripe-setup after price and Stripe key are ready
Verified Codex Gate P0 Codex Payments/QA Billing live rehearsal Ready 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
Verified Codex Gate P0 Codex Payments/QA Payment Launch Pack Ready 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
Verified Codex Gate P0 Codex Engineering Deploy billing backend Ready 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
Verified Codex Gate P0 Codex Payments/Cloud Cloud billing Worker/D1 Ready 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

Dashboard Updates Waiting For Agents

TypePriorityOwnerLaneTitleStatusActionPageField
No dashboard updates are waiting for agent review.

Deployability Blockers

TypePriorityOwnerLaneTitleStatusActionPageField
Deployability Blocker P0 User Business Legal Attorney/accountant review approved for paid beta Waiting on user Mark Approved only after attorney/accountant review clears paid beta. pages/billing-rehearsal.html billingRehearsal.attorneyReviewStatus
Deployability Blocker P0 User + Codex Payments Licensing Billing rehearsal mode set to live for final money preflight User + Codex gated Switch to live only after test-mode rehearsal, legal, support, and Stripe gates pass. pages/billing-rehearsal.html billingRehearsal.mode
Deployability Blocker P0 User Payments Licensing Hosted billing backend HTTPS URL saved Waiting on user Enter the hosted billing backend HTTPS base URL. pages/billing-rehearsal.html billingRehearsal.backendBaseUrl
Deployability Blocker P0 User Payments Licensing Stripe webhook HTTPS endpoint saved Waiting on user Enter the Stripe webhook endpoint URL after it is created. pages/billing-rehearsal.html billingRehearsal.webhookEndpointUrl
Deployability Blocker P0 User Payments Licensing Customer Portal configured for cancellation, invoices, and payment methods Waiting on user Mark yes after Customer Portal cancellation, invoices, and payment methods are tested. pages/billing-rehearsal.html billingRehearsal.customerPortalConfigured
Deployability Blocker P0 User Payments Licensing Deployment env has live Stripe secret key beginning with sk_live_ Secret store Set STRIPE_SECRET_KEY in the deployment secret store or a temporary shell. Do not paste secrets into the dashboard. pages/billing-rehearsal.html deployment secret store: STRIPE_SECRET_KEY
Deployability Blocker P0 User Payments Licensing Deployment env has Stripe webhook signing secret beginning with whsec_ Secret store Set STRIPE_WEBHOOK_SECRET in the deployment secret store or a temporary shell. Do not paste secrets into the dashboard. pages/billing-rehearsal.html deployment secret store: STRIPE_WEBHOOK_SECRET
Deployability Blocker P0 User Payments Licensing Deployment env has Stripe monthly Price ID beginning with price_ Secret store Set NYRA_STRIPE_PRICE_PRO_MONTHLY in the deployment secret store or a temporary shell. Do not paste secrets into the dashboard. pages/billing-rehearsal.html deployment secret store: NYRA_STRIPE_PRICE_PRO_MONTHLY
Deployability Blocker P0 User Payments Licensing Deployment env has HTTPS checkout success URL Secret store Set NYRA_BILLING_SUCCESS_URL in the deployment secret store or a temporary shell. Do not paste secrets into the dashboard. pages/billing-rehearsal.html deployment secret store: NYRA_BILLING_SUCCESS_URL
Deployability Blocker P0 User Payments Licensing Deployment env has HTTPS checkout cancel URL Secret store Set NYRA_BILLING_CANCEL_URL in the deployment secret store or a temporary shell. Do not paste secrets into the dashboard. pages/billing-rehearsal.html deployment secret store: NYRA_BILLING_CANCEL_URL
Deployability Blocker P0 User Payments Licensing Deployment env has HTTPS Customer Portal return URL Secret store Set NYRA_BILLING_RETURN_URL in the deployment secret store or a temporary shell. Do not paste secrets into the dashboard. pages/billing-rehearsal.html deployment secret store: NYRA_BILLING_RETURN_URL
Deployability Blocker P0 User Payments Licensing Deployment env has long random license API token Secret store Set NYRA_LICENSE_API_TOKEN in the deployment secret store or a temporary shell. Do not paste secrets into the dashboard. pages/billing-rehearsal.html deployment secret store: NYRA_LICENSE_API_TOKEN
Deployability Blocker P0 User Payments Licensing Deployment env has long random license signing secret Secret store Set NYRA_LICENSE_SIGNING_SECRET in the deployment secret store or a temporary shell. Do not paste secrets into the dashboard. pages/billing-rehearsal.html deployment secret store: NYRA_LICENSE_SIGNING_SECRET
Deployability Blocker P0 User Payments Licensing Deployment env has long random Android APK download ticket secret Secret store Set NYRA_ANDROID_DOWNLOAD_TICKET_SECRET in the deployment secret store or a temporary shell. Do not paste secrets into the dashboard. pages/billing-rehearsal.html deployment secret store: NYRA_ANDROID_DOWNLOAD_TICKET_SECRET
Deployability Blocker P0 User Support Ops Support inbox roundtrip confirmed Waiting on user Create the support inbox, send a test ticket, reply, and mark confirmed. pages/billing-rehearsal.html billingRehearsal.supportInboxConfirmed
Deployability Blocker P0 User Cloud Platform Cloudflare account ready Waiting on user Confirm the Cloudflare account that will host the dashboard and API. pages/cloud.html cloudMigration.accountReady
Deployability Blocker P0 User Cloud Platform D1 database ID saved Waiting on user Paste the Cloudflare D1 database ID. pages/cloud.html cloudMigration.d1DatabaseId
Deployability Blocker P0 User + Codex Cloud Platform Hosted mobile bridge Worker URL saved Waiting on user Enter the deployed HTTPS NyrA mobile bridge Worker URL. pages/cloud-mobile-bridge.html mobileBridge.workerUrl
Deployability Blocker P0 User + Codex Cloud Platform Mobile bridge token secret configured Secret store Set the Worker bridge token secret and mark the mobile bridge secret status. pages/cloud-mobile-bridge.html mobileBridge.secretStatus
Deployability Blocker P0 User + Codex Cloud Platform Mobile bridge full swarm provider secrets configured Secret store Set OpenAI, Anthropic, Gemini, and Grok provider secrets for the deployed mobile bridge. pages/cloud-mobile-bridge.html mobileBridge.providerSecretStatus
Deployability Blocker P0 User + Codex Cloud Platform Mobile support-log R2 bucket saved Waiting on user Create and enter the SUPPORT_LOGS R2 bucket name for mobile diagnostics. pages/cloud-mobile-bridge.html mobileBridge.r2BucketName
Deployability Blocker P0 User + Codex Cloud Platform Android releases R2 bucket saved Waiting on user Create and enter the ANDROID_RELEASES R2 bucket name for hosted APK updates. pages/cloud-mobile-bridge.html mobileBridge.androidReleasesBucketName
Deployability Blocker P0 User + Codex Cloud Platform Hosted Android APK route configured Waiting on user Upload the current APK to R2 and enter its object key. pages/cloud-mobile-bridge.html mobileBridge.androidApkR2Key
Deployability Blocker P0 User + Codex Release Ops Android paid-beta build points at stable bridge URL without bundled shared token User + Codex gated Deploy the stable bridge, remove the shared bundled alpha token from paid-beta builds, then rebuild Android from verified bridge evidence. pages/cloud-mobile-bridge.html mobileBridge.bundledBridgeUrl
Deployability Blocker P0 User + Codex QA Physical phone bridge self-test passed User + Codex gated Run a phone bridge self-test against the deployed Worker and record the result. pages/cloud-mobile-bridge.html mobileBridge.lastPhoneSelfTest
Deployability Blocker P0 User + Codex Release Ops Paid beta installer is signed or store-trusted User + Codex gated Upload or generate signed/store-trusted release evidence after the signing path is chosen. pages/release-package.html releasePackage.signingStatus
Deployability Blocker P1 Codex Visual Assets Launch visuals use current shipping app screenshots Codex queued Capture and approve current product screenshots after the shipping UI and billing/support flows are final. pages/visuals.html visualProduction.finalScreenshotsApproved

Handoff Delta Pack

TypePriorityOwnerLaneTitleStatusActionPageField
Handoff Delta Pack P0 User + Codex QA Physical phone bridge self-test passed Waiting on user Run a phone bridge self-test against the deployed Worker and record the result. pages/cloud-mobile-bridge.html mobileBridge.lastPhoneSelfTest

Secret Store Setup Pack

TypePriorityOwnerLaneTitleStatusActionPageField
Secret Setup P0 User Stripe Billing STRIPE_SECRET_KEY Secret missing 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. pages/billing-rehearsal.html deployment secret store: STRIPE_SECRET_KEY
Secret Setup P0 User Stripe Billing STRIPE_WEBHOOK_SECRET Secret missing 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. pages/billing-rehearsal.html deployment secret store: STRIPE_WEBHOOK_SECRET
Secret Setup P0 User Stripe Billing NYRA_STRIPE_PRICE_PRO_MONTHLY Secret missing 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. pages/billing-rehearsal.html deployment secret store: NYRA_STRIPE_PRICE_PRO_MONTHLY
Secret Setup P0 User NyrA Billing NYRA_BILLING_SUCCESS_URL Secret missing 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. pages/billing-rehearsal.html deployment secret store: NYRA_BILLING_SUCCESS_URL
Secret Setup P0 User NyrA Billing NYRA_BILLING_CANCEL_URL Secret missing 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. pages/billing-rehearsal.html deployment secret store: NYRA_BILLING_CANCEL_URL
Secret Setup P0 User NyrA Billing NYRA_BILLING_RETURN_URL Secret missing 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. pages/billing-rehearsal.html deployment secret store: NYRA_BILLING_RETURN_URL
Secret Setup P0 User NyrA License NYRA_LICENSE_API_TOKEN Secret missing 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. pages/billing-rehearsal.html deployment secret store: NYRA_LICENSE_API_TOKEN
Secret Setup P0 User NyrA License NYRA_LICENSE_SIGNING_SECRET Secret missing 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. pages/billing-rehearsal.html deployment secret store: NYRA_LICENSE_SIGNING_SECRET
Secret Setup P0 User NyrA Mobile Bridge NYRA_ANDROID_DOWNLOAD_TICKET_SECRET Secret missing 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. pages/billing-rehearsal.html deployment secret store: NYRA_ANDROID_DOWNLOAD_TICKET_SECRET
Secret Setup P1 User Cloud Command Center NYRA_COMMAND_TOKEN Waiting on private token 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. pages/cloud.html deployment secret store: NYRA_COMMAND_TOKEN
Cloud Secret Setup P1 User + Codex Cloud Command Center NYRA_COMMAND_CENTER_API_URL Waiting on deployed Worker URL 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. pages/cloud.html cloudSync.apiUrl
Cloud Secret Setup P1 User Cloud Command Center NYRA_COMMAND_CENTER_TOKEN Waiting on temporary sync token 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. pages/cloud.html browser localStorage only: nyraCommandCenterApiConfig.token

Secret Store Handoffs

TypePriorityOwnerLaneTitleStatusActionPageField
Secret Store P0 User Payments Licensing Deployment env has live Stripe secret key beginning with sk_live_ Waiting on secret store Set STRIPE_SECRET_KEY in the deployment secret store or a temporary shell. Do not paste secrets into the dashboard. pages/billing-rehearsal.html deployment secret store: STRIPE_SECRET_KEY
Secret Store P0 User Payments Licensing Deployment env has Stripe webhook signing secret beginning with whsec_ Waiting on secret store Set STRIPE_WEBHOOK_SECRET in the deployment secret store or a temporary shell. Do not paste secrets into the dashboard. pages/billing-rehearsal.html deployment secret store: STRIPE_WEBHOOK_SECRET
Secret Store P0 User Payments Licensing Deployment env has Stripe monthly Price ID beginning with price_ Waiting on secret store Set NYRA_STRIPE_PRICE_PRO_MONTHLY in the deployment secret store or a temporary shell. Do not paste secrets into the dashboard. pages/billing-rehearsal.html deployment secret store: NYRA_STRIPE_PRICE_PRO_MONTHLY
Secret Store P0 User Payments Licensing Deployment env has HTTPS checkout success URL Waiting on secret store Set NYRA_BILLING_SUCCESS_URL in the deployment secret store or a temporary shell. Do not paste secrets into the dashboard. pages/billing-rehearsal.html deployment secret store: NYRA_BILLING_SUCCESS_URL
Secret Store P0 User Payments Licensing Deployment env has HTTPS checkout cancel URL Waiting on secret store Set NYRA_BILLING_CANCEL_URL in the deployment secret store or a temporary shell. Do not paste secrets into the dashboard. pages/billing-rehearsal.html deployment secret store: NYRA_BILLING_CANCEL_URL
Secret Store P0 User Payments Licensing Deployment env has HTTPS Customer Portal return URL Waiting on secret store Set NYRA_BILLING_RETURN_URL in the deployment secret store or a temporary shell. Do not paste secrets into the dashboard. pages/billing-rehearsal.html deployment secret store: NYRA_BILLING_RETURN_URL
Secret Store P0 User Payments Licensing Deployment env has long random license API token Waiting on secret store Set NYRA_LICENSE_API_TOKEN in the deployment secret store or a temporary shell. Do not paste secrets into the dashboard. pages/billing-rehearsal.html deployment secret store: NYRA_LICENSE_API_TOKEN
Secret Store P0 User Payments Licensing Deployment env has long random license signing secret Waiting on secret store Set NYRA_LICENSE_SIGNING_SECRET in the deployment secret store or a temporary shell. Do not paste secrets into the dashboard. pages/billing-rehearsal.html deployment secret store: NYRA_LICENSE_SIGNING_SECRET
Secret Store P0 User Payments Licensing Deployment env has long random Android APK download ticket secret Waiting on secret store Set NYRA_ANDROID_DOWNLOAD_TICKET_SECRET in the deployment secret store or a temporary shell. Do not paste secrets into the dashboard. pages/billing-rehearsal.html deployment secret store: NYRA_ANDROID_DOWNLOAD_TICKET_SECRET

Cloud Bootstrap Pack

TypePriorityOwnerLaneTitleStatusActionPageField
Cloud Bootstrap Pack P0 User 1. Authentication Cloudflare API token required Waiting on user 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. pages/cloud-bootstrap.html cloudMigration.accountReady
Cloud Bootstrap Pack P1 User 1. Authentication Wrangler login Optional fallback 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. pages/cloud-bootstrap.html cloudMigration.accountReady
Cloud Bootstrap Pack P0 User + Codex 2. Remote Resources D1: nyra_command_center Waiting on Cloudflare API token 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. pages/cloud.html cloudMigration.d1DatabaseId
Cloud Bootstrap Pack P0 User + Codex 2. Remote Resources D1: nyra_billing Waiting on Cloudflare API token 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. pages/cloud-billing.html billingCloud.d1DatabaseId
Cloud Bootstrap Pack P0 User + Codex 2. Remote Resources R2: nyra-command-center-uploads Ready for config review Run discovery/config sync and verify the non-secret ID or URL is saved in the dashboard before deployment. pages/cloud.html cloudMigration.r2Bucket
Cloud Bootstrap Pack P0 User + Codex 2. Remote Resources R2: nyra-mobile-support-logs Ready for config review Run discovery/config sync and verify the non-secret ID or URL is saved in the dashboard before deployment. pages/cloud-mobile-bridge.html mobileBridge.r2BucketName
Cloud Bootstrap Pack P1 User + Codex 2. Remote Resources R2: nyra-android-releases Ready for config review Run discovery/config sync and verify the non-secret ID or URL is saved in the dashboard before deployment. pages/cloud-mobile-bridge.html mobileBridge.androidReleasesBucketName
Cloud Bootstrap Pack P1 User + Codex 2. Remote Resources Pages: nyra-command-center-dashboard Ready for config review Run discovery/config sync and verify the non-secret ID or URL is saved in the dashboard before deployment. pages/cloud.html cloudPages.projectName
Cloud Bootstrap Pack P1 Codex 2. Remote Resources Worker: nyra-command-center-api Waiting on Cloudflare API token 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. pages/cloud.html cloudSync.apiUrl
Cloud Bootstrap Pack P1 Codex 2. Remote Resources Worker: nyra-billing-api Waiting on Cloudflare API token 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. pages/cloud-billing.html billingCloud.workerUrl
Cloud Bootstrap Pack P1 Codex 2. Remote Resources Worker: nyra-mobile-bridge-api Waiting on Cloudflare API token 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. pages/cloud-mobile-bridge.html mobileBridge.workerUrl
Cloud Bootstrap Pack P0 Codex 3. Config Sync sync non secret config Waiting on prior gates Apply saved non-secret dashboard values to production Worker configs and verify the mobile bridge bootstrap plan. pages/cloud-bootstrap.html
Cloud Bootstrap Pack P0 User + Codex 4. Secrets command token secret Waiting on prior gates Set the private command-center API bearer token through Wrangler secrets only. pages/cloud-bootstrap.html
Cloud Bootstrap Pack P0 User + Codex 4. Secrets billing secret stripe secret key Waiting on prior gates Set STRIPE_SECRET_KEY for the billing Worker through Wrangler secrets only. pages/cloud-bootstrap.html

Cloud Deploy Pack

TypePriorityOwnerLaneTitleStatusActionPageField
Cloud Deploy Pack P0 User 1. Account And Access Cloudflare account confirmed blocked Confirm the Cloudflare account that will host NyrA command center Pages, Worker, D1, and R2. pages/cloud.html cloudMigration.accountReady
Cloud Deploy Pack P0 User 1. Account And Access Cloud admin email entered blocked Enter the Cloudflare admin email that owns Access policy and deployment permissions. pages/cloud.html cloudMigration.adminEmail
Cloud Deploy Pack P0 User 3. D1 And R2 Resources D1 database ID entered blocked Create the Cloudflare D1 database for command-center state, then save its database_id in the dashboard. pages/cloud.html cloudMigration.d1DatabaseId
Cloud Deploy Pack P0 User 4. Worker Configuration Wrangler D1 database ID resolved blocked Replace the production D1 database_id placeholder in cloud/command-center-worker/wrangler.jsonc after the D1 id is known. pages/cloud.html cloudMigration.d1DatabaseId
Cloud Deploy Pack P0 User 5. First Cloud Sync Cloud API URL available for sync blocked After Worker deployment, set NYRA_COMMAND_CENTER_API_URL in a temporary shell and the browser Cloud Connection URL field. pages/cloud.html cloudSync.apiUrl
Cloud Deploy Pack P0 User 5. First Cloud Sync Cloud API token available for sync blocked Set NYRA_COMMAND_CENTER_TOKEN in a temporary shell using the same private value as NYRA_COMMAND_TOKEN after the Worker secret is created. pages/cloud.html browser localStorage only: nyraCommandCenterApiConfig.token

Hosted Alpha App Health

TypePriorityOwnerLaneTitleStatusActionPageField
Hosted Alpha P1 Codex Mobile Bridge Hosted alpha phone test stays green Hosted Alpha Ready 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). pages/cloud-mobile-bridge.html mobileBridge.lastPhoneSelfTest
Hosted Alpha P0 User + Codex Mobile Bridge Replace temporary hosted alpha with permanent bridge.porterlabz.com Internal alpha only until bridge.porterlabz.com Worker, R2 APK hosting, secret store, customer auth, and paid-beta distribution are deployed. 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. pages/cloud-mobile-bridge.html mobileBridge.workerUrl

Model Benchmark Queue

TypePriorityOwnerLaneTitleStatusActionPageField
Model Benchmark P1 Codex AI Swarm Model benchmark evidence stays current Model Benchmark Complete 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. pages/model-benchmark.html aiProviders.modelBenchmark

Cloudflare Discovery

TypePriorityOwnerLaneTitleStatusActionPageField
Cloudflare Discovery P0 User 1. Authenticate Cloudflare API token required Waiting on user 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. pages/cloudflare-discovery.html cloudMigration.accountReady
Cloudflare Discovery P1 User 1. Authenticate Wrangler login Interactive fallback 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. pages/cloudflare-discovery.html cloudMigration.accountReady

Payment Launch Pack

TypePriorityOwnerLaneTitleStatusActionPageField
Payment Launch Pack P0 User 1. Legal And Stripe Identity Attorney/accountant review approved for paid beta Waiting on user Mark attorney/accountant review approved only after paid-beta policies, tax, refund, privacy, and support language are cleared. pages/billing-rehearsal.html billingRehearsal.attorneyReviewStatus
Payment Launch Pack P0 User + Codex 8. Live Payment Gate Billing rehearsal mode set to live for final money preflight User + Codex gated Keep rehearsal mode in test until test checkout, portal, webhook, support, legal, domain, secrets, and release gates pass. pages/billing-rehearsal.html billingRehearsal.mode
Payment Launch Pack P0 User 5. Billing Backend Hosted billing backend HTTPS URL saved Waiting on user Deploy the billing backend or billing Worker, then save its HTTPS base URL. pages/billing-rehearsal.html billingRehearsal.backendBaseUrl
Payment Launch Pack P0 User 4. Customer Portal And Webhooks Stripe webhook HTTPS endpoint saved Waiting on user Create the Stripe webhook endpoint after the billing Worker/backend URL exists, select required subscription events, and save the endpoint URL. pages/billing-rehearsal.html billingRehearsal.webhookEndpointUrl
Payment Launch Pack P0 User 4. Customer Portal And Webhooks Customer Portal configured for cancellation, invoices, and payment methods Waiting on user Configure Customer Portal cancellation, invoice history, and payment method updates, then mark the dashboard yes after a test portal roundtrip. pages/billing-rehearsal.html billingRehearsal.customerPortalConfigured
Payment Launch Pack P0 User 9. Other Payment Handoff Deployment env has live Stripe secret key beginning with sk_live_ Secret store Set STRIPE_SECRET_KEY in the deployment secret store or a temporary shell. Do not paste secrets into the dashboard. pages/billing-rehearsal.html deployment secret store: STRIPE_SECRET_KEY
Payment Launch Pack P0 User 9. Other Payment Handoff Deployment env has Stripe webhook signing secret beginning with whsec_ Secret store Set STRIPE_WEBHOOK_SECRET in the deployment secret store or a temporary shell. Do not paste secrets into the dashboard. pages/billing-rehearsal.html deployment secret store: STRIPE_WEBHOOK_SECRET
Payment Launch Pack P0 User 3. Stripe Product And Price Deployment env has Stripe monthly Price ID beginning with price_ Secret store Create the Stripe monthly Price after the approved price exists, then set NYRA_STRIPE_PRICE_PRO_MONTHLY in the billing Worker secret store. pages/billing-rehearsal.html deployment secret store: NYRA_STRIPE_PRICE_PRO_MONTHLY
Payment Launch Pack P0 User 9. Other Payment Handoff Deployment env has HTTPS checkout success URL Secret store Set NYRA_BILLING_SUCCESS_URL in the deployment secret store or a temporary shell. Do not paste secrets into the dashboard. pages/billing-rehearsal.html deployment secret store: NYRA_BILLING_SUCCESS_URL
Payment Launch Pack P0 User 9. Other Payment Handoff Deployment env has HTTPS checkout cancel URL Secret store Set NYRA_BILLING_CANCEL_URL in the deployment secret store or a temporary shell. Do not paste secrets into the dashboard. pages/billing-rehearsal.html deployment secret store: NYRA_BILLING_CANCEL_URL
Payment Launch Pack P0 User 9. Other Payment Handoff Deployment env has HTTPS Customer Portal return URL Secret store Set NYRA_BILLING_RETURN_URL in the deployment secret store or a temporary shell. Do not paste secrets into the dashboard. pages/billing-rehearsal.html deployment secret store: NYRA_BILLING_RETURN_URL
Payment Launch Pack P0 User 9. Other Payment Handoff Deployment env has long random license API token Secret store Set NYRA_LICENSE_API_TOKEN in the deployment secret store or a temporary shell. Do not paste secrets into the dashboard. pages/billing-rehearsal.html deployment secret store: NYRA_LICENSE_API_TOKEN
Payment Launch Pack P0 User 9. Other Payment Handoff Deployment env has long random license signing secret Secret store Set NYRA_LICENSE_SIGNING_SECRET in the deployment secret store or a temporary shell. Do not paste secrets into the dashboard. pages/billing-rehearsal.html deployment secret store: NYRA_LICENSE_SIGNING_SECRET
Payment Launch Pack P0 User 6. Support And Domain Support inbox roundtrip confirmed Waiting on user Create or confirm the support inbox, send a test ticket, reply, and mark the roundtrip confirmed. pages/billing-rehearsal.html billingRehearsal.supportInboxConfirmed

Support Ops Pack

TypePriorityOwnerLaneTitleStatusActionPageField
Support Ops Pack P0 User 1. Public Support Identity Support email saved Ready Save the support address customers will see in the app, Stripe receipts, public policies, and launch site. pages/support.html decisions.supportEmail
Support Ops Pack P0 User 1. Public Support Identity Support inbox ticket roundtrip confirmed Waiting on handoff Send a test customer email to the support inbox, reply from the inbox, and upload sanitized proof of the roundtrip. pages/support.html billingRehearsal.supportInboxConfirmed
Support Ops Pack P0 User 2. Public Policy And Domain Public domain and policy support path saved Ready Save the public product domain so privacy, terms, refund, cancellation, support, checkout success, and portal return URLs can match. pages/support.html decisions.domain
Support Ops Pack P0 Codex 3. Customer Diagnostics Redacted support diagnostics export exists Ready Keep Settings diagnostics export available and redacted before every release candidate. pages/support.html supportOps.diagnosticsStatus
Support Ops Pack P0 Codex 4. Support Process Support runbook and inbox setup docs exist Ready Keep support categories, evidence rules, response targets, canned replies, and inbox setup docs current with the shipping product. pages/support.html supportOps.runbookStatus
Support Ops Pack P0 User + Codex 5. Billing Support Customer Portal cancellation and invoice support configured Waiting on handoff Configure Stripe Customer Portal for cancellation, invoice history, and payment method updates; then test the support reply path. pages/support.html billingRehearsal.customerPortalConfigured
Support Ops Pack P0 User + Codex 5. Billing Support Hosted billing support links saved Waiting on handoff Save hosted billing backend and Stripe webhook URLs so support can distinguish checkout, portal, webhook, and activation failures. pages/support.html billingRehearsal.backendBaseUrl
Support Ops Pack P0 User 6. Legal And Policy Review Support, refund, privacy, and cancellation language reviewed Waiting on handoff Review final-sale, cancellation, support, privacy, and paid-beta language with an attorney/accountant or explicitly mark approved after review. pages/support.html billingRehearsal.attorneyReviewStatus
Support Ops Pack P0 Codex 7. Support Visual Evidence Support screenshots match shipping app Waiting on product freeze Refresh support, diagnostics, billing, cancellation, and activation screenshots after the shipping UI and support paths are frozen. pages/support.html visualProduction.finalScreenshotsApproved

Release Trust Pack

TypePriorityOwnerLaneTitleStatusActionPageField
Release Trust Pack P0 User + Codex 4. Signed Or Store Evidence Paid beta installer is signed or store-trusted User + Codex gated Produce signed direct-download installer evidence or store-trusted package/listing evidence before any paid beta customer receives the build. pages/release-package.html releasePackage.signingStatus
Release Trust Pack P0 User + Codex 4. Signed Or Store Evidence Trusted installer evidence clears release candidate blocked Choose the release trust path and produce signed or store-trusted installer evidence before paid beta. pages/release-package.html releasePackage.signingStatus

Version Control Pack

TypePriorityOwnerLaneTitleStatusActionPageField
Version Control Pack P0 User 2. Repository Baseline GitHub remote or repo URL saved Waiting on handoff Save the intended GitHub repository owner/name or remote URL in the dashboard. pages/version-control.html versionControl.repoRemoteUrl
Version Control Pack P0 User + Codex 2. Repository Baseline GitHub repo creation or push path available Waiting on handoff Authenticate GitHub CLI or save an existing remote URL in the dashboard. pages/version-control.html versionControl.repoRemoteUrl

Public Launch Config

TypePriorityOwnerLaneTitleStatusActionPageField
Public Launch Config P0 User Business Legal Business/legal name Ready Enter the business/legal name that will appear in Stripe, receipts, policies, and release metadata. pages/collaboration.html decisions.businessName
Public Launch Config P0 User Cloud Platform Public domain Ready Enter the public product/policy domain or subdomain. pages/collaboration.html decisions.domain
Public Launch Config P0 User Support Ops Support email Ready Confirm the support inbox that will appear on policy pages, Stripe receipts, and the launch site. pages/support.html decisions.supportEmail
Public Launch Config P0 User Payments Licensing Monthly price Ready Enter the approved monthly price in cents before creating the live Stripe Price. pages/pricing.html decisions.monthlyPriceCents
Public Launch Config P0 User Payments Licensing Hosted AI cap Ready Enter the customer-facing hosted AI usage cap before publishing pricing or checkout. pages/pricing.html decisions.hostedAiCap
Public Launch Config P0 User + Codex Payments Licensing Billing backend URL Waiting on handoff Deploy or choose the hosted billing backend URL. If billingCloud.workerUrl is saved, this pack can mirror it into billingRehearsal.backendBaseUrl. pages/billing-rehearsal.html billingRehearsal.backendBaseUrl
Public Launch Config P1 User Payments Licensing Customer Portal configured Waiting on handoff Mark Yes only after Customer Portal cancellation, invoices, and payment methods are enabled and tested. pages/billing-rehearsal.html billingRehearsal.customerPortalConfigured

Decision Recommendations

TypePriorityOwnerLaneTitleStatusActionPageField
Decision Recommendation P0 User Business Legal Business name candidate Saved different value Run a South Carolina name availability check, pick the final legal/business name, save it in the dashboard, and upload filing evidence when available. pages/collaboration.html decisions.businessName
Decision Recommendation P0 User Business Legal Entity path Saved matches recommendation Choose SC LLC or another documented entity path, then save the decision and upload the filing or accountant/legal note. pages/collaboration.html decisions.entityPath
Decision Recommendation P0 User Business Legal Tax collection/accounting path Saved matches recommendation Choose Stripe Tax now, accountant first, or SC-only beta in the dashboard. Get accountant/legal review before live public charging. pages/collaboration.html decisions.taxDecision
Decision Recommendation P0 User Payments Licensing Monthly subscription price Saved matches recommendation Save the approved monthly price in cents before creating the Stripe Price. pages/pricing.html decisions.monthlyPriceCents
Decision Recommendation P0 User Payments Licensing Hosted AI cap Saved matches recommendation Save the customer-facing hosted AI cap and over-cap behavior before checkout copy is published. pages/pricing.html decisions.hostedAiCap
Decision Recommendation P0 User Support Ops Support inbox Saved matches recommendation Confirm you own the inbox, send a test ticket, reply, then mark billingRehearsal.supportInboxConfirmed as Yes. pages/support.html decisions.supportEmail
Decision Recommendation P0 User Business Legal Refund and cancellation policy Suggested - not saved Have the refund/cancellation language reviewed before paid launch and upload legal review evidence. pages/refund-cancellation.html policy.review.refundCancellation
Decision Recommendation P0 User + Codex Payments Licensing Billing entitlement storage host Saved matches recommendation Approve Cloudflare billing storage and paste the D1 database ID after creation. pages/billing-rehearsal.html billingDeployment.storageHostDecision
Decision Recommendation P0 User + Codex Cloud Platform Cloud command-center stack Saved different value Approve the Cloudflare account/domain/admin/access handoff so the dashboard can move off local files. pages/cloud.html cloudMigration.target
Decision Recommendation P0 User + Codex Cloud Platform Cloud access model Saved matches recommendation Choose Cloudflare Access plus private token, then save the access model and admin email. pages/cloud.html cloudMigration.accessDecision
Decision Recommendation P0 User Release Ops Release channel Saved matches recommendation Choose direct download beta, Microsoft Store, or both before release rehearsal. pages/collaboration.html decisions.releaseChannel
Decision Recommendation P0 User Release Ops Code-signing path Saved matches recommendation Choose Microsoft Trusted Signing, Microsoft Store first, OV certificate, or hold. Upload signing/store evidence before paid beta. pages/collaboration.html decisions.codeSigningDecision
Decision Recommendation P1 Codex Release/Product App version path Saved different value Use the App Version page to record any required mobile companion boundaries or app-store goals. pages/app-version.html appVersion.mobileCompanionBoundary
Decision Recommendation P1 Codex Marketing Visuals Shipping visuals Suggested - not saved Approve final screenshots only after the app UI, support, billing, and consent flows match what will ship. pages/visuals.html visualProduction.finalScreenshotsApproved

Collaboration Workspace

TypePriorityOwnerLaneTitleStatusActionPageField
Collaboration Workspace P1 User + Codex Command Center Intake Daily Build Intake Ready for Codex review Run intake scan, handoff delta, daily brief, and agent dispatch; then continue the next unblocked NyrA build task. pages/collaboration.html intake.userDecisionSummary
Collaboration Workspace P1 User Business Legal Business, LLC, Tax Partially filled Fill 1 required dashboard field, then save, scan, and route. pages/collaboration.html decisions.einStatus
Collaboration Workspace P1 User + Codex Payments Licensing Pricing, Stripe, Payments Partially filled Fill 2 required dashboard fields, then save, scan, and route. pages/collaboration.html billingRehearsal.backendBaseUrl
Collaboration Workspace P1 User + Codex Cloud Platform Cloud Control Room Partially filled Fill 3 required dashboard fields, then save, scan, and route. pages/collaboration.html cloudMigration.accountReady
Collaboration Workspace P1 User + Codex QA Release App Version And Mobile Ready for Codex review Update version roadmap, release candidate preflight, QA matrix, release notes, and mobile boundary. pages/collaboration.html appVersion.publisherName
Collaboration Workspace P1 Codex + User approval Marketing Visuals Visual Production Partially filled Fill 1 required dashboard field, then save, scan, and route. pages/collaboration.html visualProduction.finalScreenshotsApproved
Collaboration Workspace P1 User + Codex Version Control Version Control And Release History Partially filled Fill 1 required dashboard field, then save, scan, and route. pages/collaboration.html versionControl.repoRemoteUrl
Collaboration Workspace P1 User + Codex Support Ops Support, Policies, Public Web Partially filled Fill 2 required dashboard fields, then save, scan, and route. pages/collaboration.html billingRehearsal.supportInboxConfirmed
Collaboration Workspace P1 Codex Agent Dispatch Automation Loop Tracking Keep the command center, daily brief, agent dispatch pack, and build queues current until paid launch gates clear. pages/collaboration.html intake.requestedNextBuild
Collaboration Handoff Card P0 User Business Legal Attorney/accountant review approved for paid beta Waiting on user Mark Approved only after attorney/accountant review clears paid beta. pages/billing-rehearsal.html billingRehearsal.attorneyReviewStatus
Collaboration Handoff Card P0 User + Codex Payments Licensing Billing rehearsal mode set to live for final money preflight User + Codex gated Switch to live only after test-mode rehearsal, legal, support, and Stripe gates pass. pages/billing-rehearsal.html billingRehearsal.mode
Collaboration Handoff Card P0 User Payments Licensing Hosted billing backend HTTPS URL saved Waiting on user Enter the hosted billing backend HTTPS base URL. pages/billing-rehearsal.html billingRehearsal.backendBaseUrl
Collaboration Handoff Card P0 User Payments Licensing Stripe webhook HTTPS endpoint saved Waiting on user Enter the Stripe webhook endpoint URL after it is created. pages/billing-rehearsal.html billingRehearsal.webhookEndpointUrl
Collaboration Handoff Card P0 User Payments Licensing Customer Portal configured for cancellation, invoices, and payment methods Waiting on user Mark yes after Customer Portal cancellation, invoices, and payment methods are tested. pages/billing-rehearsal.html billingRehearsal.customerPortalConfigured
Collaboration Handoff Card P0 User Payments Licensing Deployment env has live Stripe secret key beginning with sk_live_ Secret store Set STRIPE_SECRET_KEY in the deployment secret store or a temporary shell. Do not paste secrets into the dashboard. pages/billing-rehearsal.html deployment secret store: STRIPE_SECRET_KEY
Collaboration Handoff Card P0 User Payments Licensing Deployment env has Stripe webhook signing secret beginning with whsec_ Secret store Set STRIPE_WEBHOOK_SECRET in the deployment secret store or a temporary shell. Do not paste secrets into the dashboard. pages/billing-rehearsal.html deployment secret store: STRIPE_WEBHOOK_SECRET
Collaboration Handoff Card P0 User Payments Licensing Deployment env has Stripe monthly Price ID beginning with price_ Secret store Set NYRA_STRIPE_PRICE_PRO_MONTHLY in the deployment secret store or a temporary shell. Do not paste secrets into the dashboard. pages/billing-rehearsal.html deployment secret store: NYRA_STRIPE_PRICE_PRO_MONTHLY
Collaboration Handoff Card P0 User Payments Licensing Deployment env has HTTPS checkout success URL Secret store Set NYRA_BILLING_SUCCESS_URL in the deployment secret store or a temporary shell. Do not paste secrets into the dashboard. pages/billing-rehearsal.html deployment secret store: NYRA_BILLING_SUCCESS_URL

Visual Production Pack

TypePriorityOwnerLaneTitleStatusActionPageField
Visual Production Pack P1 Codex 1. Refresh Shipping Screenshot Idle NyrA buddy Refresh required Refresh this screenshot from the current shipping build after UI, consent, billing, support, and release messaging are frozen. pages/visuals.html visualProduction.finalScreenshotsApproved
Visual Production Pack P1 Codex 1. Refresh Shipping Screenshot Right-click command menu Refresh required Refresh this screenshot from the current shipping build after UI, consent, billing, support, and release messaging are frozen. pages/visuals.html visualProduction.finalScreenshotsApproved
Visual Production Pack P1 Codex 1. Refresh Shipping Screenshot Live voice controls Refresh required Refresh this screenshot from the current shipping build after UI, consent, billing, support, and release messaging are frozen. pages/visuals.html visualProduction.finalScreenshotsApproved
Visual Production Pack P1 Codex 1. Refresh Shipping Screenshot Wake-gated pause/listening behavior Refresh required Refresh this screenshot from the current shipping build after UI, consent, billing, support, and release messaging are frozen. pages/visuals.html visualProduction.finalScreenshotsApproved
Visual Production Pack P1 Codex 1. Refresh Shipping Screenshot Single buddy with right-click chat panel Refresh required Refresh this screenshot from the current shipping build after UI, consent, billing, support, and release messaging are frozen. pages/visuals.html visualProduction.finalScreenshotsApproved
Visual Production Pack P1 Codex 1. Refresh Shipping Screenshot Screen-look permission state Refresh required Refresh this screenshot from the current shipping build after UI, consent, billing, support, and release messaging are frozen. pages/visuals.html visualProduction.finalScreenshotsApproved
Visual Production Pack P1 Codex 1. Refresh Shipping Screenshot Camera permission state Refresh required Refresh this screenshot from the current shipping build after UI, consent, billing, support, and release messaging are frozen. pages/visuals.html visualProduction.finalScreenshotsApproved
Visual Production Pack P1 Codex 1. Refresh Shipping Screenshot Computer-control active state Refresh required Refresh this screenshot from the current shipping build after UI, consent, billing, support, and release messaging are frozen. pages/visuals.html visualProduction.finalScreenshotsApproved
Visual Production Pack P1 Codex 1. Refresh Shipping Screenshot Stop button / interruption evidence Refresh required Refresh this screenshot from the current shipping build after UI, consent, billing, support, and release messaging are frozen. pages/visuals.html visualProduction.finalScreenshotsApproved
Visual Production Pack P1 Codex 1. Refresh Shipping Screenshot Android alpha75 floating buddy over launcher Refresh required 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. pages/visuals.html visualProduction.finalScreenshotsApproved
Visual Production Pack P1 Codex 1. Refresh Shipping Screenshot Android alpha75 foreground panel and swarm state Refresh required 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. pages/visuals.html visualProduction.finalScreenshotsApproved
Visual Production Pack P1 Codex 1. Refresh Shipping Screenshot Android alpha75 Hide Bot removes floating buddy Refresh required 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. pages/visuals.html visualProduction.finalScreenshotsApproved
Visual Production Pack P1 User + Codex 2. Replace Diagram With App Screen Billing activation screen Partial Replace the diagram-only evidence with a current app screenshot after the relevant billing/support flow exists. pages/visuals.html visualProduction.notes
Visual Production Pack P0 User + Codex 3. Billing Portal Capture Customer Portal screen Blocked After Stripe Customer Portal is configured, capture the real customer portal screen and attach sanitized evidence to the dashboard. pages/visuals.html billingRehearsal.customerPortalConfigured

Cloud Blocks

TypePriorityOwnerLaneTitleStatusActionPageField
Cloud Handoff P0 User Cloudflare account confirmed blocked Confirm the Cloudflare account that will host the dashboard and API.
Cloud Handoff P0 User Cloud admin email entered blocked Enter the admin email to use for Cloudflare Access or ownership records.
Cloud Handoff P0 User D1 database ID entered blocked Create the D1 database and paste its database_id into the dashboard.
Cloud Handoff P0 User Wrangler D1 database ID resolved blocked Replace production database_id placeholder in cloud/command-center-worker/wrangler.jsonc.
Cloud Handoff P1 User Cloud API URL available for sync blocked After deploy, set NYRA_COMMAND_CENTER_API_URL in a temporary shell before cloud sync.
Cloud Handoff P1 User Cloud API token available for sync blocked After deploy, set NYRA_COMMAND_CENTER_TOKEN in a temporary shell only; never write it to repo files.

Release Candidate Blocks

TypePriorityOwnerLaneTitleStatusActionPageField
Release Candidate P0 User + Codex Paid beta installer is signed or store-trusted blocked Choose the release trust path and produce signed or store-trusted installer evidence before paid beta.
Release Candidate P0 User + Codex Deployability preflight has no P0 blockers blocked 26 P0 deployability blockers remain. Use the Deployability page and Handoffs page before live money.
Release Candidate P0 User Dashboard handoffs are cleared blocked 17 user handoffs and 9 secret-store handoffs are still waiting.
Release Candidate P0 User + Codex Cloud command center is deploy-ready blocked Cloud deploy status is Blocked On Cloud Handoffs; finish Cloudflare account, access, domain, D1, and sync handoffs.
Release Candidate P1 User + Codex Android companion points at a stable hosted bridge without a bundled shared token blocked 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.
Release Candidate P1 Codex Daily build agents are active blocked Repair or create the required NyrA daily automations before relying on unattended build follow-up.
Release Candidate P1 User + Codex Marketing campaign has final publish values blocked Final publication still needs domain, price, hosted AI cap, live checkout URL, support inbox, policy URLs, final screenshots, and recorded demo.
Release Candidate P1 Codex Visuals match the shipping app blocked Final screenshots, diagrams, and demo visuals must match the shipping app before paid beta marketing.
Release Candidate P1 User + Codex Billing live rehearsal inputs are ready blocked Complete hosted billing backend URL, Customer Portal, and final live-money rehearsal gates before paid checkout.
Release Candidate P1 User Support and legal review are ready blocked Confirm support inbox roundtrip and complete attorney/accountant review before paid beta.

Visual Work

TypePriorityOwnerLaneTitleStatusActionPageField
Visual Work P1 Codex Visual Assets Final shipping screenshots and demo assets Visuals In Progress Storyboards and shot lists are ready; product demo and ad videos wait for final UI, pricing, billing, support, policy URLs, and screenshots.

Agent Run Log

Each manual intake or scheduled cloud marker becomes a visible build handoff. Use this to confirm the dashboard was read and routed.

No intake runs loaded yet.

Dashboard Update Journal

Every meaningful dashboard save becomes an agent handoff. The journal records changed field names and routing status without copying raw secrets into logs.

Pending updates 0 Ready
Last dashboard save 2026-06-03T22:31:39.520Z Ready
StatusSaved AtSummaryFieldsAgent Next Step
AGENT_REVIEWED 2026-06-03T22:31:39.520Z Dashboard update saved: Porter Labs LLC business identity and porterlabz.com domain recorded. decisions.businessName, decisions.entityPath, decisions.domain, decisions.einStatus and 4 more Daily agents should refresh launch docs, Stripe identity checklist, public domain config, cloud domain plan, and handoff readiness against this newly supplied business/domain handoff.
AGENT_REVIEWED 2026-06-03T22:31:39.520Z Upload saved: Porter-Labs-LLC-ZenBusiness-dashboard.jpg in llc-documents. uploads.llc-documents Daily agents should read this upload, run handoff scan/delta checks, and continue newly unblocked NyrA work.
AGENT_REVIEWED Applied 6 safe launch defaults and skipped 0 existing values. 0 tracked fields Run scan and continue newly unblocked work.

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"
  }
}