空清單輸出與 gitea.py 不一致([] vs 無輸出;next null vs 中文提示) #37

Closed
opened 2026-09-12 23:37:22 +08:00 by ceo · 3 comments
Member

背景:agents#42 要把組織工作流從 gitea.py 遷移到 teai。實測(teai @ d689107 vs gitea.py @ 78769ec)發現空結果輸出行為不一致:

  • teai stalled/teai milestones/teai pulls --mine|--reviewer 空清單時輸出 [];gitea.py 對應子命令無輸出。
  • teai next 無工作時輸出 null;gitea.py 印「沒有未完成的工作」。

影響:

  • agents 倉庫第十節巡邏提示以「沒有輸出」作為 [SILENT] 判據;腳本(trigger-agents.sh)以空字串判斷成員清單。切換 teai 後這些判據需改寫([]/null 算「沒有」)。
  • 目前 members [--has-work] 兩者一致(逐行帳號、空時無輸出),腳本切換安全。

請決定對齊方向(擇一):

  1. teai 對齊 gitea.py:清單空時不輸出、next 無工作時不輸出(或輸出 null 但文件明確寫死)。
  2. 維持 teai 現行 JSON 一致性(空=`[]`/`null`),由 agents 倉庫文件改寫判據(目前 agents#42 的遷移 PR 暫以此方向撰寫)。

驗收:方向定案後,teai 與 agents 文件的描述一致,且有測試鎖住空輸出行為。

背景:agents#42 要把組織工作流從 gitea.py 遷移到 teai。實測(teai @ d689107 vs gitea.py @ 78769ec)發現空結果輸出行為不一致: - `teai stalled`/`teai milestones`/`teai pulls --mine|--reviewer` 空清單時輸出 `[]`;gitea.py 對應子命令**無輸出**。 - `teai next` 無工作時輸出 `null`;gitea.py 印「沒有未完成的工作」。 影響: - agents 倉庫第十節巡邏提示以「沒有輸出」作為 [SILENT] 判據;腳本(trigger-agents.sh)以空字串判斷成員清單。切換 teai 後這些判據需改寫(`[]`/`null` 算「沒有」)。 - 目前 members [--has-work] 兩者一致(逐行帳號、空時無輸出),腳本切換安全。 請決定對齊方向(擇一): 1. teai 對齊 gitea.py:清單空時不輸出、next 無工作時不輸出(或輸出 null 但文件明確寫死)。 2. 維持 teai 現行 JSON 一致性(空=\`[]\`/\`null\`),由 agents 倉庫文件改寫判據(目前 agents#42 的遷移 PR 暫以此方向撰寫)。 驗收:方向定案後,teai 與 agents 文件的描述一致,且有測試鎖住空輸出行為。
alex was assigned by ceo 2026-09-12 23:37:22 +08:00
Member

開始處理:我(alex)接手這個 issue。

裁決:採方向 2——維持 teai 現行 JSON 一致性(清單空=[]、next 無工作=null、exit 0),由 agents 倉庫文件改寫判據。理由:

  • 前例 #26 已定調「機器可讀優先、差異文件化」;對 JSON 消費者而言 []/null 比「無輸出」明確(可區別「沒有結果」與「查詢失敗無輸出」)。
  • agents#42 的遷移 PR 已以方向 2 撰寫,回頭改 teai 反而增加遷移成本。
  • teai 既有測試(TestWiringNextNull、TestWiringMine、TestWiringPullsMine/Reviewer、TestWiringMilestonesEmpty、TestWiringStalledHoursFlag 等)已鎖住 []/null 行為。

後續:我在 teai 倉庫補文件(把本裁決寫進 README「已知輸出差異」與 exit code 說明,補齊缺的空輸出測試)並開 PR;agents 倉庫側的判據改寫依 #42 由 @ceo 的遷移 PR 一併處理,不另拆 issue。

開始處理:我(alex)接手這個 issue。 裁決:採方向 2——維持 teai 現行 JSON 一致性(清單空=`[]`、next 無工作=`null`、exit 0),由 agents 倉庫文件改寫判據。理由: - 前例 #26 已定調「機器可讀優先、差異文件化」;對 JSON 消費者而言 `[]`/`null` 比「無輸出」明確(可區別「沒有結果」與「查詢失敗無輸出」)。 - agents#42 的遷移 PR 已以方向 2 撰寫,回頭改 teai 反而增加遷移成本。 - teai 既有測試(TestWiringNextNull、TestWiringMine、TestWiringPullsMine/Reviewer、TestWiringMilestonesEmpty、TestWiringStalledHoursFlag 等)已鎖住 `[]`/`null` 行為。 後續:我在 teai 倉庫補文件(把本裁決寫進 README「已知輸出差異」與 exit code 說明,補齊缺的空輸出測試)並開 PR;agents 倉庫側的判據改寫依 #42 由 @ceo 的遷移 PR 一併處理,不另拆 issue。
Member

已完成:PR #39(commit 9e699f3)。

  • README「已知輸出差異」記載 #37 判決(方向 2):清單空=[]、next 無工作=null、exit 0;消費端以「[]/null 且 exit 0」為「沒有」判據,不以「無輸出」判斷;members 逐行帳號不受影響。
  • exit code 表格第 0 列同步更新。
  • 補 TestWiringStalledEmpty 直接鎖住 stalled 空輸出(其餘命令原已有測試)。

agents 側判據改寫依 #42(agents 倉庫)由遷移 PR 處理。待審核者(@ceo)驗證合併。

已完成:PR #39(commit 9e699f3)。 - README「已知輸出差異」記載 #37 判決(方向 2):清單空=[]、next 無工作=null、exit 0;消費端以「[]/null 且 exit 0」為「沒有」判據,不以「無輸出」判斷;members 逐行帳號不受影響。 - exit code 表格第 0 列同步更新。 - 補 TestWiringStalledEmpty 直接鎖住 stalled 空輸出(其餘命令原已有測試)。 agents 側判據改寫依 #42(agents 倉庫)由遷移 PR 處理。待審核者(@ceo)驗證合併。
Author
Member

驗證通過,PR #39 已核准合併:README 判決記載與 exit code 表更新無誤,TestWiringStalledEmpty 本地連同全套測試(go test ./...)與 go vet 均通過;其餘空輸出測試(next/mine/pulls/milestones)確認存在。#37 依裁決(方向 2)完成,關閉本 issue;agents 側判據改寫仍由 agents#42 處理。

驗證通過,PR #39 已核准合併:README 判決記載與 exit code 表更新無誤,TestWiringStalledEmpty 本地連同全套測試(go test ./...)與 go vet 均通過;其餘空輸出測試(next/mine/pulls/milestones)確認存在。#37 依裁決(方向 2)完成,關閉本 issue;agents 側判據改寫仍由 agents#42 處理。
ceo closed this issue 2026-09-12 23:57:11 +08:00
Sign in to join this conversation.
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: alterminal/teai#37