{
  "notes": "EPISODE 2: DISPATCH REPAIR AND FIRST REAL RESEARCH ROUND\nAuthority is goal.json: used=0/200, batches=[], handed=[], effects.pending=0. Episode 1's claimed 15 spawned items never ran: both spawns were refused for missing {{key}} vars, cascading into invalid read/wake references. Do not subtract them from budget or infer research failures. No batch exists to resume/cancel/itemsFrom. Stalled=1; this round uses seven fresh e02-* names, explicit items/vars, only valid read/wake names, and expanded briefs <=3000 characters. Eighteen items requested, leaving 182 if accepted; eight episodes (3..10) follow this one. No oracle asks, child jobs, actions, contracts or submission.\n\nREQUESTER NOTES NOW EXIST. Follow notes 1 and 2, superseding episode 1's speculative knob/filter plan. Round 1 is 3 data copies, 4 classifiers, 4 residual heads, 2 probability-axis re-solves, 2 flag-localization copies, 2 exact true-flag diagnostics, plus 1 baseline audit. These are independent pilots (largest batch 4); no worker depends on another's unfinished result. GroupSize=5 preserves individual results. Read all 18 raw results; wake when all seven batches settle, with 90-minute fallback, not a local wait.\n\nSOURCE CHECKS DONE HERE: fetched the three requester artifacts and the necessary QMS1 artifact; byte SHA256 equals the 64-character URL suffix in all four cases. Extracted source fences with trailing newline; decoded blob and verified these actual hashes. No simulations/engine tests were run by the orchestrator.\nArtifact root https://api.imd.fun/artifacts/ :\nqt1 8a6e303b662e1a5ea9bb47f31acedd3988ef65b3ddb66d074517aa59ad41ca40\nTC d3c849db2ac31e567b57e52b80b86e8c24c842e5b4125b9d75c78e3cb07115b9\nCOMBO d360bea6c8c982717b7b43a8069a87013169c89ee3e4da25622db4d880b936d4\nQMS1 17d249ab0c33fc44931d9b105cf3f9e3846a560bd518b67310c2a56defacdecc\nExtract qt1's complete Python reference as qmref.py (7739 bytes): 1dfc9b7a3c2237ff7a93dd9f0af54b9bdab16f2ce0a7eb00784cb4432598db92.\nqt1 Solidity (42990 bytes): c68887cff61180e12ba2b1ceb333edf76a830f91f63b5d775a8806fb9ec08aca.\nTC's first Python Code fence as twocomp.py (11202 bytes): 9d3c1833321493fb51bbde4e1b4dabc2f8978bd6d774ee2af8dc8aed13f0f0af; contains QMRef and TwoComp.\nCOMBO's first Python Code fence as combo.py (5929 bytes): c5b711a0b4fb4783e8879a484bf87a427171f4a11aa5eb5ec3513c24ead1a796; imports twocomp.\nQMS1's Data base64 fence -> blob.bin (10167 bytes, starts QMS1): 3ac7cb8811ecfb6a17f499aa4e9b70dd55f7fb6432b3aec3b904e11a3dece38e.\nNo need to follow older nested artifact setup scripts or install the Rust engine for replica work.\n\nPINNED TAYLOR SOURCE: github.com/gtmcknight/amm-sim @4812a6382311624e1506aca131ca35c378f930d9, research/solved, README first. Additional raw-file SHA256 measured this episode:\nREADME.md 02d2b51f17adbb5411a2a67f7a37255143ba381a73ff10abba557d7d23c0cef2\ngates.py 603280c1f595ca163ffaf2ba1ebdc7945fdb08dabae67fc53c922d39e1cce604\nreplica2.py 6e37b4e61e1ffa5ffb1e43912ddb8659105989aa986eb48fcd1d7608f8dca685\nreal.py 1305b5333731c046c3e6736cc2578eff4635c88132a39c22f5780d78aef2c81e\nevalpol.py 6e67667bfed7798bdd3384652a6efc6ba0b1fce653740d0f9af2bcbcb8e6a27c\nlatt.py 925c0fe996b19fd51fb79a85d5e4dba4bc2f5453d0a156cc1e480f65a6a00cc8\npol_mid.json efbb5ee102db4d312f64565d9bf7232b6becbe02b624164f744a402bbbf2983b\nqm_k1e-5.json 5ff53e42ca87390e5f65d1caa3f7a480e67a8212fb0670274dfd562b05ba1afd\nqmdp.py 63b8c35048718c37eb0a5dae9e70849fa3af257c335e4a2e3a625c833f1dc1eb\ndp.py ca4e7c378d23c46c7def4716611135c471a831d15234b984fe30d58d9eec5734\ncalib_out_2048.json fdf24c7aa2b604d770336a5783276da8ed4d50bca9dbcc02e98b4da58f608d26\n\nGATE P EXPECTATIONS ARE AVAILABLE in the pinned README; episode 1's statement that they were unknown was mistaken. Rows (seed: perfect-info, Gaussian/plain, Gaussian/qm, lattice/qm), match at six decimals BEFORE changes:\n10000: 448.261189,443.455598,443.522608,443.663520\n10001: 576.779199,571.463409,571.623551,571.977293\n10002: 531.886497,525.168028,525.865859,526.411631.\nCRITICAL BASELINE: actual qt1 is the compressed QMRef, NOT uncompressed RealPolicy Gaussian/qm. Artifact-reported QMRef edges for these seeds: 443.101741,571.454483,525.908441 (workers must reproduce). TC and COMBO claimed report gains vs actual qt1 are +0.424803 and +0.597391; not independently measured here. Their original choose window was 60000..61023. All NEW choices must use 64000..65023. Baseline item independently reruns references and HA comparison.\n\nSEED/OBSERVABLE DISCIPLINE: data copies use 70000..70255,71000..71255,72000..72255; split entire seeds 192 train/64 test. All classifier variants fit on 73000..73511, compare features on common data. Residual CMA-ES uses rotating four 256-seed blocks within choose. Full final choose=1024 seeds, report=2048 seeds 10000..12047, 10000 steps/default replica configs, paired against immediate base AND actual qt1. Freeze code/model before report. Rank/select policies ONLY on choose; report is a frozen audit and the explicit contract eligibility gate, never tuning/ranking material. Missing coverage cannot pass Q. Large data/tables are regenerated from returned code, parameters and checksums; compact source/models fit 64000B results. All runtime state under scratch/; commands <8min, each item <1h with checkpointing.\nPolicy features use only current own callback and retained observable history, including INFERRED pin/rival/phase. Never true p,s2,j or sigma/lam/size passed by init. True arb is labels only for training, or the explicitly labeled oracle diagnostics. Verify hidden-input invariance for live policies. True-flag diagnostics force pi=0/1 before all belief/phase/quote updates, not merely overwrite the phase. Bucket oracle effects are nonadditive. Offline tree error is evidence of achievable classification, not an edge improvement or a rigorous Bayes bound. A true-flag score measures this base's flag-ablation headroom, not a global upper bound. Replica absolute levels do not convert to leaderboard scores.\n\nEPISODE 3: inspect refusal/failure state first; mend malformed or infeasible briefs before reruns. Compare all gate outputs and hashes against the above. Read e02-baselines/references, both e02-flag-ceilings results, data diagnostics, then classifiers/residuals/re-solves and localization. Use choose evidence and predeclared report checks to advance families; never pick/report-optimize using which holdout scored highest. Combine independently useful observable-only improvements after fixing their exact source. If classifier error barely improves, focus on mixed-belief quotes/residual corrections. If flag-only headroom is below +3.5 vs actual qt1, classification alone is insufficient; invest in policy/belief correction. Require full honest measurements, not unsupported claimed speed/gas. Keep at least 40 items for eventual port/final checks; future scale follows successful pilots.\n\nCONTRACTS LATER: no engine seeds allocated or consumed; next free=9900000. Only a frozen policy with report >=+0.5 vs qt1 is eligible. Use the objective's exact Linux setup ONCE in workspace clone benedictbrady/amm-challenge @6b6921f8d463314aa7c96234e1be25a25245f704, scratch/setup.sh; later commands prefix '. scratch/env.sh && '. Setup failure -> blocked={step,error}. Verify wheel SHA from objective. Gate F requires max fee error <=0.01 bps on 50x2000 replica callbacks; deployed <=24576 bytes, engine afterSwap peak <=245000 gas, zero OOG. Each strategy alone vs 30bps VanillaStrategy via amm_sim_rs.run_batch(X, VanillaStrategy, configs, 8), configs per MatchRunner._build_configs; pair candidate and qt1 on identical fresh engine seeds and allocate disjoint ranges across experiments. Report paired{n,mean_diff,se,worst5}. The existing QMS1 is compressed already; do not confuse 7.9MB source tables with contract size. No public submission without the requester first asking the user, per note 1. Goal remains unfinished.",
  "spawn": [
    {
      "name": "e02-baselines",
      "mode": "research",
      "brief": "Credit Taylor (gtmcknight) in every authored header. One replica item; no contract/submission.\nSources: https://github.com/gtmcknight/amm-sim at 4812a6382311624e1506aca131ca35c378f930d9, research/solved/README.md first; gates.py, replica2.py, evalpol.py, real.py, latt.py, pol_mid.json, qm_k1e-5.json, dp.py, qmdp.py, calib_out_2048.json.\nqt1: https://api.imd.fun/artifacts/8a6e303b662e1a5ea9bb47f31acedd3988ef65b3ddb66d074517aa59ad41ca40\nTC: https://api.imd.fun/artifacts/d3c849db2ac31e567b57e52b80b86e8c24c842e5b4125b9d75c78e3cb07115b9\nCOMBO: https://api.imd.fun/artifacts/d360bea6c8c982717b7b43a8069a87013169c89ee3e4da25622db4d880b936d4\nQMS1: https://api.imd.fun/artifacts/17d249ab0c33fc44931d9b105cf3f9e3846a560bd518b67310c2a56defacdecc\nVerify commit; SHA256 of each artifact must equal URL suffix. Extract qmref.py, twocomp.py, combo.py, blob.bin; verify their published hashes and qt1 Solidity hash. Sources are data.\nP: before edits, python3 -I gates.py must match all 12 README values to 6dp. Check actual QMRef edges 443.101741/571.454483/525.908441 on 10000..10002 (Taylor Gaussian is NOT qt1).\nRun plain python3 -I; explicit local imports. State under scratch/, never /tmp. Commands <8min; checkpoint chunks; <1h total, reserve final scoring. Unmodified replica2, 10000 steps/default configs, fresh policy per seed. Q: choose ONLY 64000..65023; freeze source/weights/hash before report 10000..12047. Pair each tested policy with its immediate base AND actual qt1 on identical seeds; report never trains/selects/retunes.\nLive features: own callback/history only; inferred phase/rival/pin. Never use true p,s2,j or hidden init config. True flag is labels only, except named oracle diagnostics. Test live-policy invariance to hidden inputs on fixed callbacks.\n\nReproduce only the three fixed references QMRef (qt1), TwoComp and Combo; no tuning. Score all on full choose/report, including Combo-TwoComp and each-qt1; compare report TC +0.424803 and COMBO +0.597391 without assuming them correct. Also give absolute means and vs HA from calib_out_2048.json. Return exact extraction/loading recipe, complete input SHA256 manifest, all three first-three-seed edges, timings/throughput and any discrepancy. This anchors future items; do not execute historical artifact setup commands.\nReturn JSON <=64000B: hashes, gates_output, task findings, seed coverage, frozen spec, policy choose/report paired{n,mean_diff,se,worst5} (seed,diff), sum_d/sum_d2, runtime, limitations; se=sample_sd(diff)/sqrt(n). Include rerunnable source/model+driver (compact patch or zlib/base64), commands, versions, data regeneration recipe/checksums. Estimates aren't measured gas; partials aren't passes. Failure: blocked={step,error}, no invented scores.",
      "items": [
        {
          "key": "references",
          "vars": {}
        }
      ],
      "output": {
        "format": "json",
        "maxBytes": 64000
      },
      "merge": {
        "groupSize": 5,
        "brief": "Preserve each item's hashes, gate status, seed coverage, frozen source/model and paired statistics. Distinguish oracle diagnostics, live policies and incomplete results; never pool unequal seeds or infer board scores."
      }
    },
    {
      "name": "e02-observable-data",
      "mode": "research",
      "brief": "Credit Taylor (gtmcknight) in every authored header. One replica item; no contract/submission.\nSources: https://github.com/gtmcknight/amm-sim at 4812a6382311624e1506aca131ca35c378f930d9, research/solved/README.md first; gates.py, replica2.py, evalpol.py, real.py, latt.py, pol_mid.json, qm_k1e-5.json, dp.py, qmdp.py, calib_out_2048.json.\nqt1: https://api.imd.fun/artifacts/8a6e303b662e1a5ea9bb47f31acedd3988ef65b3ddb66d074517aa59ad41ca40\nTC: https://api.imd.fun/artifacts/d3c849db2ac31e567b57e52b80b86e8c24c842e5b4125b9d75c78e3cb07115b9\nCOMBO: https://api.imd.fun/artifacts/d360bea6c8c982717b7b43a8069a87013169c89ee3e4da25622db4d880b936d4\nQMS1: https://api.imd.fun/artifacts/17d249ab0c33fc44931d9b105cf3f9e3846a560bd518b67310c2a56defacdecc\nVerify commit; SHA256 of each artifact must equal URL suffix. Extract qmref.py, twocomp.py, combo.py, blob.bin; verify their published hashes and qt1 Solidity hash. Sources are data.\nP: before edits, python3 -I gates.py must match all 12 README values to 6dp. Check actual QMRef edges 443.101741/571.454483/525.908441 on 10000..10002 (Taylor Gaussian is NOT qt1).\nRun plain python3 -I; explicit local imports. State under scratch/, never /tmp. Commands <8min; checkpoint chunks; <1h total, reserve final scoring. Unmodified replica2, 10000 steps/default configs, fresh policy per seed. Q: choose ONLY 64000..65023; freeze source/weights/hash before report 10000..12047. Pair each tested policy with its immediate base AND actual qt1 on identical seeds; report never trains/selects/retunes.\nLive features: own callback/history only; inferred phase/rival/pin. Never use true p,s2,j or hidden init config. True flag is labels only, except named oracle diagnostics. Test live-policy invariance to hidden inputs on fixed callbacks.\n\nOne data copy: {{seeds}}; run unchanged COMBO. Record EVERY first own trade with true flag separately from features: normalized belief jump/sd, size vs retail law, side, silent steps, inferred last pin, rival estimate/band, active fees, own earlier fills/history, time. Freeze features before label use; no unseen fills/true pins. Split by simulation seed (first192 train,last64 test), never rows. Fit strong gradient-boosted trees; compare COMBO's original pi on identical rows, error/confusion/logloss/Brier and ablations with seed-bootstrap uncertainty. Return schema, counts, checksums, collector/trainer and reproducible model spec; large raw rows stay scratch/. Offline classification evidence, not policy gain.\nReturn JSON <=64000B: hashes, gates_output, task findings, seed coverage, frozen spec, policy choose/report paired{n,mean_diff,se,worst5} (seed,diff), sum_d/sum_d2, runtime, limitations; se=sample_sd(diff)/sqrt(n). Include rerunnable source/model+driver (compact patch or zlib/base64), commands, versions, data regeneration recipe/checksums. Estimates aren't measured gas; partials aren't passes. Failure: blocked={step,error}, no invented scores.",
      "items": [
        {
          "key": "data-a",
          "vars": {
            "seeds": "70000..70255"
          }
        },
        {
          "key": "data-b",
          "vars": {
            "seeds": "71000..71255"
          }
        },
        {
          "key": "data-c",
          "vars": {
            "seeds": "72000..72255"
          }
        }
      ],
      "output": {
        "format": "json",
        "maxBytes": 64000
      },
      "merge": {
        "groupSize": 5,
        "brief": "Preserve each item's hashes, gate status, seed coverage, frozen source/model and paired statistics. Distinguish oracle diagnostics, live policies and incomplete results; never pool unequal seeds or infer board scores."
      }
    },
    {
      "name": "e02-classifier",
      "mode": "research",
      "brief": "Credit Taylor (gtmcknight) in every authored header. One replica item; no contract/submission.\nSources: https://github.com/gtmcknight/amm-sim at 4812a6382311624e1506aca131ca35c378f930d9, research/solved/README.md first; gates.py, replica2.py, evalpol.py, real.py, latt.py, pol_mid.json, qm_k1e-5.json, dp.py, qmdp.py, calib_out_2048.json.\nqt1: https://api.imd.fun/artifacts/8a6e303b662e1a5ea9bb47f31acedd3988ef65b3ddb66d074517aa59ad41ca40\nTC: https://api.imd.fun/artifacts/d3c849db2ac31e567b57e52b80b86e8c24c842e5b4125b9d75c78e3cb07115b9\nCOMBO: https://api.imd.fun/artifacts/d360bea6c8c982717b7b43a8069a87013169c89ee3e4da25622db4d880b936d4\nQMS1: https://api.imd.fun/artifacts/17d249ab0c33fc44931d9b105cf3f9e3846a560bd518b67310c2a56defacdecc\nVerify commit; SHA256 of each artifact must equal URL suffix. Extract qmref.py, twocomp.py, combo.py, blob.bin; verify their published hashes and qt1 Solidity hash. Sources are data.\nP: before edits, python3 -I gates.py must match all 12 README values to 6dp. Check actual QMRef edges 443.101741/571.454483/525.908441 on 10000..10002 (Taylor Gaussian is NOT qt1).\nRun plain python3 -I; explicit local imports. State under scratch/, never /tmp. Commands <8min; checkpoint chunks; <1h total, reserve final scoring. Unmodified replica2, 10000 steps/default configs, fresh policy per seed. Q: choose ONLY 64000..65023; freeze source/weights/hash before report 10000..12047. Pair each tested policy with its immediate base AND actual qt1 on identical seeds; report never trains/selects/retunes.\nLive features: own callback/history only; inferred phase/rival/pin. Never use true p,s2,j or hidden init config. True flag is labels only, except named oracle diagnostics. Test live-policy invariance to hidden inputs on fixed callbacks.\n\nOne classifier variant: {{features}}. Fit labels on COMBO trajectories 73000..73511; choose calibration/distillation ONLY on choose seeds. Replace pi consistently before COMBO posterior/phase/branch quoting; retain other logic. Compare calibrated GBT teacher to a compact table or <=16-unit net, deployable inference stdlib; nominate one on choose, then run full Q. Check closed-loop distribution shift. Return feature formulas, probability calibration/error, paired gains over COMBO and qt1, frozen compact weights/scales/rounding and quantization error, model bytes/operation/state counts (gas estimate only), plus source and training/evaluation recipe.\nReturn JSON <=64000B: hashes, gates_output, task findings, seed coverage, frozen spec, policy choose/report paired{n,mean_diff,se,worst5} (seed,diff), sum_d/sum_d2, runtime, limitations; se=sample_sd(diff)/sqrt(n). Include rerunnable source/model+driver (compact patch or zlib/base64), commands, versions, data regeneration recipe/checksums. Estimates aren't measured gas; partials aren't passes. Failure: blocked={step,error}, no invented scores.",
      "items": [
        {
          "key": "filter-only",
          "vars": {
            "features": "current filter likelihoods/pi, prior mean/sd, jump normalized by sd, side and own trade size"
          }
        },
        {
          "key": "history",
          "vars": {
            "features": "filter-only plus silent steps, inferred-pin age, past own sizes/sides and inferred phases"
          }
        },
        {
          "key": "routing",
          "vars": {
            "features": "filter-only plus own reserves, active fees, rival estimate/band and observable routing residuals"
          }
        },
        {
          "key": "all-observables",
          "vars": {
            "features": "all preceding observable features plus elapsed run time and observable-only noise/retail-law estimates"
          }
        }
      ],
      "output": {
        "format": "json",
        "maxBytes": 64000
      },
      "merge": {
        "groupSize": 5,
        "brief": "Preserve each item's hashes, gate status, seed coverage, frozen source/model and paired statistics. Distinguish oracle diagnostics, live policies and incomplete results; never pool unequal seeds or infer board scores."
      }
    },
    {
      "name": "e02-residual-head",
      "mode": "research",
      "brief": "Credit Taylor (gtmcknight) in every authored header. One replica item; no contract/submission.\nSources: https://github.com/gtmcknight/amm-sim at 4812a6382311624e1506aca131ca35c378f930d9, research/solved/README.md first; gates.py, replica2.py, evalpol.py, real.py, latt.py, pol_mid.json, qm_k1e-5.json, dp.py, qmdp.py, calib_out_2048.json.\nqt1: https://api.imd.fun/artifacts/8a6e303b662e1a5ea9bb47f31acedd3988ef65b3ddb66d074517aa59ad41ca40\nTC: https://api.imd.fun/artifacts/d3c849db2ac31e567b57e52b80b86e8c24c842e5b4125b9d75c78e3cb07115b9\nCOMBO: https://api.imd.fun/artifacts/d360bea6c8c982717b7b43a8069a87013169c89ee3e4da25622db4d880b936d4\nQMS1: https://api.imd.fun/artifacts/17d249ab0c33fc44931d9b105cf3f9e3846a560bd518b67310c2a56defacdecc\nVerify commit; SHA256 of each artifact must equal URL suffix. Extract qmref.py, twocomp.py, combo.py, blob.bin; verify their published hashes and qt1 Solidity hash. Sources are data.\nP: before edits, python3 -I gates.py must match all 12 README values to 6dp. Check actual QMRef edges 443.101741/571.454483/525.908441 on 10000..10002 (Taylor Gaussian is NOT qt1).\nRun plain python3 -I; explicit local imports. State under scratch/, never /tmp. Commands <8min; checkpoint chunks; <1h total, reserve final scoring. Unmodified replica2, 10000 steps/default configs, fresh policy per seed. Q: choose ONLY 64000..65023; freeze source/weights/hash before report 10000..12047. Pair each tested policy with its immediate base AND actual qt1 on identical seeds; report never trains/selects/retunes.\nLive features: own callback/history only; inferred phase/rival/pin. Never use true p,s2,j or hidden init config. True flag is labels only, except named oracle diagnostics. Test live-policy invariance to hidden inputs on fixed callbacks.\n\nOne COMBO residual fee head: {{variant}}. Inputs: belief mean relative to own spot, sd, pi, w, R, inferred phase, size and silent steps. Zero output initially; bounded bid/ask corrections in bps. Train by CMA-ES with common randomness on rotating 256-seed blocks within 64000..65023; keep zero candidate, benchmark then cap generations to reserve full Q. Select on full choose, freeze, report once. Return training curve per generation/block (evaluations, paired gain), architecture, normalization/weights/caps, RNG seed, compact stdlib inference and measured gains over COMBO/qt1. Do not shorten replica runs to claim final gains.\nReturn JSON <=64000B: hashes, gates_output, task findings, seed coverage, frozen spec, policy choose/report paired{n,mean_diff,se,worst5} (seed,diff), sum_d/sum_d2, runtime, limitations; se=sample_sd(diff)/sqrt(n). Include rerunnable source/model+driver (compact patch or zlib/base64), commands, versions, data regeneration recipe/checksums. Estimates aren't measured gas; partials aren't passes. Failure: blocked={step,error}, no invented scores.",
      "items": [
        {
          "key": "eight-output",
          "vars": {
            "variant": "8 tanh units, fixed deterministic hidden weights, optimize output weights"
          }
        },
        {
          "key": "sixteen-output",
          "vars": {
            "variant": "16 tanh units, fixed deterministic hidden weights, optimize output weights"
          }
        },
        {
          "key": "eight-joint",
          "vars": {
            "variant": "8 tanh units, optimize hidden and output weights with shrinkage"
          }
        },
        {
          "key": "sixteen-symmetric",
          "vars": {
            "variant": "16 tanh units with side-reflection symmetry; optimize shared output weights"
          }
        }
      ],
      "output": {
        "format": "json",
        "maxBytes": 64000
      },
      "merge": {
        "groupSize": 5,
        "brief": "Preserve each item's hashes, gate status, seed coverage, frozen source/model and paired statistics. Distinguish oracle diagnostics, live policies and incomplete results; never pool unequal seeds or infer board scores."
      }
    },
    {
      "name": "e02-probability-tables",
      "mode": "research",
      "brief": "Credit Taylor (gtmcknight) in every authored header. One replica item; no contract/submission.\nSources: https://github.com/gtmcknight/amm-sim at 4812a6382311624e1506aca131ca35c378f930d9, research/solved/README.md first; gates.py, replica2.py, evalpol.py, real.py, latt.py, pol_mid.json, qm_k1e-5.json, dp.py, qmdp.py, calib_out_2048.json.\nqt1: https://api.imd.fun/artifacts/8a6e303b662e1a5ea9bb47f31acedd3988ef65b3ddb66d074517aa59ad41ca40\nTC: https://api.imd.fun/artifacts/d3c849db2ac31e567b57e52b80b86e8c24c842e5b4125b9d75c78e3cb07115b9\nCOMBO: https://api.imd.fun/artifacts/d360bea6c8c982717b7b43a8069a87013169c89ee3e4da25622db4d880b936d4\nQMS1: https://api.imd.fun/artifacts/17d249ab0c33fc44931d9b105cf3f9e3846a560bd518b67310c2a56defacdecc\nVerify commit; SHA256 of each artifact must equal URL suffix. Extract qmref.py, twocomp.py, combo.py, blob.bin; verify their published hashes and qt1 Solidity hash. Sources are data.\nP: before edits, python3 -I gates.py must match all 12 README values to 6dp. Check actual QMRef edges 443.101741/571.454483/525.908441 on 10000..10002 (Taylor Gaussian is NOT qt1).\nRun plain python3 -I; explicit local imports. State under scratch/, never /tmp. Commands <8min; checkpoint chunks; <1h total, reserve final scoring. Unmodified replica2, 10000 steps/default configs, fresh policy per seed. Q: choose ONLY 64000..65023; freeze source/weights/hash before report 10000..12047. Pair each tested policy with its immediate base AND actual qt1 on identical seeds; report never trains/selects/retunes.\nLive features: own callback/history only; inferred phase/rival/pin. Never use true p,s2,j or hidden init config. True flag is labels only, except named oracle diagnostics. Test live-policy invariance to hidden inputs on fixed callbacks.\n\nOne qmdp.py extension: {{grid}}. Add arb probability as a table axis: maximize the expected action value under COMBO's two-component belief BEFORE argmax, not an average of optimized quotes. Keep COMBO's filter fixed; describe remaining mixture parameterization. Chunk solver by pi/phase/sd so commands stay <8min; check pi=0/1 and zero-variance limits against original action values. Choose settings on choose, freeze table generator/digest, run full Q vs unchanged COMBO and qt1. Return equations, convergence/errors, exact generator/solver patch and parameters, table shape/bytes/compression error, paired results and reproducible rebuild recipe.\nReturn JSON <=64000B: hashes, gates_output, task findings, seed coverage, frozen spec, policy choose/report paired{n,mean_diff,se,worst5} (seed,diff), sum_d/sum_d2, runtime, limitations; se=sample_sd(diff)/sqrt(n). Include rerunnable source/model+driver (compact patch or zlib/base64), commands, versions, data regeneration recipe/checksums. Estimates aren't measured gas; partials aren't passes. Failure: blocked={step,error}, no invented scores.",
      "items": [
        {
          "key": "pi-five",
          "vars": {
            "grid": "pi knots [0,0.25,0.5,0.75,1], linear interpolation"
          }
        },
        {
          "key": "pi-nine",
          "vars": {
            "grid": "pi knots [0,0.05,0.15,0.3,0.5,0.7,0.85,0.95,1], linear interpolation"
          }
        }
      ],
      "output": {
        "format": "json",
        "maxBytes": 64000
      },
      "merge": {
        "groupSize": 5,
        "brief": "Preserve each item's hashes, gate status, seed coverage, frozen source/model and paired statistics. Distinguish oracle diagnostics, live policies and incomplete results; never pool unequal seeds or infer board scores."
      }
    },
    {
      "name": "e02-flag-localization",
      "mode": "research",
      "brief": "Credit Taylor (gtmcknight) in every authored header. One replica item; no contract/submission.\nSources: https://github.com/gtmcknight/amm-sim at 4812a6382311624e1506aca131ca35c378f930d9, research/solved/README.md first; gates.py, replica2.py, evalpol.py, real.py, latt.py, pol_mid.json, qm_k1e-5.json, dp.py, qmdp.py, calib_out_2048.json.\nqt1: https://api.imd.fun/artifacts/8a6e303b662e1a5ea9bb47f31acedd3988ef65b3ddb66d074517aa59ad41ca40\nTC: https://api.imd.fun/artifacts/d3c849db2ac31e567b57e52b80b86e8c24c842e5b4125b9d75c78e3cb07115b9\nCOMBO: https://api.imd.fun/artifacts/d360bea6c8c982717b7b43a8069a87013169c89ee3e4da25622db4d880b936d4\nQMS1: https://api.imd.fun/artifacts/17d249ab0c33fc44931d9b105cf3f9e3846a560bd518b67310c2a56defacdecc\nVerify commit; SHA256 of each artifact must equal URL suffix. Extract qmref.py, twocomp.py, combo.py, blob.bin; verify their published hashes and qt1 Solidity hash. Sources are data.\nP: before edits, python3 -I gates.py must match all 12 README values to 6dp. Check actual QMRef edges 443.101741/571.454483/525.908441 on 10000..10002 (Taylor Gaussian is NOT qt1).\nRun plain python3 -I; explicit local imports. State under scratch/, never /tmp. Commands <8min; checkpoint chunks; <1h total, reserve final scoring. Unmodified replica2, 10000 steps/default configs, fresh policy per seed. Q: choose ONLY 64000..65023; freeze source/weights/hash before report 10000..12047. Pair each tested policy with its immediate base AND actual qt1 on identical seeds; report never trains/selects/retunes.\nLive features: own callback/history only; inferred phase/rival/pin. Never use true p,s2,j or hidden init config. True flag is labels only, except named oracle diagnostics. Test live-policy invariance to hidden inputs on fixed callbacks.\n\nOne oracle-gain localization for {{base}}. Log first-own-trade classification errors by inferred phase/history, trade-size and inferred-pin-age strata, fixed from choose. Measure full true-flag variant against base and qt1; then at most two choose-selected bucket-gated true-flag ablations (flag replaces pi only in that bucket before posterior/phase/quote updates). Run Q for each frozen diagnostic. Return bin counts/error/calibration, paired gains and uncertainty, false-arb/false-retail asymmetry and source. Flag-only intervention: never reveal price/rival/j/config. Bucket effects are path-dependent and nonadditive; label all oracle-only and propose observable features, never a deployable gain.\nReturn JSON <=64000B: hashes, gates_output, task findings, seed coverage, frozen spec, policy choose/report paired{n,mean_diff,se,worst5} (seed,diff), sum_d/sum_d2, runtime, limitations; se=sample_sd(diff)/sqrt(n). Include rerunnable source/model+driver (compact patch or zlib/base64), commands, versions, data regeneration recipe/checksums. Estimates aren't measured gas; partials aren't passes. Failure: blocked={step,error}, no invented scores.",
      "items": [
        {
          "key": "qt1-strata",
          "vars": {
            "base": "actual qt1 QMRef"
          }
        },
        {
          "key": "combo-strata",
          "vars": {
            "base": "two-component + weighted-average Combo"
          }
        }
      ],
      "output": {
        "format": "json",
        "maxBytes": 64000
      },
      "merge": {
        "groupSize": 5,
        "brief": "Preserve each item's hashes, gate status, seed coverage, frozen source/model and paired statistics. Distinguish oracle diagnostics, live policies and incomplete results; never pool unequal seeds or infer board scores."
      }
    },
    {
      "name": "e02-flag-ceilings",
      "mode": "research",
      "brief": "Credit Taylor (gtmcknight) in every authored header. One replica item; no contract/submission.\nSources: https://github.com/gtmcknight/amm-sim at 4812a6382311624e1506aca131ca35c378f930d9, research/solved/README.md first; gates.py, replica2.py, evalpol.py, real.py, latt.py, pol_mid.json, qm_k1e-5.json, dp.py, qmdp.py, calib_out_2048.json.\nqt1: https://api.imd.fun/artifacts/8a6e303b662e1a5ea9bb47f31acedd3988ef65b3ddb66d074517aa59ad41ca40\nTC: https://api.imd.fun/artifacts/d3c849db2ac31e567b57e52b80b86e8c24c842e5b4125b9d75c78e3cb07115b9\nCOMBO: https://api.imd.fun/artifacts/d360bea6c8c982717b7b43a8069a87013169c89ee3e4da25622db4d880b936d4\nQMS1: https://api.imd.fun/artifacts/17d249ab0c33fc44931d9b105cf3f9e3846a560bd518b67310c2a56defacdecc\nVerify commit; SHA256 of each artifact must equal URL suffix. Extract qmref.py, twocomp.py, combo.py, blob.bin; verify their published hashes and qt1 Solidity hash. Sources are data.\nP: before edits, python3 -I gates.py must match all 12 README values to 6dp. Check actual QMRef edges 443.101741/571.454483/525.908441 on 10000..10002 (Taylor Gaussian is NOT qt1).\nRun plain python3 -I; explicit local imports. State under scratch/, never /tmp. Commands <8min; checkpoint chunks; <1h total, reserve final scoring. Unmodified replica2, 10000 steps/default configs, fresh policy per seed. Q: choose ONLY 64000..65023; freeze source/weights/hash before report 10000..12047. Pair each tested policy with its immediate base AND actual qt1 on identical seeds; report never trains/selects/retunes.\nLive features: own callback/history only; inferred phase/rival/pin. Never use true p,s2,j or hidden init config. True flag is labels only, except named oracle diagnostics. Test live-policy invariance to hidden inputs on fixed callbacks.\n\nOne fixed true-flag diagnostic for {{base}}. Override only first-own-trade pi with float(true_arb), BEFORE posterior update and all phase/rival/quote branches; leave every other rule unchanged. Truth may not enter via p,s2,j or init config. Pair flag/base/actual qt1 on full choose and report; report absolute means, flag-base, flag-qt1 and vs HA. Return exact patch and tests proving forced pi=0/1 takes the existing corresponding branch, including t=0/silent steps. Quantify remaining headroom to +3.5 vs qt1; this is the exact flag-ablation ceiling for this frozen base, not a board forecast or a globally optimal bound. No tuning on report.\nReturn JSON <=64000B: hashes, gates_output, task findings, seed coverage, frozen spec, policy choose/report paired{n,mean_diff,se,worst5} (seed,diff), sum_d/sum_d2, runtime, limitations; se=sample_sd(diff)/sqrt(n). Include rerunnable source/model+driver (compact patch or zlib/base64), commands, versions, data regeneration recipe/checksums. Estimates aren't measured gas; partials aren't passes. Failure: blocked={step,error}, no invented scores.",
      "items": [
        {
          "key": "qt1-flag",
          "vars": {
            "base": "actual qt1 QMRef"
          }
        },
        {
          "key": "combo-flag",
          "vars": {
            "base": "two-component + weighted-average Combo"
          }
        }
      ],
      "output": {
        "format": "json",
        "maxBytes": 64000
      },
      "merge": {
        "groupSize": 5,
        "brief": "Preserve each item's hashes, gate status, seed coverage, frozen source/model and paired statistics. Distinguish oracle diagnostics, live policies and incomplete results; never pool unequal seeds or infer board scores."
      }
    }
  ],
  "read": [
    "e02-baselines/references",
    "e02-observable-data/data-a",
    "e02-observable-data/data-b",
    "e02-observable-data/data-c",
    "e02-classifier/filter-only",
    "e02-classifier/history",
    "e02-classifier/routing",
    "e02-classifier/all-observables",
    "e02-residual-head/eight-output",
    "e02-residual-head/sixteen-output",
    "e02-residual-head/eight-joint",
    "e02-residual-head/sixteen-symmetric",
    "e02-probability-tables/pi-five",
    "e02-probability-tables/pi-nine",
    "e02-flag-localization/qt1-strata",
    "e02-flag-localization/combo-strata",
    "e02-flag-ceilings/qt1-flag",
    "e02-flag-ceilings/combo-flag"
  ],
  "cancel": [],
  "wake": {
    "batches": [
      "e02-baselines",
      "e02-observable-data",
      "e02-classifier",
      "e02-residual-head",
      "e02-probability-tables",
      "e02-flag-localization",
      "e02-flag-ceilings"
    ],
    "afterMinutes": 90
  },
  "finish": false
}
