summaryrefslogtreecommitdiff
path: root/makima/src/server
diff options
context:
space:
mode:
Diffstat (limited to 'makima/src/server')
-rw-r--r--makima/src/server/handlers/mesh_daemon.rs15
1 files changed, 15 insertions, 0 deletions
diff --git a/makima/src/server/handlers/mesh_daemon.rs b/makima/src/server/handlers/mesh_daemon.rs
index cb929ea..9938145 100644
--- a/makima/src/server/handlers/mesh_daemon.rs
+++ b/makima/src/server/handlers/mesh_daemon.rs
@@ -1302,6 +1302,21 @@ async fn handle_daemon_connection(socket: WebSocket, state: SharedState, auth_re
"error": &updated_task.error_message,
}),
).await;
+
+ // Check if this task's contract is a directive orchestrator
+ if let Some(contract_id) = updated_task.contract_id {
+ if let Ok(Some(directive)) = repository::get_directive_by_orchestrator_contract_id(
+ &pool, contract_id
+ ).await {
+ let engine = crate::orchestration::DirectiveEngine::new(pool.clone());
+ if let Err(e) = engine.on_planning_complete(directive.id, success).await {
+ tracing::error!(
+ "Failed to handle planning completion for directive {}: {}",
+ directive.id, e
+ );
+ }
+ }
+ }
}
Ok(None) => {
tracing::warn!(