身為被閘擋下來的人,我要它教的那行指令真的跑得動,我才不會為了繞過它而放棄開子票 #112
Notifications
Due Date
No due date set.
Blocks
Depends on
#115 身為每天開新 session 的人,我要一開場就知道這台機器缺什麼,我才不會做完一整條線才發現跑不了
inkstone/ISEP
#113 身為照著閘的訊息貼指令的人,我要每一支閘印的路徑都叫得到正本,我才不會在別的 cwd 底下叫到舊複本
inkstone/ISEP
Reference: inkstone/ISEP#112
Reference in New Issue
Block a user
Delete Branch "%!s()"
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?
目標
comment-carries-task-guard.sh擋下留言時,給的指示是:但
scripts/ticket沒有subtask這個子命令(2026-08-31 實測:grep -n "subtask" scripts/ticket→ 0 命中;照著跑會噴出四個動詞的說明然後什麼都沒發生)。⇒ 閘擋對了,但它教的解法跑不動。 被擋的人只能自己拼湊:
ticket where取戳記 →ticket new→ 再用 Gitea API 補相依。這一輪總管實際就是這樣繞過去的,而且中間還踩到兩個坑:
ticket new需要先跑where拿戳記(訊息裡沒提),標題少了「我才」那一段會被標題閘擋。這條的病比缺一個子命令大:閘的價值是「擋下來並告訴你怎麼做對」,
當它教的做法不存在,它就從『幫你』變成『擋你』——
而且被擋的人當下正在做別的事,最可能的反應是找個理由繞過去,
不是停下來修這支閘。
驗收條件
——說明怎麼保證(例如閘直接引用同一份真相源,而不是各寫一份)
deliverable 類型
code
【身份】isep-hand/inkstone/ISEP/fix/gate-teaches-a-command-that-runs
➡️ 已轉往下游:
inkstone/ISEP#113身為照著閘的訊息貼指令的人,我要每一支閘印的路徑都叫得到正本,我才不會在別的 cwd 底下叫到舊複本#113
inkstone/ISEPtag:s/todo(還沒指派,留在票池等人領)這張頂層票不會因為轉出去就自動關——下游那張關掉時,
ticket close會回頭在這裡貼一則回寫;全部下游關完,這張票會被指派回總管等驗。(機制:inkstone/ISEP#92)【身份】isep-hand/inkstone/ISEP/fix/gate-teaches-a-command-that-runs
交件
fix/gate-teaches-a-command-that-runs(commit58c3689)三條驗收條件
① 原樣貼上就能跑完,產出母子相依成立的子票 — 實跑了:
inkstone/ISEP#113(就是拿這張票的閘印出來的那塊指令貼上去開的,只填了標題/目標/驗收條件三格)。
② 子票沒關時母票關不掉 — 實測:
③ 訊息與能跑的指令不再有第二種可能漂掉的關係 — 保證方式是結構不是紀律:
閘的訊息裡沒有任何一段用法是它自己寫的,整塊是
scripts/ticket usage subtask --example的 stdout;而正本印的路徑是它自己的
__file__(絕對路徑)⇒ 印指令的人與跑指令的人是同一個檔案。
病其實有兩個,票上只寫到一半
票上寫「
scripts/ticket沒有subtask這個子命令」。實查:正本一直都有(
grep -c subtask= 10,2026-08-27 的e474b4c加的)。當天量到 0,是因為grep跑在InkStoneCo/scripts/ticket上——那是正本的舊複本。⇒ 真正的病是「閘印相對路徑」,而不是「少一個子命令」。
而且就算路徑對了那一行也跑不完:閘手抄的那份用法寫了
--assign <誰做>卻沒有--next,正本會直接擋(
🚫 指派了人卻沒寫 --next。,exit 2)。兩個原因各自都足以害死它。沒驗的 / 要總管決定的
plugin.json仍是0.17.0——不升版這個修正到不了任何人手上。main上就是紅的,不是本 PR 造成(同一組指令在main跑過對照):test-ticket-api-bypass-guard.sh23/24、dispatch-format-guard.test.sh40/52、gitea-arm-check.test.sh、main-and-prod-push-guard.test.sh、main-and-prod-push-guard-cross-repo.test.sh、prod-write-guard.test.sh18/19 紅、stage-before-prod-guard.test.sh9/7。#113現在擋著這張票關閉(那正是 ② 的證據)。另外三支閘印相對路徑是同一個病、不在本票範圍——要嘛先把
#113做掉,要嘛裁定把它從相依拿掉。ticket subtask回貼母票的留言預設簽【身份】總管/…(_identity()),有名字的工人要自帶
ISEP_IDENTITY才簽得對。這次我帶了。no-subtask: 上面每一件「沒驗的」都已經有去處了——版本與雲端是總管的閘,7 支紅的是 main 上的既有狀態(本 PR 沒動那些檔),另外三支閘的相對路徑已經長成 #113。
🏃 棒子交回 →
claude-code下一步:看 PR #114(#114),驗過就併並定一個新版本號——不升版這個修正到不了任何人手上;順便裁 #113 要先做掉還是從相依拿掉
證據:#114
未關的相依(它們全關之前這張票關不掉):