5ac06abc95
三張票同一族(誰在派、派給誰、派的內容住哪裡),做在同一條分支: #86 工人名單:agents/ 七位有名字的工人+scripts/roster+hooks/roster-guard.sh 派工用 Task 的 subagent_type 指名,派工單格式一個字都沒改; 指對名字就把那位的檔案原文注入(你是誰/先讀什麼/你的紅線)。 【身份】欄同時吃得下工人名字(原本三個角色照舊)。 #87 未經調查不寫診斷:hooks/diagnosis-evidence-guard.sh + investigate-first-stamp.sh 三個結構訊號(派過人查沒/有沒有走得過去的出處/有沒有份量), 一個關鍵字比對都沒有;轉述有出處不會被誤擋。 #88 回覆也是派工:不另造閘,把攔截點加掛上去。 hooks/lib/dispatch_parse.py 的 tool_channel() 一次列全所有通往 subagent 的路 (SendMessage/雲端 session・trigger/claude -p);擋下來時把那段內容原文印出來。 subagent 往上回報(to: "main")=交件不是派工,刻意不管。 順手修掉一個真的會咬人的 flake:dispatch-format-guard 原本開四支 python 各讀一個欄位, 機器忙的時候某個欄位會靜靜變空字串(實測連跑 10 次有 1 次「豁免了卻還是被擋」)。 四個欄位改成一次讀完。 版本號待總管定(plugin.json 只更新了描述裡的數字,版本沒動)。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016ZBu4Sa1cGntKFRBYNZ6xs
42 lines
1.9 KiB
Markdown
42 lines
1.9 KiB
Markdown
# `agents/` — 工人名單(inkstone/ISEP#86)
|
||
|
||
> leo 派工時派給的不能是「一個 agent」,要派給**有名字的人**。
|
||
> 「票上看不出來這件事是誰做的」是這張票的來由。
|
||
|
||
**一個檔案 = 一個工人。** 每個檔案只回答四件事:
|
||
|
||
| 段 | 問題 | 為什麼一定要有 |
|
||
|---|---|---|
|
||
| `**負責 repo**` | 它管哪一個 repo | 派工時挑人的唯一判準;也是【身份】欄第二格 |
|
||
| `## 開工前先讀` | 它要先讀什麼 | 這是**每個工人各自不同**的部分——共通規定補不了 |
|
||
| `## 紅線` | 它不准做什麼 | 全機共通的紅線在共通規定裡;這裡只寫這個 repo 特有的 |
|
||
| frontmatter `description` | 一句話它是誰 | `scripts/roster list` 印的就是這一行 |
|
||
|
||
## 為什麼是這個形狀,不是自己造一套
|
||
|
||
`agents/` 是 Claude Code plugin **原生**的 subagent 目錄,檔名(frontmatter 的 `name`)
|
||
就是 `Task` 工具的 `subagent_type`。⇒ 「指名派給誰」不必發明新欄位、不必改派工單格式
|
||
(派工單仍然只有 `【工單】` 一行,`dispatch-format-guard.sh` 的行為一個字都沒變)。
|
||
|
||
## 怎麼用
|
||
|
||
```
|
||
python3 scripts/roster list # 名單:有哪幾個工人、各自管什麼
|
||
python3 scripts/roster show isep-hand # 一個工人的全文(它開工前會讀到的東西)
|
||
python3 scripts/roster names # 只印名字,給腳本用
|
||
```
|
||
|
||
派工時把名字放進 `Task` 的 `subagent_type`;名字不在名單上,
|
||
`hooks/roster-guard.sh` 會擋下來並說「**沒有這個人**」,同時把名單印出來。
|
||
|
||
## 加一個工人
|
||
|
||
在這個目錄新增一個 `.md`(照既有檔案的四段),然後:
|
||
|
||
```
|
||
python3 scripts/roster list # 新的名字要出現
|
||
bash hooks/tests/roster-guard.test.sh # 全綠
|
||
```
|
||
|
||
**不必改任何 hook**——名單是資料,閘讀的是這個目錄。
|