RCF-041 — 壓縮接續規則升規:授權狀態分支判斷
類型:規則變更 日期:2026-05-07 觸發條件:條件 1 — 修改 HARD STOP 規則(上下文壓縮後強制接續規則 Step 4 實質修改) 相關文件:
CLAUDE.md(主規則,L82 頭部描述 + L98 Step 4 + L104 禁止項)scripts/postcompact-reminder-hook.py(L31 Step 4 hook 注入文字)
問題背景
現行「上下文壓縮後強制接續規則」Step 4 為:「直接執行 — 不等 Tim 說「繼續」、「進度如何」、「接著做什麼」」。
此設計假設壓縮前任務均已獲得執行授權,但實際存在以下情況:
- 壓縮前任務仍在查照階段(尚未說「執行」)
- 查照已輸出但 IAUD 發現缺口正在補完中
- Tim 與 Claude 正在討論方向或策略,尚未進入執行
在這些情況下,壓縮後「直接執行」違反了兩段式協議的授權邏輯——執行授權必須來自 Tim 明確說「執行」,壓縮截斷的是上下文記憶,而非授權狀態。
觸發事件:2026-05-07 Tim 在對話中直接指出:「調整規則,壓縮後不要接續直接作業,有時候的進度我們還在檢討中。改成「壓縮後接續前面未完成的動作,如果我之前沒有同意執行,一樣繼續查照」」
考慮過的方案
| 方案 | 描述 | 優點 | 缺點 | 採用? |
|---|---|---|---|---|
| 方案 A(原方案) | 壓縮後一律直接執行 | 流程最快,減少摩擦 | 忽略授權狀態,違反兩段式協議精神;壓縮前仍在查照的任務被錯誤視為已授權 | ❌ 未採用 |
| 方案 B(無條件查照) | 壓縮後一律輸出完整查照再等「執行」 | 最安全,保證授權鏈完整 | 已在執行中的任務被迫重新查照,增加不必要摩擦;Tim 說過「執行」的授權被捨棄 | ❌ 未採用 |
| 方案 C(條件分支,最終採用) | 依摘要顯示的授權狀態分支:已授權→直接執行;未授權→輸出完整查照 | 保留已授權任務的流暢性;補回未授權任務的查照步驟;與兩段式協議邏輯完全一致 | 需要 Claude 判斷摘要中的授權狀態(設定明確信號詞 + 預設保守路徑降低誤判風險) | ✅ 採用 |
最終決策
採用方案 C 條件分支,並補充以下設計細節以降低誤判風險:
- 已授權信號詞(任一出現即為已授權):Tim 已說「執行」、「已授權執行」、摘要 Current Work 顯示「執行中」、「已完成 N/M 步驟」
- 未授權路徑觸發條件:查照已輸出但尚未收到「執行」、查照有缺口正在補完、正在討論或策略確認中、摘要無法明確判斷
- 預設保守路徑:無法判斷時一律走未授權路徑(寧可多一次查照,不可跳過授權)
WHY:壓縮截斷上下文記憶,但不截斷授權狀態。已獲授權的任務繼續執行,未獲授權的任務重新查照,是對兩段式協議最忠實的詮釋。
影響範圍
| 影響類型 | 具體項目 |
|---|---|
| 修改文件 | CLAUDE.md — L3 版本號 v2.0→v2.1;L82 頭部描述更新;L98 Step 4 改為條件分支;L104 禁止項第一條加授權範圍限定 |
| 修改文件 | scripts/postcompact-reminder-hook.py — L31 Step 4 文字同步為條件分支說明 |
| 觸發部門同步 | Grep 確認無其他部門 CLAUDE.md 直接引用此規則,無需批量同步 |
| 影響的 SKILL | 無(SKILL 文件不直接描述壓縮接續行為) |
| 版本號遞增 | CLAUDE.md v2.0 → v2.1(HARD STOP 修改觸發) |
驗證方式
下次對話因上下文壓縮截斷後,觀察 Claude 的行為:
- 已授權任務場景(摘要顯示「執行中」)→ 應直接接續執行,不輸出完整查照
- 未授權任務場景(摘要顯示「查照中」或「討論中」)→ 應輸出完整「作業前查照」,結尾有「執行計畫確認後請說「執行」」,不直接開始工作
- 模糊場景(摘要無法明確判斷)→ 應走未授權路徑,輸出完整查照
hook 注入文字(postcompact-reminder-hook.py)同步更新後,壓縮後注入 Claude context 的提示已包含條件分支說明,有助強化判斷一致性。