from pathlib import Path
import csv,json
from datetime import date,timedelta
p=Path(__file__).parent
rows=list(csv.DictReader((p/"tasks-before.csv").open(encoding="utf-8-sig")))
changed=[]
for r in rows:
 if r["status"]!="Done" and r["fixed"]=="no":
  before=r["due"];r["due"]=(date.fromisoformat(before)+timedelta(days=2)).isoformat();changed.append({"task_id":r["task_id"],"before":before,"after":r["due"]})
with (p/"tasks-after-reproduced.csv").open("w",encoding="utf-8-sig",newline="") as f:
 writer=csv.DictWriter(f,fieldnames=rows[0].keys());writer.writeheader();writer.writerows(rows)
assert changed==json.loads((p/"date-patch-reference.json").read_text())
assert (p/"tasks-after-reproduced.csv").read_bytes()==(p/"tasks-after-reference.csv").read_bytes()
print("6 changed; 4 completed and 2 fixed unchanged. Local reference, not Notion Agent output.")
