From 6386622eb42702dbfa8701a9a5e2d786846d42a5 Mon Sep 17 00:00:00 2001 From: soryu Date: Sat, 24 Jan 2026 16:17:42 +0000 Subject: feat: Add check_deliverables_met tool and deliverable checking for phase transitions Adds deliverable checking functionality to ensure contracts meet phase requirements before advancing: - Add check_deliverables_met() function to phase_guidance.rs - Add should_auto_progress() for autonomous contract progression - Add generate_deliverable_prompt_guidance() for LLM context - Add get_next_phase_for_contract() for type-aware phase transitions - Add new ContractToolRequest::CheckDeliverablesMet tool - Update advance_phase handler to block transitions when deliverables not met - Export new types: DeliverableCheckResult, DeliverableItem, AutoProgressDecision, AutoProgressAction The check_deliverables_met tool helps LLMs determine if all required deliverables are satisfied before advancing phases, supporting auto-progress when enabled. Co-Authored-By: Claude Opus 4.5 --- makima/src/server/handlers/contract_chat.rs | 6 ------ 1 file changed, 6 deletions(-) (limited to 'makima/src/server') diff --git a/makima/src/server/handlers/contract_chat.rs b/makima/src/server/handlers/contract_chat.rs index a0708da..28c3436 100644 --- a/makima/src/server/handlers/contract_chat.rs +++ b/makima/src/server/handlers/contract_chat.rs @@ -1751,8 +1751,6 @@ async fn handle_contract_request( }; } -<<<<<<< HEAD -======= // Check if deliverables are met before allowing transition let cwr = match get_contract_with_relations(pool, contract_id, owner_id).await { Ok(Some(c)) => c, @@ -1812,7 +1810,6 @@ async fn handle_contract_request( }; } ->>>>>>> c6507b4 (feat: Add deliverables checking and auto-progress for contract phases) // Check if phase_guard is enabled if contract.phase_guard { // If user provided feedback, return it for the task to address @@ -2074,8 +2071,6 @@ async fn handle_contract_request( } } -<<<<<<< HEAD -======= ContractToolRequest::CheckDeliverablesMet => { match get_contract_with_relations(pool, contract_id, owner_id).await { Ok(Some(cwr)) => { @@ -2152,7 +2147,6 @@ async fn handle_contract_request( } } ->>>>>>> c6507b4 (feat: Add deliverables checking and auto-progress for contract phases) // ============================================================================= // Task Derivation Handlers // ============================================================================= -- cgit v1.2.3