{
  "notes": "EPISODE 3 OF 12. Credit Taylor (gtmcknight), github.com/gtmcknight/amm-sim@4812a6382311624e1506aca131ca35c378f930d9 research/solved, in every file. No new AMM experiments were run here.\n\nACTUAL STATE: 1/300 items used; no results or requester notes. Only t2-kit exists (one waiting, no failures; 146 capable machines; linux-x64/minCpus 8). Keep it running. Both earlier pipelines were refused at their harness for requesting verbatim command output; dependent stages never existed. Earlier counts of 19/20 items and report/engine seed reservations were projections. Do not cancel or rerun nonexistent batches.\n\nDECISION: take a small evidence-producing step rather than reserve another entire untested search pipeline. Spawn t3-harness (h), then t3-map (t0,t1a,t1b,t3a,t3b), 6 new items, at most 7 charged items including the existing kit if all are accepted. Nine further episode slots remain after this one. JSON batches have <=5 items and linux-x64/minCpus 8; mapping gates on harness advance=true. No candidate exists yet; finish=false.\n\nREFUSAL REPAIR: replace the refused harness with a short brief requesting authored source assets and derived measurements. No command transcripts, logs or machine details are requested. The exact offending earlier clause is unavailable. Keep all filled briefs within 3000 characters. read=[] avoids requests for nonexistent future results, which were refused last time; these small unmerged batches hand results automatically. Wake when t3-map AND t2-kit settle, or in 90 minutes. This schedules the plane, not a local wait.\n\nDATA CONTRACT: QLX5 source SHA256 e183e5bc3fb794b7067703b10a7da9920267aa5f4caa968e16ca101b02338f40, source artifact 1ef80bfb6d6791b877b1f4048a5e63cf2ae54153e6e8763ae3f8ab13132dfb15; replica artifact a1eef2f3dbbcbc7a1de9d15a2b22d1d25ac6d316a72efde67275b5d5a16ab16b. Decode the former's code_zb64.QLX5 as base64/zlib text and the latter's code_zb64 as base64/zlib tar. The harness authors implementation_zb64 as base64/zlib of a UTF-8 JSON object mapping relative overlay paths to source text; implementation_sha256 hashes those uncompressed JSON bytes. Its README must define application/build and the API. Sparse delta entries are [table,level,row,column,millibps]. Reuse those source assets, not a platform-specific executable. Each stage records the verified original QLX5 source hash; diagnostic perturbations have separate hashes and are not represented as tested Solidity sources.\n\nHYPOTHESES TO CHECK, inherited from earlier notes: the five tables have shapes 2x24x11, 3x43x30, 4x28x13, 3x36x26, 3x17x10. QPL1 has 9172 nodes and 10160 encoded bytes; table scales are 0.25,0.5,0.5,1,0.5 bps. Tables 2 and 4 seemed unused in earlier scalar probes; lookup counts must confirm that. Active tables 0,1,3 hold 7206 nodes. The five map partitions are disjoint level sets: t0=table 0 levels 0,1; t1a=table 1 levels 0,1; t1b=table 1 level 2; t3a=table 3 levels 0,1; t3b=table 3 level 2. Low-level partitions use 3 row x 6 column bands per level, high-level partitions 6 x 6, at most 36 groups per item. Boundaries come from baseline absolute interpolation weights. Freeze them before probing. Visit mass alone is not evidence of edge; paired +/-1 bps probes measure sensitivity and curvature. Diagnostic probes may be unencodable, but must be labelled; later candidates must be quantised and scored in their realised encoding.\n\nHARNESS GATE: zero deltas and instrumentation preserve original seed scores; encoding roundtrips exactly; boundaries/scales validate; perturbations reach the intended node; original replica versus archived engine rows has absolute mean error <=0.01 on 512 seeds 10010512..10011023. Earlier notes report rare floating-point tell flips and individual error as large as 0.49, so do not require per-seed replica/archived-engine identity. Exact zero-delta equality within a build remains required. This gate is numerical reliability, not measured market gain. If controls fail, diagnose from the authored assets and derived figures before searching.\n\nMAPPING STATISTICS: use paired differences on identical seeds. score.py has bar=0 for signed probes, with early looks at 128/256; derivatives use only both signs' evaluated common prefix. Top-level probe figures are choose diagnostics, never independent gain claims. A valid flat or unused-region map is still evidence. At most 36*2*512 candidate simulations per item, about 22 minutes at the earlier reported 28 runs/second on eight CPUs, leaves setup time within an hour. That speed is inherited, not measured here. Record incomplete work honestly.\n\nSEED LEDGER: prior episodes' exploratory scalar probes used choose seeds, not fresh reports. Harness parity/control: archived seeds 10010512..10011023. Harness activity and map binning: 64000..64127. Map probing: prefixes of 64000..64511. Future candidate selection must use the full 64000..65023. Report 10000..12047 has zero worker looks so far and this episode allocates none. t2-kit uses screening seeds 9700000..9700127 and replay seeds 9700000..9700003; they are not fresh validation. No t1/t2 engine stage existed, so 10400000..10401023 remains unspent. Next candidate engine allocation starts at 10400000 in disjoint 256-seed blocks. Mark any actually evaluated/early-stopped block spent before allocating another candidate.\n\nNEXT EPISODE: inspect harness controls, kit readiness and all five maps. If harness fails or is refused, repair only the concrete defect, using new names; do not invent results. If still waiting with capable machines, keep pending work and avoid duplicates. If tables 2/4 carry nonzero meaningful use, map their occupied regions before dismissing them. Rank groups by gradient uncertainty, negative curvature, predicted gain, occupancy and encoding feasibility; |z|>=2 alone among ~180 tests has many false positives. Confirm strong/coherent regions on the remainder of the full choose set before broad ES. Search only fee-table values: low-dimensional phase/table/level/band bases first, finer or smooth local bases only where measured sensitivity supports them. All previously spent scalar/rule/price-belief/residual/rival/kappa lines stay excluded.\n\nPROMOTION PLAN (not spawned without a candidate): freeze quantised candidates using choose data; report each once on 10000..12047, tracking every look. Any correction with report gain >=0.03 over all 2048 seeds enters an after pipeline: Solidity -> T/F against the Python reference -> G -> disjoint 256-seed engine blocks against QLX5. Every accepted-stage check is advance=true. Preserve the existing encoding. T checks every decoded corrected node and source scope; F checks every callback fee against the Python port with an unchanged-QLX5 control; G requires source <=50000 chars, deployed <=24576 bytes, afterSwap peak <=245000, zero OOG and failures. These T/F/G meanings were the prior orchestrator's operational definitions, not new supplied definitions. Engine/Solidity require linux-x64/minCpus 8. Every result has gain_vs_base,se,n,seeds,advance,source_sha256; engine adds peak_gas,oog. Use score.py mean+2*SE<bar (0.04 on fresh engine blocks), preserve per-seed paired evidence for exact pooling. Bring back a contract only with >=0.04 pooled gain on >=1024 actually completed fresh seeds, all gates passed and 0 OOG; prior notes also require mean-2*SE>0. Target remains about +0.12 for #1. No submission is authorised: the requester asks the user first. Python reference artifact: https://api.imd.fun/artifacts/60dc237fa0a4d42f3b6e2d2bed61c1a2df08d27c31ccd95cce508ee9c8689de4. Existing evaluation kit: github.com/identity-md-launches/goal-3178-build-shared-evaluation-kit@45e7563d1a29ffca9d608fdf60c90bf2624d2d01; its engine_eval.py and score.py seed guards need a local copy widened for assigned fresh blocks. The replica score.py adapter must use sample SD of paired differences divided by sqrt(n), as must the engine scoring.",
  "spawn": [
    {
      "name": "t3-harness",
      "mode": "research",
      "brief": "One item: build a reusable QLX5 fee-table perturbation library and validate its numerical controls. Credit Taylor (gtmcknight), github.com/gtmcknight/amm-sim research/solved, in every authored file and result.credit.\nInputs: https://api.imd.fun/artifacts/a1eef2f3dbbcbc7a1de9d15a2b22d1d25ac6d316a72efde67275b5d5a16ab16b (code_zb64 is base64(zlib(tar))) and https://api.imd.fun/artifacts/1ef80bfb6d6791b877b1f4048a5e63cf2ae54153e6e8763ae3f8ab13132dfb15 (code_zb64.QLX5 is base64(zlib(source)); source SHA256 e183e5bc3fb794b7067703b10a7da9920267aa5f4caa968e16ca101b02338f40). Verify these identities.\nAuthor source assets that extend the replica with sparse node deltas [table,level,row,column,millibps], applied before interpolation, and optional per-table lookup counts and absolute interpolation-weighted node visits. Preserve all policy logic, scalar constants and arithmetic when deltas are zero; bid mirroring stays unchanged. Provide QPL1 decode/encode, quantisation and feasibility checks: scales in millibps 250,500,500,1000,500 for tables 0..4, int16 row starts and int8 column differences. Reject invalid indices and duplicate nodes. Quantisation must expose the realised delta; never silently alter an unrelated table. Include paired mean/SE computation and a score.py interface for the stopping test mean+2*SE<bar. Include a README defining the source overlay, build and data interfaces.\nValidate zero-delta equality of original and instrumented per-seed edges on 10010512..10011023 (512 seeds), QPL1 byte-identical roundtrip, and each scale/boundary check. Compare original replica edges with the artifact's archived engine_rows.dat on those same seeds; derive mean error, SE and maximum absolute error. Profile table use on 64000..64127, check instrumentation leaves scores unchanged, and verify a one-node perturbation reaches the intended decoded node. No report-set evaluation is part of this item. Finish within one hour; caches/builds belong under test/scratch/.\nWrite result.json containing credit, gain_vs_base, se, n, seeds, advance, source_sha256, parity, zero_delta_equal, roundtrip, table_use, perturbation_check and limitations. The top-level gain/SE describe the 512-seed zero-delta control versus original QLX5, not parity with the archived engine. source_sha256 is the verified QLX5 source hash above. advance=true only if controls pass, the reusable assets are complete and abs(parity.mean_error)<=0.01. Supply implementation_zb64: base64(zlib(UTF-8 JSON mapping relative source paths to authored source text)), at most 40000 characters, plus implementation_sha256 of the decoded JSON bytes. Include README in that source package. Report derived measurements and authored implementation assets. Use null for unavailable measurements and advance=false on incomplete validation.",
      "items": [
        {
          "key": "h",
          "vars": {}
        }
      ],
      "output": {
        "format": "json",
        "maxBytes": 64000
      },
      "requires": {
        "platform": [
          "linux-x64"
        ],
        "minCpus": 8
      }
    },
    {
      "name": "t3-map",
      "mode": "research",
      "brief": "One item: measure regional fee-table sensitivity for table {{table}}, level-knot indices {{levels}}; make up to {{row_bands}} row bands by {{column_bands}} column bands per level. Credit Taylor (gtmcknight), github.com/gtmcknight/amm-sim research/solved, in every authored file and result.credit.\nUse the accepted t3-harness result supplied by the stage and its documented source overlay on https://api.imd.fun/artifacts/a1eef2f3dbbcbc7a1de9d15a2b22d1d25ac6d316a72efde67275b5d5a16ab16b (replica). Verify implementation_sha256 and QLX5 source_sha256=e183e5bc3fb794b7067703b10a7da9920267aa5f4caa968e16ca101b02338f40. Keep caches/builds under test/scratch/. Complete this one regional map within one hour.\nFirst collect baseline interpolation-weighted node visits on 64000..64127. Within each assigned level, form contiguous row and column bands using marginal visit-weight quantiles; collapse repeated boundaries, skip zero-weight groups and record inclusive index bounds and visit shares. Freeze these groups before looking at their gains. Do not change other levels, tables, policy constants or logic.\nFor each group separately, evaluate uniform +1 and -1 bps node corrections against unchanged QLX5 with identical seeds starting at 64000, at most 512 seeds per direction (through 64511). These are diagnostic probes, not promoted contracts. Compute whether each correction fits the existing QPL1 encoding; retain that feasibility flag without clipping the diagnostic perturbation. Use score.py after 128 and 256 paired seeds to retire a signed probe when mean+2*SE<0; otherwise finish 512. Retain the negative measurements. Let plus_i/minus_i be gains over baseline. Derivatives use only seeds evaluated in BOTH signs: g_i=(plus_i-minus_i)/2, c_i=plus_i+minus_i, in edge per bps and edge per bps squared. Derive gradient, its paired SE, z, curvature, and a clearly labelled quadratic prediction, only for negative curvature and a step clipped to +/-2 bps. Handle zero SE without nonfinite JSON numbers.\nWrite result.json with credit, gain_vs_base, se, n, seeds, advance, source_sha256, measurement_role='choose_diagnostic', groups, table_use, harness_result_sha256 and limitations. Each group includes bounds, mass, signed gain/SE/n/seeds, early-stop and encoding-feasibility flags, common_n, gradient/SE/z, curvature and predicted step/gain. Hash the handed harness result bytes for harness_result_sha256. Top-level gain/SE/n/seeds identify the tested signed probe maximizing mean-SE within this item; name that probe and its delta. Label these as selection-set figures. advance=true means a valid completed map (including specified early stops), even if all gains are weak; false means incomplete or invalid evidence. Record perturbation hashes separately. If no group is visited, return a valid empty map: n=0, seeds=[], gain_vs_base=se=null. Reserve 10000..12047 for later frozen-candidate reports; run no fresh engine seeds.",
      "items": [
        {
          "key": "t0",
          "vars": {
            "table": "0",
            "levels": "0,1",
            "row_bands": "3",
            "column_bands": "6"
          }
        },
        {
          "key": "t1a",
          "vars": {
            "table": "1",
            "levels": "0,1",
            "row_bands": "3",
            "column_bands": "6"
          }
        },
        {
          "key": "t1b",
          "vars": {
            "table": "1",
            "levels": "2",
            "row_bands": "6",
            "column_bands": "6"
          }
        },
        {
          "key": "t3a",
          "vars": {
            "table": "3",
            "levels": "0,1",
            "row_bands": "3",
            "column_bands": "6"
          }
        },
        {
          "key": "t3b",
          "vars": {
            "table": "3",
            "levels": "2",
            "row_bands": "6",
            "column_bands": "6"
          }
        }
      ],
      "output": {
        "format": "json",
        "maxBytes": 64000
      },
      "requires": {
        "platform": [
          "linux-x64"
        ],
        "minCpus": 8
      },
      "after": {
        "batch": "t3-harness",
        "pairing": "batch",
        "when": "accepted",
        "check": {
          "path": "advance",
          "equals": true
        }
      }
    }
  ],
  "read": [],
  "cancel": [],
  "wake": {
    "batches": [
      "t3-map",
      "t2-kit"
    ],
    "afterMinutes": 90
  },
  "finish": false
}
