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.
52 KiB
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
/organizationspage 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/scimpage 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
/supportpage 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-budgetspage 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
/knowledgepage 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
/actiontrailpage 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-agentspage 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-evalspage 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/eventspage 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
/waitlistpage 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
/feedbackwhich is user feedback, not content reviews) - Impact: MEDIUM — content review/approval workflow has no UI
- Action needed: New
/reviewspage 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
/webhookspage 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
/settingsor new/ops/retentionpage
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/backupspage 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
/billingpage 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
/billingpage
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/cdnpage or add to existing/opsMission 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
/billingpage or new/billing/dunningpage
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
/tenantspage 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
/settingsor/opspage
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/onboardingpage 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/deliverypage 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/jobspage 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/sessionspage
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-rulesor 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
/opsMission 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/exportspage or add to existing/settings
1.1.27 Status Page / Incidents (status — 9 endpoints)
- Backend: Public status page, incident CRUD, subscriber notifications
- Admin UI:
/opsMission Control shows service health but NOT incident management - Impact: MEDIUM — cannot create/update incidents, manage status page subscribers
- Action needed: New
/ops/statuspage 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
/marketplacepage 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.tsexists (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-diagnosticspage 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'andawait 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-testingmodules — full experiment lifecycle - Admin UI:
/experimentspage exists,/ops/ab-testingexists - 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:
diagnosticsmodule has 5 route files: base routes, auto-trigger, crash-trigger, session-replay, performance-profile - Admin UI:
/debug-sessionspage 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-analyticsmodule — churn scoring, at-risk users, intervention campaigns - Admin UI:
/predictive/at-riskand/predictive/campaignspages 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-switchexists 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/redeemAPI route exists) - UI Page: NONE — no
/invitationspage in sidebar - Gap: User cannot see pending invitations or redeem from UI
- Action needed: New
/invitationspage 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
/settingsor new/settings/securitypage 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/devicespage 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
/profilepage
2.1.6 Changelog / What's New — Missing
- Backend:
changelogmodule exists in platform-service - UI Gap: User has no way to see product updates, release notes
- Action needed: New
/changelogpage or notification bell dropdown with latest changes
2.1.7 Feedback Submission — Missing
- Backend:
feedbackmodule 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
/feedbackpage
2.1.8 Organizations — Missing
- Backend:
orgsmodule with user-facing membership endpoints - UI Gap: User cannot view/manage their organization memberships
- Action needed: New
/organizationpage if user belongs to an org
2.1.9 Support / Help — Missing
- Backend:
support-casesmodule - UI Gap: No way for users to create/track support tickets
- Action needed: New
/supportpage with ticket creation form, ticket list, status tracking
2.1.10 Usage Stats — Missing
- Backend:
usagemodule 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
/usagepage
2.1.11 Export Personal Data (GDPR) — Missing
- Backend:
exportsmodule supports user data export - UI Gap: No "Download My Data" button anywhere
- Action needed: Add "Export My Data" to
/settingspage
2.1.12 Marketplace — Missing
- Backend:
marketplacemodule has user-facing browse/purchase endpoints - UI Gap: No marketplace browsing or purchase history
- Action needed: New
/marketplacepage (lower priority — depends on product)
2.2 PARTIALLY EXPOSED
2.2.1 Profile Page — Missing Account Deletion Confirmation
- Backend:
/api/auth/delete-accountAPI 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:
notificationsmodule 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
/notificationsor/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
commentsmodule has reply support) - No vote visualization (backend
votesmodule 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 |
|
| 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 |
|
| 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)
- FIX BACKEND BUG: Register
ai-diagnosticsroutes inserver.ts(1 import + 1 register line) - Add 7 sidebar items for already-built hidden pages: Users, Debug Sessions, Health Dashboard, Extraction, Experiments, Predictive, AI Diagnostics
- No new pages needed — just sidebar-nav.tsx edits
Sprint 1 — Critical Admin Gaps (P0)
- Organizations page — org list, member CRUD, workspace management
- Support Cases page — ticket list, detail, notes, escalation
- AI Budgets page — cost dashboard, policies, spend history, alerts
- Waitlist page — entry list, stats, batch invite, export
- Add 4 new sidebar items + 4 API proxy routes
Sprint 2 — High-Value Admin Pages (P1)
- Webhooks page — subscription CRUD, delivery log, test
- Knowledge Bases page — base list, sources, chunk browser
- Agent Evals page — suite management, test cases, run history
- Reviews page — review queue, assignment, approval
- Marketplace page — listing management, purchase history
- Delivery Log page — email logs, template preview, retry
- Scheduled Jobs page — job list, trigger, run history
- Add 7 new sidebar items + 7 API proxy routes
Sprint 3 — User Dashboard Gaps (P0)
- Security page — MFA setup, passkeys, device management, session revocation
- Support page — ticket creation, tracking
- Usage page — personal usage stats
- Invitations page — pending invites, accept/decline
- Changelog page — recent updates, release notes
- Expand Settings with Security/Privacy/Notifications tabs
- Add "Connected Accounts" to Profile (OAuth link/unlink)
Sprint 4 — Operational Admin Pages (P2)
- Event Bus page — subscription CRUD, DLQ viewer, replay
- SCIM page — connector management, sync status
- IP Rules — add to ops/security
- Backups page — create/restore/download
- Retention page — policy management, dry-run
- Maintenance toggle — add to Mission Control
- Status/Incidents — incident CRUD
- GDPR Exports — trigger/download
- Onboarding Funnel — analytics visualization
- Session Replay — expand debug-sessions
- Performance Profiles — expand debug-sessions
Sprint 5 — Lower Priority (P3)
- CDN management
- Dunning campaigns
- API versioning
- Multi-tenant management
- 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.