From d1a4db29a498ef7aa77899adb517f51efa52b93c Mon Sep 17 00:00:00 2001 From: saravanakumardb1 Date: Sat, 21 Mar 2026 17:31:19 -0700 Subject: [PATCH] =?UTF-8?q?docs:=20add=20dashboard=20UI=20coverage=20roadm?= =?UTF-8?q?ap=20=E2=80=94=206-phase=20execution=20plan=20to=20close=2055?= =?UTF-8?q?=20gaps?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Converts gap analysis findings into concrete phased roadmap: - Phase 0: Fix ai-diagnostics backend bug + wire 7 hidden sidebar items (1 day) - Phase 1: 4 critical admin pages — orgs, support, AI budgets, waitlist (1 week) - Phase 2: 7 high-value admin pages — webhooks, knowledge, evals, reviews, marketplace, delivery, jobs (2 weeks) - Phase 3: User dashboard security hub + 5 missing pages (1.5 weeks) - Phase 4: 11 operational admin features — event bus, SCIM, IP rules, backups, etc. (2 weeks) - Phase 5: User polish — feedback, org membership, marketplace, GDPR export (1 week) - Phase 6: 14 backlog items triggered by product needs Includes dependency graph, per-page template, effort estimates, acceptance criteria, success metrics, and risk register. --- docs/DASHBOARD_UI_COVERAGE_ROADMAP.md | 617 ++++++++++++++++++++++++++ 1 file changed, 617 insertions(+) create mode 100644 docs/DASHBOARD_UI_COVERAGE_ROADMAP.md diff --git a/docs/DASHBOARD_UI_COVERAGE_ROADMAP.md b/docs/DASHBOARD_UI_COVERAGE_ROADMAP.md new file mode 100644 index 00000000..473b57ff --- /dev/null +++ b/docs/DASHBOARD_UI_COVERAGE_ROADMAP.md @@ -0,0 +1,617 @@ +# 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 + +--- + +## 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 | 59 | +32 | +| **Admin-web** pages | 38 | ~66 | +28 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) + +**Effort:** 2 hours (sidebar-nav.tsx edits + server.ts fix + smoke test) + +--- + +## Phase 1 — Critical Admin Gaps (1 week) + +**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 | + +--- + +## 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 | + +### Phase 4 Totals + +| Metric | Count | +| -------------------- | :------: | +| New pages | 7 | +| Expanded pages | 4 | +| New API proxy routes | 11 | +| New sidebar items | 9 | +| Effort estimate | ~18 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 hidden sidebar items + ┃ Phase 1 (remaining) ── Organizations, Support Cases, AI Budgets, Waitlist + ┃ +Week 2-3 ┃ Phase 2 ── Webhooks, Knowledge, Agent Evals, Reviews, + ┃ Marketplace, Delivery, Jobs + ┃ +Week 4 ┃ Phase 3 (start) ── User Security (MFA+Passkeys+Devices), Support, + ┃ Usage, Invitations, Changelog + ┃ +Week 5 ┃ Phase 3 (finish) ── Profile enhancements, Notification prefs + ┃ +Week 6-7 ┃ Phase 4 ── Event Bus, SCIM, IP Rules, Backups, Retention, + ┃ Maintenance, Status/Incidents, GDPR, Onboarding, + ┃ Diagnostics expansion, User sessions + ┃ +Week 8 ┃ Phase 5 ── Feedback widget, Org membership, Marketplace + ┃ browse, GDPR export + ┃ +Week 9+ ┃ Phase 6 ── Backlog items as triggered by product needs +``` + +--- + +## Dependency Graph + +``` +Phase 0 ──→ Phase 1 ──→ Phase 2 ──→ Phase 4 + │ │ + └──→ Phase 3 ──→ Phase 5 + │ + └──→ 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 + +**No dependencies between:** + +- Phase 2 and Phase 3 (can run in parallel with separate developers) +- Any Phase 4 items (all are independent) + +--- + +## Per-Page Template + +Every new page follows this pattern: + +### 1. API Proxy Route + +``` +dashboards//src/app/api//[...path]/route.ts +``` + +- Proxy to `PLATFORM_SERVICE_URL/api//*` +- Forward auth cookie as `Authorization: Bearer ` +- Handle 401/403/500 consistently + +### 2. Client Library + +``` +dashboards//src/lib/-client.ts +``` + +- Typed fetch functions for each endpoint +- Use `createApiClient()` from `@bytelyst/api-client` where applicable + +### 3. Page Component + +``` +dashboards//src/app/(dashboard|portal)//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//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 coverage | 27/79 modules (34%) | 59/79 (75%) | 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._