from datetime import datetime

AS_OF = datetime.fromisoformat("2026-11-10T12:00:00+00:00")

def main(input):
    output = []
    for row in input:
        reasons = []
        if row["status"] != "closed":
            due = datetime.fromisoformat(row["due_at"].replace("Z", "+00:00"))
            if due < AS_OF:
                reasons.append("overdue")
            if row["blocker"].strip():
                reasons.append("blocked")
            if not row["owner"].strip():
                reasons.append("unowned")
        score = (2 if "overdue" in reasons else 0) + (1 if "blocked" in reasons else 0) + (1 if "unowned" in reasons else 0)
        output.append(dict(row, handover_reasons=", ".join(reasons),
            priority_score=score, include_in_handover=bool(reasons)))
    return output
