{
 "blocked": null,
 "versions": {
  "rustc": "rustc 1.99.1 (58cf8f9c3 2026-10-13)",
  "cargo": "cargo 1.99.1 (5f94df478 2026-08-27)",
  "llvm": "23.1.1",
  "rustup": "1.29.3",
  "maturin": "maturin 1.16.0",
  "zig": "0.17.1 (ziglang==0.17.1 wheel, python -m ziglang version)",
  "python": "Python 3.12.3",
  "uv": "uv 0.13.7 (x86_64-unknown-linux-gnu)",
  "numpy": "2.5.4",
  "py-solc-x": "2.1.0",
  "pyrevm": "0.3.7",
  "host": "Linux x86_64"
 },
 "source_date_epoch": 1770505944,
 "cargo_lock": {
  "sha256": "b5efc7f1aaf2c92fafa2015404ff74f760b80135a9e16bacded7f4ba0c81690b",
  "bytes": 75461,
  "text": null,
  "text_omitted_reason": "The whole Cargo.lock is 75461 bytes, more than the 64000-byte limit for this result file, so it is given exactly as gzip (level 9, mtime 0) then base64 below. Decode with: base64 -d | gunzip; the sha256 of the output must equal cargo_lock.sha256.",
  "gzip_base64": "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",
  "generated_with": "cargo generate-lockfile --manifest-path amm_sim_rs/Cargo.toml (cargo 1.99.1, in p1, on 2026-11-08), copied byte-identical into p2",
  "head": "# This file is automatically @generated by Cargo.\n# It is not intended for manual editing.\nversion = 4\n\n[[package]]\nname = \"aho-corasick\"\nversion = \"1.1.5\"\nsource = \"registry+https://github.com/rust-lang/crates.io-index\"\nchecksum = \"c982642fa9e8606056828ee9a8505737230110bb1099153c79efe865c59d12ba\"\ndependencies = [\n \"memchr\",\n]\n\n[[package]]\nname = \"alloy-eip2930\"\nversion = \"0.1.0\"\nsource = \"registr"
 },
 "builds": [
  {
   "path": "p1",
   "checkout": "<workspace>/.cache/p1/amm-challenge",
   "a_sha256": "bb4dbf098bb6f9148a736a9c9a22d75047ecf7448e5f0f3a4a7bcd848d067c64",
   "a_bytes": 719297,
   "a_file": "amm_sim_rs-0.1.0-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
   "b_sha256": "2c09fe3ad6293a6c466c8ea3113bcc002672ba07a667383b8dd09217e744d61c",
   "b_bytes": 727736,
   "b_file": "amm_sim_rs-0.1.0.post1-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl"
  },
  {
   "path": "p2",
   "checkout": "<workspace>/.cache/pathtwo/x/amm-challenge",
   "a_sha256": "b62f633a8a5e59e12f1a867a03cfdbb9a423730bc5a6a166a09f84b9212e109f",
   "a_bytes": 719311,
   "a_file": "amm_sim_rs-0.1.0-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
   "b_sha256": "03e8e082772d3285e5fa7e6493f86c9c50ebde2a18da2efd573a98b3cec57906",
   "b_bytes": 727747,
   "b_file": "amm_sim_rs-0.1.0.post1-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl"
  }
 ],
 "same_across_paths": {
  "a": false,
  "b": false
 },
 "differences": [
  {
   "wheel": "A",
   "names_equal": true,
   "zip_dates_p1": [
    "(2026, 2, 7, 23, 12, 24)"
   ],
   "zip_dates_p2": [
    "(2026, 2, 7, 23, 12, 24)"
   ],
   "files_differ": [
    {
     "file": "amm_sim_rs-0.1.0.dist-info/RECORD",
     "p1_sha256": "c643d2014489e3f5ac767b4428835c8caa355585807e7a0be5abd89bc9890914",
     "p1_bytes": 499,
     "p2_sha256": "6e039e227b09b61d26a626d4e9d602ea66326e2e0ac7c9b773a404a7434f01c1",
     "p2_bytes": 499,
     "record_diff": [
      "-amm_sim_rs-0.1.0.dist-info/sboms/amm_sim_rs.cyclonedx.json,sha256=DBwxFrr3Nq09DrjTz669wyS1UdgrPDvFgWkI9ZzCCf8,307929",
      "+amm_sim_rs-0.1.0.dist-info/sboms/amm_sim_rs.cyclonedx.json,sha256=flhjgahx9EQbKsiPkwjA1_qBdAzsSQIdVKHFxXdzMBw,307950"
     ]
    },
    {
     "file": "amm_sim_rs-0.1.0.dist-info/sboms/amm_sim_rs.cyclonedx.json",
     "p1_sha256": "0c1c3116baf736ad3d0eb8d3cfaebdc324b551d82b3c3bc5816908f59cc209ff",
     "p1_bytes": 307929,
     "p2_sha256": "7e586381a871f4441b2ac88f9308c0d7fa81740cec49021d54a1c5c57773301c",
     "p2_bytes": 307950
    }
   ]
  },
  {
   "wheel": "B",
   "names_equal": true,
   "zip_dates_p1": [
    "(2026, 2, 7, 23, 12, 24)"
   ],
   "zip_dates_p2": [
    "(2026, 2, 7, 23, 12, 24)"
   ],
   "files_differ": [
    {
     "file": "amm_sim_rs-0.1.0.post1.dist-info/RECORD",
     "p1_sha256": "0f9ace261d8595f58141df01570e060122d2cf2d81226cee94f9b8c98626f350",
     "p1_bytes": 523,
     "p2_sha256": "78b5b74fac9003216156c69163d5fc1a0a14229498fb481a5149e1e6b4c53557",
     "p2_bytes": 523,
     "record_diff": [
      "-amm_sim_rs-0.1.0.post1.dist-info/sboms/amm_sim_rs.cyclonedx.json,sha256=DBwxFrr3Nq09DrjTz669wyS1UdgrPDvFgWkI9ZzCCf8,307929",
      "+amm_sim_rs-0.1.0.post1.dist-info/sboms/amm_sim_rs.cyclonedx.json,sha256=flhjgahx9EQbKsiPkwjA1_qBdAzsSQIdVKHFxXdzMBw,307950"
     ]
    },
    {
     "file": "amm_sim_rs-0.1.0.post1.dist-info/sboms/amm_sim_rs.cyclonedx.json",
     "p1_sha256": "0c1c3116baf736ad3d0eb8d3cfaebdc324b551d82b3c3bc5816908f59cc209ff",
     "p1_bytes": 307929,
     "p2_sha256": "7e586381a871f4441b2ac88f9308c0d7fa81740cec49021d54a1c5c57773301c",
     "p2_bytes": 307950
    }
   ]
  }
 ],
 "gate": {
  "ran": true,
  "wheels": "p1 A and p1 B",
  "ch_a": "525.5258821780834",
  "ch_b": "525.5258821780834",
  "ch_expected": "525.5258821780834",
  "ch_a_ok": true,
  "ch_b_ok": true,
  "ch_sha256": "6dd68f77a70900319460215374143dbd5d924198450a46d9f5f91f6b1e3d35c3",
  "ch_mean_decimal_sum": "525.52588217808343827",
  "v2_sha256": "28417e116f57f1029fdd1803832e852574902c1ae7253c05657f317db76da4ab",
  "v2_b": {
   "calls": 21580,
   "oog": 3,
   "max_ok_gas": 243554,
   "init_max": 236377
  },
  "v2_b_second_run_identical": true,
  "v2_expected": {
   "calls": 21580,
   "oog": 3,
   "max_ok_gas": 243554,
   "init_max": 236377
  },
  "v2_harness_exit": "valid=false (expected, because of the 3 OOG); paired mean_diff 0.0 over seeds 10043,10044"
 },
 "equals_reference": {
  "a": false,
  "b": false
 },
 "seconds": {
  "maturin_build_a_p1": 17.870994152,
  "maturin_build_b_p1": 9.036478616,
  "maturin_build_a_p2": 17.884292546,
  "maturin_build_b_p2": 8.974224674,
  "gate_ch_run_batch_a": 29.105,
  "gate_ch_run_batch_b": 29.156,
  "gate_v2_run_a": 0.349,
  "gate_v2_run_b": 0.35
 },
 "notes": [
  "Both checkouts are clones of 6b6921f8d463314aa7c96234e1be25a25245f704 (SOURCE_DATE_EPOCH 1770505944 from git log -1 --format=%ct). Toolchain, venv, caches and checkouts are all under the workspace .cache/. Absolute workspace path is replaced by <workspace> in this file.",
  "The p1 and p2 builds ran at the same time (separate target dirs, 32-core host). B was built in the same checkout right after A, so its target dir already held the compiled dependencies.",
  "Within one machine, after pinning SOURCE_DATE_EPOCH, the Cargo.lock and the --remap-path-prefix flags: amm_sim_rs.abi3.so, __init__.py, METADATA and WHEEL are byte-identical between the two paths for both A and B, and every zip entry has the date 2026-02-07 23:12:24 (from SOURCE_DATE_EPOCH). The wheels still differ, only in dist-info/sboms/amm_sim_rs.cyclonedx.json (and so in RECORD): maturin 1.16.0 writes a CycloneDX SBOM whose root component bom-ref/ref is 'path+file://<absolute checkout>/amm_sim_rs#0.1.0' (3 lines). --remap-path-prefix does not reach this file. Byte counts differ by 21 = 3 x (len('pathtwo/x') - len('p1')) in the SBOM; the zip difference is 14 bytes for A and 11 bytes for B (compressed sizes).",
  "Because of the SBOM, a wheel's sha256 depends on the absolute checkout path. Builds will only match across machines if the checkout path is the same, or the SBOM is turned off or made path-independent. Per the brief, no other fix was tried.",
  "Neither p1 nor p2 matches Taylor's reference sha256 for A or B. That is expected, since the SBOM carries this machine's own checkout path and a Cargo.lock generated today may resolve different crate versions.",
  "In this checkout the .so files for A and B are identical between paths, so strings -n 8 had no differing lines to list.",
  "Gate: wheels installed into a uv venv (Python 3.12.3) with numpy, py-solc-x==2.1.0, pyrevm==0.3.7, then uv pip install --no-deps -e . in p1. CH (sha256 6dd68f77...) vs VanillaStrategy, seeds 0..999, configs from MatchRunner._build_configs (8 workers), mean of edges['submission'] as Python float: 525.5258821780834 with A and with B, which matches. V2 (sha256 28417e11..., built from the artifact code a9830b41... with the two replacements, each occurring once) with B: scratch/harness.py V2.sol 10043 10045 out.json --other V2.sol gives Submission afterSwap calls 21580, oog 3, max_ok_gas 243554, afterInitialize max_ok_gas 236377. All match.",
  "No wheel was downloaded; nothing was uploaded anywhere."
 ]
}