summaryrefslogtreecommitdiff
path: root/makima/src/server
diff options
context:
space:
mode:
authorsoryu <soryu@soryu.co>2026-02-09 14:39:36 +0000
committersoryu <soryu@soryu.co>2026-02-09 14:39:36 +0000
commitbfa7bd8d7609397f570f1cd9b83d2269abc0ed63 (patch)
tree71e4e3decb5b07550427472079dfddffcc5c3753 /makima/src/server
parenta2646a828febbdac798a206655a15eae7e463bca (diff)
downloadsoryu-bfa7bd8d7609397f570f1cd9b83d2269abc0ed63.tar.gz
soryu-bfa7bd8d7609397f570f1cd9b83d2269abc0ed63.zip
Add directive task progression
Diffstat (limited to 'makima/src/server')
-rw-r--r--makima/src/server/handlers/mesh_daemon.rs9
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;
+ }
}
}