# Production Readiness Notes This project is being tightened toward launch as a CMS-first Eversolo brand site. The operating rule is that real CMS content should win, while seed or fallback content is only allowed when a record is missing entirely or when a legacy migration is explicitly being reviewed. ## Current Guardrails - Media URL paste uploads allow legacy Eversolo image hosts through Payload's server-side paste URL allow list, avoiding browser-side CORS failures. - Product, download, news, dealer, support, about, contact, and home pages use short revalidation windows, and the admin cache action revalidates primary list pages plus dynamic product/news/download detail route patterns. - Homepage awards and media quotes are no longer silently backfilled from hard-coded recognition defaults. If the CMS data is empty, the section can remain empty. - Dealer records are split into `dealer` and `experienceStore` types. The public dealer page renders dealer records as a regional network with a world-map overview and experience stores as image-led location cards. - Product mega-menu links close the menu on click, including document-navigation product pages. ## CMS Versus Seed Boundary - CMS document exists: preserve empty strings and missing optional sections as editorial intent. - CMS document missing: seed or legacy fallback can still render a temporary page so old URLs and early QA do not break. - Seed scripts should avoid overwriting manually entered CMS content unless a script is explicitly named as a destructive re-import. - Any new frontend fallback copy should be documented in the owning page/global and removed once the CMS field exists. ## Launch Checklist Focus - Keep Payload globals and collections broad enough for editors, but avoid showing implementation-only legacy fields in admin. - Prefer compact admin groups, list-style arrays, and explicit per-locale documents for user-facing content. - Re-run `npm run generate:types`, `npm run build`, and the smoke check after schema or cache changes. - After restarting a local preview, check both `/en` and `/zh` for homepage, product detail, downloads, news, dealers, support, and admin access.