Handoff: S114.3 Deep Testing Report — space-admin Comprehensive QA
Full deep-dive QA of every page in space-admin (port 6500)
Handoff: S114.3 Deep Testing Report — space-admin Comprehensive QA
From: Testing Director (Cowork, Session 114.3) To: All Coding Agents (Cursor Angular Agent, Backend Agent) Scope: Deep functional QA of every page in space-admin (http://localhost:6500/) Date: February 17, 2026
Executive Summary
Overall Result: 7 Issues Found — 2 CRITICAL, 3 HIGH, 2 MEDIUM
space-admin is a lightweight app focused on user Space management. It has a sparse sidebar with only 7 entries (Dashboard, Command Hub, Channels, AI Usage, Assistant, Intelligence). The Dashboard is mostly placeholder ("Coming Soon" cards). However, a systemic LOGGER_CONFIG DI injection error breaks multiple pages, making several core features completely non-functional.
| Category | Count | Examples |
|---|---|---|
| CRITICAL | 2 | LOGGER_CONFIG DI error crashes 3+ pages; /vitto/chat route broken |
| HIGH | 3 | AI Usage blank page, Dashboard debug buttons exposed, Duplicate Channels |
| MEDIUM | 2 | All Dashboard features "Coming Soon", Observatory blank |
CRITICAL BUGS
CRITICAL #1: Missing LOGGER_CONFIG Provider — Systemic DI Error
- Severity: CRITICAL
- Pages Affected: Assistant (
/ai/assistant), Intelligence (/ai/intelligence), Observatory (/vitto/observatory) - Problem: Multiple pages crash with Angular
NG0201: No provider found for InjectionToken LOGGER_CONFIG. Pages render completely blank — zero content visible. - Error Chain: The injection path varies per component but always ends the same way:
VittoHubComponent → VittoMonitorService → LoggerService → LOGGER_CONFIG(Assistant page)MemoryBrowserComponent → LoggerService → LOGGER_CONFIG(Intelligence page)ObservatoryPanelComponent → VittoMonitorService → LoggerService → LOGGER_CONFIG(Observatory)
- Console Error (repeated 10+ times):
ERROR NG0201: No provider found for `InjectionToken LOGGER_CONFIG`. Source: Standalone[_VittoHubComponent]. Path: _VittoMonitorService -> _LoggerService -> InjectionToken LOGGER_CONFIG - Impact: 3 out of 7 sidebar pages are completely broken. The app loses all AI Assistant, Intelligence, and Observatory functionality.
- Root Cause:
LoggerServicerequires aLOGGER_CONFIGinjection token to be provided in the app's root or route providers. This token is likely provided in gograb-admin and gograb-dev but missing from space-admin's app configuration. - Files to Check/Modify:
apps/space-admin/src/app/app.config.ts— AddLOGGER_CONFIGproviderapps/space-admin/src/app/app.routes.ts— Check if lazy-loaded routes need the provider- Search for
LOGGER_CONFIGin gograb-admin or gograb-dev to find the correct provider setup and replicate it libs/libs-ai/vitto-hub/src/lib/services/logger.service.ts— Where LoggerService injects the token
- Verification: Navigate to
/ai/assistant,/ai/intelligence, and/vitto/observatory— all should render content instead of blank pages, with zero NG0201 errors in console
CRITICAL #2: /vitto/chat Route Broken (Cross-App Issue)
- Severity: CRITICAL
- Page: Vitto Command Hub → Chat tab
- Problem: Navigating to
/vitto/chatredirects to the Dashboard. Chat is completely inaccessible. - Impact: Primary Vitto AI chat interface is unusable on space-admin
- Note: This is the SAME cross-app bug found on gograb-admin and gograb-dev — it affects ALL apps using the shared vitto-hub library's route-based navigation
- Root Cause: The
/vitto/chatroute is not defined in the routing configuration or falls through to a wildcard redirect - Files to Check:
apps/space-admin/src/app/app.routes.ts— Check Vitto route definitionslibs/libs-ai/vitto-hub/src/lib/vitto-hub.routes.ts— Shared routing
- Verification: Navigate to
http://localhost:6500/vitto/chat→ should load chat, NOT redirect to dashboard
HIGH PRIORITY BUGS
HIGH #1: AI Usage Page — Blank White Card (HttpErrorResponse)
- Severity: HIGH
- Page: AI → AI Usage (
/ai/usage) - Problem: Page shows a blank white card with no content. Despite the network requests returning 200, the console shows
HttpErrorResponseandFailed to load usage history. - Network Requests: Both return 200 status but the response body apparently can't be parsed:
GET /api/ai-api/mcp/usage→ 200GET /api/ai-api/mcp/usage/history→ 200
- Console Errors:
ERROR HttpErrorResponse Failed to load usage history: HttpErrorResponse - Impact: AI usage data is completely invisible to Space admins
- Root Cause: The 200 responses may return HTML error pages or malformed JSON that the component can't parse. The component's
UsageDashboardComponentrenders a blank card when data loading fails silently. - Files to Check:
libs/libs-ai/gograb-ai-lib/src/lib/components/usage-dashboard/usage-dashboard.component.ts— Error handling for usage data- Proxy configuration for space-admin — verify
/api/ai-apiroutes correctly - Backend response format for
/mcp/usageand/mcp/usage/history
HIGH #2: Dashboard Debug Buttons Exposed in Production UI
- Severity: HIGH
- Page: Dashboard (
/dashboard) - Problem: Two development/debug buttons are visible at the top of the Dashboard: "Dashboard (slideUp)" and "Test Page (fade)"
- Impact: Debug/test UI elements should never be visible to end users. Clicking them triggers animation transitions that are developer-only testing features.
- Root Cause: These buttons are likely wrapped in an
*ngIfthat should check for dev mode or are leftover development artifacts - Files to Modify: Dashboard component template — remove or hide behind
isDevMode()check
HIGH #3: Duplicate Channels Sidebar Entries
- Severity: HIGH
- Page: Sidebar
- Problem: "Channels" appears in the sidebar as a standalone link (
/channels) AND inside Command Hub as a tab (/vitto/channels). Both show identical content. - Impact: Redundant navigation, potential user confusion — identical to the same issue found on gograb-admin
- Suggested Fix: Remove the standalone
/channelssidebar link and keep only the one inside Command Hub, or vice versa
MEDIUM PRIORITY ISSUES
MEDIUM #1: All Dashboard Features Show "Coming Soon"
- Severity: MEDIUM
- Page: Dashboard (
/dashboard) - Problem: All 4 feature cards (Universe Management, Galaxy Organization, Space Management, Usage Analytics) show "Coming Soon" buttons with no functional content
- Impact: The Space Admin dashboard provides no actual management functionality — it's purely placeholder
- Note: This may be expected if the Space management features haven't been built yet, but it means the app currently has very limited utility
MEDIUM #2: Observatory Page Blank (Subset of CRITICAL #1)
- Severity: MEDIUM (already covered by CRITICAL #1, listed separately for tracking)
- Page: Vitto Observatory (
/vitto/observatory) - Problem: Page renders completely blank due to
LOGGER_CONFIGDI error onObservatoryPanelComponent - Note: On gograb-admin and gograb-dev, Observatory renders correctly with Approvals/Security/Costs sub-tabs. On space-admin it crashes due to the missing provider.
- Fix: Same as CRITICAL #1 — provide
LOGGER_CONFIGin space-admin's app config
Pages That Work Correctly ✅
| Page | Route | Status |
|---|---|---|
| Dashboard | /dashboard | ✅ Loads (placeholder "Coming Soon" cards, but renders without errors) |
| Vitto Skills | /vitto/skills | ✅ Skill Studio: Marketplace/Builder/Test sub-tabs, 0 skills, 0 published |
| Vitto Channels | /vitto/channels | ✅ Channel Manager: 0 active, 0 messages, "No channels yet", Add Channel button |
| Vitto Webhooks | /vitto/webhooks | ✅ Webhook Builder: 0 active webhooks, "No webhooks yet" |
| Vitto Schedules | /vitto/schedules | ✅ Visual Scheduler: 0 active, 0 total runs, "No schedules yet" |
| Vitto Memory | /vitto/memory | ✅ 73 entries, 6 categories (Bug Fixes 6, Patterns 4, Architecture 4, Milestones 3, Other 2, Implementation 1), real data with timestamps |
| Channels (standalone) | /channels | ✅ Works but duplicate of /vitto/channels |
Architecture Notes
Sidebar Structure
space-admin has the smallest sidebar of all apps:
- Dashboard — Placeholder with "Coming Soon" features
- VITTO AI section: Command Hub, Channels
- AI section: AI Usage, Assistant, Intelligence
- User footer: "paco" + Logout button
Key Differences from Other Apps
| Feature | gograb-admin | gograb-dev | gograb-ai | space-admin |
|---|---|---|---|---|
| Sidebar Items | 11 | 20+ | 4 | 7 |
| LOGGER_CONFIG provided | ✅ Yes | ✅ Yes | ✅ Yes | ❌ NO |
| Dashboard | Real stats + modules | Real stats + tools | Connected + agents | Placeholder "Coming Soon" |
| Vitto Chat | ❌ Route broken | ❌ Route broken | ✅ Works (tab-based) | ❌ Route broken |
| Observatory | ✅ Works | ✅ Works | ✅ Works (partial) | ❌ Crashes (DI error) |
Network Health
- Zero localhost:3001 direct requests ✅ (proxy working correctly)
- AI Usage endpoints return 200 but fail to parse ⚠️ (HttpErrorResponse despite 200 status)
- Console errors: NG0201 LOGGER_CONFIG errors (10+ occurrences across 3 pages)
Priority Fix Order
- CRITICAL #1 — Provide
LOGGER_CONFIGinjection token in space-admin's app config (fixes Assistant, Intelligence, AND Observatory pages in one fix) - CRITICAL #2 — Fix /vitto/chat route (cross-app issue, affects space-admin + gograb-admin + gograb-dev)
- HIGH #1 — Fix AI Usage page blank card (investigate why 200 responses cause HttpErrorResponse)
- HIGH #2 — Remove debug buttons from Dashboard ("Dashboard (slideUp)" and "Test Page (fade)")
- HIGH #3 — Remove duplicate Channels sidebar entry
- MEDIUM #1 — Implement actual Space management features (or add "beta" labels to set expectations)