展开本页目录
开始前准备什么
- 先下载并解压本题工程,在独立练习目录保留starter、reference和原始输入。
- 本地参考主要需要Python 3与现代桌面浏览器;涉及Chrome扩展、LibreOffice、Git时按本文单独要求准备。
- 目标工具账号、模型额度与平台导入能力由读者另行确认;本文实际运行范围见执行记录,不自动调用付费服务。
- 用随包脚本生成独立示例仓库
- 让Gemini CLI运行当前运费边界测试并记录实际失败
- 用已知正确提交执行同一测试
- 写可重复的判定脚本
- 在示例仓库运行git bisect run
- 执行bisect reset回到起始分支
- 对阈值以下、等于、以上三组金额验证
starter、七步任务、原始输入、人工完成的可运行参考、真实运行结果与独立验收;不含账号、数据库或缓存。
原生账号任务、本地工程运行和官方示例分开说明。
1. 用随包脚本生成独立示例仓库
用随包脚本生成独立示例仓库,确认不在主工作树内。
rebuild_and_verify.py在临时目录重建9次提交,固定提交者和时间;ZIP不含.git。每次都有无关页面文字变化,第4次才修改免运边界。
2. 让Gemini CLI运行当前运费边界测试并记录实际失败
让Gemini CLI运行当前运费边界测试并记录实际失败。
当前逻辑把“金额等于100”算为运费8;独立真值为99→8、100→0、101→0。测试退出码必须先真正非0。
3. 用已知正确提交执行同一测试
用已知正确提交执行同一测试,建立good/bad两个端点。
第3次提交作为good,第9次作为bad,同一段测试代码在各版本运行,不读提交消息猜结果。
4. 写可重复的判定脚本
写可重复的判定脚本,约定错误退出码及无法测试时的跳过处理。
判定命令使用 python3 -c 载入shipping函数;脚本内联不随git切换,保证整个二分搜索使用同一规则。
5. 在示例仓库运行git bisect run
在示例仓库运行git bisect run,逐次记录实际命中提交。
执行git bisect run后核对首坏提交等于预埋第4次;实际bisect log完整保存,提交SHA可重建复核。
独立目录练习命令
cd reference
python3 rebuild_and_verify.py6. 执行bisect reset回到起始分支
执行bisect reset回到起始分支,最小修复坏提交引入的边界。
bisect reset回到main,再把比较符改回>=。不要在用户共享仓库中为了练习改写分支。
7. 对阈值以下、等于、以上三组金额验证
对阈值以下、等于、以上三组金额验证,再对照历史记录解释原因。
确认修复后退出码0、三组边界通过,同时index.html无关变动仍保留。把定位过程与最小修复分别解释。
怎样确认已经完成
- 找到的首个坏提交和预埋真值一致,不能只按提交标题判断。
- 同一判定脚本在已知good和bad分别得到预期退出状态。
- 结束后回到原分支,修复仅动运费规则;三组边界与无关页面回归通过。
常见问题
代码前几天还正常,AI能找出是哪次提交改坏的吗?
当前逻辑把“金额等于100”算为运费8;独立真值为99→8、100→0、101→0。测试退出码必须先真正非0。 执行git bisect run后核对首坏提交等于预埋第4次;实际bisect log完整保存,提交SHA可重建复核。
一堆提交里怎么定位让运费算错的那一条?
判定命令使用 python3 -c 载入shipping函数;脚本内联不随git切换,保证整个二分搜索使用同一规则。 确认修复后退出码0、三组边界通过,同时index.html无关变动仍保留。把定位过程与最小修复分别解释。
下载包哪些内容已实际运行,哪些需要自己在原生工具中验证?
已真实重建9提交Git历史、bisect找到第4次并reset回main,修复边界测试通过;Gemini CLI会话未执行。 官方图片只证明所标入口或设置,不是本站原生任务执行截图。



