# CSV Rescue synthetic delivery proof

Local CLI review passed. A controlled Shopify import and export of the three-product draft fixture passed for engine v0.1.1. The original illustrative example itself was not imported. This is synthetic evidence, not a customer delivery or sale.

3 products in / 3 products out; 9 formatting changes; 0 unresolved local issues. Expected handles, titles, vendor, SKUs 000104–000106 and price values 24.00 / 32.50 / 18.00 checked explicitly. Source bytes unchanged. Output exactly matches the existing repaired example.

## Changes

- {"record":1,"column":"Column 1","before":" handle ","after":"Handle","reason":"Normalize supported header"}
- {"record":1,"column":"Column 6","before":" Variant Price ","after":"Variant Price","reason":"Normalize supported header"}
- {"record":1,"column":"Column 7","before":" published ","after":"Published","reason":"Normalize supported header"}
- {"record":2,"column":"Variant Price","before":" 24.00 ","after":"24.00","reason":"Trim surrounding formatting whitespace"}
- {"record":2,"column":"Published","before":" true ","after":"TRUE","reason":"Trim and normalize TRUE/FALSE"}
- {"record":3,"column":"Variant Price","before":" 32.50 ","after":"32.50","reason":"Trim surrounding formatting whitespace"}
- {"record":3,"column":"Published","before":"False ","after":"FALSE","reason":"Trim and normalize TRUE/FALSE"}
- {"record":4,"column":"Row","before":"(blank row)","after":"(removed)","reason":"Remove empty CSV record"}
- {"record":5,"column":"Variant Price","before":" 18.00 ","after":"18.00","reason":"Trim surrounding formatting whitespace"}

## Safe failures checked

Duplicate handles, missing price, ambiguous quotes, unsupported image columns and invalid UTF-8 all refused CSV output. Existing output files were not overwritten.

## Files and next verification

The original example preserves publication intent, including TRUE values. Do not import it into a live store. Use the separate shopify-test-output.csv only in an owner-authorized isolated test store, with overwrite and publish-new-products options OFF. Its three handles start csvr-proof-20261018- and all Published fields are FALSE and Status is explicitly draft. These are separate controls; missing Status defaults to Active in Shopify.

Follow IMPORT-CHECKLIST.md and compare all expected fields after importing. Keep original and exported evidence, errors, screenshots, tested hashes, time, store identity and reviewer in a private proof record. The current import/export result is in shopify-import-verification.json. A passed result covers only the exact engine and draft fixture hashes, not every supported file or store.

SHA-256 hashes and exact checks: manifest.json.
