1.2 KiB
1.2 KiB
Phase 2: route-contract baseline (not a runtime migration)
This iteration adds a repeatable static route inventory (sonardesk-route-inventory.json), its regeneration script (php scripts/integration/audit_routes.php) and host-level marketing route tests.
Production blockers
- Extract legacy API routes from module route providers and compare the runtime
php artisan route:list --jsonoutputs of both original applications. Static regex is not a substitute for runtime route enumeration. - Port licensing models, migrations, services, controllers and commands with namespace isolation. Do not run legacy migrations against the ABSDev database until table/schema conflicts have been reviewed.
- Reconcile Fortify/Spatie auth with legacy users, permissions, sessions and licence ownership.
- Integrate Paddle/Lemon Squeezy webhook signature verification and idempotency, preserve existing endpoints and secrets outside source control.
- Port downloads, appcast, support and release-management views/controllers into Stylist's SonarDesk theme.
- Test with a staging database copy and synthetic payment events; only then switch DNS.
No legacy licensing endpoints have been activated by this change. The archived legacy source remains isolated.