{
  "credit": "Taylor (gtmcknight), github.com/gtmcknight/amm-sim@4812a6382311624e1506aca131ca35c378f930d9 research/solved",
  "idea": "Measure where qbase split testing pays by reporting all six prescribed restrictions against stalerival BASE, with the tested share of own callbacks. No arm selection.",
  "status": "failed",
  "failed": {
    "stage": "fetch_required_sources",
    "reason": "Required qbase.py, quotient.py and stalerival.py artifacts could not be retrieved. All five initial urllib downloads ended with <urlopen error timed out>. Default curl to the pinned fetch.sh exited 28 (Connection timed out after 15002 milliseconds). Direct curl with --noproxy exited 6: Could not resolve host: api.imd.fun; a separate direct request likewise could not resolve raw.githubusercontent.com. Browser fallback read the pinned fetch script and kit README but returned Internal Error / URL is not accessible via this tool for each of the three required artifact URLs. No reference or replacement policy was executed.",
    "requester_input_needed": false
  },
  "setup": {
    "status": "not_completed",
    "source_urls": {
      "fetch": "https://raw.githubusercontent.com/gtmcknight/amm-sim/66604b3426d8e97a73e2c39940b9b4dece51cc73/research/tell/fetch.sh",
      "kit_readme": "https://raw.githubusercontent.com/identity-md-launches/goal-3178-build-shared-evaluation-kit/45e7563d1a29ffca9d608fdf60c90bf2624d2d01/README.md",
      "qbase": "https://api.imd.fun/artifacts/88712dac0e4b048a0860ccb13d2f22e13d956161c102939cb480f53388f3b185",
      "quotient": "https://api.imd.fun/artifacts/bb1b85910e7628d6c716ee1328da911b4da42c0903cb6c96309cfda82a379abd",
      "base": "https://api.imd.fun/artifacts/f5a140f51df99423d6ede60b618dbc6eabc37a3050ac439c80dc3824191e9f59"
    },
    "reference_rebuild_commands_not_executed": [
      "R=https://raw.githubusercontent.com/gtmcknight/amm-sim/66604b3426d8e97a73e2c39940b9b4dece51cc73/research",
      "sh fetch.sh \"$R\" scratch/amm",
      "cd scratch/amm",
      "PROCS=<workers> python3 -I run.py stalerival:Policy 64900 8 out.json soft=1 qm=qm_k1e-5.json a0=0.35 ainf=0.35"
    ],
    "prerequisites": "Download pinned tell/fetch.sh and decode code_zb64 from the three named artifact JSON objects into the reference directory; neither succeeded. Commands above are the requested reference recipe, not evidence of a successful rebuild.",
    "manifest_verified_files": 0,
    "manifest_mismatches": null
  },
  "rule": {
    "status": "planned_only_not_implemented",
    "settings": [
      {
        "name": "first_callback",
        "restriction": "Only the first own callback at a step timestamp."
      },
      {
        "name": "later_callbacks",
        "restriction": "Only own callbacks after the first at the same step timestamp."
      },
      {
        "name": "move_gt_0_bps",
        "restriction": "Only when a hit would move the rival estimate against the bound by strictly more than 0 bps."
      },
      {
        "name": "move_gt_2_bps",
        "restriction": "Only when a hit would move the rival estimate against the bound by strictly more than 2 bps."
      },
      {
        "name": "move_gt_5_bps",
        "restriction": "Only when a hit would move the rival estimate against the bound by strictly more than 5 bps."
      },
      {
        "name": "gap_at_least_2_steps",
        "restriction": "Only when at least two steps have passed since the previous own callback."
      }
    ],
    "callback_share_definition": "Number of own callbacks on which the split test is actually evaluated divided by total own callbacks, counted separately per arm.",
    "state_kept": null,
    "arithmetic_per_callback": null,
    "limitation": "The source modules were unavailable; bound direction, exact arithmetic, and initial-callback conventions were not guessed."
  },
  "frozen": {
    "params": {
      "base": {
        "soft": 1,
        "qm": "qm_k1e-5.json",
        "a0": 0.35,
        "ainf": 0.35
      },
      "settings": [
        {
          "name": "first_callback",
          "restriction": "Only the first own callback at a step timestamp."
        },
        {
          "name": "later_callbacks",
          "restriction": "Only own callbacks after the first at the same step timestamp."
        },
        {
          "name": "move_gt_0_bps",
          "restriction": "Only when a hit would move the rival estimate against the bound by strictly more than 0 bps."
        },
        {
          "name": "move_gt_2_bps",
          "restriction": "Only when a hit would move the rival estimate against the bound by strictly more than 2 bps."
        },
        {
          "name": "move_gt_5_bps",
          "restriction": "Only when a hit would move the rival estimate against the bound by strictly more than 5 bps."
        },
        {
          "name": "gap_at_least_2_steps",
          "restriction": "Only when at least two steps have passed since the previous own callback."
        }
      ]
    },
    "code_sha256": null,
    "status": "No executable module obtained or implemented; no code freeze claimed."
  },
  "choose": {
    "seeds": [],
    "table": [],
    "selection": "None; report every arm as requested. Settings were recorded without scoring."
  },
  "report": {
    "seeds": [],
    "n": 0,
    "arms": [
      {
        "name": "first_callback",
        "n": 0,
        "minus_base": {
          "mean_diff": null,
          "se": null,
          "min": null,
          "worst5": []
        },
        "callbacks_tested": null,
        "callbacks_total": null,
        "share_callbacks_tested": null,
        "status": "not_run_source_fetch_failed"
      },
      {
        "name": "later_callbacks",
        "n": 0,
        "minus_base": {
          "mean_diff": null,
          "se": null,
          "min": null,
          "worst5": []
        },
        "callbacks_tested": null,
        "callbacks_total": null,
        "share_callbacks_tested": null,
        "status": "not_run_source_fetch_failed"
      },
      {
        "name": "move_gt_0_bps",
        "n": 0,
        "minus_base": {
          "mean_diff": null,
          "se": null,
          "min": null,
          "worst5": []
        },
        "callbacks_tested": null,
        "callbacks_total": null,
        "share_callbacks_tested": null,
        "status": "not_run_source_fetch_failed"
      },
      {
        "name": "move_gt_2_bps",
        "n": 0,
        "minus_base": {
          "mean_diff": null,
          "se": null,
          "min": null,
          "worst5": []
        },
        "callbacks_tested": null,
        "callbacks_total": null,
        "share_callbacks_tested": null,
        "status": "not_run_source_fetch_failed"
      },
      {
        "name": "move_gt_5_bps",
        "n": 0,
        "minus_base": {
          "mean_diff": null,
          "se": null,
          "min": null,
          "worst5": []
        },
        "callbacks_tested": null,
        "callbacks_total": null,
        "share_callbacks_tested": null,
        "status": "not_run_source_fetch_failed"
      },
      {
        "name": "gap_at_least_2_steps",
        "n": 0,
        "minus_base": {
          "mean_diff": null,
          "se": null,
          "min": null,
          "worst5": []
        },
        "callbacks_tested": null,
        "callbacks_total": null,
        "share_callbacks_tested": null,
        "status": "not_run_source_fetch_failed"
      }
    ]
  },
  "cost": {
    "extra_storage_words": null,
    "worst_ops_per_callback": null,
    "status": "Not estimated without verified source and implementation."
  },
  "diagnostics": {
    "eight_seed_timing": {
      "status": "not_run",
      "planned_seeds": "64900..64907"
    },
    "disabled_matches_base_exactly": {
      "status": "not_run",
      "planned_seeds": "64900..64907"
    },
    "hidden_input_garbling": {
      "status": "not_run",
      "identical_fees": null
    },
    "reference_manifest_check": "not_run; 34 files and 0 mismatches were requested, not observed",
    "drop_rule": "mean_diff + 3*se < 0; not applied because no scores exist",
    "report_protocol": "Planned ascending 64-seed blocks within 10000..12047, all arms and BASE paired, minimum 512 seeds; not started.",
    "gates": "No gates or simulations ran. This is a Python-only failed experiment; no contract or submission was created."
  },
  "advance": false,
  "pick": null,
  "code_zb64": null,
  "rows_zb64": "eJyLjgUAARUAuQ==",
  "seeds_used": [],
  "not_done": [
    "Retrieve and verify required policy modules and 34 reference files",
    "Implement six restricted-test arms subclassing BASE",
    "Time eight seeds",
    "Verify disabled exact row equality",
    "Verify identical fees after hidden-input garbling",
    "Freeze executable code SHA256",
    "Run ordered paired report on at least 512 seeds",
    "Measure callback test shares and per-arm statistics",
    "Derive arithmetic and storage costs"
  ]
}
