diff options
| author | soryu <soryu@soryu.co> | 2026-02-09 14:39:36 +0000 |
|---|---|---|
| committer | soryu <soryu@soryu.co> | 2026-02-09 14:39:36 +0000 |
| commit | bfa7bd8d7609397f570f1cd9b83d2269abc0ed63 (patch) | |
| tree | 71e4e3decb5b07550427472079dfddffcc5c3753 /makima/src/server | |
| parent | a2646a828febbdac798a206655a15eae7e463bca (diff) | |
| download | soryu-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.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; + } } } |
