# Dev Centre Accuracy Audit This audit reviews the Dev Centre module completion system against Stage 1 SaaS launch readiness. It compares the seeded/manual Dev Centre percentages with the route map, frontend module registry, backend route inventory, migrations, and current project state. It is not a live authenticated staging test. ## Evidence Used - `C:\Dev\cabinetHQ\cabinethq-backend\migrations\20260701_dev_centre.sql` - `C:\Dev\cabinetHQ\docs\architecture\ROUTE_MODULE_MAP.md` - `C:\Dev\cabinetHQ\docs\architecture\route-module-map.json` - `C:\Dev\cabinetHQ\cabinetHQ-frontend\src\config\modules.js` - `C:\Dev\BoundHQ-Memory\PROJECT_STATE.md` - `C:\Dev\cabinetHQ\docs\dev\PROJECT_STATE.md` ## System Finding Dev Centre completion is manually stored in `dev_module_status.status` and `dev_module_status.completion_percent`. It is not calculated from: - route parity - production promotion status - database source correctness - tenant isolation - automated tests - external integration readiness - SaaS onboarding readiness - North Star launch priority That makes the current percentages useful as development memory, but unsafe as SaaS readiness scores. ## Module Accuracy Table | Module | Current Dev Centre status | Actual status | Accuracy score | Data source used | Missing pieces | SaaS readiness | Recommended correction | |---|---:|---|---:|---|---|---|---| | Authentication / User Management | MVP 85% | Prod-partial; httpOnly-cookie direction conflicts with stale docs; login bounce unresolved | 45% | Dev Centre seed, route map, project state | Staging login verification, forgot password UI, profile/security UX, tenant login tests | Stage 1 blocker | Re-score to 55% until login bounce and auth smoke tests pass | | Settings / Module Access | Complete 95% | Broadly usable, production mapped | 80% | modules.js, route map | Onboarding setup checklist, role test matrix, sidebar persistence proof | Stage 1 must work | Keep high but split "settings" from onboarding/admin setup | | CRM - Customers | MVP 80% | Production mapped, usable core CRM | 85% | route map, module docs, project state | Duplicate detection and timeline are nice-to-have | Stage 1 must work | Raise to 85%; call it Stage 1 ready after tenant isolation smoke test | | CRM - Enquiries | MVP 80% | Production mapped, email-assisted, conversion gaps noted | 70% | route map, Dev Centre seed | Confirm enquiry-to-project button/flow and email-created enquiry source | Stage 1.5 | Keep 80% for product, but readiness 70% until conversion verified | | Email Intake | MVP 75% | Staging only; requires IMAP and OpenAI env; privacy/tenant isolation needs proof | 55% | route map, pending actions | OpenAI key on staging, failure modes, customer setup UX | Stage 1.5 | Re-score to 60%; do not call Stage 1 until customer setup is scripted | | Quotes | Complete 95% | Production mapped and central to workflow; compliance default risk remains | 70% | route map, North Star, project state | PDF deposit defaults, state compliance verification, QuoteDetail large-file risk | Stage 1 must work | Re-score to 80% after PDF compliance defaults deployed and tested | | PDF Templates | Complete 95% | Route map says missing/unknown; legal compliance risk | 40% | route map, project state, Dev Centre seed | Production route verification, default terms by state, preview test | Stage 1 blocker | Re-score to 50%; block launch until quote/invoice PDFs are legal | | Invoices | MVP 85% | Production mapped; Xero push exists; partial payment/reminders missing | 80% | route map, module docs | Invoice-to-Xero E2E and payment sync test | Stage 1 must work | Keep 85% if Xero tests pass; readiness depends on Xero env | | Xero Integration | MVP 80% | Route map blocked; scopes blocker exists | 35% | route map, North Star | Brendan must enable scopes; OAuth and invoice push E2E | Stage 1 must work or managed setup | Re-score to 50% maximum until scopes and tenant-specific setup verified | | Projects / Jobs | Complete 90% | Production mapped; core workflow usable | 80% | route map, project state | Folder creation path mismatch, job/project linkage test | Stage 1 must work | Split Projects and Jobs into separate Dev Centre rows | | Production Kanban | Complete 95% | Jobs board production mapped | 85% | Dev Centre seed, route map | 14-stage SaaS workflow verification | Stage 1 must work | Merge with Jobs or rename to Jobs Kanban to avoid duplicate scoring | | Production Planner | Complete 95% | Staging only; useful but not essential for first customer | 55% | route map | Production promotion, capacity inputs, CNC estimates | Stage 2 | Reclassify as Stage 2 and re-score to 70% product-ready/staging | | Scheduler / Dispatch | Needs-work 50% | Staging; known DnD issue; superseded by Production Planner | 85% | Dev Centre seed, route map | Decide whether to park or replace | Later / parked | Keep as needs-work but mark not Stage 1 | | Pricelist | Complete 95% | Production mapped; import/rollback improved; essential for quotes | 85% | route map, project state | New-customer guided builder and starter pack | Stage 1 must work | Keep 90% product, readiness 80% until onboarding pack exists | | Cabinet Builder / Mozaik | MVP 75% | Production mapped but Mozaik issues; not first-customer blocker | 75% | route map, project state | Linux folder creation, customer setup complexity | Stage 2 | Reclassify as Stage 2 unless first customer needs Mozaik | | CNC Tooling | MVP 70% | Staging; manufacturing-specific | 80% | route map | Production integration, runtime estimates | Later / parked | Keep score but park for Stage 1 | | Estimator | MVP 75% | Production mapped; useful but optional | 80% | route map | Integration to quotes/planner | Stage 1.5 | Keep 75%; not a launch blocker | | Time Cards | MVP 85% | Staging; useful for team use, not first onboarding | 65% | route map | Promotion, payroll export, mobile clock-in | Stage 2 | Reclassify Stage 2 | | Action Centre | Not-started 0% | Not built | 100% | Dev Centre seed | None for audit | Later | Keep parked | | Team Notes | Complete 90% | Production mapped and usable | 85% | route map | Mentions/rich text optional | Stage 1.5 | Keep score | | WHS / SOP | Complete 95% | Production mapped; strong but not first-customer onboarding critical | 80% | route map | Template library and AI key setup for SaaS | Stage 2 | Keep product score, Stage 2 priority | | Communications Log | Complete 90% | Production mapped | 85% | route map | Body drill-down/bulk actions optional | Stage 1.5 | Keep score | | Help Centre / Broadcasts | MVP 80% | Help exists; broadcasts staging | 65% | route map, modules.js | Customer-facing onboarding help not complete | Stage 1.5 | Split Help Centre from Broadcasts | | Database Admin | Complete 95% | Staging only; internal/dev tool | 60% | route map | Production hardening, access audit | Later / internal | Reclassify as internal only, not SaaS module | | Customer Portal | In-progress 60% | Staging; useful but not required for first onboarding | 70% | route map | Password reset, job progress, file access | Stage 2 | Keep 60%; not launch blocker | | Leave & Capacity | Needs-work 85% | Route map prod, project state says styling fixed; older seed stale | 50% | Dev Centre seed, project state | Reconcile stale bug note with current code state | Stage 2 | Update notes; readiness depends on capacity integration | | Financials | Complete 100% | Staging; Xero scopes blocked; Premium-tier feature | 30% | route map, North Star | Xero scopes, production promotion, role tests | Stage 2 | Re-score Stage 1 readiness to 40%; do not block first customer | | Purchase Orders | Complete 100% | Production mapped, procurement foundation improved | 80% | route map, project state | Receiving-to-inventory verification | Stage 1.5 | Keep high, not first-customer blocker | | Inventory | MVP 80% | Production mapped; linked to pricelist/PO in progress | 75% | route map, project state | Stock source audit, PO receiving test | Stage 1.5 | Keep 80%; Stage 1.5 | | SaaS Foundations | MVP 75% | Tenant provisioning proven; SaaS Admin staging, onboarding not built | 60% | route map, North Star | Deploy SaaS Admin, smoke-test tenant provisioning, onboarding flow | Stage 1 blocker | Split into SaaS Admin, tenant provisioning, onboarding | ## Recommended Dev Centre Scoring Model Replace single completion percentage with four scores: | Score | Meaning | |---|---| | Build completeness | Feature/UI/API exists | | Data correctness | Reads/writes correct tables and links to adjacent modules | | SaaS safety | business_id/tenant isolation, auth, role access, no secrets, external env readiness | | Stage 1 readiness | Required for first paying customer and tested in the launch path | ## Critical Corrections 1. PDF Templates must not show 95% complete for SaaS readiness while route map is `missing/unknown` and PDF deposit clauses remain a legal risk. 2. Financials must not show 100% as launch-ready while Xero scopes are blocked and route status is staging. 3. Production Planner should move from Stage 1 thinking to Stage 2 unless the first customer requires detailed shop-floor planning immediately. 4. Dev Centre needs North Star-aware scoring, not generic module completion. 5. SaaS Foundations must be split because tenant provisioning, SaaS Admin, onboarding wizard, billing, and support readiness are different things.