AgentLoadingService was extracted from session.ts but dropped all hydrateTimelineFromProvider() calls, leaving agents with empty timelines after daemon restart. Also fixed a duplicate initial-prompt send bug and removed redundant null checks, dedup maps, and hasOwnProperty theater.