| E1 | Fixed | Project Runner agent (agent_yG6v4v0wfi5EEHQ8htTXH) fails with “Missing required tools: list_projects, get_project_phase” despite forge-discovery being listed in its mcpServerNames. All 4 Project Runner jobs failed this way. The MCP server configuration may not be correctly applied to the agent in MongoDB via agent-sync. | 🟢 Resolved | Fixed agent-sync.ts to set mcpServerNames on master agents from family config; live sync applied |
| E2 | Fixed | Orchestrator chat-client SSE implementation uses named events (addEventListener(‘on_run_step’, …)) while forge-spawn uses generic ‘message’ event with embedded event-field parsing. forge-spawn’s approach was tested and fixed; orchestrator’s was not. | 🟢 Resolved | Replaced wireHandlers() with generic ‘message’ event listener + event-type parsing |
| E3 | Fixed | Orchestrator chat-client createEventSource() does not pass Authorization header to SSE streams — streams would fail with 401. forge-spawn correctly passes Bearer token. | 🟢 Resolved | Added getCachedToken() to AuthManager; createEventSource() now passes Authorization header |
| E4 | Fixed | Missing schedules per Spec §10.1: Memory Compaction (daily) and Infrastructure Check (monthly) are not configured in SCHEDULE_CONFIG or Inngest functions. Only project_runner_daily and task_runner_hourly exist. | 🟢 Resolved | Added placeholder entries in SCHEDULE_CONFIG + Inngest functions with agent_id guards |
| E5 | Fixed | 9 jobs stuck in “running” status (some since April 28) with no cleanup/reaper mechanism. The dispatcher creates jobs but never auto-detects completion for disconnect-mode jobs. The forge-spawn MCP handles this via check_job’s auto-detect, but the dispatcher has no equivalent. | 🟢 Resolved | Added reaper.ts + Inngest cron (*/15 min) + POST /jobs/reap endpoint; cleaned up 9 stuck jobs |
| E6 | Fixed | modelSpecs in librechat.yaml only includes 10 Forge family agents. The 9 SRP/Master/Task Runner agents are missing — they won’t appear in the model picker for manual selection. | 🟢 Resolved | Updated librechat.yaml with all 18 agents from generateModelspecs() |
| E7 | Fixed | Project table in forge DB is defined in schema but never populated. upsertProject() and getActiveProjects() in db.ts are dead code — never called by dispatcher or any endpoint. | 🟢 Resolved | Removed Project type, table DDL, and dead code; dropped table from DB |
| E8 | Deferred | Dispatcher accepts “mode” parameter but ignores it — no Ralph Wiggum monitoring for dispatcher-triggered jobs. Only forge-spawn MCP supports monitor mode. Scheduled agents run in disconnect mode only. | 🟡 Deferred | Deferred — Spec §10.1 specifies disconnect mode for scheduled agents only |
| E9 | Fixed | R4 (Todo/checklist MCP) was explicitly skipped in Spec (marked ⏭️). Agent_Todo.md and Erik_Todo.md serve as flat-file replacements. The multi-state todo MCP tool was not implemented. | 🟢 Resolved | Flat-file substitute adequate — todo conventions in State/Learnings cover multi-state |
| E10 | Fixed | Multiple “SSE connection error” failures in Erik_Todo.md — 4 forge-spawn monitor-mode test jobs failed this way. Monitor mode reliability is questionable under production conditions. | 🟢 Resolved | Fixed by E2+E3: SSE now passes Auth + uses correct event parsing |
| E11 | Fixed | Dispatcher’s createJob doesn’t record metadata (mode, requiredTools, etc.) unlike forge-spawn’s equivalent. Running jobs from dispatcher have empty metadata, making debugging difficult. | 🟢 Resolved | dispatch() now passes metadata: { mode, schedule } to createJob() |
| E12 | Fixed | No explicit test/verification that sub-agent transcripts (V7) appear correctly in LibreChat chat history with tool-call details and auto-generated titles. Spec says it “works out of the box but must be tested to confirm.” | 🟢 Resolved | Verified: sub-agent conversation found in MongoDB with auto-generated title “Orchestration Phase Status” and 2 messages (user prompt + agent response) |