v20.0 Public and Operational Surface Polish
Summary
This maintenance wave polished the remaining high-value public, trust, help, legal, and authenticated operational surfaces while Gate 0 remained blocked. The work kept CareConnect's privacy, governance, routing, auth, API, schema, and service-data contracts intact.
Completed Scope
- Polished
/about/partnersas the reference-sources and source-review explanation page. - Rebuilt
/submit-serviceinto a concise public suggestion intake and restoredPOST /api/v1/submissionswith validation, rate limiting, pending storage, and privacy-safe error handling. - Polished
/settingswith a clearer local-device preference layout. - Cleaned stale route references: footer category links now use the supported homepage query pattern, partner-login onboarding points to
/about/partners, and admin SLO runbook links open the GitHub docs source externally. - Polished
/login,/offline, and/service/[id]while preserving magic-link auth, offline behavior, service facts, and opt-in third-party map loading. - Polished
/privacy,/terms,/content-policy,/partner-terms,/accessibility,/faq,/user-guide, and/impactwith the shared static page shell, stable last-reviewed copy, and current 196-service language. - Polished
/dashboard/**and/admin/**with the operational shell, localized partner navigation, consistent card surfaces, and focused component coverage.
Public Interfaces
- No new public routes were added.
- No database schema, service-data, search, auth, sitemap, or robots behavior changed.
POST /api/v1/submissionswas restored for the existing public suggestion queue with pending-review semantics only; submissions do not publish or update service listings automatically.
Verification
The implementation added and updated focused Vitest coverage for the changed surfaces, including submit-service, route-reference cleanup, login/offline, service detail, static legal/help/impact pages, settings, and authenticated dashboard/admin components.
Local validation during the wave used targeted Vitest runs plus:
npm run lintnpm run type-checknpm run i18n-auditnpm run format:checknpm run check:refsgit diff --check
Local Playwright suites were intentionally not run so browser E2E remains in the CI/manual-dispatch lane while GitHub Actions is in free-tier budget mode.
Remaining Follow-Up
Authenticated desktop/mobile visual QA for /dashboard/** and /admin/** remains blocked until a valid local Supabase environment and signed-in partner/admin session are available. That follow-up remains tracked in the active roadmap; it is not an implementation gap in this archive.