import json
from datetime import datetime, timezone

# 当前时间（使用实际时间戳）
now = datetime.fromtimestamp(1779678275, tz=timezone.utc)

# 代码评审专家 ID
REVIEWER_ID = "34d7c53d-bd70-45a8-bbbb-77dbb1da16b5"

with open('/tmp/active_issues.json', 'r') as f:
    issues = json.load(f)

results = []

for issue in issues:
    updated_at = datetime.fromisoformat(issue['updated_at'].replace('Z', '+00:00'))
    hours_since_update = (now - updated_at).total_seconds() / 3600
    
    problem = None
    action_needed = None
    
    # 检查规则1: in_review 状态必须分配给代码评审专家
    if issue['status'] == 'in_review':
        if issue['assignee_id'] != REVIEWER_ID:
            problem = 'wrong_reviewer'
            action_needed = 'reassign_to_reviewer'
    
    # 检查规则2: todo 状态且有 assignee，超过2小时未更新
    elif issue['status'] == 'todo' and issue['assignee_id']:
        if hours_since_update > 2:
            problem = 'todo_stale'
            action_needed = 'mention_assignee'
    
    # 检查规则3: in_progress 状态超过48小时未更新
    elif issue['status'] == 'in_progress':
        if hours_since_update > 48:
            problem = 'in_progress_stale'
            action_needed = 'mention_assignee'
    
    # 检查规则4: blocked 状态但有 assignee（可能不合理）
    elif issue['status'] == 'blocked' and issue['assignee_id']:
        problem = 'blocked_with_assignee'
        action_needed = 'comment_only'
    
    results.append({
        'id': issue['id'],
        'identifier': issue['identifier'],
        'title': issue['title'],
        'status': issue['status'],
        'assignee_id': issue['assignee_id'],
        'assignee_type': issue['assignee_type'],
        'updated_at': issue['updated_at'],
        'hours_since_update': round(hours_since_update, 1),
        'problem': problem,
        'action_needed': action_needed
    })

print(json.dumps(results, indent=2, ensure_ascii=False))
