Files
2026-10-12 14:27:19 +01:00

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

  1. Extract legacy API routes from module route providers and compare the runtime php artisan route:list --json outputs of both original applications. Static regex is not a substitute for runtime route enumeration.
  2. 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.
  3. Reconcile Fortify/Spatie auth with legacy users, permissions, sessions and licence ownership.
  4. Integrate Paddle/Lemon Squeezy webhook signature verification and idempotency, preserve existing endpoints and secrets outside source control.
  5. Port downloads, appcast, support and release-management views/controllers into Stylist's SonarDesk theme.
  6. 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.