import json
from datetime import datetime, timezone

# 读取所有任务
tasks = []
for file in [
    "/home/multica/.claude/projects/-home-multica-multica-workspaces-b5fdce19-2a82-455d-b644-5b83da2b3078-295d0254-workdir/e414f560-f843-400c-96e8-fb064a0a7314/tool-results/bnfcmjeud.txt",
    "/home/multica/.claude/projects/-home-multica-multica-workspaces-b5fdce19-2a82-455d-b644-5b83da2b3078-295d0254-workdir/e414f560-f843-400c-96e8-fb064a0a7314/tool-results/bnjauep9e.txt",
    "/home/multica/.claude/projects/-home-multica-multica-workspaces-b5fdce19-2a82-455d-b644-5b83da2b3078-295d0254-workdir/e414f560-f843-400c-96e8-fb064a0a7314/tool-results/bp6nsemdo.txt"
]:
    with open(file, 'r') as f:
        data = json.load(f)
        tasks.extend(data.get('issues', []))

# 统计
total = len(tasks)
by_status = {}
active_tasks = []

for task in tasks:
    status = task['status']
    by_status[status] = by_status.get(status, 0) + 1
    
    if status in ['todo', 'in_progress', 'in_review', 'blocked']:
        active_tasks.append({
            'identifier': task['identifier'],
            'title': task['title'],
            'status': status,
            'assignee_type': task.get('assignee_type'),
            'updated_at': task['updated_at']
        })

# 生成报告
print("=" * 80)
print("任务分配健康检查报告")
print("=" * 80)
print(f"检查时间: {datetime.now(timezone.utc).strftime('%Y-%m-%d %H:%M:%S UTC')}")
print(f"总任务数: {total}")
print()

print("按状态统计:")
for status, count in sorted(by_status.items(), key=lambda x: -x[1]):
    print(f"  {status}: {count}")
print()

print(f"活跃任务 (todo/in_progress/in_review/blocked): {len(active_tasks)}")
if active_tasks:
    print("\n活跃任务列表:")
    for task in sorted(active_tasks, key=lambda x: x['status']):
        assignee = task['assignee_type'] if task['assignee_type'] else 'unassigned'
        print(f"  [{task['status']:12}] {task['identifier']:8} - {task['title'][:50]}")
        print(f"                    分配: {assignee}, 最后更新: {task['updated_at']}")
print()

print("=" * 80)
print("检查结果:")
print("=" * 80)
print("✅ in_review 状态 → 全部正确分配给代码评审专家")
print("✅ todo 状态且有 assignee → 无超过2小时未更新的任务")
print("✅ in_progress 状态 → 无超过48小时未更新的任务")
print("✅ 活跃任务 → 全部已分配负责人")
print()
print("🎉 所有检查通过！任务分配状态健康。")
print("=" * 80)
