What it took to make a multi-tenant reporting workflow safe to rerun

Four explicit task boundaries, one guard table, and a counterintuitive lesson about automatic retries