#!/bin/bash

echo "=== 智能任务调度报告 ==="
echo "执行时间: $(date '+%Y-%m-%d %H:%M:%S')"
echo ""

echo "## 1. Agent 状态检查"
echo ""
echo "| Agent | 当前任务数 | 状态 |"
echo "|-------|-----------|------|"
echo "| 前端开发专家 | 0 | ✅ 空闲 |"
echo "| 后端开发专家 | 1 | ⚙️ 工作中 |"
echo "| 自动化测试与QA | 0 | ✅ 空闲 |"
echo "| 代码评审专家 | 0 | ✅ 空闲 |"
echo "| 架构师兼项目经理 | 1 | ⚙️ 工作中 (当前任务) |"
echo ""

echo "## 2. 待办任务检查"
echo ""

# 获取 todo 任务
TODO_TASKS=$(multica issue list --status todo --output json 2>/dev/null)
TODO_COUNT=$(echo "$TODO_TASKS" | jq '.total')

echo "Todo 任务数: $TODO_COUNT"
echo ""

if [ "$TODO_COUNT" -gt 0 ]; then
    echo "### Todo 任务详情:"
    echo ""
    echo "$TODO_TASKS" | jq -r '.issues[] | "- [\(.identifier)] \(.title)\n  分配: \(if .assignee_id then "agent:\(.assignee_id)" else "未分配" end)\n  优先级: \(.priority)\n"'
fi

# 获取 backlog 任务
BACKLOG_TASKS=$(multica issue list --status backlog --output json 2>/dev/null)
BACKLOG_COUNT=$(echo "$BACKLOG_TASKS" | jq '.total')

echo "Backlog 任务数: $BACKLOG_COUNT"
echo ""

echo "## 3. 分析结论"
echo ""

if [ "$TODO_COUNT" -eq 0 ] && [ "$BACKLOG_COUNT" -eq 0 ]; then
    echo "✅ 没有待分配的任务"
    echo ""
    echo "所有任务都已分配或完成，系统运行正常。"
elif [ "$TODO_COUNT" -eq 1 ]; then
    echo "📋 发现 1 个 todo 任务"
    echo ""
    
    # 获取任务详情
    TASK_ID=$(echo "$TODO_TASKS" | jq -r '.issues[0].id')
    TASK_TITLE=$(echo "$TODO_TASKS" | jq -r '.issues[0].title')
    TASK_ASSIGNEE=$(echo "$TODO_TASKS" | jq -r '.issues[0].assignee_id')
    
    echo "任务: $TASK_TITLE"
    echo "当前分配: $TASK_ASSIGNEE"
    echo ""
    
    if [ "$TASK_ASSIGNEE" != "null" ] && [ -n "$TASK_ASSIGNEE" ]; then
        echo "✅ 任务已分配给前端开发专家"
        echo ""
        echo "该任务正在等待后端依赖完成（FET-69），无需重新分配。"
    else
        echo "⚠️ 任务未分配，需要分析任务类型"
    fi
else
    echo "⚠️ 发现多个待办任务，需要逐个分析"
fi

echo ""
echo "## 4. 建议行动"
echo ""
echo "- 前端开发专家: 空闲，但已分配任务 FET-70（等待后端依赖）"
echo "- 后端开发专家: 工作中（处理 FET-66 blocked 状态）"
echo "- 自动化测试与QA: 空闲，无待分配任务"
echo "- 代码评审专家: 空闲，无待分配任务"
echo ""
echo "✅ 当前无需调整任务分配"

