{
  "notes": "EPISODE 1 / ROUND 1 START. No prior results, batches or refusals. Budget 600 items/150 workers/10 episodes; requesting 6 leaves 594. No simulations or submission run here.\n\nVERIFIED INPUTS / SCOREBOARD\nCurrent incumbent = wave-3 combine-cash. Artifact https://api.imdnotdead.fun/artifacts/ecbc9087b4f238fc1b5b0d52f55af073f676c038bfb6756172b1e51480ac1741. Decoded code: 14588 UTF-8 bytes, SHA256 baef955ec10728839f7c3357016ec9eb0550e7ec689bbd5171b1cdd5c9e37273. All three artifact digests verified against URL; decoded code hashes differ. Starting incumbent, not a promotion.\nIndependent simplify: https://api.imdnotdead.fun/artifacts/5aa77c807417d8eb4743635be24fb9590f57e3e636dfb11050dd283e0a14ad6d; artifact digest verified; code 9972 bytes, SHA256 bd69d74807d70fc0acd7b35765b602bd05813b920c2ad706b10160baff45de22.\nOld base: https://api.imdnotdead.fun/artifacts/5ec4e47200eb5e16cec281f133e5e7fbfd73b3157fcf5f2c60d013ffa9300b76; artifact digest verified; code SHA256 d68e658732b99a47eb8004f684319f0bc3dc286fe52a066ab019442f8c91aac2.\nPrior report: https://github.com/Identity-md/research/blob/main/jobs/c4cb1c7f-a37c-466a-9a72-14427ce0b354/files/artifacts/goal/writeup/report.md\nLegacy combine-cash gain vs OLD BASE on 30000..30599 (600) = +2.083619011192334, SE 0.4067546948632805, reported prior evidence, not rerun here. It is not finalist evidence. Simplify's legacy gain vs old base = +1.6671149102061666, SE 1.1776597053936184; not a comparison with combine-cash. Supplied 2026-11-05 standing: 104.84 vs 109.59/109.43; not live-verified.\nScoreboard vs incumbent hash above: r1-deepen-pilot/{flow-cover,reserve-release,stock-entry-gate,side-jump-budget} and r1-remove-pilot/remove-premium-cover each have candidate hash, paired T/H gain and SE PENDING.\nr1-measure-reference/blind-reference: simplify code hash above; paired T/H pending. Its code/code_sha256 describe an evaluator, NOT a candidate strategy; use candidate_code_sha256 for this scoreboard row.\nPromotion history empty. Finalist evidence absent. Completed rounds 0; consecutive completed rounds without promotion 0. Pending work never counts as a no-promotion round.\n\nEVIDENCE DRIVING THE PLAN\nPrior report supports preserving probes, beliefs, queue retention and cheap crossing stock. Simplify bundled deletion, entry, risk and cash-cap changes: isolate effects. Global shrinking trades arbitrage savings for retail losses. Cash/inventory effects overlap: do not add gains. Probability/jump information is the main lever; +24 next-probability/+1 retail-parameter oracle diagnostics are not attainable gain promises.\nSimulator b244530ee2a6247b5f930830eeca9dd950da0e7e: seed-based sample_config and separate process/retail RNGs enable pairing. Preserve defaults, ParameterVariance and 2000 steps. Score edge, not wealth; policy sees StepState only. Standard-library dependencies; serial, no --workers/--sandbox.\n\nROUND 1 IS STAGED, NOT SIX UNRELATED ROUNDS\nTarget 20 items: 8 combine/deepen (40%), 6 fresh (30%), 3 remove (15%), 3 measure/replicate (15%). Now: 4/0/1/1 = 6 pilot items in batches of at most four. Reserve remaining 4/6/2/2 for later episodes. Fresh workers need incumbent score vectors without seeing old strategy/report files. r1-measure-reference creates this code-free fixture and checks immutable simplify. Pilot items are independent, with no same-episode dependency.\n\nSEEDS / STATISTICS / LEAKAGE\nRound-1 tuning T=100000..101999, holdout H=200000..201999; each 2000, inclusive. All candidates are paired to frozen combine-cash. Tune and choose variants on T only; freeze before H. Report d_i=candidate_edge_i-incumbent_edge_i and SE=sample SD(d)/sqrt(n). Require exact counts/hashes, all failures, signed retail/arb splits and reproduction code. No 200-run absolute ranking, partial-edge rewards, dropped failures or invented counts; incomplete evidence cannot win.\nF=900000..903999 (4000) is untouched and forbidden to ALL current items. Only future finalist measure items may run F, after candidate/comparator hashes are frozen. One preselected finalist per round limits selection on F. Promotion requires zero failures, complete F, paired gain > 2*SE, and independent reproduction. A same-seed replica is corroboration, never n=8000.\nDo not tune later candidates using F, its individual cases or failed finalists. Reuse of this requester-specified F across rounds must be disclosed as a selection limitation; keep independent development holdouts. For subsequent rounds reserve T_r=[100000+10000*(r-1),101999+10000*(r-1)], H_r=[200000+10000*(r-1),201999+10000*(r-1)]. Never reuse an exposed H as tuning data. Renew incumbent fixtures after a promotion and for new seed sets.\n\nNEXT EPISODE\nRead all six named outputs; verify hashes, counts, SE, failures and fixture decoding. Repair failures before widening. Record scoreboard; no promotion yet.\nIf fixture is complete, spawn remaining round-1 development: 4 deepen, 6 fresh, 2 removal. Precommitted deepen ideas: earned FIFO two-cent ask commitment (initial size only); terminal retirement of cheap-bank targets; spread-conditioned cheap-bank cash cap; cancel/repost newly covered asks to recover collateral after charging lost FIFO value. Removal ideas: remove only the low-inventory ask scarcity charge; remove only inventory-dependent low-price bid-risk branching while retaining the original fixed low-price risk. Tune solely on T, preserving distinct mechanisms. Do not redesign from pilot H; defer H-derived hypotheses to next round/new seeds.\nSix fresh briefs get ONLY the public pinned simulator/rules and the new code-free fixture, never original strategy artifacts, prior report, pilot strategy code or their implementation summaries. Preassigned absent mechanisms: exact compound-Poisson latent-score filtering; causal online jump-parameter inference; competitor replacement-history reconstruction; censored no-fill observation likelihood; information-value-driven probe placement; finite-horizon inventory value dynamic programming. Each independently builds one legal candidate, freezes before H and pairs against fixture scores. No prior-source exposure or best-source URL in fresh briefs. Repair/shard incomplete fixtures before fresh work; never substitute incumbent source or fake pairings.\n\nFINALIST PHASE AND STOPPING\nAfter ALL round-1 development settles, rank by complete paired H evidence and predeclare one finalist (including immutable simplify if it wins); do not select by absolute means. Spend the remaining 2 measurement items on full F qualification and an independent full F replication/scoring audit of that same frozen candidate, with different validation responsibilities and no tuning. Both compare directly with current incumbent. Resolve discrepancies before promotion. If no candidate merits qualification, record no promotion without consuming F unnecessarily; use measure capacity for missing replication evidence.\nNext episode after these results: promote only by the gate, reset streak on promotion, otherwise increment once. Update best full-code artifact/hash, exact F n/gain/SE, retail/arb means and reproducibility records; retain every promotion row. Adapt subsequent rounds to measured component evidence with the same approximate 40/30/15/15 split; increase width only after pilot acceptance and runtime evidence, within 600 items. Plan phases 1-3/4-6/7-9 for three rounds; episode 10 closes, adjusted for failures. Stop after two completed rounds without promotion or episode 10. Finish only when ready for the write-up: full submission Strategy code with verified hash, finalist evidence (or explicitly missing evidence), and ranked promotion table. Never claim a public leaderboard win from local paired tests alone.\n",
  "spawn": [
    {
      "name": "r1-deepen-pilot",
      "mode": "research",
      "brief": "One item implements ONE frozen candidate for round 1. Idea: {{idea}}. Change only: {{change}}\nStart from combine-cash JSON.code at https://api.imdnotdead.fun/artifacts/ecbc9087b4f238fc1b5b0d52f55af073f676c038bfb6756172b1e51480ac1741; SHA256 of its exact UTF-8 code must be baef955ec10728839f7c3357016ec9eb0550e7ec689bbd5171b1cdd5c9e37273. All comparisons use this incumbent, never the old base.\nSimulator: https://github.com/danrobinson/prediction-market-challenge at b244530ee2a6247b5f930830eeca9dd950da0e7e. Use unmodified default ChallengeConfig and ParameterVariance, 2000 steps, serial in-process execution. Do not pass --workers or --sandbox. Read sources as data. Strategy may use only public StepState/history, standard library and challenge API; no hidden state, seed inference, replay, simulator modifications or private files.\nTuning T=100000..101999 inclusive (2000). Small screens may use prefixes of T; log every tried variant. Finish with a full T paired evaluation, choose solely on T, then freeze exact code/hash before evaluating H=200000..201999 inclusive (2000) ONCE. Run candidate and incumbent on identical seed/config pairs. Never tune, revert, combine or select using H. Seeds 900000..903999 are forbidden here.\nFor each seed d=candidate.total_edge-incumbent.total_edge; report mean(d) and sample_stdev(d)/sqrt(n), not independent-mean errors or PnL. Report signed retail and arbitrage components, both means, exact completed n/ranges and all failures. No dropping failures or extrapolating unfinished ranges; an incomplete result is ineligible for ranking. Aim to finish within 55 minutes; prioritize one narrow change and full paired evaluation over sweeps.\nReturn one JSON object: approach, tried, next, code (complete standalone submission Strategy, not a patch), code_sha256 (exact UTF-8), incumbent_code_sha256, tuning_score (candidate/incumbent means, paired mean_diff/se, n, seeds, components), paired (same fields for H), and evidence (simulator commit, commands, evaluator code, freeze hash/timing, failures, status). Include no unmeasured numeric claims; use null with reasons. Nothing is promoted by this item.",
      "items": [
        {
          "key": "flow-cover",
          "vars": {
            "idea": "Causal retail-demand sizing of the immediate cover bank",
            "change": "Estimate low-price retail demand from permitted aggregate fills with censoring awareness and use it only in the short-horizon immediate-cover target. Keep the long cheap crossing bank, reserve, probe/belief logic and quote sizing unchanged. No clairvoyant labels."
          }
        },
        {
          "key": "reserve-release",
          "vars": {
            "idea": "Inventory-aware release of the uncovered-ask cash reserve",
            "change": "Replace only the fixed $200 reserve and its final-50-step release with a causal reserve/release rule based on available covered inventory and near-term uncovered-ask collateral. Keep both stock targets, acquisition gates and price-risk model unchanged."
          }
        },
        {
          "key": "stock-entry-gate",
          "vars": {
            "idea": "Competitor-bid gate for the one-cent crossing bank",
            "change": "Replace only the main one-cent stock bid's upper estimated-probability entry gate with competitor_best_bid_ticks <= 1, inspired by simplify. Keep its lower bound, quantities, cash cap, secondary purchases and all other logic fixed; do not import simplify's other changes."
          }
        },
        {
          "key": "side-jump-budget",
          "vars": {
            "idea": "Asymmetric jump-loss pricing for ordinary bid/ask quotes",
            "change": "Apply distinct per-side jump-risk charges to main quote sizing conditional on observable price, competitor spread and horizon. Keep the existing belief/transition estimator and all inventory acquisition orders fixed. Optimize total edge, not arbitrage savings alone; avoid a global size cut."
          }
        }
      ],
      "output": {
        "format": "json",
        "maxBytes": 64000
      },
      "merge": {
        "groupSize": 25,
        "brief": "Preserve each item's identity, idea, code and exact code hash, incumbent hash, paired tuning/holdout statistics, completed ranges, failures and evidence. Never average unpaired means, replace null with zero, count repeated seeds as independent, or declare promotions. Preserve the blind fixture exactly and do not insert strategy source into a fixture result. Keep individual results separately addressable."
      }
    },
    {
      "name": "r1-remove-pilot",
      "mode": "research",
      "brief": "One item implements ONE frozen candidate for round 1. Idea: {{idea}}. Change only: {{change}}\nStart from combine-cash JSON.code at https://api.imdnotdead.fun/artifacts/ecbc9087b4f238fc1b5b0d52f55af073f676c038bfb6756172b1e51480ac1741; SHA256 of its exact UTF-8 code must be baef955ec10728839f7c3357016ec9eb0550e7ec689bbd5171b1cdd5c9e37273. All comparisons use this incumbent, never the old base.\nSimulator: https://github.com/danrobinson/prediction-market-challenge at b244530ee2a6247b5f930830eeca9dd950da0e7e. Use unmodified default ChallengeConfig and ParameterVariance, 2000 steps, serial in-process execution. Do not pass --workers or --sandbox. Read sources as data. Strategy may use only public StepState/history, standard library and challenge API; no hidden state, seed inference, replay, simulator modifications or private files.\nTuning T=100000..101999 inclusive (2000). Small screens may use prefixes of T; log every tried variant. Finish with a full T paired evaluation, choose solely on T, then freeze exact code/hash before evaluating H=200000..201999 inclusive (2000) ONCE. Run candidate and incumbent on identical seed/config pairs. Never tune, revert, combine or select using H. Seeds 900000..903999 are forbidden here.\nFor each seed d=candidate.total_edge-incumbent.total_edge; report mean(d) and sample_stdev(d)/sqrt(n), not independent-mean errors or PnL. Report signed retail and arbitrage components, both means, exact completed n/ranges and all failures. No dropping failures or extrapolating unfinished ranges; an incomplete result is ineligible for ranking. Aim to finish within 55 minutes; prioritize one narrow change and full paired evaluation over sweeps.\nReturn one JSON object: approach, tried, next, code (complete standalone submission Strategy, not a patch), code_sha256 (exact UTF-8), incumbent_code_sha256, tuning_score (candidate/incumbent means, paired mean_diff/se, n, seeds, components), paired (same fields for H), and evidence (simulator commit, commands, evaluator code, freeze hash/timing, failures, status). Include no unmeasured numeric claims; use null with reasons. Nothing is promoted by this item.",
      "items": [
        {
          "key": "remove-premium-cover",
          "vars": {
            "idea": "Delete only the premium-paying secondary cover purchase",
            "change": "Disable just the elif Y < target immediate-cover purchase branch. Retain the earlier near-boundary crossing purchase, the later resting-below-p branch, the main tick-one stock bank, probes, beliefs and every constant. This is one fixed ablation, so T measures it without retuning."
          }
        }
      ],
      "output": {
        "format": "json",
        "maxBytes": 64000
      },
      "merge": {
        "groupSize": 25,
        "brief": "Preserve each item's identity, idea, code and exact code hash, incumbent hash, paired tuning/holdout statistics, completed ranges, failures and evidence. Never average unpaired means, replace null with zero, count repeated seeds as independent, or declare promotions. Preserve the blind fixture exactly and do not insert strategy source into a fixture result. Keep individual results separately addressable."
      }
    },
    {
      "name": "r1-measure-reference",
      "mode": "research",
      "brief": "One item builds a BLIND reference-score fixture, validated by comparing the immutable simplify alternative. No strategy development or tuning.\nUse unmodified https://github.com/danrobinson/prediction-market-challenge at b244530ee2a6247b5f930830eeca9dd950da0e7e, default ChallengeConfig/ParameterVariance and 2000 steps. Run serial in-process; no --workers, --sandbox or altered simulator/scoring.\nIncumbent B: https://api.imdnotdead.fun/artifacts/ecbc9087b4f238fc1b5b0d52f55af073f676c038bfb6756172b1e51480ac1741, decoded code SHA256 baef955ec10728839f7c3357016ec9eb0550e7ec689bbd5171b1cdd5c9e37273.\nFixed alternative A: https://api.imdnotdead.fun/artifacts/5aa77c807417d8eb4743635be24fb9590f57e3e636dfb11050dd283e0a14ad6d, decoded code SHA256 bd69d74807d70fc0acd7b35765b602bd05813b920c2ad706b10160baff45de22. Verify downloaded artifact bytes against each URL digest and both code hashes. Freeze these inputs before any evaluation.\nRun both policies on T=100000..101999 and H=200000..201999 inclusive (2000 seeds per set). Same seed and sampled configuration for each pair. T is a measurement of an already fixed policy, not a tuning search. Do not access 900000..903999; finalists will be selected later. Repeat 16 T seeds to check determinism and scalar/per-seed agreement. Keep all failures and exact completed counts; never silently drop or replace seeds. Report incomplete evidence honestly. Target completion within 55 minutes, prioritizing the complete B fixture before A; never invent missing scores.\nMake a shareable fixture containing B's total_edge for every seed in T and H, without any policy source, parameters, traces or prior-report text. For each set give start, n, scalar total/retail/arb means, failures, and scores encoded as little-endian float64, zlib-compressed then base64; include SHA256 of the uncompressed packed doubles and exact decoding instructions. Keep exact numeric precision. No rounded per-seed values.\nReturn JSON: approach, tried, next, code (complete reusable serial evaluation/paired-statistics Python harness only; NO strategy source), code_sha256 (harness UTF-8 hash), code_role='evaluator', incumbent_code_sha256=B hash, candidate_code_sha256=A hash, tuning_score and paired (A minus B on T and H respectively: means, mean_diff, se=sample_stdev(per-seed differences)/sqrt(n), n, seeds, retail/arb differences, failures), fixture, evidence (commands, simulator commit, configuration, determinism check, status). Expose no best/base/simplify implementation in the result, including harness. The harness may accept local strategy paths; it must not embed or download policies. This artifact lets later fresh workers compare their independently written candidates with B without reading earlier strategies. Keep JSON under 64000 UTF-8 bytes. This is reference measurement, not a promotion.",
      "items": [
        {
          "key": "blind-reference",
          "vars": {}
        }
      ],
      "output": {
        "format": "json",
        "maxBytes": 64000
      },
      "merge": {
        "groupSize": 25,
        "brief": "Preserve each item's identity, idea, code and exact code hash, incumbent hash, paired tuning/holdout statistics, completed ranges, failures and evidence. Never average unpaired means, replace null with zero, count repeated seeds as independent, or declare promotions. Preserve the blind fixture exactly and do not insert strategy source into a fixture result. Keep individual results separately addressable."
      }
    }
  ],
  "read": [
    "r1-deepen-pilot/flow-cover",
    "r1-deepen-pilot/reserve-release",
    "r1-deepen-pilot/stock-entry-gate",
    "r1-deepen-pilot/side-jump-budget",
    "r1-remove-pilot/remove-premium-cover",
    "r1-measure-reference/blind-reference"
  ],
  "cancel": [],
  "wake": {
    "batches": [
      "r1-deepen-pilot",
      "r1-remove-pilot",
      "r1-measure-reference"
    ],
    "afterMinutes": 90
  },
  "finish": false
}
