docs: add dashboard UI coverage roadmap — 6-phase execution plan to close 55 gaps

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.
This commit is contained in:
saravanakumardb1 2026-03-21 17:31:19 -07:00
parent 827934124d
commit d1a4db29a4

View File

@ -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 01 |
| **P1** | High business value — revenue, support, AI management | Sprint 23 |
| **P2** | Operational excellence — observability, compliance, infrastructure | Sprint 45 |
| **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/<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 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._