移除自造的待驗單機制,改由 Gitea 原生三格承接(inkstone/ISEP#60)
subagent-claim-worksheet.sh(SubagentStop 產待驗單)與 claim-verify-police.sh (Stop 攔收工)這一套整組移除。它們守的東西違反 D58(不要硬做平台不支援的機制) ——「待驗單」只是一張沒有狀態、沒有持有人的 markdown,必然退化成雜訊。 改由 inkstone/ISEP#59/PR #58 的三個 Gitea 原生欄位承接同樣的情境: 子票相依(存在嗎/做完了嗎)、s/* tag(卡在哪)、指派(誰該動)。 - hooks/hooks.json:移除 Stop/SubagentStop 兩條註冊 - hooks/lib/path-resolve.sh:拿掉已刪檔案的註解引用 - docs/hooks-inventory.md、README.md:更新閘數量(48→46 檔、59→57 條註冊) - docs/governance/sdd-gitea-governance.md:E12/E14 標記現況,新增 §8.4 說明 移交對象;PR #58 未 merge 前這兩條實質仍是待建,誠實標記 - .claude-plugin/plugin.json:0.5.0 → 0.6.0(版本沒動=plugin update 是 no-op) 未動 docs/governance/DIVERGENCE-v0.5.0-to-v0.6.0.md——那是 2026-08-20 的 時間點快照(意見書),修改它等於竄改歷史記錄,不在本票範圍。 未動 InkStoneCo/.claude/pending-verification/{done,done-20260826,verified}/ 三個歸檔目錄——它們是 InkStoneCo repo 裡的已提交檔案,跨 repo 且需要 InkStoneCo 自己的 git 流程處理,超出本票(ISEP repo)範圍,留給總管判斷。 測試:scripts/test-*.sh 全數 6 支通過;hooks/tests/*.test.sh 與 pristine origin/main 基準比對,失敗特徵完全一致(環境既有問題,非本次改動引入); claude plugin validate . 通過。check-version-consistency.sh 目前會報不一致 (0.6.0 vs tag v0.5.0)——這是預期的,等總管收斂 release 打 v0.6.0 tag 時解決。 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -274,9 +274,9 @@ s/triage ──驗傷通過──▶ s/backlog ──排進 milestone──▶ s
|
||||
| E9 | 留言變成推理長文 | hook:超長**不 reject**,要求移去 wiki 再留指標 | ❌ 待建(放寬版,見 §8.3) |
|
||||
| E10 | 就地修改治理檔案 | 安裝目錄唯讀 + hook,導向 ISEP 開 issue | ❌ 待建 |
|
||||
| E11 | 本機雲端版本漂移 | SessionStart hook 比對版本,不一致 fail-fast | ◐ 現有 `skill-deploy-drift-guard.sh` 管的是 skill 不是 plugin 版本 |
|
||||
| E12 | 宣稱交付但沒有 release | 版本三處一致閘:`plugin.json` = tag = release 存在;且 milestone open issues > 0 不准打 tag | ◐ 現有 `delivery-police.sh`/`claim-verify-police.sh` 部分覆蓋 |
|
||||
| E12 | 宣稱交付但沒有 release | 版本三處一致閘:`plugin.json` = tag = release 存在;且 milestone open issues > 0 不准打 tag | ◐ 現有 `delivery-police.sh` 部分覆蓋(`claim-verify-police.sh` 已於 `ISEP#60` 移除,見下方腳註) |
|
||||
| E13 | 審核被遺忘 | Stop hook:**我自己開的** `s/review` 存在且**這回合完全沒碰它** → 擋一次 | ◐ 現有 `empty-handed-stop-guard.sh` 判準不同,兩者要合併不要疊加 |
|
||||
| E14 | Subagent 空口宣稱完成 | SubagentStop hook | ✅ **已有** `subagent-claim-worksheet.sh` + `empty-handed-stop-guard.sh` |
|
||||
| E14 | Subagent 空口宣稱完成 | SubagentStop hook | ◐ 原本 `subagent-claim-worksheet.sh` + `empty-handed-stop-guard.sh`;前者已於 `ISEP#60`(2026-08-27)移除,見下方腳註 |
|
||||
| E15 | 代理硬做只有人能做的事 | 代理端無對應 tool 或 token;唯一出口是開 `human/exec` 票 | ◐ 部分(credential 機制已擋一部分,D36) |
|
||||
| E16 | 標籤漂移 | 走 Gitea labels API 依 `labels.yaml` 校正:缺的補、改的還原、多的**只告警不刪** | ❌ 待建(`ISEP#4`) |
|
||||
|
||||
@@ -312,6 +312,21 @@ leo 2026-08-17 實測:文字層的閘那天 **8 次誤攔、0 次正確攔截*
|
||||
**紅線寫得越細,命中關鍵字的機率越高 ⇒ 那些閘在懲罰謹慎。**
|
||||
所以 E9 擋的是「長內容放錯地方」這個**動作**,處置是**導引**(移去 wiki 留指標),不是 reject。
|
||||
|
||||
### 8.4 E12/E14:自造的「待驗單」機制已移除,改由 §16 原生三格承接(`ISEP#60`)
|
||||
|
||||
`subagent-claim-worksheet.sh`(SubagentStop 產待驗單)與 `claim-verify-police.sh`
|
||||
(Stop 攔收工,待驗單還在就擋)這一對於 2026-08-27 整組移除。
|
||||
|
||||
- **為什麼不是修它**:症狀是同一份待驗單重生三次、同內容兩個檔名;
|
||||
但真正的問題是 D58——**待驗單是一張 markdown,沒有狀態、沒有持有人、沒有人會回頭看**,
|
||||
必然退化成雜訊。Gitea 的 issue 三格本來就是為這件事做的。
|
||||
- **它守的東西現在由誰守**:見 §16(`ISEP#59`/PR #58)——子票相依回答「這件事存在嗎/做完了嗎」、
|
||||
`s/*` tag 回答「它卡在哪一段」、指派回答「現在誰該動」。三格合起來覆蓋原本 E14
|
||||
想擋的「subagent 空口宣稱」與 E12 想擋的「宣稱交付但沒人跟進」。
|
||||
- **現況誠實標記**:PR #58(§16 的落地)**尚未 merge**,所以 E12/E14 這一格目前是
|
||||
「舊機制已拆、新機制已提案但未生效」的過渡態,不是「已有替代品在跑」。
|
||||
#58 merge 前,這兩條暫時回到 ❌ 待建的實質狀態,即使表格欄位寫的是 ◐。
|
||||
|
||||
---
|
||||
|
||||
## 9. 本規範的迭代
|
||||
|
||||
+13
-6
@@ -16,6 +16,11 @@
|
||||
> 現在的寫法是實際數出來的:
|
||||
> `ls hooks/*.sh | wc -l` = 46;`hooks.json` 展開後的 command 條目 = 56。
|
||||
> **一份會偷偷過期的盤點表,跟沒有盤點表差不多**——見本頁最後「怎麼跟實況對帳」那段。
|
||||
>
|
||||
> 📌 **`inkstone/ISEP#60`(2026-08-27)之後這兩個數字各再減 2**:移除了
|
||||
> `claim-verify-police.sh`/`subagent-claim-worksheet.sh` 這對自造機制。
|
||||
> 本票只處理這兩支的落差,**不在本票範圍內重新對帳其餘既有落差**——
|
||||
> 要重新核實整份,跑下面「這份表怎麼跟實況對帳」段落的指令。
|
||||
|
||||
---
|
||||
|
||||
@@ -111,15 +116,17 @@
|
||||
| `delivery-police.sh` | AI 宣稱「這件事做完了」,卻看不到任何實測證據(畫面截圖、指令輸出、HTTP 狀態碼…)就擋下。 | 🛑 擋 |
|
||||
| `wiki-first-police.sh` | AI 做完事卻沒有把結論寫回 wiki 就想收工,就擋下——下次(或別的 AI)查 wiki 會查不到這次做過什麼。 | 🛑 擋 |
|
||||
| `unpushed-police.sh` | AI 改好的東西還留在本機、沒有真的推送出去給別人用,卻想收工,就擋下——「改對了但沒送到」跟沒改是一樣的。 | 🛑 擋 |
|
||||
| `claim-verify-police.sh` | Subagent 交回來的「我做完了」宣稱還沒被驗證過(對應的待驗檔案還在),你這邊卻想收工,就擋下。 | 🛑 擋 |
|
||||
|
||||
> 🔴 **`claim-verify-police.sh` 已於 `inkstone/ISEP#60` 移除**(連同下面原本的 G 組 `subagent-claim-worksheet.sh`)。
|
||||
> 這一對是自造的「待驗單」機制(一張沒有狀態、沒有持有人的 markdown),違反 D58:
|
||||
> 不要硬做平台不支援的機制。它守的情境現在改由 Gitea 原生三格承接
|
||||
> (子票相依/`s/*` tag/指派——見 `inkstone/ISEP#59` 與 PR #58)。
|
||||
|
||||
## G. Subagent 把工作交回來的時候(SubagentStop)
|
||||
|
||||
| 閘名 | 對你意味著什麼 | 動作 |
|
||||
|---|---|---|
|
||||
| `subagent-claim-worksheet.sh` | Subagent 一交回工作,就自動把它宣稱做了什麼寫成一張「待驗清單」檔案——之後總管收工前,`claim-verify-police.sh` 會檢查這張清單有沒有被處理掉。 | 📝 記錄 |
|
||||
|
||||
> 這個時機還掛了 `worklist-guard.sh`/`self-drive-police.sh`/`self-drive-judge.sh`/`delivery-police.sh`/`wiki-first-police.sh`/`unpushed-police.sh`,行為跟上面 F 組完全一樣,只是對象換成「subagent 交回來的這一輪」。詳見「重複掛載」一節。
|
||||
`inkstone/ISEP#60` 之後,這個時機**沒有專屬掛載的閘**了(原本唯一的一支 `subagent-claim-worksheet.sh` 已移除)。
|
||||
仍會掛到這個時機的是 `worklist-guard.sh`/`self-drive-police.sh`/`self-drive-judge.sh`/`delivery-police.sh`/`wiki-first-police.sh`/`unpushed-police.sh`,
|
||||
行為跟上面 F 組完全一樣,只是對象換成「subagent 交回來的這一輪」。詳見「重複掛載」一節。
|
||||
|
||||
## H. 動作做完之後,純粹記一筆(PostToolUse,全部不擋)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user