• claude-code released this 2026-08-31 01:05:36 +00:00 | 4 commits to main since this release

    leo 2026-08-16 在 inkstone/InkStoneCo#40 裁定「取消 Active SDD」。十五天過去,裁決沒有被執行——因為執行它會觸發一把沒人注意到的引信。這一版把引信拆掉。

    🔴 引信比總管以為的更嚴重:它不是「等人去拆才會炸」,是已經在炸

    總管在票上寫的是未來式:「拿掉 active SDD 會鎖死所有 code 寫入」,並誠實標記「這是讀規則推的,不是實測」。

    工人開工第一個指令就撞到了,而且不必拋棄式環境——inkstone/ISEP 這個 repo 自己就沒有 system-dev/docs/3-specs/

    $ echo '{"tool_name":"Edit","tool_input":{"file_path":".../hooks/lib/dispatch_parse.py"}}' \
        | bash hooks/sdd-guard.sh
    🚫 SDD 協議攔截:要動 code 檔,但 …/system-dev/docs/3-specs/ 下找不到任何 SDD。
      exit=2
    

    那支閘一直在誤攔 ISEP 自己,只是從來沒有人回報過。 總管事後獨立重現,結果相同。

    📌 這一格值得記:票上標「沒驗」的那格,交給工人之後被驗掉了,而且推翻了原本的方向。如果當時沒有誠實標它,這個發現不會發生。

    做了什麼

    hooks/sdd-guard.sh 刪除、hooks.json 取消註冊(85 → 84 條)。commands/sdd-check.md 改寫成「SDD 只記起初的樣子,任務本體在 Gitea 票;找不到 SDD 不再是停下來的理由,找不到票才是」。agents/inkstoneco-hand.md 拿掉單一活性紅線。

    集合差複驗(不是只看 JSON 合不合法):對 main 逐支比對註冊次數 ⇒ 只少 sdd-guard.sh × 1,其餘一支不差、也沒有多出來的

    🔴 迴歸測試測的不是「檔案刪了沒」

    hooks/tests/sdd-guard-retired.test.sh 把「裁決執行完之後的世界」丟給 hooks.json整組 Write|Edit|MultiEdit 的閘(清單當場從 hooks.json 讀、不寫死),不准有任何一支拿 SDD 當理由擋。換個檔名把它種回來照樣紅。

    判準刻意不是「一支閘都不准擋」——同組還住著 history-firstsubagent-first 這種看 session 狀態決定的閘,把它們算失敗會讓這支測試無故變紅,而紅久了就沒人看

    對照組驗過有鑑別力(總管自己跑的):

    把 sdd-guard 種回去  →  通過 1 / 失敗 7   (四條行為格全部指名 sdd-guard.sh)
    拿掉                →  8 / 0
    

    總管自己驗的

    隔離重跑全套   38 支全綠 / 0 紅
    實數           61 支 .sh/84 條註冊
    

    📌 工人回報有 6 支紅,那是連續跑造成的假紅——逐支清掉 /tmp 戳記再跑就是全綠。這是這個 repo 這三天第四次撞到同一個形狀。

    🔴 還沒做完的那一半(順序不可顛倒)

    InkStoneCo 那半還沒動:拿掉那份 status: active 的 SDD、刪掉 CLAUDE.md 的「單一活性鐵律」段與 SDD-LIFECYCLE.md

    必須等這一版發出去、兩端都 plugin update 之後才能動 —— 先拿掉 active SDD 就會鎖死。

    另外兩件交回總管裁(本版沒動)

    • commands/cp-write.md 自己打架:一處寫「CP 裡不准出現 - [ ]」,另一處的步驟範本自己就在教人寫 - [ ]
    • scripts/install.shupdate.sh 仍會把 sdd-guard.sh 種進別的 repo——那是別的 repo 的安裝器 vendored 在這裡,改它會跟上游漂移

    📌 票:inkstone/ISEP#91|PR:#110#111|里程碑:SOP 變成閘 13/13

    Downloads