fix(ci): 格式修复防循环索引 + AI审查fail-open(2个bug修复) #1045

Merged
xiaoxia merged 4 commits from fix/auto-fix-loop-detection into main 2026-07-28 09:52:23 +08:00
Owner

Bug修复合集

Bug 1: 防循环检测取错commit

Gitea PR commits API 返回倒序(最新在前),commits[-1] 取到最早的 commit,防循环检测失效。
修复:commits[-1]commits[0]

Bug 2: AI Code Review fail-open 未生效

代码注释写了fail-open原则,但LLM调用失败和未捕获异常时都是 exit 1,会阻塞PR合并。
修复:两处 exit 1exit 0

  • LLM调用超时/失败:不阻塞
  • 脚本异常崩溃:不阻塞

fail-open原则:AI审查是辅助手段,自身故障不能阻塞正常开发。

## Bug修复合集 ### Bug 1: 防循环检测取错commit Gitea PR commits API 返回倒序(最新在前),`commits[-1]` 取到最早的 commit,防循环检测失效。 修复:`commits[-1]` → `commits[0]` ### Bug 2: AI Code Review fail-open 未生效 代码注释写了fail-open原则,但LLM调用失败和未捕获异常时都是 `exit 1`,会阻塞PR合并。 修复:两处 `exit 1` → `exit 0` - LLM调用超时/失败:不阻塞 - 脚本异常崩溃:不阻塞 fail-open原则:AI审查是辅助手段,自身故障不能阻塞正常开发。
xiaoxia added 1 commit 2026-07-28 08:20:25 +08:00
fix(ci): 防循环检测取最新commit - API返回倒序用[0]而非[-1]
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 54s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 48s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 1m12s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 1m9s
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
PR Automation / Auto Merge on CI Green + Approved (pull_request) Has been skipped
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 1m12s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 26s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / Build Production API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / Canary Release to Production (pull_request) Has been skipped
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 1m43s
AI Code Review / AI Code Review (pull_request) Successful in 1m29s
Preview Deploy / Deploy Preview Environment (pull_request) Failing after 2m15s
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 4m20s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m36s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 4m9s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 1m52s
CI/CD Pipeline / CI Gate (pull_request) Successful in 6s
2c5281e6d9
Gitea PR commits API返回倒序(最新在前),commits[-1]取到最早的commit,
导致防循环检测失效。修复为commits[0]取最新commit。
Collaborator

【阻塞级判定】

  • 是否存在阻塞级问题:否
  • 阻塞级问题数量:0 个

📊 审查概览

  • 整体评价:通过
  • 建议级问题数量:0 个

🔴 阻塞级问题(必须修复)

💡 改进建议(不阻塞合并)

良好实践

  1. [scripts/ci/auto_fix_formatting.py: 261] 修正了获取最新提交信息的逻辑。GitHub API 返回的 commits 列表默认按时间倒序排列(最新的在前),使用 commits[0] 能够正确获取到最新的提交信息,从而准确判断是否需要跳过格式修复,有效防止了 CI 循环触发问题。

🤖 由 AI 代码审查机器人自动生成 | 2026-07-28 00:24:25 | 模型:

### 【阻塞级判定】 - 是否存在阻塞级问题:否 - 阻塞级问题数量:0 个 ### 📊 审查概览 - 整体评价:通过 - 建议级问题数量:0 个 ### 🔴 阻塞级问题(必须修复) 无 ### 💡 改进建议(不阻塞合并) 无 ### ✅ 良好实践 1. **[scripts/ci/auto_fix_formatting.py: 261]** 修正了获取最新提交信息的逻辑。GitHub API 返回的 commits 列表默认按时间倒序排列(最新的在前),使用 `commits[0]` 能够正确获取到最新的提交信息,从而准确判断是否需要跳过格式修复,有效防止了 CI 循环触发问题。 --- <sub>🤖 由 AI 代码审查机器人自动生成 | 2026-07-28 00:24:25 | 模型: </sub> <!-- AI_CODE_REVIEW_AUTO_COMMENT -->
xiaoxia added 1 commit 2026-07-28 08:58:34 +08:00
fix(ci): AI Code Review fail-open - LLM失败/异常时不阻塞合并
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
PR Automation / Auto Merge on CI Green + Approved (pull_request) Has been skipped
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Build Production API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been skipped
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Canary Release to Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / Check if frontend-only change (pull_request) Has been cancelled
CI/CD Pipeline / Validate - Code Quality (pull_request) Has been cancelled
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Has been cancelled
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Has been cancelled
CI/CD Pipeline / Unit Tests (pull_request) Has been cancelled
CI/CD Pipeline / Integration Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been cancelled
CI/CD Pipeline / PR Build API Image (pull_request) Has been cancelled
CI/CD Pipeline / PR Build Web Image (pull_request) Has been cancelled
CI/CD Pipeline / PR Build Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / CI Gate (pull_request) Has been cancelled
AI Code Review / AI Code Review (pull_request) Has been cancelled
Preview Deploy / Deploy Preview Environment (pull_request) Has been cancelled
PR Automation / Auto Approve on CI Green (pull_request) Successful in 1m7s
09c878621d
修复两处违反fail-open原则的bug:
1. LLM调用失败返回None时 exit 1 → exit 0
2. 未捕获异常时 exit 1 → exit 0

fail-open原则:AI审查是辅助手段,不能因自身故障阻塞正常开发流程。
xiaoxia added 1 commit 2026-07-28 08:59:09 +08:00
fix(ci): AI Code Review fail-open - LLM失败/异常时不阻塞合并
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
PR Automation / Auto Merge on CI Green + Approved (pull_request) Has been skipped
CI/CD Pipeline / Check if frontend-only change (pull_request) Has been cancelled
CI/CD Pipeline / Validate - Code Quality (pull_request) Has been cancelled
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Has been cancelled
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Has been cancelled
CI/CD Pipeline / Unit Tests (pull_request) Has been cancelled
CI/CD Pipeline / Integration Tests (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Lint (pull_request) Has been cancelled
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been cancelled
CI/CD Pipeline / PR Build API Image (pull_request) Has been cancelled
CI/CD Pipeline / PR Build Web Image (pull_request) Has been cancelled
CI/CD Pipeline / PR Build Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been cancelled
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been cancelled
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been cancelled
CI/CD Pipeline / Build Production API Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Web Image (pull_request) Has been cancelled
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been cancelled
CI/CD Pipeline / Deploy Production (pull_request) Has been cancelled
CI/CD Pipeline / Production Browser E2E (pull_request) Has been cancelled
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been cancelled
CI/CD Pipeline / Canary Release to Production (pull_request) Has been cancelled
CI/CD Pipeline / CI Gate (pull_request) Has been cancelled
AI Code Review / AI Code Review (pull_request) Has been cancelled
Preview Deploy / Deploy Preview Environment (pull_request) Has been cancelled
PR Automation / Auto Approve on CI Green (pull_request) Successful in 1m13s
424c736275
修复两处违反fail-open原则的bug:
1. LLM调用失败返回None时 exit 1 → exit 0
2. 未捕获异常时 exit 1 → exit 0

fail-open原则:AI审查是辅助手段,不能因自身故障阻塞正常开发。
xiaoxia added 1 commit 2026-07-28 08:59:42 +08:00
fix(ci): AI Code Review fail-open - LLM失败/异常时不阻塞合并
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Build Production API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Web Image (pull_request) Has been skipped
Preview Deploy / Deploy Preview Environment (pull_request) Failing after 38s
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been skipped
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Canary Release to Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 55s
CI/CD Pipeline / PR Build Web Image (pull_request) Successful in 1m19s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 1m20s
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 1m21s
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 1m27s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 1m45s
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 1m45s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been skipped
PR Automation / Auto Approve on CI Green (pull_request) Successful in 4m23s
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 4m55s
AI Code Review / AI Code Review (pull_request) Successful in 6m52s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 3m28s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 2m22s
CI/CD Pipeline / CI Gate (pull_request) Successful in 7s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Failing after 14m54s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 22s
ACR Cleanup / ACR Image Cleanup (pull_request_target) Successful in 25s
71d062ba63
修复两处违反fail-open原则的bug:
1. LLM调用失败返回None时 exit 1 → exit 0
2. 未捕获异常时 exit 1 → exit 0

fail-open原则:AI审查是辅助手段,不能因自身故障阻塞正常开发。
xiaoxia changed title from fix(ci): 防循环检测取最新commit - API返回倒序用[0]而非[-1] to fix(ci): 格式修复防循环索引 + AI审查fail-open(2个bug修复) 2026-07-28 09:00:46 +08:00
xiaoxia reviewed 2026-07-28 09:50:35 +08:00
xiaoxia left a comment
Author
Owner

LGTM - bug fixes verified

LGTM - bug fixes verified
xiaoxia merged commit 02e3246f5a into main 2026-07-28 09:52:23 +08:00

🗑️ 预览环境已清理

PR #1045 已关闭或合并,对应的预览环境已被清理。

如有需要,可以重新打开 PR 来重新生成预览环境。

🗑️ **预览环境已清理** PR #1045 已关闭或合并,对应的预览环境已被清理。 > 如有需要,可以重新打开 PR 来重新生成预览环境。
Sign in to join this conversation.