diff options
| author | soryu <soryu@soryu.co> | 2026-01-19 17:40:25 +0000 |
|---|---|---|
| committer | soryu <soryu@soryu.co> | 2026-01-19 17:40:25 +0000 |
| commit | 164941cbd591b46f69a034bb9b86521fd7700ddb (patch) | |
| tree | a11f4dc7196f6e00c7d52da1cfc6aa982cce60aa /makima/src/llm/phase_guidance.rs | |
| parent | 0833fb1f30c0c3b920157deb882e0e902c3af02a (diff) | |
| download | soryu-164941cbd591b46f69a034bb9b86521fd7700ddb.tar.gz soryu-164941cbd591b46f69a034bb9b86521fd7700ddb.zip | |
Remove 'task' type contract
Diffstat (limited to 'makima/src/llm/phase_guidance.rs')
| -rw-r--r-- | makima/src/llm/phase_guidance.rs | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/makima/src/llm/phase_guidance.rs b/makima/src/llm/phase_guidance.rs index e2d6cd8..0d4bb3d 100644 --- a/makima/src/llm/phase_guidance.rs +++ b/makima/src/llm/phase_guidance.rs @@ -373,6 +373,19 @@ pub fn get_phase_checklist( suggestions.push(format!("Wait for {} running task(s) to complete", stats.running)); } else if stats.failed > 0 { suggestions.push(format!("Address {} failed task(s)", stats.failed)); + } else if stats.done == stats.total && stats.total > 0 { + // All tasks complete - for simple contracts, this is the terminal phase + // For specification contracts, they should advance to review phase + suggestions.push("Mark the contract as completed (for simple contracts) or advance to Review phase".to_string()); + } + } + + // Suggest completion for review phase (terminal for specification contracts) + if phase == "review" { + let has_release_notes = file_deliverables.iter() + .any(|d| d.template_id == "release-notes" && d.completed); + if has_release_notes { + suggestions.push("Mark the contract as completed".to_string()); } } |
