diff options
Diffstat (limited to 'makima/src/server')
| -rw-r--r-- | makima/src/server/handlers/contracts.rs | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/makima/src/server/handlers/contracts.rs b/makima/src/server/handlers/contracts.rs index a83c72d..ad0a1ff 100644 --- a/makima/src/server/handlers/contracts.rs +++ b/makima/src/server/handlers/contracts.rs @@ -575,7 +575,24 @@ pub async fn update_contract( }), ).await; - // TODO: Directive engine integration (removed for reimplementation) + // Directive engine integration — process planning/step/monitoring completion + if contract.is_directive_orchestrator || contract.directive_id.is_some() { + let pool_clone = pool.clone(); + let state_clone = state.clone(); + let contract_clone = contract.clone(); + let owner = auth.owner_id; + tokio::spawn(async move { + if let Err(e) = crate::orchestration::directive::on_contract_completed( + &pool_clone, &state_clone, &contract_clone, owner, + ).await { + tracing::warn!( + contract_id = %contract_clone.id, + error = %e, + "Failed to process directive contract completion" + ); + } + }); + } } // Get summary with counts |
