"""Synthetic queue rehearsal, SoftwareInspect, 2026-10-20. No vendor APIs.
Run with Python 3. Prints results.json; hours are relative to the edit.
Equality at a delay boundary is idealized; real schedulers have latency.
"""
import json

old_delay = 72
new_delay = 24
ages = [0, 6, 24, 30, 48, 60]
rows = [
    {"contact": f"C{i:02}", "hours_already_waited": age,
     "preserved_remaining_hours": old_delay - age,
     "recalculated_remaining_hours": max(0, new_delay - age),
     "restored_72h_remaining_hours_at_edit": old_delay - age}
    for i, age in enumerate(ages, 1)
]
released = [r["contact"] for r in rows if r["recalculated_remaining_hours"] == 0]
assert released == ["C03", "C04", "C05", "C06"]
assert sum(r["preserved_remaining_hours"] == 0 for r in rows) == 0
assert all(r["restored_72h_remaining_hours_at_edit"] > 0 for r in rows)
result = {
    "method": "Invented serial arithmetic fixture, not a vendor account or delivery test",
    "date": "2026-10-20", "old_delay_hours": old_delay,
    "new_delay_hours": new_delay, "rows": rows,
    "recalculated_due_at_edit": released,
    "preserved_due_at_edit": [],
    "new_contact_C07": {"arrival_hours_after_edit": 1, "due_hours_after_edit": 25},
    "rollback_limitation": "Restoring a delay cannot undo downstream actions already executed",
    "excluded": ["scheduler latency", "time zones", "business-day calendars",
                 "send windows", "message content snapshots", "delivery",
                 "concurrency", "permissions", "vendor API behavior"]
}
print(json.dumps(result, indent=2))
