A plan, and what it declares
A migration plan names a source, a target, a field mapping and a replay rule. It also declares the batch size, how many rows the transform handles in parallel, the share of rejects beyond which a run must stop, and whether it is a dry run. The plan is inert: only a run writes. It can be cloned — the second wave is usually the first with another filter — and it leaves the working catalogue by being archived rather than deleted, because its runs are the record of what happened to production data.
