Rollback Through A Guarded Compensating Job
Context
Reversing a bulk update must account for edits made after the original job.
Decision and Origin
Supported contact and organization updates can produce a validated compensating job from receipts and domain history, excluding records whose later changes prevent safe restoration. The origin recorded above supplies the authority for this choice; implementation evidence supplies the limits described here.
Alternative Comparison
Restore before-values without checking later edits: Blanket restoration would replace subsequent work.
Snapshot every record as the recovery mechanism: Snapshots still need version checks to avoid replacing later changes.
Use soft deletion to reverse hard deletes: The examined record model uses hard deletion and counted approval.
Consequences
Rollback reports exclusions and can restore only part of the original change.
Changes to custom fields or collections can exclude the whole record.
Retry is refused after rollback has been applied.
Imports and unsupported record kinds use reset-and-reload where available, rather than this compensation.