"""Offline reproduction using frozen factual extracts and original source-builder code."""
from pathlib import Path
import argparse,importlib.util,json,shutil
ROOT=Path(__file__).resolve().parent
if __name__=='__main__':
 ap=argparse.ArgumentParser();ap.add_argument('--out',type=Path,default=Path('reproduced'));ap.add_argument('--render-png',action='store_true');args=ap.parse_args();args.out.mkdir(parents=True,exist_ok=True);(args.out/'evidence').mkdir(exist_ok=True);shutil.copytree(ROOT/'raw',args.out/'raw',dirs_exist_ok=True)
 spec=importlib.util.spec_from_file_location('source_builder',ROOT/'source_build.py');m=importlib.util.module_from_spec(spec);spec.loader.exec_module(m);m.ROOT=args.out
 slug=json.loads((ROOT/'metadata.json').read_text())['id'];fifa=slug=='fifa-2026-goals-and-rates';rows=m.fifa_data() if fifa else m.aci_data();chart=m.fifa_chart if fifa else m.aci_chart;chart(rows,False);chart(rows,True)
 if args.render_png:m.render(slug)
 print(json.dumps({'status':'PASS','slug':slug,'rows':len(rows),'out':str(args.out/slug),'networkUsed':False}))
