docs: add comprehensive dashboard UI gap analysis — 55 hidden/underexposed features identified
Systematic scan of platform-service (43+ modules, 511+ endpoints) vs admin-web (27 sidebar items, 38 pages) and user-dashboard-web (11 pages, 39 API routes). Key findings: - 28 backend modules completely missing from admin UI - 7 admin pages built but missing from sidebar (undiscoverable) - 12 user-dashboard features completely missing - 1 critical backend bug: ai-diagnostics routes.ts not registered in server.ts - 26 missing admin API proxy routes - 10 errata items self-audited and corrected in-place Includes 79-row module-to-UI matrix, auth sub-module gap detail, prioritized 6-sprint action plan, and cross-cutting gap tables.
This commit is contained in:
parent
267f8af3a4
commit
827934124d
719
docs/DASHBOARD_UI_GAP_ANALYSIS.md
Normal file
719
docs/DASHBOARD_UI_GAP_ANALYSIS.md
Normal file
@ -0,0 +1,719 @@
|
||||
# Dashboard UI Gap Analysis — Hidden Features Not Exposed in Admin & User Dashboards
|
||||
|
||||
> **Generated:** 2026-03-21
|
||||
> **Scope:** Full workspace scan across platform-service (43 modules, 511+ endpoints), admin-web, user-dashboard-web, tracker-web, LysnrAI backend (7 modules), and extraction-service (2 modules).
|
||||
> **Goal:** Identify every backend feature/module that exists but has NO corresponding UI page or is only partially exposed.
|
||||
|
||||
---
|
||||
|
||||
## Review Errata (2026-03-21 self-audit)
|
||||
|
||||
The following bugs/inaccuracies were found during systematic post-generation review and corrected in-place:
|
||||
|
||||
| # | Bug | Severity | Fix Applied |
|
||||
| :-: | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------: | ------------------------------------------ |
|
||||
| E1 | **Section 1.2 classification error:** Items 1.2.4–1.2.12 (onboarding, delivery, jobs, sessions, IP rules, maintenance, exports, status, marketplace) were labeled "Partially Exposed" but are actually **Completely Missing** — they have zero admin pages, zero sidebar items, and zero API proxy routes. | HIGH | Moved to section 1.1, renumbered |
|
||||
| E2 | **6 admin pages exist but have NO sidebar nav item** — these "hidden pages" were not flagged as a distinct gap category: `/debug-sessions`, `/health-dashboard`, `/extraction`, `/experiments`, `/ai-diagnostics`, `/predictive/*` | HIGH | Added new section 1.3 |
|
||||
| E3 | **`ai-diagnostics` module (671 lines, its own routes.ts) is NOT registered in server.ts** — backend bug, not just a UI gap. Routes exist but the Fastify plugin is never mounted. | CRITICAL | Added to section 1.1 with backend-bug flag |
|
||||
| E4 | **Appendix A matrix missing 5 modules** that are registered in server.ts: `referrals/migration-admin-routes`, `runs` (separate from `jobs`), `surveys`, the `diagnostics` sub-route files (auto-trigger, crash-trigger, session-replay, performance-profile) | MEDIUM | Added to matrix |
|
||||
| E5 | **Admin API route `/api/users/` exists** but was not mentioned — the doc implied users management was only via direct Cosmos, but there are proxy routes | LOW | Noted in matrix |
|
||||
| E6 | **Admin API route `/api/usage/` exists** — doc's matrix row 70 was wrong about usage having no admin API | LOW | Fixed in matrix |
|
||||
| E7 | **Statistics count corrections:** Admin pages = 38 (not ~38, exact). Admin-web has `/api/users/` and `/api/usage/` proxy routes (total API route dirs = 24 top-level). Sidebar items exactly 27. | LOW | Fixed in Part 6 |
|
||||
| E8 | **Billing Checkout (1.1.14) missing endpoint count** — listed as "endpoints" without a number | LOW | Added count |
|
||||
| E9 | **Tenants (1.1.17) missing endpoint count** — listed as "endpoints" without a number | LOW | Added count |
|
||||
| E10 | **`/users` page exists in admin-web** but has no sidebar nav item and was not in the original gap analysis | MEDIUM | Added to section 1.3 + matrix row 79 |
|
||||
|
||||
---
|
||||
|
||||
## Executive Summary
|
||||
|
||||
**Platform-service has 43+ registered route modules.** Admin-web exposes ~27 nav items/pages. User-dashboard-web exposes ~11 pages. **At least 25 backend modules have zero or insufficient UI exposure.**
|
||||
|
||||
| Category | Backend Modules | Admin Pages | User Pages | Gap |
|
||||
| -------------------------- | :-------------: | :---------: | :--------: | :----------: |
|
||||
| Auth & Security | 9 sub-modules | 4 pages | 3 pages | **5 hidden** |
|
||||
| Billing & Commerce | 7 modules | 2 pages | 2 pages | **5 hidden** |
|
||||
| AI & Agents | 5 modules | 1 page | 0 pages | **4 hidden** |
|
||||
| Operations & Infra | 10 modules | 6 pages | 0 pages | **4 hidden** |
|
||||
| Growth & Engagement | 6 modules | 4 pages | 1 page | **2 hidden** |
|
||||
| Content & Data | 6 modules | 2 pages | 2 pages | **4 hidden** |
|
||||
| Enterprise | 4 modules | 0 pages | 0 pages | **4 hidden** |
|
||||
| Product-Specific (LysnrAI) | 3 modules | 0 pages | 1 page | **2 hidden** |
|
||||
|
||||
---
|
||||
|
||||
## PART 1: ADMIN-WEB — Missing Features
|
||||
|
||||
### 1.1 COMPLETELY MISSING (No page, no sidebar item, no API route)
|
||||
|
||||
#### 1.1.1 Organizations & Workspaces (`orgs` module — 14 endpoints)
|
||||
|
||||
- **Backend:** Full CRUD for organizations, workspaces, memberships with RBAC permissions
|
||||
- **Endpoints:** `GET/POST /orgs`, `GET/PATCH/DELETE /orgs/:id`, `POST /orgs/:id/workspaces`, `GET/PATCH/DELETE /orgs/:orgId/workspaces/:wsId`, `GET/POST /orgs/:id/members`, `PATCH/DELETE /orgs/:id/members/:memberId`
|
||||
- **Admin UI:** NONE — no page, no sidebar item
|
||||
- **Impact:** HIGH — admins cannot view/manage organizations, memberships, or workspaces
|
||||
- **Action needed:** New `/organizations` page with org list, member management, workspace management
|
||||
|
||||
#### 1.1.2 SCIM Provisioning (`scim` module — 14 endpoints)
|
||||
|
||||
- **Backend:** SCIM connector CRUD, user sync, group sync, provisioning events
|
||||
- **Endpoints:** `GET/POST /scim/connectors`, `GET/PATCH/DELETE /scim/connectors/:id`, user/group sync recording, provisioning event listing
|
||||
- **Admin UI:** NONE
|
||||
- **Impact:** HIGH — enterprise SCIM integrations invisible to admins
|
||||
- **Action needed:** New `/ops/scim` page for connector management, sync status, provisioning event log
|
||||
|
||||
#### 1.1.3 Support Cases (`support-cases` module — 12 endpoints)
|
||||
|
||||
- **Backend:** Full ticketing system — case CRUD, notes, escalation events, status transitions
|
||||
- **Endpoints:** `GET/POST /support/cases`, `GET/PATCH /support/cases/:id`, `POST /support/cases/:id/close`, `POST /support/cases/:id/notes`, `GET /support/cases/:id/notes`, escalation management
|
||||
- **Admin UI:** NONE
|
||||
- **Impact:** HIGH — entire support ticketing system has no UI
|
||||
- **Action needed:** New `/support` page with case list, detail view, notes, escalation workflow
|
||||
|
||||
#### 1.1.4 AI Budgets & Cost Management (`ai-budgets` module — 11 endpoints)
|
||||
|
||||
- **Backend:** Budget policies, spend tracking, alerts, rollover, cost dashboard
|
||||
- **Endpoints:** `GET/POST /ai-budgets/policies`, `PATCH/DELETE /ai-budgets/policies/:id`, `POST /ai-budgets/spend`, `GET /ai-budgets/spend`, `GET /ai-budgets/alerts`, `GET /ai-budgets/dashboard`, `GET /ai-budgets/rollover`
|
||||
- **Admin UI:** NONE
|
||||
- **Impact:** HIGH — AI spend invisible, budget alerts not viewable
|
||||
- **Action needed:** New `/ai-budgets` page with cost dashboard, policy management, spend history, alerts
|
||||
|
||||
#### 1.1.5 Knowledge Bases (`knowledge` module — 13 endpoints)
|
||||
|
||||
- **Backend:** Knowledge base CRUD, sources, chunk management, retrieval/search
|
||||
- **Endpoints:** `GET/POST /knowledge/bases`, `GET/PATCH/DELETE /knowledge/bases/:id`, `POST /knowledge/bases/:id/sources`, `POST /knowledge/bases/:id/chunks`, `POST /knowledge/bases/:id/retrieve`, etc.
|
||||
- **Admin UI:** NONE
|
||||
- **Impact:** MEDIUM — RAG knowledge bases invisible, no way to manage or test retrieval
|
||||
- **Action needed:** New `/knowledge` page with base list, source management, chunk browser, retrieval tester
|
||||
|
||||
#### 1.1.6 Agent Executor & Tool Registry (`agents/executor-routes` — 10 endpoints)
|
||||
|
||||
- **Backend:** Execute agents, cancel runs, list active runs, SSE step streaming, tool registry
|
||||
- **Endpoints:** `POST /agents/execute`, `POST /agents/runs/:id/cancel`, `GET /agents/runs/active`, `GET /agents/runs/:id/stream` (SSE), `GET /agents/tools`, `POST /agents/tools/validate`, etc.
|
||||
- **Admin UI:** The existing `/actiontrail` page shows trails but NOT agent execution/tool management
|
||||
- **Impact:** MEDIUM — cannot trigger agent runs, view live execution, or manage tool bindings from admin
|
||||
- **Action needed:** Expand ActionTrail page OR add `/ai-agents` page with execution panel, tool registry, live run viewer
|
||||
|
||||
#### 1.1.7 Agent Evaluations (`agent-evals` module — 15 endpoints)
|
||||
|
||||
- **Backend:** Eval suites, test cases, eval runs with pass/fail scoring
|
||||
- **Endpoints:** `GET/POST /agent-evals/suites`, `GET/PATCH/DELETE /agent-evals/suites/:id`, test case CRUD, `POST /agent-evals/suites/:id/run`, `GET /agent-evals/runs`, `GET /agent-evals/runs/:id`
|
||||
- **Admin UI:** NONE
|
||||
- **Impact:** MEDIUM — agent quality evaluation invisible
|
||||
- **Action needed:** New `/ai-evals` page with suite management, test cases, run history, pass/fail charts
|
||||
|
||||
#### 1.1.8 Event Subscriptions & DLQ (`event-subscriptions` module — 10 endpoints)
|
||||
|
||||
- **Backend:** Event subscription CRUD, DLQ management, event replay
|
||||
- **Endpoints:** `GET/POST /event-subscriptions`, `GET/PATCH/DELETE /event-subscriptions/:id`, `GET /event-subscriptions/:id/dlq`, `POST /event-subscriptions/:id/dlq/:msgId/replay`, `DELETE /event-subscriptions/:id/dlq/:msgId`, `GET /events`
|
||||
- **Admin UI:** NONE
|
||||
- **Impact:** MEDIUM — event bus subscriptions, dead letter queue, replays all invisible
|
||||
- **Action needed:** New `/ops/events` page with subscription list, DLQ viewer with replay/purge buttons
|
||||
|
||||
#### 1.1.9 Waitlist Management (`waitlist` module — 12 endpoints)
|
||||
|
||||
- **Backend:** Admin: list entries, stats, update, delete, batch invite, CSV export. Public: join, check position, count, config, unsubscribe
|
||||
- **Endpoints:** `GET /waitlist`, `GET /waitlist/stats`, `GET/PUT/DELETE /waitlist/:id`, `POST /waitlist/invite`, `POST /waitlist/export` + 5 public routes
|
||||
- **Admin UI:** NONE
|
||||
- **Impact:** MEDIUM — pre-launch waitlist signups invisible, no way to invite or export
|
||||
- **Action needed:** New `/waitlist` page with entries table, stats cards, batch invite, CSV export
|
||||
|
||||
#### 1.1.10 Reviews & Approval Workflow (`reviews` module — 9 endpoints)
|
||||
|
||||
- **Backend:** Review items, assignment, decision (approve/reject/request-changes), listing
|
||||
- **Endpoints:** `GET/POST /reviews`, `GET/PATCH /reviews/:id`, `POST /reviews/:id/assign`, `POST /reviews/:id/decide`, `GET /reviews/assigned`, `GET /reviews/stats`, `GET /reviews/:id/history`
|
||||
- **Admin UI:** NONE (distinct from `/feedback` which is user feedback, not content reviews)
|
||||
- **Impact:** MEDIUM — content review/approval workflow has no UI
|
||||
- **Action needed:** New `/reviews` page with review queue, assignment, approval workflow
|
||||
|
||||
#### 1.1.11 Webhooks Management (`webhooks` module — 8 endpoints)
|
||||
|
||||
- **Backend:** Webhook subscription CRUD, secret rotation, delivery log, test webhook
|
||||
- **Endpoints:** `GET/POST /webhooks`, `GET/PATCH/DELETE /webhooks/:id`, `POST /webhooks/:id/rotate-secret`, `GET /webhooks/:id/deliveries`, `POST /webhooks/:id/test`
|
||||
- **Admin UI:** NONE
|
||||
- **Impact:** MEDIUM — webhook integrations invisible, no delivery log viewer
|
||||
- **Action needed:** New `/webhooks` page with subscription list, delivery log, test button, secret rotation
|
||||
|
||||
#### 1.1.12 Data Retention (`retention` module — 5 endpoints)
|
||||
|
||||
- **Backend:** Retention policies, dry-run, execution
|
||||
- **Endpoints:** `GET/POST /retention/policies`, `GET /retention/policies/:id`, `POST /retention/policies/:id/dry-run`, `POST /retention/policies/:id/execute`
|
||||
- **Admin UI:** NONE
|
||||
- **Impact:** MEDIUM — data lifecycle management invisible
|
||||
- **Action needed:** Add to `/settings` or new `/ops/retention` page
|
||||
|
||||
#### 1.1.13 Backups (`backups` module — 6 endpoints)
|
||||
|
||||
- **Backend:** Create, list, download, restore backups
|
||||
- **Endpoints:** `GET/POST /backups`, `GET /backups/:id`, `GET /backups/:id/download`, `POST /backups/:id/restore`, `DELETE /backups/:id`
|
||||
- **Admin UI:** NONE
|
||||
- **Impact:** MEDIUM — backup/restore invisible
|
||||
- **Action needed:** New `/ops/backups` page with backup list, create/restore/download buttons
|
||||
|
||||
#### 1.1.14 Billing Checkout (`billing-checkout` module — ~4 endpoints)
|
||||
|
||||
- **Backend:** Pre-built Stripe Checkout session creation, success/cancel handling
|
||||
- **Admin UI:** NONE (existing `/billing` page may not cover checkout flow management)
|
||||
- **Impact:** LOW — mostly user-facing, but admin should see checkout sessions
|
||||
- **Action needed:** Add checkout session listing to existing `/billing` page
|
||||
|
||||
#### 1.1.15 CDN Pipeline (`cdn` module — 7 endpoints)
|
||||
|
||||
- **Backend:** Asset upload, listing, invalidation, CDN configuration
|
||||
- **Admin UI:** NONE
|
||||
- **Impact:** LOW — CDN management invisible
|
||||
- **Action needed:** New `/ops/cdn` page or add to existing `/ops` Mission Control
|
||||
|
||||
#### 1.1.16 Dunning (`dunning` module — 6 endpoints)
|
||||
|
||||
- **Backend:** Failed payment retry, dunning campaigns, customer communication
|
||||
- **Admin UI:** NONE
|
||||
- **Impact:** MEDIUM — failed payment recovery invisible
|
||||
- **Action needed:** Add to `/billing` page or new `/billing/dunning` page
|
||||
|
||||
#### 1.1.17 Tenants (`tenants` module — ~5 endpoints)
|
||||
|
||||
- **Backend:** Multi-tenant management
|
||||
- **Admin UI:** NONE
|
||||
- **Impact:** LOW for now — multi-tenant not yet needed
|
||||
- **Action needed:** New `/tenants` page when multi-tenant goes live
|
||||
|
||||
#### 1.1.18 API Versioning (`api-versioning` module — 5 endpoints)
|
||||
|
||||
- **Backend:** Version management, deprecation, migration tracking
|
||||
- **Admin UI:** NONE
|
||||
- **Impact:** LOW
|
||||
- **Action needed:** Add to `/settings` or `/ops` page
|
||||
|
||||
#### 1.1.19 Full-Text Search (`search` module — 5 endpoints)
|
||||
|
||||
- **Backend:** Cross-entity search across products
|
||||
- **Admin UI:** NONE
|
||||
- **Impact:** LOW — search is typically consumed by clients
|
||||
- **Action needed:** Consider adding a universal search bar to admin header
|
||||
|
||||
#### 1.1.20 Onboarding Analytics (`onboarding` module — 4 endpoints)
|
||||
|
||||
- **Backend:** Step tracking, completion tracking, funnel conversion rates
|
||||
- **Endpoints:** `POST /onboarding/step`, `POST /onboarding/complete`, `GET /onboarding/funnel`, `GET /onboarding/user/:userId`
|
||||
- **Admin UI:** NONE
|
||||
- **Impact:** MEDIUM — onboarding funnel visualization completely missing
|
||||
- **Action needed:** New `/analytics/onboarding` page with funnel chart, step drop-off analysis
|
||||
|
||||
#### 1.1.21 Delivery Module (`delivery` — 8 endpoints)
|
||||
|
||||
- **Backend:** 8 email templates, delivery log, send history
|
||||
- **Admin UI:** NONE
|
||||
- **Impact:** MEDIUM — cannot view email delivery log, template previews, or failure rates
|
||||
- **Action needed:** New `/ops/delivery` page with delivery log, template preview, retry failed
|
||||
|
||||
#### 1.1.22 Jobs & Runs (`jobs` — 5 endpoints, `runs` — 7 endpoints)
|
||||
|
||||
- **Backend:** Scheduled job management, run history, trigger
|
||||
- **Admin UI:** NONE
|
||||
- **Impact:** MEDIUM — cannot view/trigger scheduled jobs, see run history or failures
|
||||
- **Action needed:** New `/ops/jobs` page with job list, trigger button, run history table
|
||||
|
||||
#### 1.1.23 Sessions Module (`sessions` — 5 endpoints)
|
||||
|
||||
- **Backend:** List user sessions, revoke, revoke-all, admin force-revoke
|
||||
- **Admin UI:** NONE (settings/devices is for the admin's OWN devices only)
|
||||
- **Impact:** MEDIUM — cannot view/revoke other users' active sessions
|
||||
- **Action needed:** Add session management to user detail view or new `/ops/sessions` page
|
||||
|
||||
#### 1.1.24 IP Rules (`ip-rules` — 5 endpoints)
|
||||
|
||||
- **Backend:** IP allow/deny with CIDR matching, temporary blocks with expiry
|
||||
- **Admin UI:** NONE
|
||||
- **Impact:** MEDIUM — cannot manage IP allowlists/blocklists
|
||||
- **Action needed:** New `/ops/security/ip-rules` or add to existing `/ops/security`
|
||||
|
||||
#### 1.1.25 Maintenance Mode (`maintenance` — 6 endpoints)
|
||||
|
||||
- **Backend:** 4 modes (off/read_only/maintenance/emergency), bypass roles/IPs, scheduled windows
|
||||
- **Admin UI:** NONE
|
||||
- **Impact:** MEDIUM — cannot activate maintenance mode from UI
|
||||
- **Action needed:** Add maintenance toggle to `/ops` Mission Control page
|
||||
|
||||
#### 1.1.26 Exports / GDPR (`exports` — 5 endpoints)
|
||||
|
||||
- **Backend:** GDPR data export jobs for 6 entity types, CSV/JSON format
|
||||
- **Admin UI:** NONE
|
||||
- **Impact:** MEDIUM — cannot trigger or download GDPR exports
|
||||
- **Action needed:** New `/ops/exports` page or add to existing `/settings`
|
||||
|
||||
#### 1.1.27 Status Page / Incidents (`status` — 9 endpoints)
|
||||
|
||||
- **Backend:** Public status page, incident CRUD, subscriber notifications
|
||||
- **Admin UI:** `/ops` Mission Control shows service health but NOT incident management
|
||||
- **Impact:** MEDIUM — cannot create/update incidents, manage status page subscribers
|
||||
- **Action needed:** New `/ops/status` page with incident CRUD, subscriber list
|
||||
|
||||
#### 1.1.28 Marketplace (`marketplace` — 29 endpoints)
|
||||
|
||||
- **Backend:** Listings, purchases, reviews, featured, categories — largest module by endpoint count
|
||||
- **Admin UI:** NONE
|
||||
- **Impact:** HIGH — entire marketplace management invisible
|
||||
- **Action needed:** New `/marketplace` page with listing management, purchase history, review moderation
|
||||
|
||||
#### 1.1.29 ⚠️ BACKEND BUG: AI Diagnostics (`ai-diagnostics` — 671-line routes.ts, NOT REGISTERED)
|
||||
|
||||
- **Backend:** `ai-diagnostics/routes.ts` exists (671 lines) with NL query parser, LLM root-cause analyzer, telemetry linking, error clustering — but the route plugin is **never registered in server.ts**
|
||||
- **Admin UI:** `/ai-diagnostics` page exists and is reachable
|
||||
- **Impact:** CRITICAL — the admin page exists but the backend endpoints it calls are not mounted. Page is non-functional.
|
||||
- **Action needed:** Add `import { aiDiagnosticsRoutes } from './modules/ai-diagnostics/routes.js'` and `await app.register(aiDiagnosticsRoutes, { prefix: '/api' })` to server.ts
|
||||
|
||||
---
|
||||
|
||||
### 1.2 PARTIALLY EXPOSED (Page exists but missing sub-features)
|
||||
|
||||
#### 1.2.1 Experiments Page — Missing A/B Test Assignment Viewer
|
||||
|
||||
- **Backend:** `experiments` + `ab-testing` modules — full experiment lifecycle
|
||||
- **Admin UI:** `/experiments` page exists, `/ops/ab-testing` exists
|
||||
- **Gap:** No UI to view individual user assignments, no variant traffic split visualization
|
||||
- **Action needed:** Add assignment log table, traffic split donut chart
|
||||
|
||||
#### 1.2.2 Diagnostics — Missing Session Replay, Performance Profiles, Crash Triggers
|
||||
|
||||
- **Backend:** `diagnostics` module has 5 route files: base routes, auto-trigger, crash-trigger, session-replay, performance-profile
|
||||
- **Admin UI:** `/debug-sessions` page exists
|
||||
- **Gap:** No session replay viewer, no performance profile flame graphs, no crash trigger configuration UI
|
||||
- **Action needed:** Add sub-pages: `/debug-sessions/replay`, `/debug-sessions/performance`, `/ops/crash-triggers`
|
||||
|
||||
#### 1.2.3 Predictive Analytics — Missing Campaign Execution
|
||||
|
||||
- **Backend:** `predictive-analytics` module — churn scoring, at-risk users, intervention campaigns
|
||||
- **Admin UI:** `/predictive/at-risk` and `/predictive/campaigns` pages exist
|
||||
- **Gap:** Campaign execution/send may not be wired, no cohort comparison charts
|
||||
- **Action needed:** Verify campaign execution UI, add cohort visualization
|
||||
|
||||
#### 1.2.4 Settings — Missing Kill Switch UI for Newer Products
|
||||
|
||||
- **Backend:** `/api/settings/kill-switch` exists in admin API routes
|
||||
- **Gap:** Kill switch toggle may only cover LysnrAI; other products need coverage
|
||||
- **Action needed:** Verify kill switch works for all 11 products
|
||||
|
||||
---
|
||||
|
||||
### 1.3 HIDDEN PAGES (Page exists but NO sidebar nav item — unreachable without direct URL)
|
||||
|
||||
These admin pages were built but never added to the sidebar navigation. Users cannot discover them without knowing the URL.
|
||||
|
||||
| Page Path | Backend Module | Has API Routes? | Action Needed |
|
||||
| --------------------------------------------------------- | ---------------------- | :---------------------------: | -------------------------------------------------------------- |
|
||||
| `/users` | `auth` (user list) | ✅ `/api/users/` | Add to sidebar (currently accessible only via Dashboard links) |
|
||||
| `/debug-sessions` | `diagnostics` | via platform-client | Add to sidebar under Ops |
|
||||
| `/debug-sessions/[id]` | `diagnostics` | via platform-client | (detail view — ok as sub-route) |
|
||||
| `/health-dashboard` | `diagnostics` | via platform-client | Add to sidebar under Ops |
|
||||
| `/extraction` | extraction-service | ✅ `/api/extraction/` | Add to sidebar under Ops |
|
||||
| `/experiments` + `/experiments/[id]` + `/experiments/new` | `experiments` | via platform-client | Add to sidebar |
|
||||
| `/ai-diagnostics` | `ai-diagnostics` | ⚠️ **Backend not registered** | Add to sidebar + fix backend first |
|
||||
| `/predictive/at-risk` | `predictive-analytics` | ✅ via predictive-client | Add to sidebar |
|
||||
| `/predictive/campaigns` | `predictive-analytics` | ✅ via predictive-client | Add to sidebar |
|
||||
|
||||
**Total: 7 unique features with pages but zero sidebar discoverability.**
|
||||
|
||||
---
|
||||
|
||||
## PART 2: USER-DASHBOARD-WEB — Missing Features
|
||||
|
||||
### 2.1 COMPLETELY MISSING
|
||||
|
||||
#### 2.1.1 User Invitations — Partial
|
||||
|
||||
- **Backend:** User can redeem invitations (`/api/invitations/redeem` API route exists)
|
||||
- **UI Page:** NONE — no `/invitations` page in sidebar
|
||||
- **Gap:** User cannot see pending invitations or redeem from UI
|
||||
- **Action needed:** New `/invitations` page showing pending invitations with accept/decline
|
||||
|
||||
#### 2.1.2 MFA Management — Partial
|
||||
|
||||
- **Backend:** MFA verify route exists (`/api/auth/mfa/verify`)
|
||||
- **UI Gap:** No dedicated MFA setup/management page (TOTP setup, recovery codes, disable MFA)
|
||||
- **Action needed:** Add MFA section to `/settings` or new `/settings/security` page with TOTP setup wizard, recovery code viewer
|
||||
|
||||
#### 2.1.3 Passkeys — Missing
|
||||
|
||||
- **Backend:** Passkey routes exist in admin-web but NOT in user-dashboard
|
||||
- **UI Gap:** User cannot register/manage passkeys
|
||||
- **Action needed:** Add passkey management to `/settings/security`
|
||||
|
||||
#### 2.1.4 Devices & Trusted Sessions — Missing
|
||||
|
||||
- **Backend:** Device trust, login events exist in platform-service
|
||||
- **UI Gap:** User cannot view logged-in devices, revoke sessions, or manage device trust
|
||||
- **Action needed:** New `/settings/devices` page showing active sessions with revoke button
|
||||
|
||||
#### 2.1.5 OAuth Account Linking — Missing
|
||||
|
||||
- **Backend:** OAuth routes exist (`/api/auth/oauth/[provider]`, SSO routes for Google/Microsoft)
|
||||
- **UI Gap:** OAuth callbacks exist but no UI for linking/unlinking OAuth providers from profile
|
||||
- **Action needed:** Add "Connected Accounts" section to `/profile` page
|
||||
|
||||
#### 2.1.6 Changelog / What's New — Missing
|
||||
|
||||
- **Backend:** `changelog` module exists in platform-service
|
||||
- **UI Gap:** User has no way to see product updates, release notes
|
||||
- **Action needed:** New `/changelog` page or notification bell dropdown with latest changes
|
||||
|
||||
#### 2.1.7 Feedback Submission — Missing
|
||||
|
||||
- **Backend:** `feedback` module in platform-service
|
||||
- **UI Gap:** No way for users to submit feedback from the dashboard
|
||||
- **Action needed:** Add feedback widget/button (e.g., floating button) or `/feedback` page
|
||||
|
||||
#### 2.1.8 Organizations — Missing
|
||||
|
||||
- **Backend:** `orgs` module with user-facing membership endpoints
|
||||
- **UI Gap:** User cannot view/manage their organization memberships
|
||||
- **Action needed:** New `/organization` page if user belongs to an org
|
||||
|
||||
#### 2.1.9 Support / Help — Missing
|
||||
|
||||
- **Backend:** `support-cases` module
|
||||
- **UI Gap:** No way for users to create/track support tickets
|
||||
- **Action needed:** New `/support` page with ticket creation form, ticket list, status tracking
|
||||
|
||||
#### 2.1.10 Usage Stats — Missing
|
||||
|
||||
- **Backend:** `usage` module tracks per-user usage
|
||||
- **UI Gap:** User cannot see their own usage stats (API calls, storage, etc.)
|
||||
- **Action needed:** Add usage widget to dashboard or new `/usage` page
|
||||
|
||||
#### 2.1.11 Export Personal Data (GDPR) — Missing
|
||||
|
||||
- **Backend:** `exports` module supports user data export
|
||||
- **UI Gap:** No "Download My Data" button anywhere
|
||||
- **Action needed:** Add "Export My Data" to `/settings` page
|
||||
|
||||
#### 2.1.12 Marketplace — Missing
|
||||
|
||||
- **Backend:** `marketplace` module has user-facing browse/purchase endpoints
|
||||
- **UI Gap:** No marketplace browsing or purchase history
|
||||
- **Action needed:** New `/marketplace` page (lower priority — depends on product)
|
||||
|
||||
---
|
||||
|
||||
### 2.2 PARTIALLY EXPOSED
|
||||
|
||||
#### 2.2.1 Profile Page — Missing Account Deletion Confirmation
|
||||
|
||||
- **Backend:** `/api/auth/delete-account` API route exists
|
||||
- **UI Gap:** Delete button may exist but confirmation flow, data export reminder, and cooldown period UI may be incomplete
|
||||
- **Action needed:** Verify delete account flow has proper confirmation modal + 7-day cooldown notice
|
||||
|
||||
#### 2.2.2 Notifications Page — Missing Preference Management
|
||||
|
||||
- **Backend:** `notifications` module has preference endpoints
|
||||
- **UI Gap:** Can view notifications but may not have granular preference toggles (email/push/in-app per category)
|
||||
- **Action needed:** Add notification preference grid to `/notifications` or `/settings`
|
||||
|
||||
#### 2.2.3 Settings Page — Missing Several Sections
|
||||
|
||||
- **Current:** Likely just basic settings
|
||||
- **Missing sections:** Security (MFA, passkeys, devices), Connected accounts, Notification preferences, Data export, Delete account
|
||||
- **Action needed:** Expand into tabbed settings with Security, Privacy, Notifications sections
|
||||
|
||||
---
|
||||
|
||||
## PART 3: TRACKER-WEB — Coverage Assessment
|
||||
|
||||
Tracker-web is relatively well-scoped (items, board, roadmap). Main gaps:
|
||||
|
||||
- No comment threading UI (backend `comments` module has reply support)
|
||||
- No vote visualization (backend `votes` module exists)
|
||||
- These are minor since tracker-web is a simpler dashboard
|
||||
|
||||
---
|
||||
|
||||
## PART 4: CROSS-CUTTING GAPS
|
||||
|
||||
### 4.1 Admin-Web Sidebar Missing Items
|
||||
|
||||
Current sidebar has 27 items. The following should be added:
|
||||
|
||||
**A) Hidden pages — already built, just need sidebar link:**
|
||||
|
||||
| Priority | New Sidebar Item | Page Path | Icon Suggestion |
|
||||
| :------: | ---------------- | --------------------- | --------------- |
|
||||
| **P0** | Users | `/users` | Users |
|
||||
| **P0** | Debug Sessions | `/debug-sessions` | Bug |
|
||||
| **P0** | Health Dashboard | `/health-dashboard` | HeartPulse |
|
||||
| **P0** | Extraction | `/extraction` | FileSearch |
|
||||
| **P0** | Experiments | `/experiments` | FlaskConical |
|
||||
| **P0** | Predictive | `/predictive/at-risk` | TrendingDown |
|
||||
| **P1** | AI Diagnostics | `/ai-diagnostics` | BrainCircuit |
|
||||
|
||||
**B) New pages — need to be built + sidebar link:**
|
||||
|
||||
| Priority | New Sidebar Item | Backend Module | Icon Suggestion |
|
||||
| :------: | ----------------- | --------------------- | --------------- |
|
||||
| **P0** | Organizations | `orgs` | Building2 |
|
||||
| **P0** | Support Cases | `support-cases` | LifeBuoy |
|
||||
| **P0** | AI Budgets | `ai-budgets` | DollarSign |
|
||||
| **P0** | Waitlist | `waitlist` | Clock |
|
||||
| **P1** | Webhooks | `webhooks` | Webhook |
|
||||
| **P1** | Knowledge Bases | `knowledge` | Database |
|
||||
| **P1** | Agent Evals | `agent-evals` | FlaskConical |
|
||||
| **P1** | Reviews | `reviews` | CheckSquare |
|
||||
| **P1** | Marketplace | `marketplace` | Store |
|
||||
| **P1** | Delivery Log | `delivery` | Mail |
|
||||
| **P1** | Scheduled Jobs | `jobs` + `runs` | Timer |
|
||||
| **P2** | Event Bus | `event-subscriptions` | Radio |
|
||||
| **P2** | SCIM | `scim` | Link |
|
||||
| **P2** | IP Rules | `ip-rules` | ShieldBan |
|
||||
| **P2** | Backups | `backups` | HardDrive |
|
||||
| **P2** | Retention | `retention` | Trash2 |
|
||||
| **P2** | Maintenance | `maintenance` | Wrench |
|
||||
| **P2** | Status/Incidents | `status` | Activity |
|
||||
| **P2** | Exports (GDPR) | `exports` | Download |
|
||||
| **P2** | Onboarding Funnel | `onboarding` | Compass |
|
||||
| **P3** | CDN | `cdn` | Globe |
|
||||
| **P3** | Dunning | `dunning` | AlertTriangle |
|
||||
| **P3** | API Versions | `api-versioning` | GitBranch |
|
||||
| **P3** | Tenants | `tenants` | Users |
|
||||
| **P3** | Search | `search` | Search |
|
||||
|
||||
### 4.2 User-Dashboard Sidebar Missing Items
|
||||
|
||||
| Priority | New Sidebar Item | Backend Module | Icon Suggestion |
|
||||
| :------: | ---------------- | -------------------- | --------------- |
|
||||
| **P0** | Security | `auth/*` sub-modules | Shield |
|
||||
| **P0** | Support | `support-cases` | LifeBuoy |
|
||||
| **P1** | Usage | `usage` | BarChart |
|
||||
| **P1** | Invitations | `invitations` | Mail |
|
||||
| **P1** | Changelog | `changelog` | Newspaper |
|
||||
| **P2** | Feedback | `feedback` | MessageSquare |
|
||||
| **P2** | Organizations | `orgs` | Building2 |
|
||||
| **P2** | Marketplace | `marketplace` | Store |
|
||||
|
||||
### 4.3 Missing Admin-Web API Proxy Routes
|
||||
|
||||
These platform-service modules have NO corresponding `/api/` proxy route in admin-web:
|
||||
|
||||
| Module | Admin API Route Needed |
|
||||
| --------------------- | ------------------------------------ |
|
||||
| `orgs` | `/api/orgs/[...path]` |
|
||||
| `scim` | `/api/scim/[...path]` |
|
||||
| `support-cases` | `/api/support/[...path]` |
|
||||
| `ai-budgets` | `/api/ai-budgets/[...path]` |
|
||||
| `knowledge` | `/api/knowledge/[...path]` |
|
||||
| `agent-evals` | `/api/agent-evals/[...path]` |
|
||||
| `agents/executor` | `/api/agents/execute/[...path]` |
|
||||
| `event-subscriptions` | `/api/event-subscriptions/[...path]` |
|
||||
| `waitlist` | `/api/waitlist/[...path]` |
|
||||
| `reviews` | `/api/reviews/[...path]` |
|
||||
| `webhooks` | `/api/webhooks/[...path]` |
|
||||
| `retention` | `/api/retention/[...path]` |
|
||||
| `backups` | `/api/backups/[...path]` |
|
||||
| `cdn` | `/api/cdn/[...path]` |
|
||||
| `dunning` | `/api/dunning/[...path]` |
|
||||
| `maintenance` | `/api/maintenance/[...path]` |
|
||||
| `exports` | `/api/exports/[...path]` |
|
||||
| `jobs` | `/api/jobs/[...path]` |
|
||||
| `runs` | `/api/runs/[...path]` |
|
||||
| `sessions` | `/api/sessions/[...path]` |
|
||||
| `ip-rules` | `/api/ip-rules/[...path]` |
|
||||
| `status` | `/api/status/[...path]` |
|
||||
| `onboarding` | `/api/onboarding/[...path]` |
|
||||
| `delivery` | `/api/delivery/[...path]` |
|
||||
| `search` | `/api/search/[...path]` |
|
||||
| `marketplace` | `/api/marketplace/[...path]` |
|
||||
|
||||
---
|
||||
|
||||
## PART 5: PRIORITIZED ACTION PLAN
|
||||
|
||||
### Sprint 0 — Quick Wins: Wire Hidden Pages + Fix Backend Bug (1 day)
|
||||
|
||||
1. **FIX BACKEND BUG:** Register `ai-diagnostics` routes in `server.ts` (1 import + 1 register line)
|
||||
2. **Add 7 sidebar items** for already-built hidden pages: Users, Debug Sessions, Health Dashboard, Extraction, Experiments, Predictive, AI Diagnostics
|
||||
3. No new pages needed — just sidebar-nav.tsx edits
|
||||
|
||||
### Sprint 1 — Critical Admin Gaps (P0)
|
||||
|
||||
4. **Organizations page** — org list, member CRUD, workspace management
|
||||
5. **Support Cases page** — ticket list, detail, notes, escalation
|
||||
6. **AI Budgets page** — cost dashboard, policies, spend history, alerts
|
||||
7. **Waitlist page** — entry list, stats, batch invite, export
|
||||
8. Add 4 new sidebar items + 4 API proxy routes
|
||||
|
||||
### Sprint 2 — High-Value Admin Pages (P1)
|
||||
|
||||
9. **Webhooks page** — subscription CRUD, delivery log, test
|
||||
10. **Knowledge Bases page** — base list, sources, chunk browser
|
||||
11. **Agent Evals page** — suite management, test cases, run history
|
||||
12. **Reviews page** — review queue, assignment, approval
|
||||
13. **Marketplace page** — listing management, purchase history
|
||||
14. **Delivery Log page** — email logs, template preview, retry
|
||||
15. **Scheduled Jobs page** — job list, trigger, run history
|
||||
16. Add 7 new sidebar items + 7 API proxy routes
|
||||
|
||||
### Sprint 3 — User Dashboard Gaps (P0)
|
||||
|
||||
17. **Security page** — MFA setup, passkeys, device management, session revocation
|
||||
18. **Support page** — ticket creation, tracking
|
||||
19. **Usage page** — personal usage stats
|
||||
20. **Invitations page** — pending invites, accept/decline
|
||||
21. **Changelog page** — recent updates, release notes
|
||||
22. Expand Settings with Security/Privacy/Notifications tabs
|
||||
23. Add "Connected Accounts" to Profile (OAuth link/unlink)
|
||||
|
||||
### Sprint 4 — Operational Admin Pages (P2)
|
||||
|
||||
24. **Event Bus page** — subscription CRUD, DLQ viewer, replay
|
||||
25. **SCIM page** — connector management, sync status
|
||||
26. **IP Rules** — add to ops/security
|
||||
27. **Backups page** — create/restore/download
|
||||
28. **Retention page** — policy management, dry-run
|
||||
29. **Maintenance toggle** — add to Mission Control
|
||||
30. **Status/Incidents** — incident CRUD
|
||||
31. **GDPR Exports** — trigger/download
|
||||
32. **Onboarding Funnel** — analytics visualization
|
||||
33. **Session Replay** — expand debug-sessions
|
||||
34. **Performance Profiles** — expand debug-sessions
|
||||
|
||||
### Sprint 5 — Lower Priority (P3)
|
||||
|
||||
35. CDN management
|
||||
36. Dunning campaigns
|
||||
37. API versioning
|
||||
38. Multi-tenant management
|
||||
39. Universal search bar
|
||||
|
||||
---
|
||||
|
||||
## PART 6: SUMMARY STATISTICS
|
||||
|
||||
| Metric | Count |
|
||||
| ------------------------------------------------------------ | :------------------------------: |
|
||||
| Platform-service modules | 43+ |
|
||||
| Platform-service route files | 76 |
|
||||
| Platform-service endpoints | 511+ |
|
||||
| Admin-web sidebar items | 27 |
|
||||
| Admin-web pages | 38 |
|
||||
| Admin-web API routes | 39 |
|
||||
| User-dashboard pages | 12 |
|
||||
| User-dashboard API routes | 39 |
|
||||
| **Admin: Completely missing (no page, no sidebar, no API)** | **28** |
|
||||
| **Admin: Partially exposed (page exists, features missing)** | **4** |
|
||||
| **Admin: Hidden pages (page exists, no sidebar item)** | **7** |
|
||||
| **Admin: Backend bug (routes.ts exists, not registered)** | **1** |
|
||||
| **User: Completely missing features** | **12** |
|
||||
| **User: Partially exposed** | **3** |
|
||||
| **Total hidden/underexposed features** | **55** |
|
||||
| New admin sidebar items needed | 32 (25 new + 7 hidden pages) |
|
||||
| New admin API proxy routes needed | 26 |
|
||||
| New user sidebar items needed | 8 |
|
||||
| Estimated new pages to build | ~28 (hidden pages already built) |
|
||||
|
||||
---
|
||||
|
||||
## Appendix A: Complete Module ↔ UI Matrix
|
||||
|
||||
| # | Platform-Service Module | Admin Page | Admin API | User Page | User API | Status |
|
||||
| :-: | ----------------------- | :------------------------: | :-------------: | :--------------: | :------------: | :---------------------------------------------: |
|
||||
| 1 | auth (core) | ✅ login | ✅ | ✅ login | ✅ | OK |
|
||||
| 2 | auth/oauth | ✅ settings | ✅ | ⚠️ callback only | ✅ | User gap |
|
||||
| 3 | auth/mfa | ✅ settings/security | ✅ | ⚠️ verify only | ⚠️ | User gap |
|
||||
| 4 | auth/passkeys | ✅ settings/passkeys | ✅ | ❌ | ❌ | User gap |
|
||||
| 5 | auth/devices | ✅ settings/devices | ✅ | ❌ | ❌ | User gap |
|
||||
| 6 | auth/login-events | ✅ via security | ✅ | ❌ | ❌ | User gap |
|
||||
| 7 | auth/push-approvals | ❌ | ❌ | ❌ | ❌ | Both gap |
|
||||
| 8 | auth/qr-auth | ❌ | ❌ | ❌ | ❌ | Both gap |
|
||||
| 9 | auth/enterprise | ❌ | ❌ | ❌ | ❌ | Both gap |
|
||||
| 10 | auth/magic-link | ❌ | ❌ | ❌ | ❌ | Both gap |
|
||||
| 11 | audit | ✅ | ✅ | ❌ | ❌ | OK (admin-only) |
|
||||
| 12 | agents | ✅ actiontrail | ✅ actiontrail | ❌ | ❌ | Partial |
|
||||
| 13 | agent-evals | ❌ | ❌ | ❌ | ❌ | **Missing** |
|
||||
| 14 | agents/executor | ❌ | ❌ | ❌ | ❌ | **Missing** |
|
||||
| 15 | ai-budgets | ❌ | ❌ | ❌ | ❌ | **Missing** |
|
||||
| 16 | ai-diagnostics | ⚠️ page exists, no sidebar | ❌ | ❌ | ❌ | **⚠️ BACKEND BUG: not registered in server.ts** |
|
||||
| 17 | analytics | ✅ via dashboard | ✅ | ❌ | ❌ | OK |
|
||||
| 18 | api-versioning | ❌ | ❌ | ❌ | ❌ | **Missing** |
|
||||
| 19 | ab-testing | ✅ ops/ab-testing | ❌ | ❌ | ❌ | OK |
|
||||
| 20 | backups | ❌ | ❌ | ❌ | ❌ | **Missing** |
|
||||
| 21 | billing-checkout | ❌ | ❌ | ❌ | ❌ | **Missing** |
|
||||
| 22 | blob | ❌ | ❌ | ❌ | ❌ | OK (SDK-only) |
|
||||
| 23 | broadcasts | ✅ | ❌ | ❌ | ❌ | OK |
|
||||
| 24 | cdn | ❌ | ❌ | ❌ | ❌ | **Missing** |
|
||||
| 25 | changelog | ❌ | ❌ | ❌ | ❌ | **Missing** |
|
||||
| 26 | comments | ❌ | ❌ | ❌ | ❌ | OK (tracker) |
|
||||
| 27 | delivery | ❌ | ❌ | ❌ | ❌ | **Missing** |
|
||||
| 28 | diagnostics | ✅ debug-sessions | ❌ | ❌ | ❌ | Partial |
|
||||
| 29 | dunning | ❌ | ❌ | ❌ | ❌ | **Missing** |
|
||||
| 30 | event-subscriptions | ❌ | ❌ | ❌ | ❌ | **Missing** |
|
||||
| 31 | experiments | ✅ | ❌ | ❌ | ❌ | OK |
|
||||
| 32 | exports | ❌ | ❌ | ❌ | ❌ | **Missing** |
|
||||
| 33 | feedback | ✅ | ❌ | ❌ | ❌ | User gap |
|
||||
| 34 | flags | ✅ | ✅ | ❌ | ❌ | OK |
|
||||
| 35 | impersonation | ❌ | ❌ | ❌ | ❌ | OK (API-only) |
|
||||
| 36 | invitations | ✅ | ✅ | ❌ | ⚠️ redeem only | User gap |
|
||||
| 37 | ip-rules | ❌ | ❌ | ❌ | ❌ | **Missing** |
|
||||
| 38 | items | ❌ | ❌ | ❌ | ❌ | OK (tracker) |
|
||||
| 39 | jobs | ❌ | ❌ | ❌ | ❌ | **Missing** |
|
||||
| 40 | knowledge | ❌ | ❌ | ❌ | ❌ | **Missing** |
|
||||
| 41 | licenses | ✅ | ✅ | ✅ | ✅ | OK |
|
||||
| 42 | maintenance | ❌ | ❌ | ❌ | ❌ | **Missing** |
|
||||
| 43 | marketplace | ❌ | ❌ | ❌ | ❌ | **Missing** |
|
||||
| 44 | notifications | ✅ | ✅ | ✅ | ✅ | OK |
|
||||
| 45 | onboarding | ❌ | ❌ | ❌ | ❌ | **Missing** |
|
||||
| 46 | orgs | ❌ | ❌ | ❌ | ❌ | **Missing** |
|
||||
| 47 | plans | ❌ | ✅ settings | ❌ | ❌ | OK |
|
||||
| 48 | predictive-analytics | ✅ | ✅ | ❌ | ❌ | OK |
|
||||
| 49 | products | ✅ | ✅ | ❌ | ❌ | OK |
|
||||
| 50 | promos | ✅ | ✅ | ❌ | ❌ | OK |
|
||||
| 51 | public | ❌ | ❌ | ❌ | ❌ | OK (public) |
|
||||
| 52 | ratelimit | ❌ | ❌ | ❌ | ❌ | OK (infra) |
|
||||
| 53 | referrals | ✅ | ✅ | ✅ | ✅ | OK |
|
||||
| 54 | retention | ❌ | ❌ | ❌ | ❌ | **Missing** |
|
||||
| 55 | reviews | ❌ | ❌ | ❌ | ❌ | **Missing** |
|
||||
| 56 | runs | ❌ | ❌ | ❌ | ❌ | **Missing** |
|
||||
| 57 | scim | ❌ | ❌ | ❌ | ❌ | **Missing** |
|
||||
| 58 | search | ❌ | ❌ | ❌ | ❌ | **Missing** |
|
||||
| 59 | sessions | ❌ | ❌ | ❌ | ❌ | **Missing** |
|
||||
| 60 | settings | ✅ | ✅ | ✅ | ✅ | OK |
|
||||
| 61 | status | ❌ | ⚠️ ops/status | ❌ | ❌ | Partial |
|
||||
| 62 | stripe | ❌ | ✅ via settings | ✅ | ✅ | OK |
|
||||
| 63 | subscriptions | ✅ | ✅ | ✅ | ✅ | OK |
|
||||
| 64 | support-cases | ❌ | ❌ | ❌ | ❌ | **Missing** |
|
||||
| 65 | surveys | ✅ | ❌ | ❌ | ❌ | OK |
|
||||
| 66 | telemetry | ✅ | ✅ | ❌ | ✅ ingest | OK |
|
||||
| 67 | tenants | ❌ | ❌ | ❌ | ❌ | **Missing** |
|
||||
| 68 | themes | ✅ | ✅ | ❌ | ❌ | OK |
|
||||
| 69 | tokens | ✅ | ✅ | ❌ | ❌ | OK |
|
||||
| 70 | usage | ❌ | ✅ /api/usage/ | ❌ | ❌ | User gap |
|
||||
| 71 | votes | ❌ | ❌ | ❌ | ❌ | OK (tracker) |
|
||||
| 72 | waitlist | ❌ | ❌ | ❌ | ❌ | **Missing** |
|
||||
| 73 | webhooks | ❌ | ❌ | ❌ | ❌ | **Missing** |
|
||||
|
||||
| 74 | diagnostics/auto-trigger | ⚠️ no dedicated page | ❌ | ❌ | ❌ | Hidden |
|
||||
| 75 | diagnostics/crash-trigger | ⚠️ no dedicated page | ❌ | ❌ | ❌ | Hidden |
|
||||
| 76 | diagnostics/session-replay | ⚠️ no dedicated page | ❌ | ❌ | ❌ | Hidden |
|
||||
| 77 | diagnostics/perf-profile | ⚠️ no dedicated page | ❌ | ❌ | ❌ | Hidden |
|
||||
| 78 | referrals/migration-admin | ❌ | ❌ | ❌ | ❌ | OK (one-time migration) |
|
||||
| 79 | users (admin-web direct) | ✅ (no sidebar!) | ✅ /api/users/ | ❌ | ❌ | **Hidden page** |
|
||||
|
||||
**Legend:** ✅ = Exposed | ⚠️ = Partial | ❌ = Missing | OK = Correctly not needed in that dashboard
|
||||
|
||||
---
|
||||
|
||||
## Appendix B: Auth Sub-Module Gap Detail
|
||||
|
||||
| Auth Sub-Module | Endpoints | Admin UI | User UI | Notes |
|
||||
| ---------------------------------- | :-------: | :------: | :-----: | ---------------------------------------- |
|
||||
| Core (login/register/forgot/reset) | 18 | ✅ | ✅ | Complete |
|
||||
| OAuth (Google/Microsoft/Apple) | 6 | ✅ | ⚠️ | User: callbacks exist, no link/unlink UI |
|
||||
| MFA (TOTP setup/verify/disable) | 9 | ✅ | ⚠️ | User: verify only, no setup/manage |
|
||||
| Passkeys (WebAuthn) | 6 | ✅ | ❌ | User: no passkey management at all |
|
||||
| Devices (trust/fingerprint) | 5 | ✅ | ❌ | User: cannot view/revoke devices |
|
||||
| Login Events (audit) | 3 | ✅ | ❌ | User: cannot view own login history |
|
||||
| Push Approvals | 4 | ❌ | ❌ | Neither dashboard has UI |
|
||||
| QR Auth | 3 | ❌ | ❌ | Neither dashboard has UI |
|
||||
| Enterprise SSO (SAML/OIDC) | 8 | ❌ | ❌ | Neither dashboard has UI |
|
||||
| Magic Link | 3 | ❌ | ❌ | Neither dashboard has UI |
|
||||
|
||||
---
|
||||
|
||||
_This document should be reviewed and updated as pages are built. Check off items as they are completed._
|
||||
Loading…
Reference in New Issue
Block a user