diff --git a/ralph_loop.sh b/ralph_loop.sh index 1623dbc..cd45f64 100755 --- a/ralph_loop.sh +++ b/ralph_loop.sh @@ -272,8 +272,12 @@ should_exit_gracefully() { # 4. Check fix_plan.md for completion if [[ -f "@fix_plan.md" ]]; then - local total_items=$(($(grep -c "^- \[" "@fix_plan.md" 2>/dev/null || echo 0))) - local completed_items=$(($(grep -c "^- \[x\]" "@fix_plan.md" 2>/dev/null || echo 0))) + local total_items=$(grep -c "^- \[" "@fix_plan.md" 2>/dev/null) + local completed_items=$(grep -c "^- \[x\]" "@fix_plan.md" 2>/dev/null) + + # Handle case where grep returns no matches (exit code 1) + [[ -z "$total_items" ]] && total_items=0 + [[ -z "$completed_items" ]] && completed_items=0 log_status "INFO" "DEBUG: @fix_plan.md check - total_items:$total_items, completed_items:$completed_items" >&2