{
  "notes": "Credit Taylor (gtmcknight), github.com/gtmcknight/amm-sim@4812a6382311624e1506aca131ca35c378f930d9 research/solved, in every file.\nEpisode 1/3: goal.json has 0/24 items used, no batches, results, requester notes or refusals. Schedule exactly six round-one research items: five oracle ceilings and one static engine scoring/routing audit, in batches of five and one. All require linux-x64 and minCpus 8. This reserves 18 items and two episodes for evidence-led follow-up. No round-two estimators are commissioned yet; no Solidity, engine execution or submissions anywhere.\nQLX5 source SHA256 e183e5bc3fb794b7067703b10a7da9920267aa5f4caa968e16ca101b02338f40; goal's supplied standings gap is 528.452-528.3333=0.1187. That leaderboard gap is context, not a paired-seed gain. Credit Taylor and his pinned solved policy in every file; network extensions remain in the baseline.\nThe public artifact JSONs were readable with curl. Base has code_zb64.QLX5; replica/core contain code_zb64 archives. Fast artifact is verification metadata linking build_result_url, not a standalone bundle. Harness implementation_zb64 decodes to a JSON source map containing score.py, whose CSVs require seed,edge and explicit --bar 0.08. Its score is the mean of paired candidate-base edges and sample SD/sqrt(n); its stop is strict upper_2se<bar. Historical example advance fields and 0.03 stop lines are irrelevant to this goal. No artifact code or simulations were executed here.\nThe Taylor fork's amm_sim_rs path at the supplied commit returned HTTP 404. Verified the static engine directory at https://github.com/benedictbrady/amm-challenge/tree/6b6921f8d463314aa7c96234e1be25a25245f704/amm_sim_rs via GitHub API; audit must check alignment with replica provenance, cite file lines/hashes and disclose mismatch. This does not change QLX5's pinned baseline or authorize running the engine.\nOn episode 2, read all six individual JSONs (requested below); check full hashes, actual report seeds, oracle-off equality, legal callback timing, RNG preservation, uncertainty and info-set isolation. Selection is 64000..65023 only, held-out report 10000..12047 with prescribed score.py early stops. advance requires complete 2048 report seeds, controls and mean-2se>=0.08. Stopped probes retain actual n/range; do not label insufficient or unmeasured evidence a zero ceiling. A low QLX5 truth-injection gain bounds that adapter, not all possible uses of the information. A searched full-information policy is an achieved lower bound unless supported by a certified upper bound or gap; full information must optimize fees, not merely replace QLX5 inputs. Treat future-path relaxations separately from information available at callbacks.\nRound 2 ONLY for validated advancing sources: assign one realisable estimator/rule per source using callback-visible history alone, on the same replica and seed split; carry parent result URL and exact ceiling, report paired gain/se and fraction captured=gain_vs_base/parent ceiling gain. Full-info advances require a justified observable approximation, not latent truth, seed IDs or future draws. Audit behaviours need their own qualifying measured ceiling; a positive analytic cap alone does not authorize round two. Reserve episode 3 to assess results, audit overlap and finish a research account with limits. Repair genuinely failed/invalid ceiling work within remaining budget if needed; never rerun the settled topics. Do not add source gains without measuring joint overlap. If nothing qualifies and ceilings are adequate, finish without building estimators.\nWake when both batches settle; no periodic wake is set because only two decision episodes remain. If an external wake arrives early, preserve running work and wait for it. Do not relax the requester's linux-x64/minCpus 8 requirement. No cancellations now.",
  "spawn": [
    {
      "name": "r1-oracle-ceilings",
      "mode": "research",
      "brief": "Credit Taylor (gtmcknight), github.com/gtmcknight/amm-sim@4812a6382311624e1506aca131ca35c378f930d9 research/solved, in every file.\nOne research item, under 1h; caches test/scratch/. No Solidity, engine builds/runs, submissions or realisable estimators.\nFetch JSONs via https://api.imd.fun/artifacts/ + full ID:\nbase 1ef80bfb6d6791b877b1f4048a5e63cf2ae54153e6e8763ae3f8ab13132dfb15\nreplica a1eef2f3dbbcbc7a1de9d15a2b22d1d25ac6d316a72efde67275b5d5a16ab16b\ncore 2ad2abf45223c729557e83e77d22de54c5db7da2be0599658144906b91dbf0f7\nfast 72b58a1407966f0223f06ab7c6ddd979a24fb4593f1a9b3dc43508a7f133d00b\nharness 9ad960e6c7e11509b81f2852f7f34d395425adc226141b0bc828ed6f5f344663\nprobes 6c23d23d4a21a37a502bf47a69d9f87b4c7ac84f614f2097e2488c6d5e6dd164\nprobe2 9d06411b9d249e074a426b33b08474edac375f300111ace5bb34928f853531e6\nDecode base.code_zb64.QLX5; verify SHA256 e183e5bc3fb794b7067703b10a7da9920267aa5f4caa968e16ca101b02338f40. Verify fetched artifact IDs. Use replica; fast links its build_result_url; harness supplies score.py.\nTask {{source}}: {{task}}\nExpose only assigned truth at each own callback. For single sources keep all other QLX5 logic/constants/tables fixed. Oracle-off must equal QLX5; preserve event order, RNG draws and callback opportunities. Distinguish QLX5 sensitivity from a universal upper bound.\nChoose only 64000..65023; freeze before report 10000..12047. Pair complete runs against unchanged QLX5 with identical exogenous RNG, rival and scoring. At report n=128,256,512,1024,2048 run score.py --base base.csv --candidate probe.csv --bar 0.08; stop when mean+2*se<0.08. Report actual n/seeds; no report tuning. advance=true only after all 2048 report seeds if mean-2*se>=0.08 and controls pass.\nDo not repeat settled labels, router-split truth, scalar tuning, 45 rules, tables, residual heads, price-belief variants, rival trackers or kappa.\nWrite result.json: credit, source, gain_vs_base (mean paired edge delta), se (sample SD/sqrt(n)), n, seeds {choose,report}, source_sha256 (measured probe), base_source_sha256, advance, stop/history, info/timing/units, controls, ceiling_kind/limitations, search details, hashes/hash_scope, reproducible patch/commands and compressed per-seed deltas. Keep it <=64000 bytes; unknowns null with reason, never invented gains.",
      "items": [
        {
          "key": "fair-price",
          "vars": {
            "source": "fair-price",
            "task": "Give QLX5 the true contemporaneous fair price in place of its price estimate, with consistent units; document uncertainty handling without adding other hidden information."
          }
        },
        {
          "key": "run-volatility",
          "vars": {
            "source": "run-volatility",
            "task": "Give QLX5 the run's true volatility parameter in place of its estimate/prior. Map per-step variance versus standard deviation correctly; expose no realized future shocks."
          }
        },
        {
          "key": "retail-law",
          "vars": {
            "source": "retail-law",
            "task": "Give QLX5 the run's true retail arrival rate and full size-distribution parameters. Replace only corresponding assumed quantities; do not reveal realized arrivals, trade labels or orders."
          }
        },
        {
          "key": "next-trade",
          "vars": {
            "source": "next-trade",
            "task": "Reveal only the next trade's side and size, with a minimal declared adapter into QLX5 fees. Define next trade before routing versus own fill; avoid freezing fills changed by fees. No future fair price or extra decision times; cloned lookahead must not consume live RNG."
          }
        },
        {
          "key": "full-information",
          "vars": {
            "source": "full-information",
            "task": "Exception: optimize fees using ALL engine information at each own callback, not QLX5 with replaced inputs. Search/solve the best policy with legal fee bounds and unchanged market mechanics; include QLX5 as an option. Document information set, horizon, search coverage/convergence and optimality gap. Distinguish achieved search gain from certified upper bound; clairvoyant future draws are only a labelled relaxation. Primary gain must use callback-available information, with future-path relaxations reported separately."
          }
        }
      ],
      "output": {
        "format": "json",
        "maxBytes": 64000
      },
      "requires": {
        "platform": [
          "linux-x64"
        ],
        "minCpus": 8
      }
    },
    {
      "name": "r1-routing-audit",
      "mode": "research",
      "brief": "Credit Taylor (gtmcknight), github.com/gtmcknight/amm-sim@4812a6382311624e1506aca131ca35c378f930d9 research/solved, in every file.\nOne static-source audit plus quick replica ceilings, under 1h; caches test/scratch/. No Solidity, engine builds/runs, submissions or realisable estimators.\nFetch JSONs via https://api.imd.fun/artifacts/ + full ID:\nbase 1ef80bfb6d6791b877b1f4048a5e63cf2ae54153e6e8763ae3f8ab13132dfb15\nreplica a1eef2f3dbbcbc7a1de9d15a2b22d1d25ac6d316a72efde67275b5d5a16ab16b\ncore 2ad2abf45223c729557e83e77d22de54c5db7da2be0599658144906b91dbf0f7\nfast 72b58a1407966f0223f06ab7c6ddd979a24fb4593f1a9b3dc43508a7f133d00b\nharness 9ad960e6c7e11509b81f2852f7f34d395425adc226141b0bc828ed6f5f344663\nprobes 6c23d23d4a21a37a502bf47a69d9f87b4c7ac84f614f2097e2488c6d5e6dd164\nprobe2 9d06411b9d249e074a426b33b08474edac375f300111ace5bb34928f853531e6\nDecode base.code_zb64.QLX5; verify SHA256 e183e5bc3fb794b7067703b10a7da9920267aa5f4caa968e16ca101b02338f40. Verify fetched artifact IDs. Use replica; fast links its build_result_url; harness supplies score.py.\nRead github.com/benedictbrady/amm-challenge@6b6921f8d463314aa7c96234e1be25a25245f704/amm_sim_rs statically; verify provenance against replica. Find scoring/routing behaviours QLX5 does not use: trace engine scoring/terminal valuation, router/CFMM rounding/ties, callback timing and config. For EACH new behaviour cite pinned file:lines, compare QLX5 use, and estimate an analytic ceiling or isolated replica oracle gain with assumptions and overlap. Preserve legal fees, event order, RNG and rival. Oracle-off must equal QLX5. Pick one primary mechanism using choose seeds before report; never cherry-pick report winners or sum overlapping gains.\nChoose only 64000..65023; freeze before report 10000..12047. Pair complete runs against unchanged QLX5 with identical exogenous RNG, rival and scoring. At report n=128,256,512,1024,2048 run score.py --base base.csv --candidate probe.csv --bar 0.08; stop when mean+2*se<0.08. Report actual n/seeds; no report tuning. advance=true only after all 2048 report seeds if mean-2*se>=0.08 and controls pass.\nDo not repeat settled labels, router-split truth, scalar tuning, 45 rules, tables, residual heads, price-belief variants, rival trackers or kappa.\nWrite result.json with credit, source, gain_vs_base, se, n, seeds, source_sha256, base_source_sha256, advance for the primary; behaviours[] with citations, QLX5 comparison, ceiling_kind, numerical ceiling/units, assumptions and the same statistics for each measured mechanism; controls, stop/history, limitations, hashes/hash_scope and compact reproducible patch/commands plus compressed per-seed deltas. Analytic caps alone cannot set advance. If none new, show inspected coverage and reasons, null gain/se, n=0, advance=false; unmeasured is not zero. <=64000 bytes.",
      "items": [
        {
          "key": "engine-behaviours",
          "vars": {}
        }
      ],
      "output": {
        "format": "json",
        "maxBytes": 64000
      },
      "requires": {
        "platform": [
          "linux-x64"
        ],
        "minCpus": 8
      }
    }
  ],
  "read": [
    "r1-oracle-ceilings/fair-price",
    "r1-oracle-ceilings/run-volatility",
    "r1-oracle-ceilings/retail-law",
    "r1-oracle-ceilings/next-trade",
    "r1-oracle-ceilings/full-information",
    "r1-routing-audit/engine-behaviours"
  ],
  "cancel": [],
  "wake": {
    "batches": [
      "r1-oracle-ceilings",
      "r1-routing-audit"
    ]
  },
  "finish": false
}
