{"kind":"demo-tenant-cutover-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"},"cutoverPlan":{"headline":"PipeStock Pro tenant cutover plan","summary":"A buyer-and-implementation cutover packet for moving Plumbing Supply Inventory from polished demo to branded live tenant: commercial approval, domain, data dry-run, access, automation, release gates, rollback, support, and SEO/AEO publication.","productName":"PipeStock Pro","tenantName":"Riverbend Plumbing Supply","previewUrl":"https://plumbing-supply.ideas-realized.com?screen=ops","previewScreen":{"id":"ops","label":"Branch ops board","proof":"branch command center and counter inventory control","url":"https://plumbing-supply.ideas-realized.com?screen=ops"},"productionDomain":"plumbing-supply.ideas-realized.com","launchWindow":"Medium","cutoverScore":72,"cutoverDecision":"Ready for buyer input on tenant brand and production domain.","nextCutoverMove":"Client confirms launch name, brand tokens, CNAME/TXT ownership, and fallback preview URL https://plumbing-supply.ideas-realized.com.","primaryOwner":"Branch launch thread","phases":[{"id":"commercial-signoff","label":"Commercial signoff","owner":"Client sponsor","timing":"Before kickoff","status":"implementation","summary":"Confirm the buyer wants this demo rebranded as a paid tenant and accepts the commercial boundaries.","entryCriteria":["Buyer has reviewed the live app proof route.","Recommended offer, setup range, and recurring range are understood."],"exitCriteria":["Order packet approved.","SOW and rebrand rights accepted.","Implementation kickoff can be scheduled."],"gateIds":["commercial-approval"],"assets":[{"label":"Client launch plan","href":"/demo-library/plumbing-supply/client-launch-plan","kind":"commercial","detail":"Buyer-facing launch plan with order, data, SEO/AEO, and support steps."},{"label":"Statement of work","href":"/demo-library/plumbing-supply/statement-of-work","kind":"commercial","detail":"Buyer-signable scope, milestones, responsibilities, service levels, and change controls."},{"label":"Statement of work JSON","href":"/demo-library/plumbing-supply/statement-of-work.json","kind":"commercial","detail":"Machine-readable scope and acceptance manifest."},{"label":"Deal desk package","href":"/demo-library/plumbing-supply/deal-desk","kind":"commercial","detail":"Order form, pricing bands, approval gates, add-ons, and redlines."},{"label":"Deal desk JSON","href":"/demo-library/plumbing-supply/deal-desk.json","kind":"commercial","detail":"Machine-readable commercial close manifest."}]},{"id":"tenant-identity","label":"Tenant identity and domain","owner":"Implementation lead","timing":"Kickoff day 1","status":"buyer-input","summary":"Swap the demo identity into the buyer tenant, confirm DNS, and preserve the preview fallback.","entryCriteria":["Client name, logo, colors, and launch domain are available."],"exitCriteria":["Production domain is confirmed.","Tenant seed package references the buyer identity."],"gateIds":["brand-domain"],"assets":[{"label":"White-label kit","href":"/demo-library/plumbing-supply/white-label-kit","kind":"deployment","detail":"Naming, domain, terminology swaps, copy blocks, brand assets, and checklist."},{"label":"White-label kit JSON","href":"/demo-library/plumbing-supply/white-label-kit.json","kind":"deployment","detail":"Machine-readable rebrand manifest."},{"label":"Tenant clone package","href":"/demo-library/plumbing-supply/tenant-clone-package","kind":"deployment","detail":"Rebrand-and-launch handoff for a buyer tenant."},{"label":"Tenant clone JSON","href":"/demo-library/plumbing-supply/tenant-clone-package.json","kind":"deployment","detail":"Machine-readable tenant clone package."},{"label":"Tenant seed package","href":"/demo-library/plumbing-supply/tenant-seed-package","kind":"deployment","detail":"Users, roles, data sources, integrations, feature flags, automations, and notifications."},{"label":"Tenant seed JSON","href":"/demo-library/plumbing-supply/tenant-seed-package.json","kind":"deployment","detail":"Machine-readable tenant seed manifest."}]},{"id":"data-cutover","label":"Data dry-run and tenant seed","owner":"Branch operations manager","timing":"Kickoff days 1-2","status":"buyer-input","summary":"The first branch pilot should avoid replacing the ERP. It can use an export/import loop to prove counter lookup, receiving exceptions, and will-call readiness for a controlled product category.","entryCriteria":["Source exports and sample CSV templates are available."],"exitCriteria":["Dry-run import passes validation.","Required source fields and tenant boundaries are accepted."],"gateIds":["source-data"],"assets":[{"label":"Sample data package","href":"/demo-library/plumbing-supply/sample-data-package","kind":"data","detail":"CSV templates, sample rows, and import validation gates."},{"label":"Sample data JSON","href":"/demo-library/plumbing-supply/sample-data-package.json","kind":"data","detail":"Machine-readable data dry-run manifest."},{"label":"Production data contract","href":"/demo-library/plumbing-supply/data-contract","kind":"data","detail":"Entities, source systems, events, boundaries, and API-shaped routes."},{"label":"Production data contract JSON","href":"/demo-library/plumbing-supply/data-contract.json","kind":"data","detail":"Machine-readable production data contract."}]},{"id":"access-automation","label":"Access, roles, and automations","owner":"Product lead","timing":"Kickoff days 2-4","status":"buyer-input","summary":"Confirm buyer seats, permissions, integration credentials, notification owners, and disabled-by-default automation rules.","entryCriteria":["Named users and roles are available.","Required credentials and sender identities have owners."],"exitCriteria":["Access checks pass.","Automation fallbacks have owners.","No buyer-facing automation fires without signoff."],"gateIds":["access-roles","automation-integrations"],"assets":[{"label":"Sample data package","href":"/demo-library/plumbing-supply/sample-data-package","kind":"data","detail":"CSV templates, sample rows, and import validation gates."},{"label":"Sample data JSON","href":"/demo-library/plumbing-supply/sample-data-package.json","kind":"data","detail":"Machine-readable data dry-run manifest."},{"label":"Production data contract","href":"/demo-library/plumbing-supply/data-contract","kind":"data","detail":"Entities, source systems, events, boundaries, and API-shaped routes."},{"label":"Production data contract JSON","href":"/demo-library/plumbing-supply/data-contract.json","kind":"data","detail":"Machine-readable production data contract."},{"label":"White-label kit","href":"/demo-library/plumbing-supply/white-label-kit","kind":"deployment","detail":"Naming, domain, terminology swaps, copy blocks, brand assets, and checklist."},{"label":"White-label kit JSON","href":"/demo-library/plumbing-supply/white-label-kit.json","kind":"deployment","detail":"Machine-readable rebrand manifest."}]},{"id":"go-live-release","label":"Release, monitoring, and support","owner":"Branch launch thread","timing":"Go-live day","status":"implementation","summary":"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.","entryCriteria":["Release gates are reviewed.","Support owner is assigned.","Monitoring thresholds are documented."],"exitCriteria":["Production route is promoted.","Monitoring is active.","Support and rollback owners are known."],"gateIds":["release-gates","monitoring-support"],"assets":[{"label":"Live sales preview","href":"https://plumbing-supply.ideas-realized.com?screen=ops","kind":"app","detail":"First proof screen: Branch ops board."},{"label":"Canonical landing page","href":"/demo-library/plumbing-supply","kind":"canonical","detail":"Indexable buyer proof page and primary demo-library route."},{"label":"White-label kit","href":"/demo-library/plumbing-supply/white-label-kit","kind":"deployment","detail":"Naming, domain, terminology swaps, copy blocks, brand assets, and checklist."},{"label":"White-label kit JSON","href":"/demo-library/plumbing-supply/white-label-kit.json","kind":"deployment","detail":"Machine-readable rebrand manifest."},{"label":"Tenant clone package","href":"/demo-library/plumbing-supply/tenant-clone-package","kind":"deployment","detail":"Rebrand-and-launch handoff for a buyer tenant."},{"label":"Tenant clone JSON","href":"/demo-library/plumbing-supply/tenant-clone-package.json","kind":"deployment","detail":"Machine-readable tenant clone package."}]},{"id":"seo-aeo-launch","label":"SEO/AEO publication","owner":"Growth lead","timing":"Go-live week","status":"implementation","summary":"A publish-ready growth kit for using the Plumbing Supply Inventory demo as an industry pillar, answer-engine proof source, comparison asset, and sales-qualified routing path.","entryCriteria":["Buyer proof claim is approved.","Canonical and industry routes are available."],"exitCriteria":["Industry pillar, answer blocks, and internal links route demand back to the demo proof."],"gateIds":["seo-aeo-publication"],"assets":[{"label":"Canonical landing page","href":"/demo-library/plumbing-supply","kind":"canonical","detail":"Indexable buyer proof page and primary demo-library route."},{"label":"Industry SEO/AEO page","href":"/industries/plumbing-supply-inventory-software","kind":"industry","detail":"Plumbing supply inventory software"}]}],"gates":[{"id":"commercial-approval","label":"Commercial order and SOW approval","phase":"commercial-signoff","owner":"Client sponsor","timing":"Before kickoff","status":"implementation","source":"Commercial","proof":"Order packet, SOW, and rebrand rights point to PipeStock Pro as the client launch product.","acceptanceCriteria":"Sponsor accepts scope, $22k-$40k pilot build, then $1k-$3.5k/month for hosting, import support, scanner testing, and workflow iteration, launch boundaries, and payment milestone.","rollback":"Hold tenant setup and keep the app as sales-preview only until pricing or scope redlines are resolved."},{"id":"brand-domain","label":"Tenant brand and production domain","phase":"tenant-identity","owner":"Client DNS owner","timing":"Kickoff day 1","status":"buyer-input","source":"Brand and domain","proof":"Riverbend Plumbing Supply is seeded for plumbing-supply.ideas-realized.com; 3 DNS records are tracked.","acceptanceCriteria":"Client confirms launch name, brand tokens, CNAME/TXT ownership, and fallback preview URL https://plumbing-supply.ideas-realized.com.","rollback":"Keep traffic on https://plumbing-supply.ideas-realized.com and delay production alias activation until DNS checks pass."},{"id":"source-data","label":"Source data dry-run","phase":"data-cutover","owner":"Branch operations manager","timing":"Kickoff days 1-2","status":"buyer-input","source":"Data import","proof":"3 source groups and 3 tenant seed sources are mapped.","acceptanceCriteria":"Validate the first 50 SKUs with counter and warehouse staff.","rollback":"Use seed data and read-only import review until source exports satisfy required fields and validation gates."},{"id":"access-roles","label":"Access roles and permission boundaries","phase":"access-automation","owner":"Implementation lead","timing":"Kickoff days 2-3","status":"implementation","source":"Access control","proof":"3 roles, 3 scopes, and 3 launch permission groups are documented.","acceptanceCriteria":"Variance approval appears only in manager permission scope.","rollback":"Revert affected users to internal-only review access and disable buyer-facing invitations until roles are corrected."},{"id":"automation-integrations","label":"Automation and integration readiness","phase":"access-automation","owner":"Product lead","timing":"Kickoff days 3-4","status":"buyer-input","source":"Integrations","proof":"4 integrations, 3 automations, and 2 notifications are in the tenant seed package.","acceptanceCriteria":"Credentials, sender identities, fallback owners, and disabled-by-default automations are confirmed before live users enter.","rollback":"Disable automation rules, keep manual queue ownership, and preserve audit entries for replay after credentials are repaired."},{"id":"release-gates","label":"Release gates and first proof screen","phase":"go-live-release","owner":"Warehouse lead","timing":"Go-live day","status":"implementation","source":"Deployment","proof":"5 release gates protect Branch ops board: branch command center and counter inventory control","acceptanceCriteria":"Scanner history and PO receipt panel update; hardware test pending.","rollback":"Keep the sales preview subdomain live until the client production domain passes route, SSL, auth, and acceptance checks."},{"id":"monitoring-support","label":"Monitoring and support handoff","phase":"go-live-release","owner":"Branch launch thread","timing":"Go-live day + 1","status":"ready","source":"Support","proof":"3 monitors and 2 support levels are defined.","acceptanceCriteria":"Branch launch thread: Business days during pilot. Renewal signal: Inventory overlay lead: 1 sales-qualified distributor inquiry per quarter.","rollback":"Pilot support scope: $1k-$3.5k/month recurring for hosting, support, and workflow tuning."},{"id":"seo-aeo-publication","label":"SEO/AEO publication and internal links","phase":"seo-aeo-launch","owner":"Growth lead","timing":"Go-live week","status":"implementation","source":"SEO/AEO","proof":"/industries/plumbing-supply-inventory-software anchors 3 launch-calendar entries and 3 answer blocks.","acceptanceCriteria":"Canonical page /demo-library/plumbing-supply, industry page /industries/plumbing-supply-inventory-software, and app proof URL are internally linked with buyer-ready CTA language.","rollback":"Noindex unfinished support pages, preserve the canonical landing page, and republish after the buyer proof claim is verified."}],"rollbackControls":[{"label":"DNS promotion rollback","trigger":"Production domain fails verification, SSL, or route rewrite checks.","owner":"Client DNS owner","response":"Keep the sales preview subdomain live until the client production domain passes route, SSL, auth, and acceptance checks.","evidence":"plumbing-supply.ideas-realized.com: ready; plumbing-supply.ideas-realized.com: needs-client; _netlify.plumbing-supply.ideas-realized.com: needs-client"},{"label":"Data import rollback","trigger":"Required field validation, duplicate detection, or record counts fail during dry-run.","owner":"Branch operations manager","response":"Keep tenant in seed-data mode and rerun the import after source mapping changes are approved.","evidence":"SKU and bin acceptance: blocking; ERP ownership rule: blocking; Customer pricing exclusion: warning"},{"label":"Automation rollback","trigger":"Notification, escalation, integration, or automation action sends to the wrong owner or channel.","owner":"Product lead","response":"Disable automation rules, keep manual workflow ownership, and replay audit events after correction.","evidence":"Low-stock reorder alert: template; Receiving variance review: ready; Will-call readiness update: needs-client"},{"label":"SEO/AEO claim rollback","trigger":"Buyer proof, KPI claim, or industry language is not yet approved for public publication.","owner":"Growth lead","response":"Noindex unfinished support routes and keep only the canonical demo page published until claims are approved.","evidence":"Plumbing supply inventory software for branch operations: Service + SoftwareApplication + FAQPage; Barcode receiving workflow for plumbing distributors: Article + HowTo/FAQPage; Inventory overlay vs ERP replacement for plumbing supply branches: Article + FAQPage"}],"routeMap":[{"label":"Live sales preview","href":"https://plumbing-supply.ideas-realized.com?screen=ops","kind":"app","detail":"First proof screen: Branch ops board."},{"label":"Canonical landing page","href":"/demo-library/plumbing-supply","kind":"canonical","detail":"Indexable buyer proof page and primary demo-library route."},{"label":"Industry SEO/AEO page","href":"/industries/plumbing-supply-inventory-software","kind":"industry","detail":"Plumbing supply inventory software"},{"label":"Client launch plan","href":"/demo-library/plumbing-supply/client-launch-plan","kind":"commercial","detail":"Buyer-facing launch plan with order, data, SEO/AEO, and support steps."},{"label":"Statement of work","href":"/demo-library/plumbing-supply/statement-of-work","kind":"commercial","detail":"Buyer-signable scope, milestones, responsibilities, service levels, and change controls."},{"label":"Statement of work JSON","href":"/demo-library/plumbing-supply/statement-of-work.json","kind":"commercial","detail":"Machine-readable scope and acceptance manifest."},{"label":"Deal desk package","href":"/demo-library/plumbing-supply/deal-desk","kind":"commercial","detail":"Order form, pricing bands, approval gates, add-ons, and redlines."},{"label":"Deal desk JSON","href":"/demo-library/plumbing-supply/deal-desk.json","kind":"commercial","detail":"Machine-readable commercial close manifest."},{"label":"Sample data package","href":"/demo-library/plumbing-supply/sample-data-package","kind":"data","detail":"CSV templates, sample rows, and import validation gates."},{"label":"Sample data JSON","href":"/demo-library/plumbing-supply/sample-data-package.json","kind":"data","detail":"Machine-readable data dry-run manifest."},{"label":"Production data contract","href":"/demo-library/plumbing-supply/data-contract","kind":"data","detail":"Entities, source systems, events, boundaries, and API-shaped routes."},{"label":"Production data contract JSON","href":"/demo-library/plumbing-supply/data-contract.json","kind":"data","detail":"Machine-readable production data contract."},{"label":"White-label kit","href":"/demo-library/plumbing-supply/white-label-kit","kind":"deployment","detail":"Naming, domain, terminology swaps, copy blocks, brand assets, and checklist."},{"label":"White-label kit JSON","href":"/demo-library/plumbing-supply/white-label-kit.json","kind":"deployment","detail":"Machine-readable rebrand manifest."},{"label":"Tenant clone package","href":"/demo-library/plumbing-supply/tenant-clone-package","kind":"deployment","detail":"Rebrand-and-launch handoff for a buyer tenant."},{"label":"Tenant clone JSON","href":"/demo-library/plumbing-supply/tenant-clone-package.json","kind":"deployment","detail":"Machine-readable tenant clone package."},{"label":"Tenant seed package","href":"/demo-library/plumbing-supply/tenant-seed-package","kind":"deployment","detail":"Users, roles, data sources, integrations, feature flags, automations, and notifications."},{"label":"Tenant seed JSON","href":"/demo-library/plumbing-supply/tenant-seed-package.json","kind":"deployment","detail":"Machine-readable tenant seed manifest."},{"label":"Tenant cutover plan","href":"/demo-library/plumbing-supply/tenant-cutover-plan","kind":"deployment","detail":"Downloadable cutover packet for buyer and implementation signoff."},{"label":"Tenant cutover JSON","href":"/demo-library/plumbing-supply/tenant-cutover-plan.json","kind":"deployment","detail":"Machine-readable cutover manifest for automation and QA."}],"buyerSignoff":["Approve commercial order, SOW, rebrand rights, and first payment milestone for PipeStock Pro.","Confirm production domain plumbing-supply.ideas-realized.com, buyer sponsor, launch window, and support owner.","Provide source exports for SKU master, Supplier and reorder file, Will-call queue and approve import validation results.","Approve role matrix for Branch manager, Counter associate, Warehouse receiver before inviting live users.","Approve public proof language for /industries/plumbing-supply-inventory-software and /demo-library/plumbing-supply."],"implementationHandoff":["Seed tenant package: /demo-library/plumbing-supply/tenant-seed-package and /demo-library/plumbing-supply/tenant-seed-package.json.","Data contract: /demo-library/plumbing-supply/data-contract and /demo-library/plumbing-supply/data-contract.json.","First proof screen: Branch ops board at https://plumbing-supply.ideas-realized.com?screen=ops.","Monitoring: Demo app availability under Homepage and app route return 200 from production domain after DNS cutover.; Branch exceptions reviewed before ERP posting under Pilot usage is visible in the buyer dashboard within the first review cycle.; Confirm ERP item ID and on-hand quantity source of truth. under No open launch blocker can affect first user workflow..","North-star analytics: Branch exceptions reviewed before ERP posting; instrumentation phase: Instrument inventory landing CTA, app preview, SKU search, scanner lookup, receiving variance, reorder alert, will-call status, export, and spec download.."],"seoAeoPublication":["Canonical page: /demo-library/plumbing-supply","Industry page: /industries/plumbing-supply-inventory-software","Plumbing supply inventory software for branch operations: /industries/plumbing-supply-inventory-software","Barcode receiving workflow for plumbing distributors: /resources/plumbing-distributor-barcode-receiving","Inventory overlay vs ERP replacement for plumbing supply branches: /compare/plumbing-supply-erp-inventory-overlay","PipeStock Pro canonical demo: /demo-library/plumbing-supply","PipeStock Pro app-only preview: https://plumbing-supply.ideas-realized.com","Plumbing Supply Inventory demo: /demo-library/plumbing-supply"]},"implementationManifest":{"markdownPath":"/demo-library/plumbing-supply/tenant-cutover-plan","jsonPath":"/demo-library/plumbing-supply/tenant-cutover-plan.json","launchRoomPath":"/demo-library/plumbing-supply/launch-room","firstProofUrl":"https://plumbing-supply.ideas-realized.com?screen=ops","firstProofScreen":"ops","productionDomain":"plumbing-supply.ideas-realized.com","phaseCount":6,"gateCount":8,"blockedGateCount":0,"buyerInputGateCount":3,"rollbackControlCount":4,"handoffRouteCount":20}}