身為每天只看兩眼的人,我要「現在在做哪一條」有唯一答案,我才不會 14 個里程碑同時亮著卻不知道該看哪個 #82

Closed
opened 2026-08-27 14:30:16 +00:00 by claude-code · 3 comments
Member

問題

SOP 說「有 active milestone 時只做該 milestone 的事」,也要求每回合把「🎯 active milestone 的目標」推到我眼前。

但現場同時有 14 個 open milestone,其中「Mira 現代化」這一個名字同時存在於 5 個 repo:

InkStoneCo#8 / arcrun-rag#9 / Arcrun#13 / mira#14 / arcrun-app-note#45

還有 5 個已經逾期了(08-24 三個、08-26 兩個,今天是 08-27)。

所以「那個 active milestone」在現場根本沒有指涉對象。要注入也不知道注哪一個,要擋跳線也不知道拿哪一個當基準。leo 說今天「分心」——分心的前提是有一條主線,而現在主線有 14 條。

目標

讓「現在正在做哪一個」變成一個查得到的事實,而不是一個要靠人記得的事。

一個 milestone 被標成「現在這個」之後:

  • 每回合把它的目標宣告推到眼前
  • 派工的票號不屬於它,就要當場說是補收還是跳線

驗收條件

  1. 問「現在的主線是哪一個」→ 要能一個指令答出來,而且答案唯一
  2. 標了主線之後開新回合 → 目標宣告要自己出現,不用我去翻
  3. 派一張不屬於主線的票 → 要被攔一次,並問是補收還是新事項
  4. 沒有任何主線時 → 不能整組壞掉,要講得出「現在沒有主線」

deliverable 類型

code(→ PR)


細節

這條在 SOP 裡的位置:鐵律 9 + S8-1(專注)+ §4 感知層的「🎯 一行」。

14 個 milestone 的實查(2026-08-27,GET /repos/inkstone/*/milestones?state=open):

InkStoneCo#8   Mira 現代化                0%   due 08-28
arcrun-rag#47  不必開瀏覽器,也不怕反悔      0%   due 08-24  ← 逾期
arcrun-rag#9   Mira 現代化                33%  due 08-28
arcrun-rag#11  一裝就能用                 50%  due 08-28
arcrun-rag#12  封測不再斷                 66%  due 09-04
Arcrun#46      App 打開來就是 Arcrun       25%  due 08-24  ← 逾期
Arcrun#50      AI 問得到內文               50%  due 08-26  ← 逾期
Arcrun#51      寫進去,就查得到             66%  due 08-26  ← 逾期
Arcrun#13      Mira 現代化                0%   due 08-28
Arcrun#48      AI 問一次就看得到全部        0%   due 08-31
mira#14        Mira 現代化                50%  due 08-28
mira#49        AI 問一次就看得到全部        0%   due 08-31
ISEP#43        把管理這條線做對             6%   due 08-24  ← 逾期
arcrun-app-note#45  Mira 現代化           0%   due 08-28

注意:不是要求「同時只准有一個 milestone」。跨 repo 同名是既有做法(milestone 不能跨 repo,v0.6.0 §4/SOP S7-4 都是這樣處理)。要的是「這一刻我在做哪一條」這件事有答案。

已經有的、不要重造milestone-due-guard.sh 管的是「建的時候有沒有真期限」,不管「現在在做哪一個」。

與 ISEP#63 的分工:#63 管「⏱ 已過/剩餘」那一行,本票管「🎯 主線是哪一個」那一行。兩行同一個注入點,但來源不同,先各自成立再合。


🔎 為什麼另開一張票而不是貼進既有的(開票時聲明):#63 管「已過/剩餘時間」那一行,本票管「主線是哪一個」那一行,來源不同要各自成立。milestone-due-guard 管建立時有沒有期限,不是這件事。
當時搜尋:active milestone 主線 專注 跳線 → 命中 56 張。

## 問題 SOP 說「有 active milestone 時只做該 milestone 的事」,也要求每回合把「🎯 active milestone 的目標」推到我眼前。 **但現場同時有 14 個 open milestone**,其中「Mira 現代化」這一個名字同時存在於 5 個 repo: ``` InkStoneCo#8 / arcrun-rag#9 / Arcrun#13 / mira#14 / arcrun-app-note#45 ``` 還有 5 個已經逾期了(08-24 三個、08-26 兩個,今天是 08-27)。 所以「**那個** active milestone」在現場根本沒有指涉對象。要注入也不知道注哪一個,要擋跳線也不知道拿哪一個當基準。leo 說今天「分心」——分心的前提是有一條主線,而現在主線有 14 條。 ## 目標 讓「現在正在做哪一個」變成一個查得到的事實,而不是一個要靠人記得的事。 一個 milestone 被標成「現在這個」之後: - 每回合把它的目標宣告推到眼前 - 派工的票號不屬於它,就要當場說是補收還是跳線 ## 驗收條件 1. 問「現在的主線是哪一個」→ **要能一個指令答出來,而且答案唯一** 2. 標了主線之後開新回合 → **目標宣告要自己出現,不用我去翻** 3. 派一張不屬於主線的票 → **要被攔一次**,並問是補收還是新事項 4. 沒有任何主線時 → 不能整組壞掉,要講得出「現在沒有主線」 ## deliverable 類型 code(→ PR) --- <details><summary>細節</summary> **這條在 SOP 裡的位置**:鐵律 9 + S8-1(專注)+ §4 感知層的「🎯 一行」。 **14 個 milestone 的實查**(2026-08-27,`GET /repos/inkstone/*/milestones?state=open`): ``` InkStoneCo#8 Mira 現代化 0% due 08-28 arcrun-rag#47 不必開瀏覽器,也不怕反悔 0% due 08-24 ← 逾期 arcrun-rag#9 Mira 現代化 33% due 08-28 arcrun-rag#11 一裝就能用 50% due 08-28 arcrun-rag#12 封測不再斷 66% due 09-04 Arcrun#46 App 打開來就是 Arcrun 25% due 08-24 ← 逾期 Arcrun#50 AI 問得到內文 50% due 08-26 ← 逾期 Arcrun#51 寫進去,就查得到 66% due 08-26 ← 逾期 Arcrun#13 Mira 現代化 0% due 08-28 Arcrun#48 AI 問一次就看得到全部 0% due 08-31 mira#14 Mira 現代化 50% due 08-28 mira#49 AI 問一次就看得到全部 0% due 08-31 ISEP#43 把管理這條線做對 6% due 08-24 ← 逾期 arcrun-app-note#45 Mira 現代化 0% due 08-28 ``` **注意:不是要求「同時只准有一個 milestone」**。跨 repo 同名是既有做法(milestone 不能跨 repo,v0.6.0 §4/SOP S7-4 都是這樣處理)。要的是「這一刻我在做哪一條」這件事有答案。 **已經有的、不要重造**:`milestone-due-guard.sh` 管的是「建的時候有沒有真期限」,不管「現在在做哪一個」。 **與 ISEP#63 的分工**:#63 管「⏱ 已過/剩餘」那一行,本票管「🎯 主線是哪一個」那一行。兩行同一個注入點,但來源不同,先各自成立再合。 </details> --- > 🔎 **為什麼另開一張票而不是貼進既有的**(開票時聲明):#63 管「已過/剩餘時間」那一行,本票管「主線是哪一個」那一行,來源不同要各自成立。milestone-due-guard 管建立時有沒有期限,不是這件事。 > 當時搜尋:`active milestone 主線 專注 跳線` → 命中 56 張。
claude-code added this to the SOP 變成閘 milestone 2026-08-27 14:32:26 +00:00
claude-code added the
s
todo
type
governance
labels 2026-08-27 14:32:27 +00:00
Author
Member

【身份】subagent/inkstone/ISEP/feat/mainline-milestone

PR:#99(細節都寫在 PR 說明裡,這裡不重抄)

四條驗收都做出來了,而且接在 #63 剛上線的注入點上,沒有另造一套機制

  1. 「現在的主線是哪一個」→ scripts/mainline,答案唯一(主線住在一個檔裡,那個檔放得下一條)
  2. 標了之後開新回合 → 目標宣告自己出現在同一個注入點的第二行;主線的名字同時掛在 ⏱ 那一行上,所以它跟著 #63 那道已經驗過的 Stop 閘到眼前,沒有為它新增第二道會擋人的閘
  3. 派一張不在主線上的票 → mainline-focus-guard.sh 攔一次,問「補收還是跳線」,兩條路各給一個指令;同一張票只擋一次
  4. 沒有主線 → show/注入/閘三處都講得出「現在沒有主線」,閘一律放行

跨 repo 同名里程碑(「Mira 現代化」活在 5 個 repo)一個字都沒改——主線是「一個名字錨在一個具體里程碑上」,同名跨 repo 照舊能用。

驗過的:新測試 24 條全綠(全程離線,TICKET_HOST 指到連不上的位址,走到網路會當場失敗);#63 原有的 20 條仍全綠;dispatch-format-guard 33/33。打網路的那半實跑過(list 回 15 個跨 5 repo、set 收到 13 張票、refresh 0.8 秒)。

沒驗的、要總管接手的

  • 版本號沒動(今天多線並行,待總管定版)
  • 盤點數字是當場數的:54 支閘/71 條註冊/36 支腳本
  • 順手撞到兩支閘的誤攔github-contact-guard 解 remote 用 session cwd、milestone-due-guard 不剝 heredoc),兩個都只擋錯方向、不會放行不該放的,所以我一個字都沒改,PR 末段有完整描述——要不要開票由總管決定
【身份】subagent/inkstone/ISEP/feat/mainline-milestone **PR:https://git.uncle6.me/inkstone/ISEP/pulls/99**(細節都寫在 PR 說明裡,這裡不重抄) 四條驗收都做出來了,而且**接在 `#63` 剛上線的注入點上,沒有另造一套機制**: 1. 「現在的主線是哪一個」→ `scripts/mainline`,答案唯一(主線住在一個檔裡,那個檔放得下一條) 2. 標了之後開新回合 → 目標宣告自己出現在同一個注入點的第二行;主線的名字**同時掛在 ⏱ 那一行上**,所以它跟著 `#63` 那道已經驗過的 Stop 閘到眼前,**沒有為它新增第二道會擋人的閘** 3. 派一張不在主線上的票 → `mainline-focus-guard.sh` 攔一次,問「補收還是跳線」,兩條路各給一個指令;同一張票只擋一次 4. 沒有主線 → `show`/注入/閘三處都講得出「現在沒有主線」,閘一律放行 跨 repo 同名里程碑(「Mira 現代化」活在 5 個 repo)**一個字都沒改**——主線是「一個名字錨在一個具體里程碑上」,同名跨 repo 照舊能用。 **驗過的**:新測試 24 條全綠(全程離線,`TICKET_HOST` 指到連不上的位址,走到網路會當場失敗);`#63` 原有的 20 條仍全綠;`dispatch-format-guard` 33/33。打網路的那半實跑過(`list` 回 15 個跨 5 repo、`set` 收到 13 張票、`refresh` 0.8 秒)。 **沒驗的、要總管接手的**: - **版本號沒動**(今天多線並行,待總管定版) - 盤點數字是當場數的:54 支閘/71 條註冊/36 支腳本 - 順手撞到**兩支閘的誤攔**(`github-contact-guard` 解 remote 用 session cwd、`milestone-due-guard` 不剝 heredoc),兩個都只擋錯方向、不會放行不該放的,所以我一個字都沒改,PR 末段有完整描述——**要不要開票由總管決定**
Author
Member

🏃 棒子交回 → claude-code

下一步:看 PR #99 併不併;併之前決定版本號(我沒動 plugin.json 的 version),併完把 54 支/71 條那組數字帶進版本說明

證據#99 | 新測 24 條全綠、#63 原有 20 條無回歸

🏃 **棒子交回** → `claude-code` **下一步**:看 PR #99 併不併;併之前決定版本號(我沒動 plugin.json 的 version),併完把 54 支/71 條那組數字帶進版本說明 **證據**:https://git.uncle6.me/inkstone/ISEP/pulls/99 | 新測 24 條全綠、#63 原有 20 條無回歸
claude-code self-assigned this 2026-08-28 00:37:43 +00:00
claude-code added
s
review
and removed
s
todo
labels 2026-08-28 00:37:45 +00:00
Author
Member

【身份】subagent/inkstone/ISEP/feat/mainline-milestone

補一則:PR #99 現在真的可以併(前一則貼出來的時候還不能,我沒說,因為當時我還沒查)。

今天 main 動了三次(#97、#96、#100 定版 v0.12.0),我 rebase 了三次。現在:

  • branch 落在現在的 main 上(HEAD..gitea/main = 0 筆),Gitea 回 mergeable = true
  • rebase 後全部測試重跑過:新測 24 條、#63 原有 20 條、dispatch-format 33/33,全綠
  • 盤點數字在合併後的樹上重數:54 支閘/71 條註冊/37 支腳本

⚠️ 一件要總管裁的v0.12.0 這顆 tag 已經打了,而我的 plugin.json 只是繼承那個版本號(我沒動它)。
⇒ 這個 PR 併進去之後,0.12.0 的內容會跟那顆 tag 不一樣,併的時候要一起升版
不然 scripts/check-version-consistency.sh 會紅,「ISEP 現在是哪一版」又變成各說各話。

【身份】subagent/inkstone/ISEP/feat/mainline-milestone 補一則:**PR #99 現在真的可以併**(前一則貼出來的時候還不能,我沒說,因為當時我還沒查)。 今天 main 動了三次(#97、#96、#100 定版 v0.12.0),我 rebase 了三次。現在: - branch 落在現在的 main 上(`HEAD..gitea/main` = 0 筆),Gitea 回 `mergeable = true` - rebase 後全部測試重跑過:新測 24 條、`#63` 原有 20 條、`dispatch-format` 33/33,全綠 - 盤點數字在**合併後的樹上**重數:54 支閘/71 條註冊/37 支腳本 ⚠️ **一件要總管裁的**:`v0.12.0` 這顆 tag 已經打了,而我的 `plugin.json` 只是繼承那個版本號(我沒動它)。 ⇒ 這個 PR 併進去之後,`0.12.0` 的內容會跟那顆 tag 不一樣,**併的時候要一起升版**, 不然 `scripts/check-version-consistency.sh` 會紅,「ISEP 現在是哪一版」又變成各說各話。
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: inkstone/ISEP#82