為規劃與分析階段計時並補登規劃時間 #57
Notifications
Due Date
No due date set.
Blocks
#58 以能力描述表達委派並標記可委派步驟
plugins/tea-sdlc
Reference: plugins/tea-sdlc#57
Reference in New Issue
Block a user
母議題
#56 — 補上六個指令走通後浮現的四個缺口
要做出什麼
規劃與分析的時間不再憑空消失。
/sdlc-report產出的數字裡,規劃、分析、實作三段都在,估算的落差看得出來源——目前碼錶只在領取工作包時起動,所以報表上規劃永遠是零,久了會讓人以為規劃不花時間,而那正是估算失準最常見的來源。/sdlc-plan在需求議題建立之後起錶(在此之前議題不存在,沒有標的可起),回報那一步停錶。議題建立之前那段——讀齊輸入、逐項詢問、組出議題內容,往往是整個 plan 最耗時的部分——以手動加時間的方式補登上去。補登不設上限、照實補登:中途去開會的時間會被算進去,換來這個流程不必為此多長一題出來問使用者。補登的終點看議題是不是這一輪建立的:是就補到議題建立那一刻;對既有議題重跑時就補到補登的當下——那一輪的規劃時間照樣要進報表,拿舊的建立時間當終點會算出負數,等於把那一輪的工夫丟掉。重跑是累計不是覆蓋,每一輪各記一筆。唯一不補的情形是錶已經跑在這顆議題上,那一段已經有錶在記,補下去會與錶涵蓋的區間重疊。
/sdlc-analyze在它分析的那顆需求議題上起錶,回報那一步停錶。錶已經跑在同一顆議題上時什麼都不做——中斷後重跑不會把已經累積的時間切成兩段。plan 與 analyze 各記各的:plan 在自己的回報那一步就停了錶,所以同一顆需求議題上會有兩筆工時,加總起來才是它到目前為止花掉的時間。這是刻意的——「每個階段停掉自己起的錶」與「兩段合成一筆」無法同時成立,而錶跨階段跑的代價(跑完就去開會,錶跑一整天)比多一筆紀錄大得多。
每個階段停掉自己起的錶,不讓錶跨階段跑。跑完就去開會而錶跑一整天,報表當場失真。也不在領取鎖上開自動停錶的後門:Gitea 在別顆議題上起新錶會靜默地停掉並記錄前一顆,那種靜默結算正是領取鎖那條規則當初要擋的,不能在這裡反過來製造它。
起錶與停錶在同一份正本裡成對出現,讀的人一眼看得出這段計時涵蓋到哪。
注意(2026-09-18 更正):原先記載「所有 repo 的時間追蹤都是關閉的」已不成立——
plugins/tea-sdlc的enable_time_tracker是true,真實路徑在這顆議題上實跑驗過:補登 121 秒、起錶、停錶 7 秒,兩筆都進得了/sdlc-report的週報,驗完已刪除。自動化測試仍靠--dry-run與 stub server,不依賴真實站台。驗收標準
sdlc-plan在需求議題建立之後起錶,在回報那一步停錶sdlc-plan將「指令開始到議題建立」的時間以手動加時間 API 補登至該需求議題sdlc-analyze在它分析的需求議題上起錶,在回報那一步停錶--dry-run下補登與起錶輸出將發出的請求而不實際執行阻擋於
無,可立即開始
驗收標準十一條逐條對照合併後的 master 驗過,全部達成,已勾選。
實作見 PR #63(已合併至 master,
7995e74)。合併後全測 865 / 865 過。