flowchart TD
A["prepare"] --> B["detect"] --> C["plan"] --> D["build baseline LLVM(合并前)"]
D --> STEP
subgraph STEP["每个 step(循环)"]
direction TB
M["merge<br/>git merge -X theirs --no-ff"]
R["resolve<br/>AI 解冲突<br/>解完立即提交解冲突结果<br/>git commit --no-edit -s"]
P["ta_patch<br/>AI 调整 hunk 位置直到<br/>git apply --check 通过,然后 apply"]
PFAIL{"ta_patch_ok ?"}
FAIL["UpgradeFailed<br/>本 step 中止"]
BT["build / test<br/>在打了补丁的代码上运行"]
CM["commit<br/>git add -A 后排除 patch 触碰文件"]
RV["revert patches<br/>git checkout -- touched_files"]
M --> R --> P --> PFAIL
PFAIL -->|"false"| FAIL
PFAIL -->|"true"| BT --> CM --> RV
end
STEP --> F["finalize"] --> G["push PR(可选)"]
1. 每步流程(ta_main 模式)
flowchart TD A["prepare"] --> B["detect"] --> C["plan"] --> D["build baseline LLVM(合并前)"] D --> STEP subgraph STEP["每个 step(循环)"] direction TB M["merge<br/>git merge -X theirs --no-ff"] R["resolve<br/>AI 解冲突<br/>解完立即提交解冲突结果<br/>git commit --no-edit -s"] P["ta_patch<br/>AI 调整 hunk 位置直到<br/>git apply --check 通过,然后 apply"] PFAIL{"ta_patch_ok ?"} FAIL["UpgradeFailed<br/>本 step 中止"] BT["build / test<br/>在打了补丁的代码上运行"] CM["commit<br/>git add -A 后排除 patch 触碰文件"] RV["revert patches<br/>git checkout -- touched_files"] M --> R --> P --> PFAIL PFAIL -->|"false"| FAIL PFAIL -->|"true"| BT --> CM --> RV end STEP --> F["finalize"] --> G["push PR(可选)"]