Feature Specification: Service Launchpad
1. Overview & Vision
The Launchpad is the "Desktop" of the Agentic Enterprise OS. It provides a centralized, personalized interface for discovering and launching all authorized applications within the VENI-AI ecosystem, ensuring seamless navigation between federated modules.
2. Personas & Stakeholders
| Persona | Goal |
|---|---|
| End User | Quick access to work tools without re-authentication. |
| System Admin | Register and manage the availability of satellite modules. |
3. User Stories
- As a user, I want to see only the apps I have permission to use so my workspace remains clean.
- As a developer, I want to register a new remote app so it appears instantly on the user's dashboard.
4. Functional Requirements (FR)
- REQ-LP-001: Dynamic discovery of registered satellite modules.
- REQ-LP-002: Permission-based app visibility (RBAC).
- REQ-LP-003: Micro-frontend lifecycle management (Mount/Unmount).
- REQ-LP-004: App categories and search/filter.
5. Non-Functional Requirements (NFR)
- Load Time: Launchpad metadata retrieval < 200ms.
- Resilience: Shell must stay functional even if one remote app is down.
6. Business Logic & Rules
- Discovery: Apps are loaded via a public registry endpoint.
- Isolation: Each app runs in a scoped container to prevent CSS/JS pollution.
- State Preservation: The Shell persists the "last used app" for the next session.
7. User Interface (UI/UX)
- Grid-based dashboard with rich app icons and metadata.
- Left-rail sidebar for global navigation.
- "App Loading" skeletons and error boundaries for remote failures.
8. Information Architecture
- Primary entry point after login.
- Hierarchical grouping: Core Apps (Drive, HRM) vs. Extended Apps (Auto Report).
9. Data Model & Persistence
- Table:
apps(Registry). - Table:
user_app_preferences(Personalization).
10. API & Service Layer
GET /api/config/appsPOST /api/admin/apps
11. Integration Patterns
- Module Federation: Dynamic loading of remote entry files.
- Shared Dependencies: React and common UI kits shared between Host and Remote.
12. Security & Permissions
- Visibility: Controlled by
apps:readscope. - Integrity: Remote entry URLs must be served over HTTPS with valid certificates.
13. Error Handling & Resilience
- Error boundaries catch "Module Not Found" errors.
- Fallback UI when a remote application fails to mount.
14. Performance & Scalability
- Parallel loading of app metadata.
- Pre-fetching of the next app's assets (planned).
15. Globalization & i18n
- Support for localized App Display Names and Descriptions.
16. Accessibility (a11y)
- Keyboard navigation (Tab index) for app cards.
- Screen reader announcements for app status changes.
17. Observability & Analytics
- Tracking of "App Launch" events to measure module popularity.
- Monitoring of "App Failure" rates for DevOps alerts.
18. Testing & Quality
- Cypress tests for cross-module navigation.
- Visual regression testing for the dashboard layout.
19. Constraints & Assumptions
- Assumes remote apps follow the standard
ShellEntrycontract.
20. Future Enhancements
- User-defined app shortcuts and favorites.
- Widget system for the dashboard (e.g., "Recent Files" from Drive).