{
  "sources": [
    {
      "url": "https://api.imd.fun/artifacts/2ade1a24f75836479efeeaff574e452ff3ef5c23fd856c50bd2c1a4a10d78463",
      "quote": "Python reference is gb.py (blend artifact, unchanged) with Q2's expanded tables (qm=x_c2.json, soft=1, bw=1.5)."
    },
    {
      "url": "https://api.imd.fun/artifacts/f8a1a335228c7ce2b76273b5521a0857f7cd1b60e57aa3ec420eecc6446a64c7",
      "quote": "Keep two Gaussians (arb pin, retail truncated prior) across steps, propagate each as real.py does and weight them by silent-step truncation mass, quote from the moment-matched single Gaussian."
    },
    {
      "url": "https://raw.githubusercontent.com/gtmcknight/amm-sim/e65314f88de945f6d055bfc2aab01c482ab6570e/research/solved/README.md",
      "quote": "A policy sees what afterSwap sees. `run.py` enforces it; a result from any other harness needs the same blindness."
    },
    {
      "url": "https://raw.githubusercontent.com/gtmcknight/amm-sim/e65314f88de945f6d055bfc2aab01c482ab6570e/research/solved/SHA256SUMS",
      "quote": "5ff53e42ca87390e5f65d1caa3f7a480e67a8212fb0670274dfd562b05ba1afd  qm_k1e-5.json"
    },
    {
      "url": "https://raw.githubusercontent.com/gtmcknight/amm-sim/e65314f88de945f6d055bfc2aab01c482ab6570e/research/solved/real.py",
      "quote": "def trunc(m, v, lo, hi):\n    \"\"\"moments of N(m, v) restricted to (lo, hi); returns (mass, mean, var)\"\"\""
    },
    {
      "url": "https://raw.githubusercontent.com/gtmcknight/amm-sim/e65314f88de945f6d055bfc2aab01c482ab6570e/research/solved/replica2.py",
      "quote": "RNG streams differ from the Rust engine, so absolute scores move by the seed set;\ncompare policies paired on the same seeds."
    },
    {
      "url": "https://raw.githubusercontent.com/gtmcknight/amm-sim/e65314f88de945f6d055bfc2aab01c482ab6570e/research/solved/run.py",
      "quote": "Score a policy on a range of replica seeds, showing it only what afterSwap shows a contract."
    },
    {
      "url": "https://raw.githubusercontent.com/gtmcknight/amm-sim/e65314f88de945f6d055bfc2aab01c482ab6570e/research/solved/pair.py",
      "quote": "Pair two sets of run.py results on their common seeds."
    },
    {
      "url": "https://raw.githubusercontent.com/gtmcknight/amm-sim/e65314f88de945f6d055bfc2aab01c482ab6570e/research/solved/evalpol.py",
      "quote": "def stats(d):\n    n = len(d); m = sum(d) / n\n    sd = (sum((v - m) ** 2 for v in d) / (n - 1)) ** 0.5\n    return m, sd / n ** 0.5"
    },
    {
      "url": "https://raw.githubusercontent.com/gtmcknight/amm-sim/e65314f88de945f6d055bfc2aab01c482ab6570e/research/solved/par.py",
      "quote": "PROCS=<n> sets the process count (default: every CPU; 1 = no pool)."
    },
    {
      "url": "https://raw.githubusercontent.com/gtmcknight/amm-sim/e65314f88de945f6d055bfc2aab01c482ab6570e/research/solved/gates.py",
      "quote": "Per-seed check values for a port: edge of each reference policy on replica seeds 10000..10002."
    },
    {
      "url": "https://raw.githubusercontent.com/gtmcknight/amm-sim/e65314f88de945f6d055bfc2aab01c482ab6570e/research/solved/latt.py",
      "quote": "Exact Bayes on a price lattice, real observables only."
    },
    {
      "url": "https://raw.githubusercontent.com/benedictbrady/amm-challenge/6b6921f8d463314aa7c96234e1be25a25245f704/amm_competition/evm/compiler.py",
      "quote": "SOLC_VERSION = \"0.8.24\""
    },
    {
      "url": "https://raw.githubusercontent.com/benedictbrady/amm-challenge/6b6921f8d463314aa7c96234e1be25a25245f704/amm_competition/evm/executor.py",
      "quote": "GAS_LIMIT_TRADE = 250_000"
    },
    {
      "url": "https://raw.githubusercontent.com/benedictbrady/amm-challenge/6b6921f8d463314aa7c96234e1be25a25245f704/contracts/src/AMMStrategyBase.sol",
      "quote": "uint256[32] public slots;"
    },
    {
      "url": "https://raw.githubusercontent.com/gtmcknight/amm-sim/main/research/setup.sh",
      "quote": "py-solc-x==2.1.0 pyrevm==0.3.7"
    }
  ]
}
