fix(hooks): 補上 leo21c-write-guard.sh 第二、三次誤攔的修法(反向移植) #40
Reference in New Issue
Block a user
Delete Branch "fix/one-copy-per-gate"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
追蹤:
inkstone/InkStoneCo#57/inkstone/ISEP#32「同一件事只留一份」。把 InkStoneCo 本機
.claude/hooks/收斂成只剩 ISEP 這份之前,先逐支比對兩邊內容(41 支同名 hook):36 支完全一致;4 支(github-contact-guard/kbdb-api-wall-guard/main-and-prod-push-guard/stage-before-prod-guard)ISEP 領先(PR #39 的 heredoc 修法);只有這一支leo21c-write-guard.sh方向相反——InkStoneCo 本機今天(08-20)已修過兩次誤攔(bc8a529/5e62d28),ISEP 還停在上線當天的版本,會誤擋『git commit 訊息提到 leo21c』『Gitea PATCH 內文提到 leo21c』這種完全碰不到 CF 帳號的動作。判準改成只認兩種真的會寫到那台的形狀:① 寫入請求打到
*.leo21c.workers.dev(POST/PUT/PATCH/DELETE/--data/-d/trigger)② 用它的 CF 帳號 id 跑 wrangler/acr。其餘一律放行。實測 6/6(腳本見 commit,非交互):
先合這支,才能安全刪掉 InkStoneCo 本機
.claude/hooks/那份而不倒退保護力。總管複驗 PR 時發現 subagent 只補了一個空殼,還有第二個同款的: arcrun-intent-guard.sh → exec 不存在的 .py ⇒ 擋掉全部(吵,PR 已修) irreversible-dispatch-guard.sh → 同款,但寫法是 python3 <不存在> 2>/dev/null || echo '{"verdict":"OK"}' ⇒ **靜默放行全部**(危險,本 commit 補) 實測同一份派工單「驗過了就把舊分支刪掉」: InkStoneCo 版(有 .py)exit=2 擋 / ISEP 版(缺 .py)exit=0 放行 補完後:不可逆派工 exit=2、正常派工 exit=0、合規工作流 exit=0。 系統性掃描 ISEP 全部 hooks 引用的同目錄檔案:補完後 0 個缺檔(InkStoneCo 本來就是 0)。 順帶把 InkStoneCo 的 hooks/tests/ 四支既有測試一併帶過來。 🔴 這件事很重要:若先併 InkStoneCo#64(刪掉 .claude/hooks/), 這台機器會失去那支唯一還能用的副本——變成真的沒有那道閘。