fix: 三支閘印出來的 ticket 一律絕對路徑,不叫到 InkStoneCo 舊複本(inkstone/ISEP#113)
dispatch-format-guard.sh 的出路 `scripts/ticket say`、factory-idle-guard.sh 主閘與
副閘的 `scripts/ticket where` 原本印相對路徑。相對路徑是對貼上去那個人的 cwd 解析的,
而收工方 cwd 常是 InkStoneCo,那裡的 scripts/ticket 是 2026-08-27 之前的舊複本
(grep -c subtask → 0)⇒ 照著貼會叫到舊的、什麼都不會發生(同 ISEP#112 的病)。
兩支都改成從 ${CLAUDE_PLUGIN_ROOT} 解出絕對路徑再印(沿用 baton-handback-guard 的做法;
baton 本輪未動,早已是絕對路徑)。dispatch 用既有的佔位符替換機制加 __TICKET__;
factory 是 POSIX sh、unquoted heredoc,直接展開 $TICKET,並用 baton 的引號慣例包住路徑。
測試各加一條在驗這件事:
- dispatch-format-guard.test.sh ⑰ 改成驗絕對路徑+確認沒有相對的 scripts/ticket(52/52)
- factory-idle-guard.test.sh 加主閘訊息實跑 + 掃全支源碼兩條(33→35)
- baton 既有 24/24 不動
版本待總管定(plugin.json 未動)。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TGxitYq49FzYC7EFkbhzF5
This commit is contained in:
@@ -11,6 +11,15 @@
|
||||
其中 **3 支檔案存在但沒被掛上**(2 支是待人填的空範本、1 支是刻意留著沒開的止血帶,見下面「未生效」表)。
|
||||
下面按「你會在什麼時候撞到它」分組,一支一行。
|
||||
|
||||
> 📌 **`inkstone/ISEP#113`(2026-09-18,待總管定版)+0 支、+0 條、腳本不變**:沒加閘、沒加腳本。
|
||||
> `dispatch-format-guard.sh`(出路 `scripts/ticket say`)與 `factory-idle-guard.sh`(主閘+副閘的 `scripts/ticket where`)
|
||||
> 印出來的 ticket 指令改成**絕對路徑**(`${CLAUDE_PLUGIN_ROOT}/scripts/ticket`)——收工方 cwd 常是 InkStoneCo,
|
||||
> 那裡的 `scripts/ticket` 是 2026-08-27 之前的舊複本,相對路徑貼過去會叫到它、什麼都不會發生
|
||||
> (同 `comment-carries-task-guard` ⑮/`baton-handback-guard`,`inkstone/ISEP#112`)。`baton-handback-guard` 早已是絕對路徑,本輪未動。
|
||||
> 兩支的測試各加一條在驗這件事:`dispatch-format-guard.test.sh` ⑰(52/52)、`factory-idle-guard.test.sh`(33→35)。
|
||||
> **62 支、88 條、66 支腳本是在這棵樹上當場數出來的**(`ls hooks/*.sh | wc -l`=62、
|
||||
> `grep -c '"command":' hooks/hooks.json`=88、`ls -p scripts | grep -v / | wc -l`=66)。
|
||||
|
||||
> 📌 **`inkstone/ISEP#159`(2026-09-18,待總管定版)+0 支、+0 條、腳本 65→66**:沒加閘。`scripts/ticket` 多兩個動詞
|
||||
> `triage`(沒 s/* 的票給狀態+留說明,或當重複關掉並指回去)與 `compose`(把已分診的票組成 InkStoneCo 里程碑:載體+前置,
|
||||
> 先全部驗過才寫);`pick --pool` 多兩層(還沒到期的 InkStoneCo 里程碑的前置、最後是待分診的票),每一列帶 `next`。
|
||||
|
||||
Reference in New Issue
Block a user