← Projects / 依赖迁移 Agent · 实验项目

BranchShift

让三条迁移策略从同一基线出发,用原有测试筛选补丁,再从干净环境复验,并保留失败记录。

Stack
React · FastAPI · SQLite
Status
实验阶段 · 迁移验证
BranchShift 历史实测界面,展示迁移候选、验证结果与补丁下载
提交 63cf7fd 对应的历史实测界面。完成状态表示该次迁移通过了记录中的检查,不能推及任意项目。
Case record

问题

自动生成一个看似合理的迁移补丁并不难,难的是知道它有没有破坏已有行为,以及失败发生在哪一步。

判断

把生成与验收分开:Nemotron 提出三种策略,各自从相同 Sandbox 基线修复;测试、依赖检查、lint 和补丁大小参与选择,最终结果还要重新验证。

实现

  • →克隆公开仓库、记录源码版本与原有测试,保护测试文件和配置,限制每条候选的修复次数。
  • →保留独立候选的检查结果与失败原因;通过筛选的补丁需再次从干净基线执行验证。
  • →以 SQLite 保存运行事件,支持刷新恢复、事件回放,以及 JSON、Markdown 报告和补丁下载。
  • →完成受控 Pydantic 迁移案例与一次私有托管验收,同时公开外部项目比较中的失败记录。
Evidence / 可验证记录
Method
三条候选 / 同一基线
Validation
原有测试 / 干净环境复验
Artifacts
补丁 / 报告 / 事件记录
Stage
受控案例 · 实验验证

五个小型自建案例已有实测记录,但部分结果使用 Pydantic v1 兼容 API。外部 pydantic-yaml 案例的自主尝试未通过补丁生成预检,未进入候选测试;不据此宣称通用迁移可靠性。托管预览需要凭据。

想看实现细节、安装方式和最新进展?