# Phase 06 — Catalog/pricing has no admin page **Blocker:** blockers.md § "Catalog / pricing." **Depends on:** nothing. Pure client work — the server side is already done. --- **Root cause — confirmed as two separate, correctly-separated things, not one bug.** The 5 MVP service categories are seeded everywhere via migration `HasData` (`CatalogConfig/CatalogSeed.cs:1-19`) — categories are fine in every environment. Pricing **options** (the EAV dimensions) are deliberately **not** seeded via migration — the seed file's own comment says option groups/values are "admin-authored data... never a migration." The only place they get created today is `DemoWorldSeeder.cs:74-101`, which only runs in Development (`Program.cs:135-159` gates both seeders to `IsDevelopment()`). Production genuinely has zero option groups for any category. **The admin API to manage this already exists and is fully permission-gated:** `AdminCatalogController.cs:25-61` — `CreateCategory`, `UpdateCategory`, `SetCategoryActive`, `CreateOptionGroup`, `UpdateOptionGroup`, `CreateOptionValue`, `UpdateOptionValue`. The gap is **entirely client-side** — there is no `admin/catalog` route anywhere in the client tree, and zero references to any of those endpoints in `client/src`. **Fix:** build the admin catalog page (categories + option-group/value CRUD) under `client/src/app/[locale]/(private-routes)/admin/catalog/`, calling the already-built server endpoints. This is genuinely pure client work now — running `DemoWorldSeeder` in production is explicitly the *wrong* fix (it bundles fake demo nurses/customers/reviews alongside the option data, which is demo content, not real launch content).