b790c3a78d
發現於 inkstone/InkStoneCo#57/inkstone/ISEP#32:要把 InkStoneCo 本機 `.claude/hooks/arcrun-intent-guard.sh`(連同它同目錄的 arcrun_intent_guard.py) 移除、改吃 ISEP 這份之前,實測 ISEP 版才發現 `hooks/arcrun-intent-guard.sh` 呼叫的 `arcrun_intent_guard.py` 從未進過 ISEP 的 git 歷史(`git log --all` 0 命中)——`exec python3 "$DIR/arcrun_intent_guard.py"` 找不到檔案, python3 直接噴 OS 層錯誤、exit 2,**每一次 Write/Edit/MultiEdit 都被無條件擋下**, 不是「規則判定違規才擋」,是檔案不存在導致的硬當機。 這比 kbdb_cmd_check.py 那次(PR #39)更嚴重:那次是「該擋的沒擋」(靜默放行), 這次是「不管寫什麼都擋」——方向相反,但同一個病根:hook 的 shell 外殼進了 git,Python 主體沒有。 修法:把 InkStoneCo 本機那份(唯一存在的正本)原樣搬進來。這支腳本本來就設計 成離開 InkStoneCo 語境會優雅放行(`rules_path` 不存在 → return 0),只是 之前連跑到那行都做不到。 實測 3 種情境: - ISEP 語境(沒有 intent-rules.json):exit 0(修好前是 exit 2,任何寫入都被當機式擋下) - InkStoneCo 語境、合法內容:exit 0 - InkStoneCo 語境、真違規(`ON_FAILURE` 這種不存在的邊):exit 2(行為不變,沒有變寬鬆) Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>