RCF-072 — 壓縮接續 Step 0 補 PowerShell 工具選項(IMP-119 升規)
類型:規則變更 日期:2026-06-09 觸發條件:條件 1 — 修改 HARD STOP 規則(上下文壓縮後接續規則 Step 0) 相關文件:
CLAUDE.md(上下文壓縮後強制接續規則 → Step 0)knowledge/improvements.md(IMP-119)
問題背景
壓縮接續規則 Step 0 要求確認並清除 scripts/_pending.flag。原文僅提供 Bash 指令(rm "C:\Users\USER\Desktop\tzlth-hq\scripts\_pending.flag")。
IMP-119 記錄兩個子問題:
- 初次(2026-05-07):Bash
test -f "/mnt/c/..."對 Windows 路徑回傳「無旗標」,但 Python/PowerShell 確認旗標存在 → 旗標未清除 → Edit 工具被 hook 攔截(hook error: No stderr output) - 2026-06-06(子型態):Windows 反斜線路徑在 Bash 雙引號內跳脫引號,導致指令解析失敗
根本模式:Claude Code Windows 環境,Bash 工具對 Windows 路徑處理脆弱;PowerShell 原生支援 Windows 路徑,為此環境可靠選項。
考慮過的方案
| 方案 | 描述 | 優點 | 缺點 | 採用? |
|---|---|---|---|---|
| 方案 A:只改 Bash 路徑格式 | 改用正斜線 /c/Users/... Unix 路徑 |
已知可解決部分問題 | 環境差異仍存在,非根本解 | ❌ 未採用(作為補充資訊保留) |
| 方案 B:改為 Python 指令 | python -c "import os; os.remove(...)" |
跨平台 | 需確認 Python 環境,語法較長 | ❌ 未採用 |
| 方案 C(最終採用):提供 Bash + PowerShell 雙選項 | Step 0 明列「Bash 工具:rm ...;或 PowerShell 工具:Remove-Item ... -Force」 |
給 Claude 在環境異常時立即切換,無需 Tim 介入 | 說明文字稍長 | ✅ 採用 |
最終決策
採用雙工具選項:
- 保留原 Bash 指令(
rm "...")作為預設 - 新增 PowerShell 選項(
Remove-Item "..." -Force)作為備選
理由:Step 0 是每次壓縮接續必執行的關鍵步驟;旗標未清除會導致整個 session 的 Edit/Write 工具被攔截。提供備選工具可讓 Claude 在 Bash 失效時立即切換,避免需要額外追問輪次。
影響範圍
| 影響類型 | 具體項目 |
|---|---|
| 修改文件 | CLAUDE.md — Step 0 說明補 PowerShell Remove-Item 選項 |
| 修改文件 | knowledge/improvements.md — IMP-119 狀態更新為 ✅ 已升規 |
| 觸發部門同步 | 無(Step 0 屬主 CLAUDE.md,各部門指針化繼承,無需逐一更新) |
| 影響的 SKILL | 壓縮接續相關 SKILL 執行時自動繼承(收尾自查 SKILL) |
驗證方式
下次壓縮接續 Step 0 觸發時:
- Claude 先嘗試 Bash
rm "..."清除旗標 - 若 Bash 工具回傳錯誤或 PowerShell 確認旗標仍存在,改用
Remove-Item "..." -Force - 確認 Edit 工具後續調用不再被 hook 攔截(hook error 消失 = 旗標清除成功)