{
  "issue": 15,
  "delivery": "Implemented research module with declared data unknowns; does not claim all historical evidence recovered",
  "requirements": [
    {
      "requirement": "既有顶级队比赛档案、国际赛/已完赛 DCGI，覆盖缺失记账",
      "implementation": "全档案逐局审计，至少一方年度成员；对线/跨路保留未知赛制",
      "limitations": "未核验完整系列连接的比赛隔离；DCGI 全部已收录对局作为一个保守测试块，84 场保留评估分区，13 个别名重复；冻结至指定旧快照，非实时采集"
    },
    {
      "requirement": "排除盲选、Classic / Full Fearless 机会分开",
      "implementation": "上游显式盲选已排除；已知规则分别拟合；未知/混合/不完整选禁系列不训练机会",
      "limitations": "历史规则及修订有缺失；未猜成 Classic，LEC 2024 证据保留修订 caveat"
    },
    {
      "requirement": "实际分路、10/15分钟 CS/金币/经验，完整下路双人对位",
      "implementation": "原目标、独立有限标签分母、四英雄键、ADC CS/双人金币经验、完整消融",
      "limitations": "物理站线/换线/游走/介入仍未知"
    },
    {
      "requirement": "稀疏共享/收缩与不确定性",
      "implementation": "正则英雄/双人项、规范对位残差收缩、低支持分组、单次表现残差区间与系列误差差异区间",
      "limitations": "不提供伪造克制系数 CI；跨年区间覆盖不保证"
    },
    {
      "requirement": "共选、同队、敌对关系分开；控制版本/双方/实力/单英雄基线",
      "implementation": "独立共选；全局五模型；版本类别/主次版本、赛区/赛制/赛前 Elo；负结果保留回退",
      "limitations": "未知赛制可能残留混杂；全部关系为调整后关联而非因果克制"
    },
    {
      "requirement": "职业为主，少量同口径排位辅助，禁用选手英雄胜率/KDA加分",
      "implementation": "独立 2493 场迁移验证已交付；无稳定金币收益，当前贡献零；M2 特征不含个人英雄胜率/KDA",
      "limitations": "排位逐局队列与段位未知；不声明全部大师以上"
    },
    {
      "requirement": "版本/英雄/候选分路/当前阵容查询，支持与来源，队伍倾向接口",
      "implementation": "统一 JSON API；可行联合分路边缘化；当前前缀与带来源的可用池；team 历史上下文",
      "limitations": "默认客户端 roster 不是官方禁用名单；调用方池未经项目独立核验，不虚报合法概率或 T1 优线偏好"
    },
    {
      "requirement": "时间/完整系列验证、去重、脚本/参数/结构化结果/可视化/覆盖报告；不覆盖 M1",
      "implementation": "分组切分、完成后标签、固定回放、哈希、全部消融与本报告；M1/M3 文件不改",
      "limitations": "2026 已被查看过，仅回顾诊断；M4 接入与未来未见窗口为后续工作"
    }
  ],
  "coverage": {
    "input_games": 16437,
    "admitted_games": 15669,
    "game_status_counts": {
      "incomplete_or_unverified_series_join": 671,
      "admitted": 15669,
      "reserved_evaluation_partition": 84,
      "duplicate_alias": 13
    },
    "formats": {
      "unknown": 12523,
      "classic": 209,
      "full_fearless": 2937
    },
    "splits": {
      "train": {
        "games": 12114,
        "series": 6128
      },
      "selection": {
        "games": 618,
        "series": 243
      },
      "calibration": {
        "games": 401,
        "series": 142
      },
      "test": {
        "games": 2536,
        "series": 979
      }
    }
  },
  "ranked_production_weight": 0
}
