套用審查
協助使用者對每項發現做出決定,並僅套用他們批准的內容。
核心規則: 絕不假設、推斷或在沒有明確決定的情況下套用變更。如果發現的事項不明確,請先要求澄清,再提供選項。每項發現應獨立決定;切勿將它們合併處理。
成品與狀態
- 每個工作項目存放在
docs/specs/<YYYYMMDD>-<type>-<name>/中。 spec.md與plan.md在其 frontmatter 中帶有status: draft | approved | obsolete標記。只有使用者能將其設為approved。- 如果你修改了一個原是
approved的成品,請將其狀態設回draft,並告知使用者。
步驟 1:呈現發現
- 識別工作項目與審查文件(
review-spec.md或review-plan.md)。如果不清楚,請詢問使用者。 - 列出所有發現,編號標記,阻塞性項目優先。對每一項顯示:
- 發現 [N]: 審查指出的問題。
- 建議修正(如果有的話)。
- 選項:
- A) 直接套用修正。
- B) 套用修改後的修正(由使用者描述)。
- C) 捨棄,並附上原因。
- D) 擱置。
等待使用者對所有發現做出回應後,再繼續下一步。
步驟 2:確認
決策摘要
────────────────
[N] <標題> → 套用 / 修改 / 捨棄 / 擱置
詢問:「您是否確認這些決定,然後我再套用?」在獲得確認前,不得繼續。
步驟 3:套用
- 僅套用已確認的變更(A 和 B),且僅限於被審查的成品。不觸及其他內容。
- 在審查文件中,於每項發現下方註記所做的決定:
- 對於捨棄的項目,記錄原因;
- 對於擱置的項目,記錄尚待處理的事項。
- 告知使用者目前狀況:
- 如果沒有未解決的阻塞性發現,則該成品已準備好由使用者標記為
approved,或進行下一次review-spec審查。 - 如果仍有擱置的阻塞性發現,或捨棄的項目帶有風險,請指出。
- 如果沒有未解決的阻塞性發現,則該成品已準備好由使用者標記為
步驟 4:其他受影響的規格
檢查步驟 2 中的任何決定是否影響其他正在進行中的規格:
- 在
docs/specs/*/spec.md中尋找狀態為draft的規格。 - 對於每個規格,判斷是否有任何決定引入衝突、改變依賴關係或使假設無效。
- 對於每個可能受影響的規格:
- 顯示哪個規格、哪個章節以及需要變更的內容;
- 詢問:「此決定是否影響它?需要我提出變更嗎?」等待使用者回答「是」或「否」。
- 如果回答「是」,則僅起草最小變更(確切的章節與行數),顯示 diff 差異,並僅在獲得批准後套用。
請勿改善、擴充或重新格式化這些規格中的任何其他內容。如果在任何時候不清楚該怎麼做,請停下來詢問。