feat(PR 阻擋): PR 未合併不開下一包,檢查時一併讀留言並詢問是否修正

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-08-25 12:08:11 +08:00
co-authored by Claude Opus 5
parent d8656a4ca3
commit 3cc5bb5cd2
3 changed files with 39 additions and 22 deletions
+13 -3
View File
@@ -95,13 +95,23 @@ SDLC 各階段引用的參考分支與來源分支,**一律指遠端的 `origi
### 移除時機
**PR 建立成功後自動移除**:`git worktree remove {路徑}`。
**PR 合併之後才移除**:`git worktree remove {路徑}`,接著 `git worktree prune`。
- 只有 `jsc-git:pr` 回報 PR 建立成功才移除;PR 失敗就保留,讓使用者能接手處理。
不是 PR 建立後就移除——審查留言可能要求修改,而修改要回到同一個 worktree、推到同一條工作分支(PR 會自己更新,不開第二個 PR)。先移除就得為了改一行重建整個 worktree。
- PR 尚未合併 → 保留。PR 建立失敗 → 保留,讓使用者接手處理。
- worktree 內還有未提交變更時**不移除**,回報並停止——那些變更沒有進 PR,移除等於丟掉。
- 移除後順手 `git worktree prune` 清掉殘留記錄。
- 同一份分析的多個 worktree 全部移除後,若 `.worktree/{HASH}/` 已空就一併刪掉那層目錄。
### PR 未合併就不開下一個工作包
一個工作包的 PR 還沒合併,就不得開始下一包。每次要領工作包之前先確認:
1. `gitea.sh pr-status {owner}/{repo} {index}` 看 `{state} {merged} {mergeable}`。
2. 未合併 → **同時**用 `gitea.sh pr-comments {owner}/{repo} {index}` 讀留言(issue 留言、審查評語、行內留言,含沒有文字的 `APPROVED`/`REQUEST_CHANGES`),原文轉述給使用者。
3. 依 `jsc-ask:ask` 詢問:依留言修正(回原 worktree 改、推同一條工作分支)或先等待。**不自行決定,也不為同一包開第二個 PR。**
4. 已關閉但未合併 → 回報並詢問,不得當成完成。
## 不破壞既有工作
- 工作區有未提交變更時,先提醒使用者 commit 或備份,**絕不**強制丟棄。