Commit 7318fa3
committed
fix(compose): repairWithLLM 失败时给出明确日志,加 1 项跨 step 同名变量边界测试
深挖 0.6.10 的修复链发现两个细节问题:
1. repairWithLLM 失败时 catch 静默吞错。LLM 因网络/认证/超时失败时只返回
{ ok: false },调用方继续走,最终用户看到 "LLM 修复后仍有 X 个变量未解决"
会以为 LLM 修了但不够,实际根本没调通。改为在 stderr 写明失败原因
2. 跨 step 同名 bad var 的已知 limitation: 第一个 step 把 {{review}}
全局 replace 后,第二个 step 即使上游不含该 output 也会被改。这是 autoFix
按 step 处理但用全局正则 replace 的折衷。新增针对性测试明确这个行为,
留给 LLM repair 兜底1 parent 5968445 commit 7318fa3
3 files changed
Lines changed: 50 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
5 | 13 | | |
6 | 14 | | |
7 | 15 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
773 | 773 | | |
774 | 774 | | |
775 | 775 | | |
| 776 | + | |
776 | 777 | | |
777 | 778 | | |
778 | 779 | | |
779 | 780 | | |
780 | | - | |
| 781 | + | |
| 782 | + | |
| 783 | + | |
781 | 784 | | |
782 | 785 | | |
783 | 786 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
348 | 348 | | |
349 | 349 | | |
350 | 350 | | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
| 381 | + | |
| 382 | + | |
| 383 | + | |
| 384 | + | |
| 385 | + | |
| 386 | + | |
| 387 | + | |
| 388 | + | |
351 | 389 | | |
352 | 390 | | |
353 | 391 | | |
0 commit comments