From abc5fbed331ea527ccaac0cd4120c4a0650f8bc0 Mon Sep 17 00:00:00 2001 From: soryu Date: Sat, 24 Jan 2026 15:18:21 +0000 Subject: feat: Simplify phase deliverables and add 'execute' contract type ## Changes ### Phase Deliverables Simplified - **Simple contract type**: - Plan phase: Only 'Plan' deliverable (required) - Execute phase: Only 'PR' deliverable (required) - **Specification contract type**: - Research phase: Only 'Research Notes' deliverable (required) - Specify phase: Only 'Requirements Document' deliverable (required) - Plan phase: Only 'Plan' deliverable (required) - Execute phase: Only 'PR' deliverable (required) - Review phase: Only 'Release Notes' deliverable (required) ### New 'execute' Contract Type - Only has 'execute' phase (no plan or review phases) - NO deliverables at all - executes tasks directly - Added to ContractType enum with proper Display/FromStr implementations - Added helper methods: `initial_phase()`, `terminal_phase()` ### API Updates - Added `get_phase_deliverables_for_type()` for contract-type-aware deliverables - Added `get_phase_checklist_for_type()` for contract-type-aware checklists - Added `check_phase_completion_for_type()` for contract-type-aware completion checks - Legacy functions remain for backward compatibility (default to 'simple' type) ### Files Modified - makima/src/llm/phase_guidance.rs - Core deliverable definitions - makima/src/db/models.rs - ContractType enum and Contract methods - makima/src/llm/mod.rs - Export new functions - makima/src/server/handlers/contract_daemon.rs - Use type-aware functions - makima/src/server/handlers/contract_chat.rs - Use type-aware functions Co-Authored-By: Claude Opus 4.5 --- makima/src/llm/mod.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'makima/src/llm/mod.rs') diff --git a/makima/src/llm/mod.rs b/makima/src/llm/mod.rs index c4f8e50..6167a42 100644 --- a/makima/src/llm/mod.rs +++ b/makima/src/llm/mod.rs @@ -19,7 +19,8 @@ pub use contract_tools::{ pub use groq::GroqClient; pub use mesh_tools::{parse_mesh_tool_call, MeshToolExecutionResult, MeshToolRequest, MESH_TOOLS}; pub use phase_guidance::{ - check_phase_completion, format_checklist_markdown, get_phase_checklist, get_phase_deliverables, + check_phase_completion, check_phase_completion_for_type, format_checklist_markdown, + get_phase_checklist, get_phase_checklist_for_type, get_phase_deliverables, get_phase_deliverables_for_type, DeliverableStatus, FileInfo, FilePriority, PhaseChecklist, PhaseDeliverables, RecommendedFile, TaskInfo, TaskStats, }; -- cgit v1.2.3