/home/cube/projects/richard/hermes-agent/.venv/bin/python -c $'\nimport hashlib,json,sys,zipfile\nfrom pathlib import Path\nrepo=Path(sys.argv[1]); wheel=Path(sys.argv[2]); paths=["gateway/platforms/dualcoach_activation_cutover.py","gateway/platforms/dualcoach_admin.py","gateway/platforms/telegram_customer_bootstrap.py","gateway/platforms/nutrition_onboarding_reconciliation.py","gateway/platforms/telegram_nutrition_onboarding_runtime_publication.py"]; rows=[]\nwith zipfile.ZipFile(wheel) as z:\n for p in paths:\n a=(repo/p).read_bytes(); b=z.read(p); rows.append({"path":p,"source_sha256":hashlib.sha256(a).hexdigest(),"wheel_sha256":hashlib.sha256(b).hexdigest(),"byte_identical":a==b})\nr={"candidate_digest":sys.argv[3],"modules":rows,"status":"PASS" if all(x["byte_identical"] for x in rows) else "FAIL"}; print(json.dumps(r,sort_keys=True,separators=(",",":"))); raise SystemExit(r["status"]!="PASS")\n' /home/cube/projects/richard/hermes-agent /home/cube/projects/richard/traning\ coach/.omo/evidence/task26/task26-summary-production-successor-e2f1699e8586ed3f835eaa2a3eaeaecaf5e52a4ad82aa931caade0ed377077ce/artifacts/hermes_agent-0.17.0-py3-none-any.whl e2f1699e8586ed3f835eaa2a3eaeaecaf5e52a4ad82aa931caade0ed377077ce