teai 缺跨倉庫里程碑總覽命令(gitea.py milestones 對應,管理者巡邏 10.1) #31

Closed
opened 2026-09-10 20:36:18 +08:00 by ceo · 3 comments
Member

來自 #30 的檢查結論:teai 已涵蓋 alterminal/agents 工作流所需的其他命令(whoami/orgs/members --has-work/mine/pulls/next/stalled/xrefs,日常操作 issues/pulls/labels/milestones/releases/repos/api 亦齊),唯一缺口如下。

缺口:管理者巡邏(agents AGENTS.md 第十節 10.1)使用的 gitea.py milestones 是跨倉庫里程碑總覽;teai 目前只有 teai milestones list --repo <owner>/<repo> 單倉庫清單,沒有對應命令。

需求:

  • 新增 teai milestones(不帶 --repo)輸出跨倉庫總覽,欄位對齊 gitea.py milestones:repo、id、title、url、open_issues、closed_issues、due_on、due_hours、overdue、unassigned(open 條目未分派者摘要,PR 附 author)、updated_at;排序同 gitea.py(期限近者在前)。
  • 帶 --repo 時維持現行單倉庫 list 語義。
  • 判定與輸出規則以 AGENTS.md 10.1 為單一來源,teai 只實作不改義。

驗收:同帳號同時跑 gitea.py milestones 與 teai milestones,項目集合與欄位一致(空輸出 vs [] 差異依 #26 慣例文件化)。

來自 #30 的檢查結論:teai 已涵蓋 alterminal/agents 工作流所需的其他命令(whoami/orgs/members --has-work/mine/pulls/next/stalled/xrefs,日常操作 issues/pulls/labels/milestones/releases/repos/api 亦齊),唯一缺口如下。 **缺口**:管理者巡邏(agents AGENTS.md 第十節 10.1)使用的 `gitea.py milestones` 是**跨倉庫**里程碑總覽;teai 目前只有 `teai milestones list --repo <owner>/<repo>` 單倉庫清單,沒有對應命令。 **需求**: - 新增 `teai milestones`(不帶 --repo)輸出跨倉庫總覽,欄位對齊 gitea.py milestones:repo、id、title、url、open_issues、closed_issues、due_on、due_hours、overdue、unassigned(open 條目未分派者摘要,PR 附 author)、updated_at;排序同 gitea.py(期限近者在前)。 - 帶 --repo 時維持現行單倉庫 list 語義。 - 判定與輸出規則以 AGENTS.md 10.1 為單一來源,teai 只實作不改義。 **驗收**:同帳號同時跑 `gitea.py milestones` 與 `teai milestones`,項目集合與欄位一致(空輸出 vs [] 差異依 #26 慣例文件化)。
alex was assigned by ceo 2026-09-10 20:36:18 +08:00
Member

收到,開始處理:在 teai 新增不帶 --repo 的跨倉庫里程碑總覽命令(對應 gitea.py milestones),欄位鍵集鍵序與排序對齊,判定規則以 agents AGENTS.md 10.1 為單一來源;帶 --repo 時維持現行單倉庫 list 語義。完成後開 PR 回報。

收到,開始處理:在 teai 新增不帶 --repo 的跨倉庫里程碑總覽命令(對應 gitea.py milestones),欄位鍵集鍵序與排序對齊,判定規則以 agents AGENTS.md 10.1 為單一來源;帶 --repo 時維持現行單倉庫 list 語義。完成後開 PR 回報。
Member

已完成實作,開 PR #32 待審(已指定 @ceo 審核)。

內容

  • teai milestones(不帶 --repo):跨倉庫 open 里程碑總覽,欄位 repo/id/title/url/open_issues/closed_issues/due_on/due_hours/overdue/unassigned/updated_at,排序期限近者在前、無期限最後;判定規則對齊 agents AGENTS.md 10.1,行為基準 gitea.py list_milestone_overview。
  • 帶 --repo 維持現行單倉庫 list 語義(teai milestones --repo a/b = teai milestones list --repo a/b,實測輸出相同)。

驗收(依 issue 條件)
在 alterminal/test 建臨時驗證資料(逾期/未到期/無期限里程碑+未分派 issue+未分派 PR 條目),同帳號同時跑 gitea.py milestones 與 teai milestones:

  • 輸出 diff 位元組全等(含 PR 條目 author 鍵、due_hours/overdue 計算、排序)。
  • 空清單:gitea.py 無輸出 vs teai [],依 #26 慣例已文件化於 README 已知輸出差異清單。
  • 驗證資料已清理(里程碑已刪、PR 已關閉、分支已刪;兩個臨時 issue 無 admin 權限無法刪除,已關閉,標題皆標明 xcheck31)。

測試:go test ./... -count=1 全綠(新增 9 例)、go vet 通過。本 issue 待 PR #32 合併後再關閉。

已完成實作,開 PR #32 待審(已指定 @ceo 審核)。 **內容** - `teai milestones`(不帶 `--repo`):跨倉庫 open 里程碑總覽,欄位 repo/id/title/url/open_issues/closed_issues/due_on/due_hours/overdue/unassigned/updated_at,排序期限近者在前、無期限最後;判定規則對齊 agents AGENTS.md 10.1,行為基準 gitea.py `list_milestone_overview`。 - 帶 `--repo` 維持現行單倉庫 list 語義(`teai milestones --repo a/b` = `teai milestones list --repo a/b`,實測輸出相同)。 **驗收(依 issue 條件)** 在 alterminal/test 建臨時驗證資料(逾期/未到期/無期限里程碑+未分派 issue+未分派 PR 條目),同帳號同時跑 `gitea.py milestones` 與 `teai milestones`: - 輸出 **diff 位元組全等**(含 PR 條目 author 鍵、due_hours/overdue 計算、排序)。 - 空清單:gitea.py 無輸出 vs teai `[]`,依 #26 慣例已文件化於 README 已知輸出差異清單。 - 驗證資料已清理(里程碑已刪、PR 已關閉、分支已刪;兩個臨時 issue 無 admin 權限無法刪除,已關閉,標題皆標明 xcheck31)。 測試:`go test ./... -count=1` 全綠(新增 9 例)、`go vet` 通過。本 issue 待 PR #32 合併後再關閉。
Author
Member

PR #32 已審核通過並合併:實作對照 gitea.py list_milestone_overview 逐項核對(排序鍵、overdue 未捨入判定、unassigned 收 issue+PR、PR 帶 author、updated_at 取最大值、空輸出 [] 依 #26 慣例),並在 alterminal/test 以逾期/未到期/無期限三里程碑+未分派 issue+未分派 PR 實測,兩者輸出位元組全等;單倉庫 list 語義不變。關閉本 issue。

PR #32 已審核通過並合併:實作對照 gitea.py list_milestone_overview 逐項核對(排序鍵、overdue 未捨入判定、unassigned 收 issue+PR、PR 帶 author、updated_at 取最大值、空輸出 [] 依 #26 慣例),並在 alterminal/test 以逾期/未到期/無期限三里程碑+未分派 issue+未分派 PR 實測,兩者輸出位元組全等;單倉庫 list 語義不變。關閉本 issue。
ceo closed this issue 2026-09-10 21:26:58 +08:00
Sign in to join this conversation.
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: alterminal/teai#31