身為回覆工人的人,我要回覆也只准給票號,我才不會第一次乾淨第二次又把指令塞進訊息裡 #88

Closed
opened 2026-08-27 14:31:17 +00:00 by claude-code · 0 comments
Member

問題

派工單已經被壓成只剩票號了(dispatch-format-guard.sh,多寫一行就擋)。但「回覆 subagent」這條路沒有被管到。

原因是機制上的:那支閘掛在 PreToolUse(Task|Agent),只有「新開一個 subagent」會經過。而回覆一個已經在跑的 subagent 走的是別的通道,根本不經過那個攔截點

所以現在的實況是:第一次派工乾乾淨淨只有票號,第二次回覆的時候又把一長串修改要求直接丟過去。那些話一樣沒有留在票上,那條線被停掉或換人接手就消失——這正是壓縮派工單原本要解決的問題。

目標

回覆也是派工,同一套規矩:內容寫進票,訊息只給票號。

驗收條件

  1. 回覆一個正在跑的 subagent,訊息裡夾一段修改要求 → 要被擋下來,並且把那段內容印出來方便直接貼上票
  2. 內容貼上票之後,回覆只給票號 → 放行
  3. 第一次派工那條路不能受影響(dispatch-format-guard.sh 的行為不變)
  4. 拿今天實際發生的當真跡重演:本 session 派了兩個 subagent,中途各回覆過一次,兩次都夾帶了大量指令

deliverable 類型

code(→ PR)


細節

這條在 SOP 裡的位置:鐵律 4(「回覆 subagent 也是派工,同樣只給票號」)+ S3。

這是「不夠好,接上」不是「沒有」dispatch-format-guard.sh 本體是對的,只是攔截點涵蓋不到回覆這條路。不要另造一支平行的閘,要嘛把攔截點加掛上去,要嘛讓兩條路共用同一個判斷函式。

實錄(本 session,2026-08-27):總管派了兩個調查 subagent,中途各用回覆通道追加一次指令,其中一次是整段的重驗要求(要它去 main 分支重驗三支 hook)。那些內容到現在都只活在對話裡,票上一個字都沒有。

已知的相鄰破口,一起考慮ticket-api-bypass-guard.sh 的檔頭記過同款教訓——第一版只認大寫裸字 POST,結果 requests.post() 和 urllib 隱式 POST 全部漏掉。「認動作的方式漏了一條路」是這一族的通病,修的時候要把所有通往 subagent 的路一次列全,不要只補眼前這一條。


🔎 為什麼另開一張票而不是貼進既有的(開票時聲明):這是 dispatch-format-guard 的攔截點缺口(掛在 PreToolUse Task/Agent,回覆不經過),要獨立追蹤因為得重新列全所有通往 subagent 的路。
當時搜尋:回覆 subagent 派工 票號 通道 → 命中 81 張。

## 問題 派工單已經被壓成只剩票號了(`dispatch-format-guard.sh`,多寫一行就擋)。**但「回覆 subagent」這條路沒有被管到。** 原因是機制上的:那支閘掛在 `PreToolUse(Task|Agent)`,只有「新開一個 subagent」會經過。而回覆一個已經在跑的 subagent 走的是別的通道,**根本不經過那個攔截點**。 所以現在的實況是:第一次派工乾乾淨淨只有票號,第二次回覆的時候又把一長串修改要求直接丟過去。**那些話一樣沒有留在票上**,那條線被停掉或換人接手就消失——這正是壓縮派工單原本要解決的問題。 ## 目標 回覆也是派工,同一套規矩:內容寫進票,訊息只給票號。 ## 驗收條件 1. 回覆一個正在跑的 subagent,訊息裡夾一段修改要求 → **要被擋下來**,並且把那段內容印出來方便直接貼上票 2. 內容貼上票之後,回覆只給票號 → 放行 3. 第一次派工那條路不能受影響(`dispatch-format-guard.sh` 的行為不變) 4. 拿今天實際發生的當真跡重演:本 session 派了兩個 subagent,中途各回覆過一次,**兩次都夾帶了大量指令** ## deliverable 類型 code(→ PR) --- <details><summary>細節</summary> **這條在 SOP 裡的位置**:鐵律 4(「回覆 subagent 也是派工,同樣只給票號」)+ S3。 **這是「不夠好,接上」不是「沒有」**:`dispatch-format-guard.sh` 本體是對的,只是攔截點涵蓋不到回覆這條路。**不要另造一支平行的閘**,要嘛把攔截點加掛上去,要嘛讓兩條路共用同一個判斷函式。 **實錄(本 session,2026-08-27)**:總管派了兩個調查 subagent,中途各用回覆通道追加一次指令,其中一次是整段的重驗要求(要它去 main 分支重驗三支 hook)。**那些內容到現在都只活在對話裡,票上一個字都沒有。** **已知的相鄰破口,一起考慮**:`ticket-api-bypass-guard.sh` 的檔頭記過同款教訓——第一版只認大寫裸字 `POST`,結果 `requests.post()` 和 urllib 隱式 POST 全部漏掉。**「認動作的方式漏了一條路」是這一族的通病**,修的時候要把所有通往 subagent 的路一次列全,不要只補眼前這一條。 </details> --- > 🔎 **為什麼另開一張票而不是貼進既有的**(開票時聲明):這是 dispatch-format-guard 的攔截點缺口(掛在 PreToolUse Task/Agent,回覆不經過),要獨立追蹤因為得重新列全所有通往 subagent 的路。 > 當時搜尋:`回覆 subagent 派工 票號 通道` → 命中 81 張。
claude-code added this to the SOP 變成閘 milestone 2026-08-27 14:32:35 +00:00
claude-code added the
s
todo
type
governance
labels 2026-08-27 14:32:35 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: inkstone/ISEP#88