- Add Flush() to statusRecorder so SSE works through logging middleware - Return empty array instead of null for empty project lists - Fixes 500 on /api/events and null.length crash on dashboard
Deploy orchestrator with full pipeline: pull → create container → start → network → NPM proxy → health check. Rollback on failure, multi-instance support, max_instances enforcement, webhook notifications. Fix NPM auth in rollback and error logging in removeInstance.