import csv,sys
from pathlib import Path
p=Path(__file__).parent
source=list(csv.DictReader((p/'sku-facts.csv').open()))
candidate=Path(sys.argv[1]) if len(sys.argv)>1 else p/'copy.csv'
out=list(csv.DictReader(candidate.open()))
assert len(out)==len(source)
assert len({r['sku_id'] for r in out})==len(out)
assert {r['sku_id'] for r in out}=={r['sku_id'] for r in source}
by={r['sku_id']:r for r in out}
for r in source:
 c=by[r['sku_id']]
 assert c['material']==r['material'] and c['size_cm']==r['size_cm']
 assert c['title_zh'].strip() and c['title_en'].strip()
 if not r['certification']:assert 'certification_missing' in c['review_flags']
print('PASS: CSV SKU mapping and fact fields; language and claims require human review')
