身為想知道自己有沒有變好的人,我要每次結案都留下估多久/花多久/差多少,我才不會每次只能說「這次比較慢」 #85

Closed
opened 2026-08-27 14:31:01 +00:00 by claude-code · 1 comment
Member

問題

leo 2026-08-27 說今天「拖時間」。但拖了多久、比預計多拖多少、為什麼拖——沒有任何數字

現在的狀況是:milestone 有期限(milestone-due-guard.sh 逼的),也有幾支閘抓得到「一直在查但主線沒動」(mainline-idle-guard.sh)。但沒有人把它算成帳。 所以每次事後只能用「這次比較慢」這種話帶過,下次還是一樣。

目標

每個 milestone 結案時,不管成功失敗都記三個數字:

當初訂的期限 / 實際花掉的 / 差了百分之幾

差超過四分之一(不管是超時還是提早太多,提早太多代表當初估太鬆)就要挑一個原因,而且只能從固定的幾個裡面挑,不准用一段話帶過:

代號 白話 從哪看出來
磨洋工 小事拖成大事 時間軸上有長長的空白
分心跳線 講到別的就跑去做 期間出現不屬於這條線的動作
忘了派工 該派沒派,票停著 票很久沒有人被指派
偏科 挑喜歡的做,難的擱著 完成順序跟優先順序倒過來
等答案 問了就原地等,沒去做別的 等待期間其他票零進度
範圍變大 一直塞新東西進來 補收的次數、票數成長曲線
純粹估錯 過程沒異常,就是估錯 以上都沒有,但還是差很多

證據一律從 Gitea 的時間軸取(留言、指派、標籤、commit 都有時間戳),不採信我自己說的

驗收條件

  1. 關掉一個 milestone → 三個數字要自己算出來,不用手填
  2. 差超過 25% → 要逼我挑一個代號,挑不出來不准結案
  3. 累積幾次之後 → 要看得出哪一種原因最常發生(這才是迭代的依據)
  4. 拿今天已經逾期的那五個 milestone 進去算 → 要算得出數字

deliverable 類型

code(→ PR)


細節

這條在 SOP 裡的位置:S9-7(估算復盤)+ §4-2(偏差原因碼)。

為什麼這一條最值得做:偵測器我們今天剛做出來(mainline-idle-guard.sh,08-27 建,抓「一直在查但主線沒動」=上表的「磨洋工」;factory-idle-guard.shself-drive-police.sh 抓停工)。能測,但沒在算帳。 這條就是把「測得到」變成「可以統計、可以迭代」——leo 2026-08-16 問過的那句「你要定下指標,如何知道現在表現優於之前了」,答案就在這裡。

代號要是固定的一組,不准散文化:新的失敗模式先試著歸進既有的,真的歸不進去才提案加一個(要走 leo 核准)。理由:能統計的前提是分類有限

已逾期的實例可以當第一批資料(2026-08-27 實查):arcrun-rag#47 due 08-24、Arcrun#46 due 08-24、ISEP#43 due 08-24、Arcrun#50/#51 due 08-26。


🔎 為什麼另開一張票而不是貼進既有的(開票時聲明):mainline-idle-guard 與 factory-idle-guard 是偵測器,本票是記帳與分類。#48 講閘有沒有在運作沒資料,本票講時間花在哪沒資料。
當時搜尋:估算 復盤 耗時 偏差 原因碼 → 命中 4 張。

## 問題 leo 2026-08-27 說今天「**拖時間**」。但拖了多久、比預計多拖多少、為什麼拖——**沒有任何數字**。 現在的狀況是:milestone 有期限(`milestone-due-guard.sh` 逼的),也有幾支閘抓得到「一直在查但主線沒動」(`mainline-idle-guard.sh`)。**但沒有人把它算成帳。** 所以每次事後只能用「這次比較慢」這種話帶過,下次還是一樣。 ## 目標 每個 milestone 結案時,不管成功失敗都記三個數字: ``` 當初訂的期限 / 實際花掉的 / 差了百分之幾 ``` 差超過四分之一(不管是超時還是提早太多,**提早太多代表當初估太鬆**)就要挑一個原因,而且**只能從固定的幾個裡面挑**,不准用一段話帶過: | 代號 | 白話 | 從哪看出來 | |---|---|---| | 磨洋工 | 小事拖成大事 | 時間軸上有長長的空白 | | 分心跳線 | 講到別的就跑去做 | 期間出現不屬於這條線的動作 | | 忘了派工 | 該派沒派,票停著 | 票很久沒有人被指派 | | 偏科 | 挑喜歡的做,難的擱著 | 完成順序跟優先順序倒過來 | | 等答案 | 問了就原地等,沒去做別的 | 等待期間其他票零進度 | | 範圍變大 | 一直塞新東西進來 | 補收的次數、票數成長曲線 | | 純粹估錯 | 過程沒異常,就是估錯 | 以上都沒有,但還是差很多 | 證據一律從 Gitea 的時間軸取(留言、指派、標籤、commit 都有時間戳),**不採信我自己說的**。 ## 驗收條件 1. 關掉一個 milestone → **三個數字要自己算出來**,不用手填 2. 差超過 25% → **要逼我挑一個代號**,挑不出來不准結案 3. 累積幾次之後 → **要看得出哪一種原因最常發生**(這才是迭代的依據) 4. 拿今天已經逾期的那五個 milestone 進去算 → 要算得出數字 ## deliverable 類型 code(→ PR) --- <details><summary>細節</summary> **這條在 SOP 裡的位置**:S9-7(估算復盤)+ §4-2(偏差原因碼)。 **為什麼這一條最值得做**:偵測器我們今天剛做出來(`mainline-idle-guard.sh`,08-27 建,抓「一直在查但主線沒動」=上表的「磨洋工」;`factory-idle-guard.sh`+`self-drive-police.sh` 抓停工)。**能測,但沒在算帳。** 這條就是把「測得到」變成「可以統計、可以迭代」——leo 2026-08-16 問過的那句「你要定下指標,如何知道現在表現優於之前了」,答案就在這裡。 **代號要是固定的一組,不准散文化**:新的失敗模式先試著歸進既有的,真的歸不進去才提案加一個(要走 leo 核准)。理由:**能統計的前提是分類有限**。 **已逾期的實例可以當第一批資料**(2026-08-27 實查):`arcrun-rag#47` due 08-24、`Arcrun#46` due 08-24、`ISEP#43` due 08-24、`Arcrun#50/#51` due 08-26。 </details> --- > 🔎 **為什麼另開一張票而不是貼進既有的**(開票時聲明):mainline-idle-guard 與 factory-idle-guard 是偵測器,本票是記帳與分類。#48 講閘有沒有在運作沒資料,本票講時間花在哪沒資料。 > 當時搜尋:`估算 復盤 耗時 偏差 原因碼` → 命中 4 張。
claude-code added this to the SOP 變成閘 milestone 2026-08-27 14:32:30 +00:00
claude-code added the
s
todo
type
governance
labels 2026-08-27 14:32:31 +00:00
Author
Member

【subagent】PR inkstone/ISEP#103 已開,等總管給結論。
分支 feat/release-manifest-and-milestone-account(與 inkstone/ISEP#84 同一條)。

交的是 scripts/milestone-account(codes/list/audit/close/report)+ hooks/milestone-account-guard.sh。四條驗收:

  1. 三個數字自己算,不用手填 — 取自 Gitea 的 created_atdue_onclosed_at
  2. 差超過 ±25% 就逼你挑代號,挑不出來不准結案 — 七個封閉集合,
    而且代號要有時間軸撐得住close 只接受 audit 判定訊號成立的那幾個,
    六個都不成立時唯一合法的是 misestimate。⇒ 不採信自述,判準一句自然語言都不讀。
  3. 累積之後看得出哪一種原因最常發生report + 自動重寫的 REPORT.md(每筆帶時間軸證據)。
  4. 拿今天已經逾期的那五個進去算 — 真實唯讀重演,撈到的正是票上點名的那五個:
🔴 inkstone/arcrun-rag#47   估 0.5天/已 3.5天/+592%
🔴 inkstone/Arcrun#46       估 0.5天/已 3.6天/+592%
🔴 inkstone/Arcrun#50       估 0.8天/已 1.8天/+131%
🔴 inkstone/Arcrun#51       估 0.6天/已 1.6天/+178%
🔴 inkstone/ISEP#43         估 4.6天/已 7.6天/+66%

audit inkstone/ISEP#43 從真的時間軸算出:最長空白 2.8 天(佔 37%)/29 個動作在別的票上(37%)/
5 張票整段沒有人被指派/開跑後才補進來 9/15 張票 ⇒ 可挑 idle / sidetrack / undispatched / cherry-pick / scope-creep

離線測試:scripts/test-milestone-account.sh 23/23hooks/tests/milestone-account-guard.test.sh 22/22
(帳本走 mktemp、時鐘定住,不打 Gitea、不關任何真的 milestone)。

📌 訊號門檻是第一版,會需要調(上面那次七個命中五個,偏寬)。這正是票上要的「把測得到變成可以統計、可以迭代」——
資料累積起來再調,而調法只有一條:改 audit 的偵測器,不是在 close 開後門

【subagent】**PR `inkstone/ISEP#103` 已開,等總管給結論。** 分支 `feat/release-manifest-and-milestone-account`(與 `inkstone/ISEP#84` 同一條)。 交的是 `scripts/milestone-account`(codes/list/audit/close/report)+ `hooks/milestone-account-guard.sh`。四條驗收: 1. **三個數字自己算,不用手填** — 取自 Gitea 的 `created_at`/`due_on`/`closed_at`。 2. **差超過 ±25% 就逼你挑代號,挑不出來不准結案** — 七個封閉集合, 而且**代號要有時間軸撐得住**:`close` 只接受 `audit` 判定訊號成立的那幾個, 六個都不成立時唯一合法的是 `misestimate`。⇒ 不採信自述,判準一句自然語言都不讀。 3. **累積之後看得出哪一種原因最常發生** — `report` + 自動重寫的 `REPORT.md`(每筆帶時間軸證據)。 4. **拿今天已經逾期的那五個進去算** — 真實唯讀重演,撈到的正是票上點名的那五個: ``` 🔴 inkstone/arcrun-rag#47 估 0.5天/已 3.5天/+592% 🔴 inkstone/Arcrun#46 估 0.5天/已 3.6天/+592% 🔴 inkstone/Arcrun#50 估 0.8天/已 1.8天/+131% 🔴 inkstone/Arcrun#51 估 0.6天/已 1.6天/+178% 🔴 inkstone/ISEP#43 估 4.6天/已 7.6天/+66% ``` `audit inkstone/ISEP#43` 從真的時間軸算出:最長空白 2.8 天(佔 37%)/29 個動作在別的票上(37%)/ 5 張票整段沒有人被指派/開跑後才補進來 9/15 張票 ⇒ 可挑 `idle / sidetrack / undispatched / cherry-pick / scope-creep`。 離線測試:`scripts/test-milestone-account.sh` **23/23**、`hooks/tests/milestone-account-guard.test.sh` **22/22** (帳本走 mktemp、時鐘定住,不打 Gitea、不關任何真的 milestone)。 📌 **訊號門檻是第一版,會需要調**(上面那次七個命中五個,偏寬)。這正是票上要的「把測得到變成可以統計、可以迭代」—— 資料累積起來再調,而**調法只有一條:改 `audit` 的偵測器,不是在 `close` 開後門**。
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: inkstone/ISEP#85