sdd-guard 退役:讓「取消 Active SDD」這個裁決真的執行得下去(inkstone/ISEP#91) #110
Reference in New Issue
Block a user
Delete Branch "feat/retire-sdd-guard"
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?
【身份】subagent/isep-hand/
inkstone/ISEP#91這個 PR 解什麼
leo 2026-08-16 在
inkstone/InkStoneCo#40→ comment 2942 裁定「取消 Active SDD」,11 天沒被執行。原因不是有人偷懶,是執行它的第一步會鎖死自己:
⇒ 照裁決把最後那份 active 拿掉 → 變 0 份 → 任何人動任何
.ts/.py/.go全被擋。而且它現在就在誤攔。 ISEP 這個 repo 自己沒有
3-specs,本票開工第一件事就撞到:票上原本標「這一格沒驗,做這張票的人第一件事應該在拋棄式環境重現一次」——
重現不必拋棄式環境,在自己的樹上就撞得到。
改了什麼
hooks/sdd-guard.shhooks/hooks.jsonhooks/tests/sdd-guard.test.shhooks/tests/sdd-guard-retired.test.shcommands/sdd-check.mdagents/inkstoneco-hand.mdstatus: active」那條紅線hooks/lib/path-resolve.sh#22學到的東西住在裡面)docs/hooks-inventory.mddocs/TESTING.mdREADME.md/.claude-plugin/plugin.jsonsystem-dev/wiki/mistakes.md迴歸測試測的不是「檔案刪了沒」,是「那個擋還會不會發生」
hooks/tests/sdd-guard-retired.test.sh把「裁決執行完之後的世界」(沒有
3-specs的 repo、兩份status: active的 repo)丟給hooks.json上整組
Write|Edit|MultiEdit的閘——清單當場從hooks.json讀、不寫死——不准有任何一支用 SDD/3-specs 當理由擋下來。
⇒ 日後有人換個檔名把同一個形狀種回來,這支照樣紅。
🔴 判準刻意不是「一支閘都不准擋」:同組還住著跟 SDD 無關、且看 session 狀態決定
擋不擋的閘(
history-first/subagent-first)。把它們算失敗,這支測試會在別人改別的東西時無故變紅,紅久了就沒人看——誤攔比漏擋更該修,對測試一樣成立。
紅的證明(不是只驗綠):把
sdd-guard暫時復原(檔案+註冊)重跑→
通過 1/失敗 7,四條行為格全部指名sdd-guard.sh。已還原。自己跑過的
驗收條件逐條對:
.ts不能被擋」→ ✅ 測試 ②,四種情境sdd-check與載入面不能再讀到『只准一份 active SDD』」→ ✅ 測試 ③status: active搜不到還在生效的規定」→ ✅ 全 repo 掃過,剩下的命中全部是測試自己的測資、或描述這次退役的文件,沒有一條是還在生效的規定
全套離線測試 24 支重跑,本次改動 0 退步。
有 6 支是紅的/跑不起來(
dispatch-format-guard40/52、prod-write-guard18/19-fail、stage-before-prod-guard9/7-fail、另 3 支要帶參數或建不起沙盒)——這 6 支在
gitea/main上逐支重跑結果一模一樣,是既有狀態,不是本次造成的。沒做的,以及為什麼
inkstone/InkStoneCo那半(拿掉那份 active SDD + 刪CLAUDE.md「單一活性鐵律」段)——不是我的 repo(
docs/governance/worker-roster.md:一個工人一個 repo)。而且順序上本來就要等這一版 ISEP 出去、兩邊
/plugin update之後才動得;先拿掉 active SDD 就會鎖死。派
inkstoneco-hand。inkstone/InkStoneCo#49(票上明寫不要另開票)。順帶回報:ISEP 自己 0 條殘留(
docs/system-dev全掃)。hooks.json/commands//agents/),沒有新版本號 =
plugin update是 no-op = 改動到不了任何人手上。兩件回報給總管的發現(都沒動,等你裁)
commands/cp-write.md自己打架:第 71 行寫「CP 裡不准出現- [ ]/- [x]」,而第 261-262 行的步驟範本自己就在教人寫
- [ ]。這正好落在裁決的射程裡(「所有文件中都不帶有任務 checkbox」),但票上明寫 checkbox 那格不歸本票、也不要另開票
⇒ 我沒動它。要掛
InkStoneCo#49還是另辦,請你裁。scripts/install.sh/update.sh還會把sdd-guard.sh種進別的 repo(
install.sh:298、update.sh:248,來源是 GitHubuncle6me-web/system-dev-template)。那兩支是別的 repo 的安裝器 vendored 在這裡,改它會跟上游漂移
⇒ 我沒動,回報給你決定要不要往
system-dev-template派。(實務風險低:它們裝的是
.claude/hooks/那條退場中的舊接線。)