Skip to content

Add 23-doto run results with Elo backfill - #2

Draft
gaoxiaobei wants to merge 13 commits into
SAST-agent:mainfrom
gaoxiaobei:main
Draft

Add 23-doto run results with Elo backfill#2
gaoxiaobei wants to merge 13 commits into
SAST-agent:mainfrom
gaoxiaobei:main

Conversation

@gaoxiaobei

Copy link
Copy Markdown
  • Add ifelse_supreme eval run (20260723_0446)
    • 1 valid match vs public_b (loss), best Elo: 1484.0
  • Add public_a_reference eval run (20260722_1205)
    • 3 valid matches (1 win vs public_a, 2 losses vs public_b)
    • best Elo: 1516.0, final Elo: 1488.1
  • Add backfill_elo.py: computes Elo from matches.jsonl using
    framework's EloTracker (initial 1500, K=32, valid matches only)
  • Add .gitignore for build artifacts, logs, replays
  • Fix report_builder.py: wrap tojson in Markup() to prevent
    Jinja2 autoescape from corrupting JSON in <script> tags
  • Excluded from tracking: build binaries, .o files, stdout/stderr logs, replay.zip

- Add ifelse_supreme eval run (20260723_0446)
  - 1 valid match vs public_b (loss), best Elo: 1484.0
- Add public_a_reference eval run (20260722_1205)
  - 3 valid matches (1 win vs public_a, 2 losses vs public_b)
  - best Elo: 1516.0, final Elo: 1488.1
- Add backfill_elo.py: computes Elo from matches.jsonl using
  framework's EloTracker (initial 1500, K=32, valid matches only)
- Add .gitignore for build artifacts, logs, replays
- Fix report_builder.py: wrap tojson in Markup() to prevent
  Jinja2 autoescape from corrupting JSON in <script> tags
- Excluded from tracking: build binaries, .o files, stdout/stderr logs, replay.zip
@gaoxiaobei
gaoxiaobei marked this pull request as draft July 23, 2026 07:43
@gaoxiaobei

Copy link
Copy Markdown
Author

已更新 gaoxiaobei:main(新增提交 efcfee4)。

  • 新增框架生成的标准评测记录:runs/23_doto/ifelse_supreme/20260723_0935_4fbff88f/
  • 提交仅保留仓库既有格式中的 run.tomlsummary.json、事件/对局清单及四份 match.json;未纳入约 313 MB 的构建缓存、stdout/stderr 与回放临时产物。
  • python tests/test_doto_ifelse_source.py -v 通过。
  • 标准评测含 4 场有效对局:public_a 的 faction 0 获胜(581.5:533.5);public_b 两场仍告负,已在原始结果中如实保留,后续仍需继续优化。

@gaoxiaobei

Copy link
Copy Markdown
Author

轨迹驱动迭代已推送到 gaoxiaobei:main

  • 124e720:新增安全的 DOTO Replay 轨迹分析器、8 个测试,以及标准运行 20260723_0935_4fbff88f 的四份紧凑诊断报告。
  • 12699c5:按轨迹证据重构纯 if-else 角色:双 bonus 控制、单夺球 leader、双侧翼支援、分段水晶路径、全员陨石,以及双方同时持球时的 carrier 优先级覆盖。
  • 合入后测试:轨迹分析 8/8、策略源码 2/2 通过。

固定种子 20260724 的 quick screening(不作为标准 benchmark claim)中,当前候选对 public_a 为 2–0;对 public_b 仍为 0–2,但已从 0 捡球/0 进球推进到 faction 1 的 2 次捡球、1 次进球,单局比分由约 10–180 提升到 92–178。因此暂不提交新的标准结果,继续优化 faction 0 与运输生存后再跑完整 standard。

@gaoxiaobei

Copy link
Copy Markdown
Author

最后一天冲刺进度更新(截至 2026-07-26 上午):

  • 已继续维护纯 if-else 23_doto 候选,并补全 6000 帧双方阵营的 bonus 生成前定时清场表;轨迹分析与策略源码测试目前 11/11 通过。
  • 自定义 300 秒诊断中,当前较好记录为:faction 1 694:978(此前约 580:1015);faction 0 通过“敌方先持球时保留一名反抢主力”从 449.5:1064.5、3 球提升到 538.3:1050.7、5 球。
  • 已生成新的合法官方 quick 运行 runs/23_doto/ifelse_trajectory_v15/20260725_1459_9bcf4eee/:4/4 有效,public_a 两阵营 2–0;public_b 仍 0–2(均值 52.5:183)。该结果是 screening claim,不作为已击败 public_b 的结论。
  • 官方回放定位到 faction 0 的主要问题是 public_b 先拿球后全员回防、导致完全触不到敌方水晶;阵营专用反抢规则已在最新官方 public_b 构建上把 60 秒对局从 21:172、0 球改善到两次复本约 132.5:141.5123:153、均为 1 球。

当前改动尚未提交/推送:我会继续用最新官方 public_b 构建做 faction 1 专项优化,复跑官方 quick;只有形成更强且格式合法的结果后再精确提交并更新本 PR,避免把退化实验或临时产物混入结果仓库。

@gaoxiaobei

Copy link
Copy Markdown
Author

上午冲刺版本已提交并推送:755a532 feat: strengthen trajectory-guided doto agent

提交内容:

  • 纯 if-else 策略增强:完整 bonus 定时表、掉球全队接力、反抢承诺、20 帧火球轨迹躲避、faction 1 开局射击横移,以及双方开局在对手先持球时保留一名反抢主力。
  • 源码/轨迹测试:11/11 通过;git diff --cached --check 通过。
  • 合法 quick v17:runs/23_doto/ifelse_trajectory_v17/20260726_0236_cf6d484f/,4/4 valid;public_b 两场均取得 1 球,均分由 v16 的 52.75:183.25 提升到 112.25:162.75,但仍 0–2。
  • 合法 standard v18:runs/23_doto/ifelse_trajectory_v18/20260726_0246_33dd05ca/claim_level=benchmark、4/4 valid。public_b faction 0 为 460:1282(5 球),faction 1 为 527.33:1054.67(5 球),仍 0–2;该结果如实提交,未声称已击败 public_b。
  • 提交仅包含仓库既有紧凑格式(run/summary/events/matches 与四份 match.json),未纳入构建缓存、二进制、日志或回放 ZIP。

额外交叉筛选证据:同一候选在上一官方 public_b 构建的 faction 1 对局中取得过 142:135 胜局,但由于 public_b 每次重新构建的采样轨迹差异明显,这不作为 standard claim。后续若继续冲刺,将以跨构建鲁棒性和 standard 胜局为唯一完成标准。

@gaoxiaobei

Copy link
Copy Markdown
Author

阶段更新(commit 3492a6c):保留并推送了轨迹驱动的 90m 远端持球反抢规则。固定 v18 public_b 的 300 秒 faction1 对照从 527.333:1054.667 改善到 586.667:1005.333,分差缩小约 108 分,水晶拾取从 7 增至 14,仍为 5 次进球;另一套 v17 public_b 的 180 秒复验为 390.333:633.667、3 次进球,未出现跨构建崩溃。源代码测试 11/11 通过。研究 public_b 调度与回放后又单变量验证了 ETA 下一轮流水线、队友/墙体爆点预测、动态补给相位校正,三者均在同构建 A/B 中退化,已完整回滚,未混入提交。当前尚未取得合法 standard 胜局,继续针对持球转化率和补给点长期控制迭代。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant