from datetime import date

AS_OF = date(2026, 11, 10)

def main(input):
    output = []
    for row in input:
        days = max(0, (AS_OF - date.fromisoformat(row["promised_date"])).days)
        active = row["status"] not in ("delivered", "cancelled")
        output.append(dict(row, days_late=days, late=active and days > 0))
    return output
