- Story 3: delegateToWiseRAH removed - Story 4: Chat agent panels removed - Story 5: Chat API routes removed - Story 6: Two-panel layout (chat removed) - Story 7: RAHChat and related components removed Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
212 lines
11 KiB
JSON
212 lines
11 KiB
JSON
{
|
|
"project": "rah-light",
|
|
"context": "Stripping ra-h_os to a lightweight 2-panel knowledge graph UI with MCP server. Remove chat agents, voice, delegation system, memory pipeline. Keep: nodes/edges/dimensions CRUD, MCP server, workflows, extraction tools. The goal is a simple UI that technical users can run and connect their own agents to via MCP. Auth/subscription already removed from ra-h_os.",
|
|
"userStories": [
|
|
{
|
|
"id": "1",
|
|
"title": "Remove agent delegation system",
|
|
"description": "Delete the agent delegation infrastructure: src/services/agents/delegation.ts, all /api/rah/delegations/ routes, DelegationIndicator.tsx component, and any imports of these in other files. Update any files that import from deleted modules.",
|
|
"acceptanceCriteria": [
|
|
"src/services/agents/delegation.ts is deleted",
|
|
"app/api/rah/delegations/ directory is deleted (all routes inside)",
|
|
"src/components/agents/DelegationIndicator.tsx is deleted",
|
|
"No remaining imports of 'delegation' from services/agents",
|
|
"npm run type-check passes"
|
|
],
|
|
"passes": true,
|
|
"notes": "Replaced AgentDelegationService with direct execution in workflowExecutor and quickAdd. Added stub AgentDelegation types and voice hook stubs to UI components for compatibility (to be removed in later stories)."
|
|
},
|
|
{
|
|
"id": "2",
|
|
"title": "Remove voice features",
|
|
"description": "Delete all voice-related code: hooks (useVoiceSession, useRealtimeVoiceClient, useAssistantTTS, useVoiceInterruption), voice API routes (/api/voice/, /api/realtime/), voice service (src/services/voice/), and remove voice-related UI/props from RAHChat.tsx. Update imports in components that use these.",
|
|
"acceptanceCriteria": [
|
|
"src/components/agents/hooks/useVoiceSession.ts deleted",
|
|
"src/components/agents/hooks/useRealtimeVoiceClient.ts deleted",
|
|
"src/components/agents/hooks/useAssistantTTS.ts deleted",
|
|
"src/components/agents/hooks/useVoiceInterruption.ts deleted",
|
|
"app/api/voice/ directory deleted",
|
|
"app/api/realtime/ directory deleted",
|
|
"src/services/voice/ directory deleted",
|
|
"RAHChat.tsx no longer imports or uses voice hooks",
|
|
"npm run type-check passes"
|
|
],
|
|
"passes": true,
|
|
"notes": "Deleted all 4 voice hooks, voice API routes (/api/voice/, /api/realtime/), voice service directory. Removed voice stub hooks and voice-related code from RAHChat.tsx and TerminalInput.tsx."
|
|
},
|
|
{
|
|
"id": "3",
|
|
"title": "Remove orchestration tools (delegateToWiseRAH)",
|
|
"description": "Delete agent orchestration tools that depend on internal agents: src/tools/orchestration/delegateToWiseRAH.ts. Keep workflow tools (getWorkflow, executeWorkflow, editWorkflow, listWorkflows). Update registry.ts to remove references to deleted tools.",
|
|
"acceptanceCriteria": [
|
|
"src/tools/orchestration/delegateToWiseRAH.ts deleted",
|
|
"src/tools/infrastructure/registry.ts no longer imports delegateToWiseRAH",
|
|
"npm run type-check passes"
|
|
],
|
|
"passes": true,
|
|
"notes": "Deleted delegateToWiseRAH.ts and removed from registry.ts and groups.ts. Also deleted orphaned test scenarios (delegate-wise.ts and delegate-mini.ts) since delegateToMiniRAH was never in the registry."
|
|
},
|
|
{
|
|
"id": "4",
|
|
"title": "Remove chat agent components",
|
|
"description": "Delete internal chat agent UI components: WiseRAHPanel.tsx, MiniRAHPanel.tsx, AgentsPanel.tsx. These are agent-specific panels. Keep RAHChat.tsx (will be modified later), TerminalInput.tsx, TerminalMessage.tsx (may be reused or deleted later). Update any imports.",
|
|
"acceptanceCriteria": [
|
|
"src/components/agents/WiseRAHPanel.tsx deleted",
|
|
"src/components/agents/MiniRAHPanel.tsx deleted",
|
|
"src/components/agents/AgentsPanel.tsx deleted",
|
|
"No remaining imports of these components",
|
|
"npm run type-check passes"
|
|
],
|
|
"passes": true,
|
|
"notes": "These components were not imported anywhere - clean deletion with no cascading changes needed."
|
|
},
|
|
{
|
|
"id": "5",
|
|
"title": "Remove chat API route",
|
|
"description": "Delete the main chat API route /api/rah/chat/route.ts and /api/rah/usage/route.ts since there's no internal chat agent. Keep /api/quick-add/route.ts if it's useful for MCP or simple ingestion.",
|
|
"acceptanceCriteria": [
|
|
"app/api/rah/chat/route.ts deleted",
|
|
"app/api/rah/usage/route.ts deleted",
|
|
"app/api/rah/ directory can be deleted if empty after this",
|
|
"npm run type-check passes"
|
|
],
|
|
"passes": true,
|
|
"notes": "Deleted both routes and the now-empty app/api/rah/ directory. RAHChat.tsx still references the endpoint but will be deleted in Story 7."
|
|
},
|
|
{
|
|
"id": "6",
|
|
"title": "Simplify to two-panel layout",
|
|
"description": "Modify ThreePanelLayout.tsx to become a two-panel layout: Nodes (left) + Focus (right). Remove chat panel slot, ChatPane references, chat toggle (Cmd+J), floating chat bubble. Remove ChatPane.tsx. The layout should be: LeftToolbar | NodePanel/ViewsPane | FocusPanel.",
|
|
"acceptanceCriteria": [
|
|
"src/components/panes/ChatPane.tsx deleted",
|
|
"ThreePanelLayout.tsx no longer references ChatPane or chat toggle",
|
|
"Layout is 2 panels: nodes/views + focus",
|
|
"Chat-related keyboard shortcuts removed (Cmd+J)",
|
|
"npm run type-check passes"
|
|
],
|
|
"passes": true,
|
|
"notes": "Deleted ChatPane.tsx, removed 'chat' from PaneType, updated ThreePanelLayout and LeftToolbar. Default slotB is now null (closed). Changed persisted state keys to v4 to avoid stale 'chat' type in existing user storage."
|
|
},
|
|
{
|
|
"id": "7",
|
|
"title": "Remove RAHChat component",
|
|
"description": "Delete the main chat interface RAHChat.tsx and its supporting components (TerminalInput.tsx, TerminalMessage.tsx) since there's no chat. Also delete useSSEChat.ts hook. Remove the ReasoningTrace.tsx and ToolDisplay.tsx if they're only used by chat.",
|
|
"acceptanceCriteria": [
|
|
"src/components/agents/RAHChat.tsx deleted",
|
|
"src/components/agents/TerminalInput.tsx deleted",
|
|
"src/components/agents/TerminalMessage.tsx deleted",
|
|
"src/components/agents/hooks/useSSEChat.ts deleted",
|
|
"npm run type-check passes"
|
|
],
|
|
"passes": true,
|
|
"notes": "Deleted all chat components: RAHChat.tsx, TerminalInput.tsx, TerminalMessage.tsx, useSSEChat.ts, ReasoningTrace.tsx, ToolDisplay.tsx. Simplified WorkflowsPane to show MCP integration message instead of chat."
|
|
},
|
|
{
|
|
"id": "8",
|
|
"title": "Clean up agent services",
|
|
"description": "Delete or simplify agent services that are no longer needed: src/services/agents/registry.ts (if only used for chat), workflowExecutor.ts (keep if workflows still work via MCP), autoEdge.ts, transcriptSummarizer.ts, toolResultUtils.ts. Keep quickAdd.ts if it's still useful.",
|
|
"acceptanceCriteria": [
|
|
"Review each file in src/services/agents/ - delete if only used by chat agents",
|
|
"Keep files that support MCP tools or standalone functionality",
|
|
"npm run type-check passes"
|
|
],
|
|
"passes": false,
|
|
"notes": "Be conservative - some services may be used by MCP tools"
|
|
},
|
|
{
|
|
"id": "9",
|
|
"title": "Clean up context services",
|
|
"description": "Review and clean up src/services/context/. Remove supabaseTokenRegistry.ts if present. Keep requestContext.ts and autoContext.ts if they're used by remaining functionality.",
|
|
"acceptanceCriteria": [
|
|
"Remove unused context services",
|
|
"Keep services that support MCP or remaining features",
|
|
"npm run type-check passes"
|
|
],
|
|
"passes": false,
|
|
"notes": ""
|
|
},
|
|
{
|
|
"id": "10",
|
|
"title": "Simplify settings panel",
|
|
"description": "Modify SettingsModal.tsx to remove tabs/sections for: agent configuration, voice settings, context viewer (if chat-specific). Keep: API keys, database viewer, external agents panel (MCP), theme toggle if present.",
|
|
"acceptanceCriteria": [
|
|
"SettingsModal.tsx simplified to essential settings only",
|
|
"No voice or agent-specific settings",
|
|
"API key management preserved",
|
|
"Database viewer preserved",
|
|
"npm run type-check passes"
|
|
],
|
|
"passes": false,
|
|
"notes": ""
|
|
},
|
|
{
|
|
"id": "11",
|
|
"title": "Remove unused npm packages",
|
|
"description": "After code cleanup, audit package.json and remove packages only needed by deleted features. Candidates: anything voice-related (@openai/realtime-api-beta if present), websocket packages only used by voice.",
|
|
"acceptanceCriteria": [
|
|
"package.json reviewed and unused packages removed",
|
|
"npm install succeeds",
|
|
"npm run type-check passes",
|
|
"npm run dev starts without errors"
|
|
],
|
|
"passes": false,
|
|
"notes": ""
|
|
},
|
|
{
|
|
"id": "12",
|
|
"title": "Remove dead types",
|
|
"description": "Clean up src/types/ - remove type definitions for deleted features (delegation types, voice types, chat-specific types). Keep database types, view types, prompt types.",
|
|
"acceptanceCriteria": [
|
|
"No dead type definitions remaining",
|
|
"All remaining types are used",
|
|
"npm run type-check passes"
|
|
],
|
|
"passes": false,
|
|
"notes": ""
|
|
},
|
|
{
|
|
"id": "13",
|
|
"title": "Audit and clean MCP server",
|
|
"description": "Review apps/mcp-server/server.js and stdio-server.js. Remove any tools that depend on deleted functionality. Ensure all remaining tools work standalone (node CRUD, edge CRUD, dimension CRUD, search, extraction, workflows).",
|
|
"acceptanceCriteria": [
|
|
"MCP servers only expose working tools",
|
|
"No tools depend on deleted chat/agent code",
|
|
"Both server.js and stdio-server.js updated consistently",
|
|
"npm run type-check passes"
|
|
],
|
|
"passes": false,
|
|
"notes": ""
|
|
},
|
|
{
|
|
"id": "14",
|
|
"title": "Update README for lite version",
|
|
"description": "Rewrite README.md to reflect the lite version: explain what it is (local knowledge graph UI + MCP server), how to run it, how to connect coding agents via MCP. Remove references to chat agents, voice features.",
|
|
"acceptanceCriteria": [
|
|
"README.md describes lite version accurately",
|
|
"Quick start: clone, npm install, npm run dev",
|
|
"MCP integration instructions included",
|
|
"No references to removed features"
|
|
],
|
|
"passes": false,
|
|
"notes": ""
|
|
},
|
|
{
|
|
"id": "15",
|
|
"title": "Final verification",
|
|
"description": "Run full verification: npm install, npm run type-check, npm run dev. Open localhost:3000 and verify: nodes list works, can create a node, focus panel shows node, dimensions sidebar works, settings modal opens with API keys.",
|
|
"acceptanceCriteria": [
|
|
"npm install succeeds",
|
|
"npm run type-check passes",
|
|
"npm run dev starts",
|
|
"UI loads at localhost:3000",
|
|
"Can create and view nodes",
|
|
"Dimensions sidebar works",
|
|
"Settings modal opens",
|
|
"No console errors for missing modules"
|
|
],
|
|
"passes": false,
|
|
"notes": ""
|
|
}
|
|
]
|
|
}
|