{"kind":"demo-deployment-launch-plan","version":"wave-1","sourceDemo":{"slug":"plumbing-supply","title":"Plumbing Supply Inventory","archetype":"A1","canonicalPath":"/demo-library/plumbing-supply","appPath":"/demo-apps/plumbing-supply","subdomain":"plumbing-supply.ideas-realized.com"},"deploymentPlan":{"deploymentHeadline":"Deployment launch plan for PipeStock Pro","deploymentSummary":"A production handoff plan for taking Plumbing Supply Inventory from sales preview to a client-owned launch domain with Netlify hosting, environment gates, monitoring, rollback, and canonical SEO/AEO checks.","hostingModel":"Single Next.js application deployed from GitHub to Netlify, with demo subdomains rewritten into app-only routes and canonical SEO pages kept on ideas-realized.com.","repository":"Idea-R/ideas-realized-page","branchStrategy":"Ship from a reviewed feature branch into the existing Netlify production site, then attach the selected client subdomain as a named domain alias after acceptance gates pass.","previewDomain":"plumbing-supply.ideas-realized.com","productionDomain":"plumbing-supply.ideas-realized.com","environments":[{"name":"Sales preview","url":"https://plumbing-supply.ideas-realized.com","purpose":"App-only demo surface used in sales calls and embedded from the canonical landing page.","dataMode":"Seeded client-side preview data only; no tenant secrets or live customer records.","status":"complete"},{"name":"Deploy preview","url":"Netlify deploy preview URL from the feature branch","purpose":"Review branch before domain aliasing, schema checks, browser QA, and stakeholder sign-off.","dataMode":"Seeded demo data plus import template samples.","status":"in-progress"},{"name":"Pilot production","url":"https://plumbing-supply.ideas-realized.com","purpose":"Trade supply inventory software pilot package launch for the first buyer cohort.","dataMode":"Run a read-only SKU import, validate bin and on-hand values with counter staff, then enable receiving and will-call status updates for the pilot category.","status":"queued"}],"domainRecords":[{"label":"Preview subdomain","host":"plumbing-supply.ideas-realized.com","type":"CNAME","value":"Ideas Realized Netlify site alias or wildcard domain","owner":"Ideas Realized technical lead","status":"ready","detail":"Keeps the app-only demo available as the sales URL while the canonical page remains on ideas-realized.com."},{"label":"Client production subdomain","host":"plumbing-supply.ideas-realized.com","type":"CNAME","value":"Client DNS points to the approved Netlify site alias","owner":"Client DNS owner","status":"needs-client","detail":"Use inventory.clientdomain.com or branch.clientdomain.com for production and keep plumbing-supply.ideas-realized.com as the demo subdomain."},{"label":"Domain ownership verification","host":"_netlify.plumbing-supply.ideas-realized.com","type":"TXT","value":"Netlify verification token issued during domain setup","owner":"Client DNS owner","status":"needs-client","detail":"Required before SSL issuance and production cutover when the domain is client-owned."}],"environmentVariables":[{"name":"NEXT_PUBLIC_SITE_URL","scope":"Build and runtime","owner":"Ideas Realized technical lead","status":"template","detail":"Set to https://plumbing-supply.ideas-realized.com for pilot production and keep canonical demo routes pointed at ideas-realized.com."},{"name":"NEXT_DISABLE_IMAGE_OPTIMIZATION","scope":"Netlify runtime","owner":"Ideas Realized technical lead","status":"ready","detail":"Use when the host requires unoptimized Next images for generated poster assets and demo previews."},{"name":"AUTH_PROVIDER_CONFIG","scope":"Runtime secret","owner":"Implementation lead","status":"needs-client","detail":"Staff email login for the pilot branch, with optional SSO after ERP and directory ownership are confirmed."},{"name":"NOTIFICATION_SENDER","scope":"Runtime secret","owner":"Implementation lead","status":"template","detail":"In-app: Receiving variance needs review"},{"name":"ANALYTICS_WRITE_KEY","scope":"Runtime secret","owner":"Growth lead","status":"template","detail":"Instrument inventory landing CTA, app preview, SKU search, scanner lookup, receiving variance, reorder alert, will-call status, export, and spec download."}],"releaseGates":[{"label":"Scan SKU into receiving session","owner":"Warehouse lead","status":"in-progress","evidence":"Scanner history and PO receipt panel update; hardware test pending."},{"label":"Resolve cycle count variance","owner":"Branch manager","status":"complete","evidence":"Count task exposes expected, counted, variance, and adjustment status."},{"label":"Confirm will-call readiness from counter view","owner":"Counter manager","status":"complete","evidence":"Pickup board surfaces staged, picking, waiting, and customer-ready states."},{"label":"Canonical and noindex routing verified","owner":"Technical lead","status":"complete","evidence":"Main-domain landing pages remain canonical while app-only routes are used for subdomain launch URLs."},{"label":"Client proposal and implementation spec approved","owner":"Client sponsor","status":"queued","evidence":"PipeStock Pro pilot proposal and JSON/Markdown implementation spec are reviewed before production domain cutover."}],"monitoring":[{"signal":"Demo app availability","threshold":"Homepage and app route return 200 from production domain after DNS cutover.","owner":"Technical lead","response":"Rollback DNS alias to preview or pause launch announcement until the route passes."},{"signal":"Branch exceptions reviewed before ERP posting","threshold":"Pilot usage is visible in the buyer dashboard within the first review cycle.","owner":"Growth lead","response":"Review analytics key, event mapping, and privacy guardrails before widening access."},{"signal":"Confirm ERP item ID and on-hand quantity source of truth.","threshold":"No open launch blocker can affect first user workflow.","owner":"Implementation lead","response":"Hold go-live and keep the app in preview mode until the blocker has owner-approved evidence."}],"rollbackPlan":["Keep the sales preview subdomain live until the client production domain passes route, SSL, auth, and acceptance checks.","If client DNS or SSL fails, remove the production alias and route users back to the preview subdomain.","If data import fails, restore the last approved seed/import snapshot and hold workflow edits until the exception report is reviewed.","If notification or integration credentials fail, disable outbound automation and continue with manual review queues.","Document the rollback decision in the operations ledger and add the next action to the live ops command center."],"goLiveSequence":["Merge the reviewed branch after typecheck, lint, build, schema validation, and browser QA pass.","Create or confirm the Netlify domain alias for the sales preview subdomain.","Request client DNS records for plumbing-supply.ideas-realized.com and verify ownership before SSL issuance.","Load tenant brand tokens, roles, launch assets, import templates, and acceptance evidence.","Run release gates, verify monitoring signals, and approve the first pilot user cohort.","Publish SEO/AEO links for Plumbing supply inventory software and route launch CTAs to the canonical demo landing page."],"supportHandoff":["Pilot support scope: $1k-$3.5k/month recurring for hosting, support, and workflow tuning.","SKU import template","Scanner test script","Receiving variance export","Choose pilot category: Branch manager; Start with valves, fittings, or high-turn PEX inventory.","Validate scanner input: Technical lead; Run acceptance test with wedge scanner and browser focus behavior."],"seoLaunchChecks":["/demo-library/plumbing-supply remains the canonical landing page for plumbing supply inventory software.","https://plumbing-supply.ideas-realized.com remains app-only and noindex for thin duplicate prevention.","Confirm internal links mention trade counter inventory app.","Confirm internal links mention plumbing parts inventory system.","Confirm internal links mention will call pickup software.","Answer target: How do plumbing supply houses track will-call orders?","Answer target: What should trade counter inventory software include?"]},"implementationManifest":{"markdownPath":"/demo-library/plumbing-supply/deployment-launch","jsonPath":"/demo-library/plumbing-supply/deployment-launch.json","launchRoomPath":"/demo-library/plumbing-supply/launch-room","clientLaunchPlanJsonPath":"/demo-library/plumbing-supply/client-launch-plan.json","openApiSpecPath":"/demo-library/plumbing-supply/openapi.json","productionDataContractJsonPath":"/demo-library/plumbing-supply/data-contract.json","sampleDataPackageJsonPath":"/demo-library/plumbing-supply/sample-data-package.json","tenantClonePackageJsonPath":"/demo-library/plumbing-supply/tenant-clone-package.json","firstProofUrl":"https://plumbing-supply.ideas-realized.com?screen=ops","firstProofScreen":"ops","environmentCount":3,"domainRecordCount":3,"environmentVariableCount":5,"releaseGateCount":5,"monitoringSignalCount":3,"rollbackStepCount":5,"goLiveStepCount":6,"seoLaunchCheckCount":7,"needsClientCount":3,"blockedOrQueuedCount":2}}