以 sdlc-feat 領取工作包、起錶並備妥分支 #11

Closed
opened 2026-09-17 03:51:21 +00:00 by jiantw83 · 0 comments
Member

母議題

#1 — tea-sdlc:以 tea 驅動 SDLC 全流程的跨平台指令組

要做出什麼

開發者指定一顆工作包,安全地把它認領下來並準備好開工的分支。

領取時會被擋下的情況有三種:這顆工作包已經有別人認領(不會兩個人做同一件事)、自己的碼錶正跑在這顆議題上、自己的碼錶正跑在別的議題上(提醒自己忘了停掉上一個)。四種狀態(含無鎖)各自的處置要明確。

放行後自動開始計時,不必記得手動按。接著詢問來源分支——正確地從功能分支或開發分支長出新分支;若來源分支在遠端已存在,是 pull 而不是重建,不覆蓋他人進度。分支名稱依既定規則產生,確保 CI 與 URL 不會因中文出問題。

領取鎖用 assignee 加標籤實作,不用碼錶——Gitea 的碼錶只讀得到自己的。

不在本機留任何狀態檔,換機器或換 agent 都能接手。

驗收標準

  • 領取鎖決策表四種狀態各有測試:他人已 assign/自己碼錶跑在本議題/自己碼錶跑在別的議題/無鎖
  • 他人已認領時阻擋;自己碼錶在任何議題上運轉時一律阻擋,要求手動停錶後再領
  • 放行後設定 assignee 與進行中標籤,並自動起錶
  • 詢問來源分支;來源分支在遠端已存在時執行 pull 而非重建
  • 分支命名依規則產生:從開發分支為 {類型}/{英文-kebab-需求描述}/main,從功能分支為 {類型}/{需求描述}/{功能描述};需求描述由議題標題翻譯且 ≤40 字元
  • 流程不寫入任何本機狀態檔,進度完全由 Gitea 上的狀態推導
  • 偵測到議題有未處理留言時提示先整併

阻擋於

  • #9 — 建立工作包的抽取契約
## 母議題 #1 — tea-sdlc:以 tea 驅動 SDLC 全流程的跨平台指令組 ## 要做出什麼 開發者指定一顆工作包,安全地把它認領下來並準備好開工的分支。 領取時會被擋下的情況有三種:這顆工作包已經有別人認領(不會兩個人做同一件事)、自己的碼錶正跑在這顆議題上、自己的碼錶正跑在別的議題上(提醒自己忘了停掉上一個)。四種狀態(含無鎖)各自的處置要明確。 放行後自動開始計時,不必記得手動按。接著詢問來源分支——正確地從功能分支或開發分支長出新分支;若來源分支在遠端已存在,是 pull 而不是重建,不覆蓋他人進度。分支名稱依既定規則產生,確保 CI 與 URL 不會因中文出問題。 領取鎖用 assignee 加標籤實作,不用碼錶——Gitea 的碼錶只讀得到自己的。 不在本機留任何狀態檔,換機器或換 agent 都能接手。 ## 驗收標準 - [x] 領取鎖決策表四種狀態各有測試:他人已 assign/自己碼錶跑在本議題/自己碼錶跑在別的議題/無鎖 - [x] 他人已認領時阻擋;自己碼錶在任何議題上運轉時一律阻擋,要求手動停錶後再領 - [x] 放行後設定 assignee 與進行中標籤,並自動起錶 - [x] 詢問來源分支;來源分支在遠端已存在時執行 pull 而非重建 - [x] 分支命名依規則產生:從開發分支為 `{類型}/{英文-kebab-需求描述}/main`,從功能分支為 `{類型}/{需求描述}/{功能描述}`;需求描述由議題標題翻譯且 ≤40 字元 - [x] 流程不寫入任何本機狀態檔,進度完全由 Gitea 上的狀態推導 - [x] 偵測到議題有未處理留言時提示先整併 ## 阻擋於 - #9 — 建立工作包的抽取契約
jiantw83 added the ready-for-agent label 2026-09-17 03:51:21 +00:00
jiantw83 added a new dependency 2026-09-17 03:51:39 +00:00
jiantw83 added a new dependency 2026-09-17 03:51:40 +00:00
jiantw83 added a new dependency 2026-09-17 03:51:41 +00:00
jiantw83 removed the ready-for-agent label 2026-09-17 07:11:01 +00:00
jiantw83 added a new dependency 2026-09-17 07:12:25 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Reference: plugins/tea-sdlc#11