fix:stalled 分類同步 agents#44——子項全關閉的父追蹤項一律標 parent-tracking(#47) #48

Merged
alex merged 1 commits from fix/stalled-parent-wrapup-parity into main 2026-09-14 08:07:55 +08:00
Member

問題(issue #47)

teai stalled 對子項全數關閉的父追蹤項(如 alterminal/bear#39,12 個子項全 closed)輸出 assignee-idle,gitea.py 輸出 parent-tracking——teai×gitea.py 不一致=teai 有 bug(agents#44 已修 gitea.py,teai 未同步)。

修復

  • considerIssue:拔掉 anyOpen(children) 條件,children 非空一律標 parent-tracking(有 open 子項=等待子項;子項全關閉=父項收尾,兩者都不是 assignee 停滯)。移除已無引用的 anyOpen。
  • 回歸測試 TestScanStalledParentWrapup:子項全關閉 fixture,斷言 parent-tracking + child_activity。
  • fakeSource.OpenIssues 過濾 closed 條目,對齊真實 API 語義(closed 僅供 TryGetIssue 解引用)。

驗證

  • go vet ./...+go test ./... 全綠(含新測試與既有 parent-tracking 測試)。
  • 修復版 binary 對真實資料:bear#39 → parent-tracking(stalled_hours 80.5),與 gitea.py 輸出一致,parity 恢復。
## 問題(issue #47) `teai stalled` 對子項全數關閉的父追蹤項(如 alterminal/bear#39,12 個子項全 closed)輸出 `assignee-idle`,gitea.py 輸出 `parent-tracking`——teai×gitea.py 不一致=teai 有 bug(agents#44 已修 gitea.py,teai 未同步)。 ## 修復 - `considerIssue`:拔掉 `anyOpen(children)` 條件,children 非空一律標 `parent-tracking`(有 open 子項=等待子項;子項全關閉=父項收尾,兩者都不是 assignee 停滯)。移除已無引用的 `anyOpen`。 - 回歸測試 `TestScanStalledParentWrapup`:子項全關閉 fixture,斷言 parent-tracking + child_activity。 - `fakeSource.OpenIssues` 過濾 closed 條目,對齊真實 API 語義(closed 僅供 TryGetIssue 解引用)。 ## 驗證 - `go vet ./...`+`go test ./...` 全綠(含新測試與既有 parent-tracking 測試)。 - 修復版 binary 對真實資料:bear#39 → `parent-tracking`(stalled_hours 80.5),與 gitea.py 輸出一致,parity 恢復。
ceo added 1 commit 2026-09-14 08:04:43 +08:00
considerIssue 原先僅在 anyOpen(children) 時標 parent-tracking,子項全關閉時
退回通用原因(如 assignee-idle),與 gitea.py(agents#44 修正)不一致,
導致巡邏「父項收尾」規則永不觸發。改為 children 非空一律 parent-tracking,
並移除已無引用的 anyOpen。

回歸測試 TestScanStalledParentWrapup 補子項全關閉 fixture;
fakeSource.OpenIssues 過濾 closed 以對齊真實 API 語義。
ceo requested review from alex 2026-09-14 08:04:46 +08:00
alex approved these changes 2026-09-14 08:07:53 +08:00
alex left a comment
Member

審核通過(對照 issue #47 逐項驗證):

  1. 語義與 gitea.py 基準(agents #44)一致:children 非空一律標 parent-tracking,拔掉 anyOpen(children) 條件;anyOpen 已移除且全庫無殘留引用。
  2. 回歸測試 TestScanStalledParentWrapup 覆蓋「子項全關閉」fixture,斷言 parent-tracking+child_activity;既有 parent-tracking 測試未受影響。
  3. fakeSource.OpenIssues 過濾 closed 條目,對齊真實 API 語義,合理。
  4. PR 分支上 go vet 與 go test ./... 全綠。
  5. 實機 A/B:修復前 binary 對 alterminal/bear#39 輸出 assignee-idle,修復版 binary 輸出 parent-tracking(stalled_hours 80.5 兩者一致),與 gitea.py 輸出相同,parity 恢復。

符合 issue #47 的修復要求,核准合併。

審核通過(對照 issue #47 逐項驗證): 1. 語義與 gitea.py 基準(agents #44)一致:children 非空一律標 parent-tracking,拔掉 anyOpen(children) 條件;anyOpen 已移除且全庫無殘留引用。 2. 回歸測試 TestScanStalledParentWrapup 覆蓋「子項全關閉」fixture,斷言 parent-tracking+child_activity;既有 parent-tracking 測試未受影響。 3. fakeSource.OpenIssues 過濾 closed 條目,對齊真實 API 語義,合理。 4. PR 分支上 go vet 與 go test ./... 全綠。 5. 實機 A/B:修復前 binary 對 alterminal/bear#39 輸出 assignee-idle,修復版 binary 輸出 parent-tracking(stalled_hours 80.5 兩者一致),與 gitea.py 輸出相同,parity 恢復。 符合 issue #47 的修復要求,核准合併。
alex merged commit 8735e35db6 into main 2026-09-14 08:07:55 +08:00
Sign in to join this conversation.
No Reviewers
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: alterminal/teai#48