diff options
Diffstat (limited to 'makima/src/server')
| -rw-r--r-- | makima/src/server/handlers/mesh_daemon.rs | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/makima/src/server/handlers/mesh_daemon.rs b/makima/src/server/handlers/mesh_daemon.rs index 2ea7805..60de2e6 100644 --- a/makima/src/server/handlers/mesh_daemon.rs +++ b/makima/src/server/handlers/mesh_daemon.rs @@ -1318,6 +1318,15 @@ async fn handle_daemon_connection(socket: WebSocket, state: SharedState, auth_re // Check if all steps are done → set directive to idle let _ = repository::check_directive_idle(&pool, directive_id).await; } + } else if let Some(directive_id) = updated_task.directive_id { + // Planning/orchestrator task completed — clear orchestrator_task_id + let _ = repository::clear_orchestrator_task(&pool, directive_id).await; + // Advance DAG — planning task should have created steps + let _ = repository::advance_directive_ready_steps(&pool, directive_id).await; + if updated_task.status != "done" { + // Planning failed — pause directive + let _ = repository::set_directive_status(&pool, updated_task.owner_id, directive_id, "paused").await; + } } } |
