# Dashboard UI Coverage Roadmap — Closing All 55 Gaps

> **Source:** [`DASHBOARD_UI_GAP_ANALYSIS.md`](DASHBOARD_UI_GAP_ANALYSIS.md)
> **Created:** 2026-03-21
> **Owner:** Platform Engineering
> **Target:** Full UI coverage of all 43+ platform-service modules across admin-web, user-dashboard-web, and tracker-web

---

## Review Errata (2026-03-21 self-audit)

|  #  | Bug                                                                                                                                                           | Severity | Fix Applied                                  |
| :-: | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------: | -------------------------------------------- |
| R1  | **Gap 1.2.3 (Predictive Analytics — campaign execution) missing from all phases**                                                                             |   HIGH   | Added as Phase 4.12                          |
| R2  | **Gap 1.2.4 (Kill switch verification for all 11 products) missing from all phases**                                                                          |  MEDIUM  | Added to Phase 0.3                           |
| R3  | **Phase 1 labeled "1 week" but effort totals 10 days (2 weeks)**                                                                                              |   HIGH   | Fixed header to "2 weeks", adjusted timeline |
| R4  | **Admin sidebar target 59 is wrong** — actual sum is 27 + 7 + 4 + 7 + 7 = 52 (Phase 6 items add more when triggered)                                          |  MEDIUM  | Fixed Scope Summary to 52                    |
| R5  | **Phase 4 claims "9 new sidebar items" but 4 items are expansions** of existing pages (IP rules, maintenance, diagnostics, sessions) — no new sidebar entries |  MEDIUM  | Fixed to 7 new sidebar items + 4 expanded    |
| R6  | **Dependency graph incorrect** — Phase 4 shown only reachable from Phase 2, but Phase 4 items are independent and can start after Phase 1                     |  MEDIUM  | Fixed graph                                  |
| R7  | **Success Metrics denominator misleading** — "27/79 modules" conflates sidebar items with matrix rows (many rows are OK/tracker/infra)                        |   LOW    | Clarified metric                             |
| R8  | **No grand total effort stated** — individual phase totals exist but no rollup                                                                                |   LOW    | Added grand total row                        |
| R9  | **No completion tracking mechanism** — doc says "update as phases complete" but has no status column                                                          |   LOW    | Added status column to Execution Timeline    |
| R10 | **Phase 2 API route count "8" unexplained** — 7 pages but jobs+runs need 2 routes                                                                             |   LOW    | Added clarification note                     |

---

## Overview

The gap analysis identified **55 hidden/underexposed features** across three dashboards. This roadmap converts those findings into a concrete, phased execution plan with clear deliverables, acceptance criteria, effort estimates, and dependency chains.

### Scope Summary

| Dashboard                        | Current State | Target State |     Delta     |
| -------------------------------- | :-----------: | :----------: | :-----------: |
| **Admin-web** sidebar items      |      27       |      52      |      +25      |
| **Admin-web** pages              |      38       |     ~63      | +25 new pages |
| **Admin-web** API proxy routes   |      39       |     ~65      |  +26 routes   |
| **User-dashboard** sidebar items |      11       |      19      |      +8       |
| **User-dashboard** pages         |      12       |     ~20      | +8 new pages  |
| **Tracker-web**                  |      OK       |      OK      |     minor     |

### Priority Framework

| Priority | Criteria                                                           |    SLA     |
| :------: | ------------------------------------------------------------------ | :--------: |
|  **P0**  | Critical bugs, security gaps, zero-effort wins (sidebar wiring)    | Sprint 0–1 |
|  **P1**  | High business value — revenue, support, AI management              | Sprint 2–3 |
|  **P2**  | Operational excellence — observability, compliance, infrastructure | Sprint 4–5 |
|  **P3**  | Future-facing — features not yet needed but backend exists         | Sprint 6+  |

---

## Phase 0 — Quick Wins (1 day)

**Goal:** Fix the 1 critical backend bug + wire 7 hidden pages into the sidebar. Zero new pages to build.

### 0.1 Fix Backend Bug: Register `ai-diagnostics` routes

| Item       | Detail                                                               |
| ---------- | -------------------------------------------------------------------- |
| **File**   | `services/platform-service/src/server.ts`                            |
| **Change** | Add import + `app.register(aiDiagnosticsRoutes, { prefix: '/api' })` |
| **Risk**   | LOW — module already exists, just not mounted                        |
| **Test**   | `GET /api/ai-diagnostics/clusters` returns 200                       |
| **Effort** | 5 min                                                                |

### 0.2 Wire 7 Hidden Pages into Admin Sidebar

All these pages already exist in `dashboards/admin-web/src/app/(dashboard)/` — they just need entries in `sidebar-nav.tsx`.

|  #  | Sidebar Label    | Path                  | Section   | Icon           |
| :-: | ---------------- | --------------------- | --------- | -------------- |
|  1  | Users            | `/users`              | Core      | `Users`        |
|  2  | Debug Sessions   | `/debug-sessions`     | Ops       | `Bug`          |
|  3  | Health Dashboard | `/health-dashboard`   | Ops       | `HeartPulse`   |
|  4  | Extraction       | `/extraction`         | Ops       | `FileSearch`   |
|  5  | Experiments      | `/experiments`        | Growth    | `FlaskConical` |
|  6  | Predictive       | `/predictive/at-risk` | Analytics | `TrendingDown` |
|  7  | AI Diagnostics   | `/ai-diagnostics`     | Ops       | `BrainCircuit` |

**Acceptance Criteria:**

- [ ] `ai-diagnostics` routes registered in server.ts, health check passes
- [ ] All 7 items visible in sidebar, pages load without errors
- [ ] Sidebar total: 34 items (was 27)

### 0.3 Verify Kill Switch Coverage for All Products

| Item        | Detail                                                                         |
| ----------- | ------------------------------------------------------------------------------ |
| **Gap Ref** | 1.2.4                                                                          |
| **Check**   | Verify `/api/settings/kill-switch` works for all 11 products, not just LysnrAI |
| **Action**  | If missing, add product selector to existing kill switch UI in `/settings`     |
| **Effort**  | 2 hours (investigation + potential UI tweak)                                   |

**Effort (Phase 0 total):** 4 hours (sidebar-nav.tsx edits + server.ts fix + kill switch audit + smoke test)

---

## Phase 1 — Critical Admin Gaps (2 weeks)

**Goal:** Build 4 high-impact admin pages for modules that admins need daily.

### 1.1 Organizations & Workspaces Page

| Item                | Detail                                                                  |
| ------------------- | ----------------------------------------------------------------------- |
| **Backend Module**  | `orgs` — 14 endpoints                                                   |
| **New Files**       | `(dashboard)/organizations/page.tsx`, `api/orgs/[...path]/route.ts`     |
| **Page Components** | Org list table, org detail drawer, member list + invite, workspace list |
| **Effort**          | 3 days                                                                  |

**Acceptance Criteria:**

- [ ] List orgs with search/filter
- [ ] View org detail: members, workspaces
- [ ] Add/remove members, create/delete workspaces
- [ ] Sidebar item added

### 1.2 Support Cases Page

| Item                | Detail                                                                                                |
| ------------------- | ----------------------------------------------------------------------------------------------------- |
| **Backend Module**  | `support-cases` — 12 endpoints                                                                        |
| **New Files**       | `(dashboard)/support/page.tsx`, `(dashboard)/support/[id]/page.tsx`, `api/support/[...path]/route.ts` |
| **Page Components** | Case list with status filters, case detail with notes timeline, escalation panel                      |
| **Effort**          | 3 days                                                                                                |

**Acceptance Criteria:**

- [ ] List cases with status/priority filters
- [ ] View case detail: notes, escalation events
- [ ] Add notes, close/reopen, escalate
- [ ] Sidebar item added

### 1.3 AI Budgets & Cost Management Page

| Item                | Detail                                                                              |
| ------------------- | ----------------------------------------------------------------------------------- |
| **Backend Module**  | `ai-budgets` — 11 endpoints                                                         |
| **New Files**       | `(dashboard)/ai-budgets/page.tsx`, `api/ai-budgets/[...path]/route.ts`              |
| **Page Components** | Cost dashboard (spend chart, budget bars), policy CRUD, alerts table, spend history |
| **Charts**          | Recharts: spend over time (area), budget utilization (bar), cost by product (pie)   |
| **Effort**          | 2 days                                                                              |

**Acceptance Criteria:**

- [ ] Dashboard with total spend, budget utilization, active alerts
- [ ] Create/edit/delete budget policies
- [ ] View spend history with date range filter
- [ ] Sidebar item added

### 1.4 Waitlist Management Page

| Item                | Detail                                                                              |
| ------------------- | ----------------------------------------------------------------------------------- |
| **Backend Module**  | `waitlist` — 12 endpoints                                                           |
| **New Files**       | `(dashboard)/waitlist/page.tsx`, `api/waitlist/[...path]/route.ts`                  |
| **Page Components** | Entry list table, stats cards (total, invited, converted), batch invite, CSV export |
| **Effort**          | 1.5 days                                                                            |

**Acceptance Criteria:**

- [ ] List waitlist entries with position/status
- [ ] Stats cards: total signups, invited count, conversion rate
- [ ] Batch invite selected entries
- [ ] CSV export button
- [ ] Sidebar item added

### Phase 1 Totals

| Metric               |  Count   |
| -------------------- | :------: |
| New pages            |    5     |
| New API proxy routes |    4     |
| New sidebar items    |    4     |
| Effort estimate      | ~10 days |

---

## Phase 2 — High-Value Admin Pages (2 weeks)

**Goal:** Build 7 admin pages for integration management, AI quality, and content workflow.

### 2.1 Webhooks Management Page

| Item                | Detail                                                                      |
| ------------------- | --------------------------------------------------------------------------- |
| **Backend Module**  | `webhooks` — 8 endpoints                                                    |
| **Page Components** | Subscription list, delivery log table, test webhook button, secret rotation |
| **Effort**          | 2 days                                                                      |

### 2.2 Knowledge Bases Page

| Item                | Detail                                                                      |
| ------------------- | --------------------------------------------------------------------------- |
| **Backend Module**  | `knowledge` — 13 endpoints                                                  |
| **Page Components** | KB list, source management, chunk browser with search, retrieval test panel |
| **Effort**          | 3 days                                                                      |

### 2.3 Agent Evaluations Page

| Item                | Detail                                                                                      |
| ------------------- | ------------------------------------------------------------------------------------------- |
| **Backend Module**  | `agent-evals` — 15 endpoints                                                                |
| **Page Components** | Suite list, test case editor, run trigger, results table with pass/fail badges, trend chart |
| **Effort**          | 2.5 days                                                                                    |

### 2.4 Reviews & Approval Queue Page

| Item                | Detail                                                                                       |
| ------------------- | -------------------------------------------------------------------------------------------- |
| **Backend Module**  | `reviews` — 9 endpoints                                                                      |
| **Page Components** | Review queue with filters, detail drawer, approve/reject/request-changes actions, assignment |
| **Effort**          | 2 days                                                                                       |

### 2.5 Marketplace Admin Page

| Item                | Detail                                                                                      |
| ------------------- | ------------------------------------------------------------------------------------------- |
| **Backend Module**  | `marketplace` — 29 endpoints (largest module!)                                              |
| **Page Components** | Listing management table, purchase history, review moderation, featured/category management |
| **Effort**          | 3 days                                                                                      |

### 2.6 Delivery Log Page

| Item                | Detail                                                                                            |
| ------------------- | ------------------------------------------------------------------------------------------------- |
| **Backend Module**  | `delivery` — 8 endpoints                                                                          |
| **Page Components** | Email delivery log, template preview, retry failed, delivery stats (success/bounce/failure rates) |
| **Effort**          | 1.5 days                                                                                          |

### 2.7 Scheduled Jobs & Runs Page

| Item                | Detail                                                                        |
| ------------------- | ----------------------------------------------------------------------------- |
| **Backend Module**  | `jobs` (5 endpoints) + `runs` (7 endpoints)                                   |
| **Page Components** | Job list with status, manual trigger, run history table, run detail with logs |
| **Effort**          | 2 days                                                                        |

### Phase 2 Totals

| Metric               |  Count   |
| -------------------- | :------: |
| New pages            |    7     |
| New API proxy routes |    8     |
| New sidebar items    |    7     |
| Effort estimate      | ~16 days |

> **Note:** API proxy route count is 8 (not 7) because item 2.7 needs separate routes for both `jobs` and `runs` modules.

---

## Phase 3 — User Dashboard Gaps (1.5 weeks)

**Goal:** Fill the 12 missing user-facing features + expand Settings into a comprehensive security/privacy hub.

### 3.1 Security Settings Page (MFA + Passkeys + Devices)

| Item                | Detail                                                                                                                    |
| ------------------- | ------------------------------------------------------------------------------------------------------------------------- |
| **Gap Refs**        | 2.1.2, 2.1.3, 2.1.4, 2.2.3                                                                                                |
| **New Files**       | `(portal)/settings/security/page.tsx`, API routes for MFA setup/passkeys/devices                                          |
| **Page Components** | TOTP setup wizard (QR code + verify), recovery code display, passkey registration, device list with revoke, login history |
| **Effort**          | 4 days                                                                                                                    |

**Acceptance Criteria:**

- [ ] TOTP setup: generate secret → show QR → verify code → enable
- [ ] Recovery codes: view (once), regenerate
- [ ] Passkey: register new, list existing, delete
- [ ] Devices: list trusted/active, revoke individual, revoke all
- [ ] Login history: last 50 login events with IP/device/location
- [ ] Sidebar item added under Settings

### 3.2 Support / Help Page

| Item                | Detail                                                        |
| ------------------- | ------------------------------------------------------------- |
| **Gap Ref**         | 2.1.9                                                         |
| **New Files**       | `(portal)/support/page.tsx`, `api/support/[...path]/route.ts` |
| **Page Components** | Create ticket form, ticket list, ticket detail with notes     |
| **Effort**          | 2 days                                                        |

### 3.3 Usage Stats Page

| Item                | Detail                                                                                         |
| ------------------- | ---------------------------------------------------------------------------------------------- |
| **Gap Ref**         | 2.1.10                                                                                         |
| **New Files**       | `(portal)/usage/page.tsx`, `api/usage/[...path]/route.ts`                                      |
| **Page Components** | Usage breakdown cards (API calls, storage, tokens), usage over time chart, current plan limits |
| **Effort**          | 1.5 days                                                                                       |

### 3.4 Invitations Page

| Item                | Detail                                                               |
| ------------------- | -------------------------------------------------------------------- |
| **Gap Ref**         | 2.1.1                                                                |
| **New Files**       | `(portal)/invitations/page.tsx`                                      |
| **Page Components** | Pending invitations list, accept/decline buttons, invitation history |
| **Effort**          | 1 day                                                                |

### 3.5 Changelog / What's New Page

| Item                | Detail                                                            |
| ------------------- | ----------------------------------------------------------------- |
| **Gap Ref**         | 2.1.6                                                             |
| **New Files**       | `(portal)/changelog/page.tsx`, `api/changelog/[...path]/route.ts` |
| **Page Components** | Release notes list, version badges, "New" indicator in sidebar    |
| **Effort**          | 1 day                                                             |

### 3.6 Profile Enhancements: Connected Accounts + Account Deletion

| Item          | Detail                                                                                                                                |
| ------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| **Gap Refs**  | 2.1.5, 2.2.1                                                                                                                          |
| **Change**    | Expand existing `/profile` page                                                                                                       |
| **Additions** | "Connected Accounts" section (link/unlink Google, Microsoft, Apple), "Delete Account" with confirmation modal + 7-day cooldown notice |
| **Effort**    | 1.5 days                                                                                                                              |

### 3.7 Notification Preferences

| Item          | Detail                                                               |
| ------------- | -------------------------------------------------------------------- |
| **Gap Ref**   | 2.2.2                                                                |
| **Change**    | Expand existing `/settings` page                                     |
| **Additions** | Notification preference grid: email/push/in-app toggles per category |
| **Effort**    | 1 day                                                                |

### Phase 3 Totals

| Metric               |         Count         |
| -------------------- | :-------------------: |
| New pages            |           5           |
| Expanded pages       |           3           |
| New API proxy routes |           4           |
| New sidebar items    | 5 + expanded Settings |
| Effort estimate      |       ~12 days        |

---

## Phase 4 — Operational Admin Pages (2 weeks)

**Goal:** Complete operational tooling — event bus, security, compliance, observability.

### 4.1 Event Bus / Subscriptions Page

| Item                | Detail                                                                  |
| ------------------- | ----------------------------------------------------------------------- |
| **Backend Module**  | `event-subscriptions` — 10 endpoints                                    |
| **Page Components** | Subscription CRUD, DLQ viewer with replay/purge, event log with filters |
| **Effort**          | 2 days                                                                  |

### 4.2 SCIM Provisioning Page

| Item                | Detail                                                        |
| ------------------- | ------------------------------------------------------------- |
| **Backend Module**  | `scim` — 14 endpoints                                         |
| **Page Components** | Connector CRUD, sync status dashboard, provisioning event log |
| **Effort**          | 2 days                                                        |

### 4.3 IP Rules (expand `/ops/security`)

| Item               | Detail                                                                            |
| ------------------ | --------------------------------------------------------------------------------- |
| **Backend Module** | `ip-rules` — 5 endpoints                                                          |
| **Change**         | Add IP rules tab to existing `/ops/security` page                                 |
| **Components**     | IP rule list, add allow/deny rule with CIDR input, expiry picker, test IP checker |
| **Effort**         | 1 day                                                                             |

### 4.4 Backups Page

| Item                | Detail                                                                                      |
| ------------------- | ------------------------------------------------------------------------------------------- |
| **Backend Module**  | `backups` — 6 endpoints                                                                     |
| **Page Components** | Backup list with size/date, create backup button, restore confirmation modal, download link |
| **Effort**          | 1.5 days                                                                                    |

### 4.5 Data Retention Page

| Item                | Detail                                                                                                |
| ------------------- | ----------------------------------------------------------------------------------------------------- |
| **Backend Module**  | `retention` — 5 endpoints                                                                             |
| **Page Components** | Policy list, create policy form (entity type, retention days, scope), dry-run preview, execute button |
| **Effort**          | 1.5 days                                                                                              |

### 4.6 Maintenance Mode (expand Mission Control)

| Item               | Detail                                                                                         |
| ------------------ | ---------------------------------------------------------------------------------------------- |
| **Backend Module** | `maintenance` — 6 endpoints                                                                    |
| **Change**         | Add maintenance card to existing `/ops` Mission Control page                                   |
| **Components**     | Mode selector (off/read-only/maintenance/emergency), bypass roles/IPs, scheduled window picker |
| **Effort**         | 1 day                                                                                          |

### 4.7 Status Page / Incident Management

| Item                | Detail                                                                            |
| ------------------- | --------------------------------------------------------------------------------- |
| **Backend Module**  | `status` — 9 endpoints                                                            |
| **Page Components** | Incident list, create/edit incident form, component status board, subscriber list |
| **Effort**          | 2 days                                                                            |

### 4.8 GDPR Exports Page

| Item                | Detail                                                                                           |
| ------------------- | ------------------------------------------------------------------------------------------------ |
| **Backend Module**  | `exports` — 5 endpoints                                                                          |
| **Page Components** | Export job list, trigger export (user ID + entity types), download completed, job status polling |
| **Effort**          | 1 day                                                                                            |

### 4.9 Onboarding Funnel Analytics

| Item                | Detail                                                                             |
| ------------------- | ---------------------------------------------------------------------------------- |
| **Backend Module**  | `onboarding` — 4 endpoints                                                         |
| **Page Components** | Funnel chart (step-by-step conversion), step drop-off analysis, per-product filter |
| **Effort**          | 1.5 days                                                                           |

### 4.10 Diagnostics Expansion: Session Replay + Performance Profiles

| Item                | Detail                                                                         |
| ------------------- | ------------------------------------------------------------------------------ |
| **Backend Modules** | `diagnostics` sub-routes: session-replay, performance-profile, crash-trigger   |
| **Change**          | Add sub-pages to existing `/debug-sessions`                                    |
| **New Pages**       | `/debug-sessions/replay`, `/debug-sessions/performance`, `/ops/crash-triggers` |
| **Effort**          | 3 days                                                                         |

### 4.11 User Sessions Admin (expand user detail)

| Item               | Detail                                                                        |
| ------------------ | ----------------------------------------------------------------------------- |
| **Backend Module** | `sessions` — 5 endpoints                                                      |
| **Change**         | Add "Active Sessions" tab to user detail view (accessible from `/users/[id]`) |
| **Components**     | Session list with device/IP/location, revoke button, revoke-all               |
| **Effort**         | 1 day                                                                         |

### 4.12 Predictive Analytics — Campaign Execution Verification

| Item               | Detail                                                                                |
| ------------------ | ------------------------------------------------------------------------------------- |
| **Gap Ref**        | 1.2.3                                                                                 |
| **Backend Module** | `predictive-analytics`                                                                |
| **Change**         | Verify campaign execution/send is wired on existing `/predictive/campaigns` page      |
| **Additions**      | If missing: add campaign send button, cohort comparison chart, execution status table |
| **Effort**         | 1 day                                                                                 |

### Phase 4 Totals

| Metric               |         Count          |
| -------------------- | :--------------------: |
| New pages            |           7            |
| Expanded pages       | 5 (was 4 + predictive) |
| New API proxy routes |           11           |
| New sidebar items    |   7 new + 5 expanded   |
| Effort estimate      |        ~19 days        |

---

## Phase 5 — User Dashboard Polish (1 week)

**Goal:** Lower-priority user features — feedback, org membership, marketplace browse, GDPR.

### 5.1 Feedback Widget

| Item               | Detail                                                               |
| ------------------ | -------------------------------------------------------------------- |
| **Gap Ref**        | 2.1.7                                                                |
| **Implementation** | Floating feedback button (bottom-right) → modal with category + text |
| **Effort**         | 0.5 days                                                             |

### 5.2 Organization Membership Page

| Item                | Detail                                       |
| ------------------- | -------------------------------------------- |
| **Gap Ref**         | 2.1.8                                        |
| **Conditional**     | Only visible if user belongs to an org       |
| **Page Components** | Org info card, member list, leave org button |
| **Effort**          | 1 day                                        |

### 5.3 Marketplace Browse Page

| Item                | Detail                                                          |
| ------------------- | --------------------------------------------------------------- |
| **Gap Ref**         | 2.1.12                                                          |
| **Page Components** | Browse listings, search/filter, purchase flow, purchase history |
| **Effort**          | 2 days                                                          |

### 5.4 Export My Data (GDPR)

| Item           | Detail                                        |
| -------------- | --------------------------------------------- |
| **Gap Ref**    | 2.1.11                                        |
| **Change**     | Add "Export My Data" button to `/settings`    |
| **Components** | Trigger export, status polling, download link |
| **Effort**     | 0.5 days                                      |

### Phase 5 Totals

| Metric            |  Count  |
| ----------------- | :-----: |
| New pages         |    2    |
| Expanded pages    |    1    |
| New sidebar items |    3    |
| Effort estimate   | ~4 days |

---

## Phase 6 — Future-Facing (backlog)

These backend modules exist but features aren't urgently needed. Build when product requires them.

|  #  | Feature                            | Backend Module        | Endpoints | Trigger Condition                       |
| :-: | ---------------------------------- | --------------------- | :-------: | --------------------------------------- |
|  1  | CDN Management                     | `cdn`                 |     7     | When CDN pipeline is active             |
|  2  | Dunning Campaigns                  | `dunning`             |     6     | When payment failure rate >2%           |
|  3  | API Version Management             | `api-versioning`      |     5     | When v2 API ships                       |
|  4  | Multi-Tenant Admin                 | `tenants`             |    ~5     | When multi-tenant launches              |
|  5  | Universal Search                   | `search`              |     5     | When admin page count exceeds 50        |
|  6  | Agent Executor UI                  | `agents/executor`     |    10     | When agent orchestration goes live      |
|  7  | Billing Checkout Admin             | `billing-checkout`    |    ~4     | When checkout analytics needed          |
|  8  | Auth: Push Approvals               | `auth/push-approvals` |     4     | When ByteLyst Auth app ships            |
|  9  | Auth: QR Auth                      | `auth/qr-auth`        |     3     | When ByteLyst Auth app ships            |
| 10  | Auth: Enterprise SSO               | `auth/enterprise`     |     8     | When first enterprise customer onboards |
| 11  | Auth: Magic Link                   | `auth/magic-link`     |     3     | When passwordless flow is prioritized   |
| 12  | Tracker: Comment Threading         | `comments` (reply)    |     —     | When tracker usage grows                |
| 13  | Tracker: Vote Visualization        | `votes`               |     —     | When public roadmap gets traction       |
| 14  | Experiments: A/B Assignment Viewer | `ab-testing`          |     —     | When experiments are actively used      |

---

## Execution Timeline

```
Week 1     ┃ Phase 0 (1 day)     ── Fix backend bug + wire 7 sidebar items + kill switch audit
           ┃ Phase 1 (start)     ── Organizations, Support Cases
           ┃
Week 2     ┃ Phase 1 (finish)    ── AI Budgets, Waitlist
           ┃
Week 3-4   ┃ Phase 2             ── Webhooks, Knowledge, Agent Evals, Reviews,
           ┃                        Marketplace, Delivery, Jobs
           ┃
Week 5     ┃ Phase 3 (start)     ── User Security (MFA+Passkeys+Devices), Support,
           ┃                        Usage, Invitations, Changelog
           ┃
Week 6     ┃ Phase 3 (finish)    ── Profile enhancements, Notification prefs
           ┃
Week 7-8   ┃ Phase 4             ── Event Bus, SCIM, IP Rules, Backups, Retention,
           ┃                        Maintenance, Status/Incidents, GDPR, Onboarding,
           ┃                        Diagnostics expansion, User sessions, Predictive
           ┃
Week 9     ┃ Phase 5             ── Feedback widget, Org membership, Marketplace
           ┃                        browse, GDPR export
           ┃
Week 10+   ┃ Phase 6             ── Backlog items as triggered by product needs
```

**Grand total effort: ~60 dev-days (~12 calendar weeks with 1 developer, ~6 weeks with 2 parallel).**

---

## Dependency Graph

```
Phase 0 ──→ Phase 1 ──┬──→ Phase 2 ──→ Phase 5 (user polish)
                       │
                       ├──→ Phase 3 ──→ Phase 5 (user polish)
                       │
                       └──→ Phase 4 ──→ Phase 6 (backlog)
```

**Hard dependencies:**

- Phase 0 **must** complete before Phase 1 (sidebar restructure affects all subsequent page additions)
- Phase 0 item 0.1 (backend fix) **must** complete before AI Diagnostics sidebar item is useful
- Phase 3.1 (Security page) depends on user-dashboard API routes for MFA/passkeys/devices — needs new proxy routes
- Phase 5 depends on both Phase 2 (admin marketplace built first) and Phase 3 (user features)

**No dependencies between (can run in parallel):**

- Phase 2, Phase 3, and Phase 4 — all can start independently after Phase 1
- Any items within Phase 4 (all are independent of each other)

---

## Per-Page Template

Every new page follows this pattern:

### 1. API Proxy Route

```
dashboards/<dashboard>/src/app/api/<module>/[...path]/route.ts
```

- Proxy to `PLATFORM_SERVICE_URL/api/<module>/*`
- Forward auth cookie as `Authorization: Bearer <token>`
- Handle 401/403/500 consistently

### 2. Client Library

```
dashboards/<dashboard>/src/lib/<module>-client.ts
```

- Typed fetch functions for each endpoint
- Use `createApiClient()` from `@bytelyst/api-client` where applicable

### 3. Page Component

```
dashboards/<dashboard>/src/app/(dashboard|portal)/<route>/page.tsx
```

- Server component by default, `'use client'` only for interactive parts
- Use shadcn/ui components + TailwindCSS v4
- Use Recharts for charts

### 4. Sidebar Entry

```
dashboards/<dashboard>/src/components/sidebar-nav.tsx
```

- Add to `navItems` array with correct section, icon, and path

### 5. Tests

- E2E: Playwright navigation + basic CRUD flow
- Unit: Client library functions (mock fetch)

---

## Success Metrics

| Metric                   |       Before       |    After Phase 5     |     Target      |
| ------------------------ | :----------------: | :------------------: | :-------------: |
| Admin sidebar items      |         27         |          52          |  52 + Phase 6   |
| Admin module UI coverage |        ~40%        |         ~85%         | 100% at Phase 6 |
| User page coverage       |      12 pages      |       20 pages       |    20 pages     |
| Backend bugs             | 1 (ai-diagnostics) |          0           |        0        |
| Hidden/unreachable pages |         7          |          0           |        0        |
| GDPR compliance (export) |         ❌         |          ✅          |       ✅        |
| Support ticketing UI     |         ❌         | ✅ (both dashboards) |       ✅        |
| AI cost visibility       |         ❌         |          ✅          |       ✅        |

---

## Risk Register

| Risk                                                            | Likelihood | Impact | Mitigation                                                |
| --------------------------------------------------------------- | :--------: | :----: | --------------------------------------------------------- |
| Backend module APIs have breaking changes during build          |    LOW     | MEDIUM | Pin API contracts, run backend tests before each phase    |
| Scope creep — "while we're here" additions                      |   MEDIUM   | MEDIUM | Strict per-sprint scope, defer to Phase 6 backlog         |
| Designer bottleneck for new pages                               |   MEDIUM   |  HIGH  | Use existing shadcn/ui patterns, no custom design needed  |
| Auth proxy routes leak sensitive data                           |    LOW     |  HIGH  | All proxy routes must strip secrets, use httpOnly cookies |
| Phase 2+3 parallelism causes merge conflicts in sidebar-nav.tsx |   MEDIUM   |  LOW   | Coordinate sidebar additions in daily standup             |

---

_This roadmap should be updated as phases complete. Reference the [gap analysis](DASHBOARD_UI_GAP_ANALYSIS.md) for detailed endpoint lists and module descriptions._
