Handoff: S114.3 Deep Testing Report — gograb-ai Comprehensive QA
Full deep-dive QA of every page in gograb-ai (port 6400)
Handoff: S114.3 Deep Testing Report — gograb-ai 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 gograb-ai (http://localhost:6400/) Date: February 17, 2026
Executive Summary
Overall Result: 3 Issues Found — 1 CRITICAL, 1 HIGH, 1 MEDIUM
gograb-ai is the smallest app with only 4 top-level navigation tabs (Hub, Panel, Observatory, Vitto). Most features work well. The main issue remains the hardcoded localhost:3001 URLs.
| Category | Count | Examples |
|---|---|---|
| CRITICAL | 1 | Hardcoded localhost:3001 direct requests (known) |
| HIGH | 1 | Observatory "Partial connection" / Vitto "Degraded" status |
| MEDIUM | 1 | Session shows gspace1/82.3 instead of current session context |
CRITICAL BUGS
CRITICAL #1: Hardcoded localhost:3001 Direct Requests
- Severity: CRITICAL
- Page: All pages (app-wide)
- Problem: gograb-ai still makes direct HTTP requests to
http://localhost:3001bypassing the Angular proxy - Observed Requests:
GET http://localhost:3001/ai-api/ai/mcp/status→ 200GET http://localhost:3001/ai-api/space-agents/available→ 200
- Impact: Works locally but will break in any deployed environment. Violates the zero-hardcoded-URL production requirement.
- Root Cause:
apps/gograb-ai/src/environments/environment.tslines 13-16 hardcode:aiApiUrl: 'http://localhost:3001/ai-api' backendAiApiUrl: 'http://localhost:3001' - Files to Modify:
apps/gograb-ai/src/environments/environment.ts— Change to/ai-api(proxy path)apps/gograb-ai/src/environments/environment.prod.ts— Verify production URLsapps/gograb-ai/src/app/core/services/mcp-status.service.ts— Uses environment.aiApiUrllibs/libs-ai/gograb-ai-lib/src/lib/components/ai-config/ai-config.component.ts— Hardcoded fallback at lines 65, 81
- Verification: Refresh
http://localhost:6400→ Network tab shows ZERO requests tolocalhost:3001
HIGH PRIORITY BUGS
HIGH #1: Observatory "Partial Connection" / Vitto "Degraded" Status
- Severity: HIGH
- Pages: Observatory (
/observatory) and Vitto (/vitto) - Problem:
- Observatory shows: "Partial connection — Some features may be unavailable" (yellow warning)
- Vitto shows: "Degraded" status badge (orange) and "Chat only (engine offline)"
- Dashboard shows Vitto Engine as OFFLINE
- Impact: Vitto task execution is unavailable. Only chat-only mode works. Observatory features are limited.
- Root Cause: Likely related to CRITICAL #1 — the Vitto Engine SSE/WebSocket connections may be using hardcoded URLs that fail, OR the backend-vitto-api (port 3003) may not be fully connected.
- Investigation Steps:
- Check if backend-vitto-api (port 3003) is running and healthy
- Check if gograb-ai's Vitto service connects to the correct backend port
- Verify SSE stream endpoints are accessible through proxy
MEDIUM PRIORITY ISSUES
MEDIUM #1: Session Context Shows Stale Data
- Severity: MEDIUM
- Page: Dashboard (
/dashboard) - Problem: Dashboard header shows "gspace1 · Session 82.3 · gspace1-session-82.3" — this is a stale/old session. We're currently in session 114.3.
- Impact: Session context displayed to the user is incorrect/outdated
- Root Cause: The session info is likely fetched from the MCP server or a local storage cache that hasn't been updated
Pages That Work Correctly ✅
| Page | Route | Status |
|---|---|---|
| Hub/Dashboard | /dashboard | ✅ Connected to backend-ai-api, 5 agents listed (1 IDLE, 4 ONLINE), 11,827 decisions, 23 conventions, 23 patterns, 78 tools, Quick Links work |
| AI Panel (Chat) | /panel | ✅ Chat interface loads, welcome message, 5 sub-tabs (Chat, Image, Video, Widget, Module), quick actions (Insights, Add Chart, Export), input bar functional |
| Vitto Dashboard | /vitto | ✅ "Vitto is ready", Submit Task form, 0/0%/0/0 stats, Recent Activity "Waiting for events" |
| Vitto Chat | /vitto (Chat tab) | ✅ Chat interface works! "Talk to Vitto", 6 quick prompts, message input, Developer role selector |
| Vitto Tasks | /vitto (Tasks tab) | ✅ Filter buttons (All/Active/Queued/Completed/Failed), "No tasks in this category" |
| Vitto Agents | /vitto (Agents tab) | ✅ "No active agents", Autonomy Level selector (OBSERVE/SUGGEST/DIRECT/AUTO) — Suggest is selected |
| Vitto Activity | /vitto (Activity tab) | ✅ Expected empty state |
| Vitto Intelligence | /vitto (Intelligence tab) | ✅ "Vitto is learning", Load Intelligence button |
Architecture Notes
gograb-ai has a different Vitto implementation than gograb-admin/gograb-dev:
| Feature | gograb-admin / gograb-dev | gograb-ai |
|---|---|---|
| Vitto Tabs | Chat, Skills, Channels, Webhooks, Schedules, Memory, Observatory | Dashboard, Chat, Tasks, Agents, Activity, Intelligence |
| Routing | Route-based (/vitto/chat, /vitto/skills, etc.) |
Tab-based (single /vitto route with tab state) |
| Chat Status | /vitto/chat BROKEN (redirects to dashboard) | Chat works (tab within /vitto) |
| Component | vitto-hub library (shared) |
vitto-command-hub (likely gograb-ai specific) |
This explains why /vitto/chat is broken on admin/dev but works on gograb-ai — they're completely different components.
Dashboard Data Validation
| Metric | Value | Cross-Check |
|---|---|---|
| Agents Online | 4 (+ 1 IDLE) | Reasonable — matches MCP agent connections |
| Decisions | 11,827 | ✅ Close to gograb-dev's 11,824 (delta from testing activity) |
| Conventions | 23 | Consistent |
| Patterns | 23 | Consistent |
| Tools | 78 | ✅ Matches gograb-dev dashboard |
| MCP Status | Connected to backend-ai-api | ✅ Green indicator |
Network Health
- localhost:3001 direct requests: 2 confirmed ❌ (CRITICAL #1)
- Proxy requests through /ai-api: Working for most endpoints
- No console errors detected
Priority Fix Order
- CRITICAL #1 — Remove hardcoded localhost:3001 from environment.ts (also fixes Observatory/Vitto partial connection)
- HIGH #1 — Investigate why Vitto Engine is OFFLINE and Observatory has partial connection
- MEDIUM #1 — Fix stale session context display on dashboard