Skip to content
archived Visibility internal Owner erik@uvilo.com Approver _ Created 2026-04-25 Updated 2026-07-15

Orchestration Phase

Phase: Complete_Completed

Verification

Success Criteria

#CriterionMeasured byStatus
V1Cron-scheduled agents execute on time and invoke correct tasksVerify cron job runs and triggers agent with correct prompt+context🟢 Success
V2Agents can discover projects and current phase without filesystem explorationAgent query returns project list, files, and phase in a single call🟢 Success
V3Agents can discover skills without filesystem explorationAgent query returns skill list and details in a single call🟢 Success
V4Todo/checklist MCP supports multi-state items (empty, started, blocked, completed) for both agents and usersCreate, update, and query items across all states🟢 Success
V5Orchestrator spawns sub-agents for specialized workSub-agent is invoked and returns results to caller🟢 Success
V6Prematurely stopped agents are detected and resumedAgent stops mid-task; system detects and restarts/continues🟢 Success
V7Sub-agent transcripts are reviewable in chat historyTranscript appears in LibreChat chat history and is readable🟢 Success
V8Project Runner detects completed phases and initiates next phase or notifies userPhase completion triggers next phase or user todo item🟢 Success
V9Task Runner dispatches correct sub-agent for new todo itemsNew agent todo item triggers dispatch of appropriate sub-agent🟢 Success
V10SRP agents handle single responsibilities and are invocable from complex agentsAgent performs one task; callable from another agent with full results returned🟢 Success

Items

#TypeDescriptionStatusDisposition
E1FixedProject 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.🟢 ResolvedFixed agent-sync.ts to set mcpServerNames on master agents from family config; live sync applied
E2FixedOrchestrator 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.🟢 ResolvedReplaced wireHandlers() with generic ‘message’ event listener + event-type parsing
E3FixedOrchestrator chat-client createEventSource() does not pass Authorization header to SSE streams — streams would fail with 401. forge-spawn correctly passes Bearer token.🟢 ResolvedAdded getCachedToken() to AuthManager; createEventSource() now passes Authorization header
E4FixedMissing 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.🟢 ResolvedAdded placeholder entries in SCHEDULE_CONFIG + Inngest functions with agent_id guards
E5Fixed9 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.🟢 ResolvedAdded reaper.ts + Inngest cron (*/15 min) + POST /jobs/reap endpoint; cleaned up 9 stuck jobs
E6FixedmodelSpecs 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.🟢 ResolvedUpdated librechat.yaml with all 18 agents from generateModelspecs()
E7FixedProject 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.🟢 ResolvedRemoved Project type, table DDL, and dead code; dropped table from DB
E8DeferredDispatcher 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.🟡 DeferredDeferred — Spec §10.1 specifies disconnect mode for scheduled agents only
E9FixedR4 (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.🟢 ResolvedFlat-file substitute adequate — todo conventions in State/Learnings cover multi-state
E10FixedMultiple “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.🟢 ResolvedFixed by E2+E3: SSE now passes Auth + uses correct event parsing
E11FixedDispatcher’s createJob doesn’t record metadata (mode, requiredTools, etc.) unlike forge-spawn’s equivalent. Running jobs from dispatcher have empty metadata, making debugging difficult.🟢 Resolveddispatch() now passes metadata: { mode, schedule } to createJob()
E12FixedNo 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.”🟢 ResolvedVerified: sub-agent conversation found in MongoDB with auto-generated title “Orchestration Phase Status” and 2 messages (user prompt + agent response)

Resolution Log

#DispositionAction takenResolved
E1FixedModified agent-sync.ts to set mcpServerNames on master agents from family config; applied live sync2026-07-15
E2FixedReplaced wireHandlers() with generic ‘message’ event listener + event-type parsing from JSON payload2026-07-15
E3FixedAdded getCachedToken() to AuthManager; createEventSource() now passes Authorization: Bearer header2026-07-15
E4FixedAdded memory_compaction_daily and infrastructure_check_monthly to SCHEDULE_CONFIG + Inngest cron functions with agent_id guards2026-07-15
E5FixedAdded reaper.ts + Inngest cron (*/15 min) + POST /jobs/reap endpoint; cleaned up 9 stuck jobs2026-07-15
E6FixedUpdated librechat.yaml modelSpecs with all 18 agents from generateModelspecs()2026-07-15
E7FixedRemoved Project type, table DDL, upsertProject(), getActiveProjects(); dropped Project table from DB2026-07-15
E8DeferredScheduled agents run disconnect only; monitor mode deferred to future enhancement2026-07-15
E9FixedFlat-file substitute adequate — todo conventions cover multi-state2026-07-15
E10FixedResolved by E2+E3 fixes (SSE Auth + event parsing)2026-07-15
E11Fixeddispatch() now passes metadata: { mode, schedule } to createJob()2026-07-15
E12FixedVerified: sub-agent conversation found in MongoDB with auto-generated title “Orchestration Phase Status” and 2 messages (user prompt + agent response)2026-07-15