How to Switch a CSV Delivery Contract: Old Rules, New Rules, and Output Differences
Apply old and new rules to the same input, separating column changes, newly rejected rows, and missing-value provenance. This page uses synthetic data only and sends nothing.
Apply old revision rev1 under contractID=demo-v24 to the same input. Keep the old result and revision available so it remains reproducible.
Revision
Rule
Result
rev1
Output code and qty; region is optional.
Both rows accepted. Output is code,qty.
rev2
Rename code to sku; require region.
Before confirmation, only 001 is accepted. 002 is newly rejected.
2. Keep changes separate from missing values
The column rename is a contract change. The empty region on row 002 is missing provenance. Do not silently reuse an old value or a default; record a separate confirmation.
Row
rev1
rev2 before confirmation
Decision
001
Accepted
Accepted (column is sku)
Rule change only
002
Accepted
Rejected: region-required
Wait for source
source-confirmation.csv explicitly confirms 002,west. This is an explicit source confirmation, not automatic filling.
3. Approve and save the new revision
After confirmation, the rev2 output has two rows with sku,qty,region. Keep the change list, both rule revisions, and the unresolved count together for delivery discussions.
rev2 final
sku,qty,region
001,2,east
002,3,west
unresolved: 0
old rev1: reproducible
Where not to convert automatically
Unknown engines or operations, semantic column changes, and values without source confirmation must remain incomparable or unresolved. Similar names are not proof that two contracts are interchangeable.
For a real local comparison, open CSV cleanup, choose old and new recipes in “Compare delivery rules before and after,” review the table, then approve.