問題(#815 で顕在化)
implement が stall して runner 失敗 → daemon が失敗処理で Status='Blocked' を mark しようとするが、Scrum Status に Blocked option が無いため例外 → Status は In Progress のまま、🙋 ラベルだけ付与・コメント無し → 人間は『HITL だが何をすべきか不明』に。
該当箇所: daemon.js(失敗時 mark('Status','Blocked')), phases.js(applyResult error → Status=Blocked, PR_SYNC_STATUSES に 'Blocked')。
対策
- Blocked 不整合の解消(どちらか):
- Project の Status に 'Blocked' option を追加(GitHub UI で。API 一括置換は既存 Status を全消去するので不可)。コードはそのまま使える。
- もしくはコードが 'Blocked' を使わず、失敗時は Status を変えず(or Sprint Backlog に戻す)+ 🙋 + コメント にする。
- 失敗時に説明コメントを必ず投稿('implement が stall/失敗。原因と次アクション。再キューしました 等')→『HITL なのに無言』を解消。
- stuck 検知: Status=In Progress かつ AI Status=*ing なのに daemon running に居ない状態が N 分継続したら、自動で Sprint Backlog に戻す(再試行)or Blocked+コメント。
- (関連)長時間 implement での watchdog/busy 誤検知の見直し。
Test
- 失敗パスで Status mark が例外を出さない / コメントが投稿される。
- stuck 検知が In Progress+*ing+非running を拾う(pure 判定 + unit)。
背景
#815(Review 整流) の implement が stall → 本不具合が表面化。
問題(#815 で顕在化)
implement が stall して runner 失敗 → daemon が失敗処理で
Status='Blocked'を mark しようとするが、Scrum Status に Blocked option が無いため例外 → Status は In Progress のまま、🙋 ラベルだけ付与・コメント無し → 人間は『HITL だが何をすべきか不明』に。該当箇所:
daemon.js(失敗時mark('Status','Blocked')),phases.js(applyResult error → Status=Blocked, PR_SYNC_STATUSES に 'Blocked')。対策
Test
背景
#815(Review 整流) の implement が stall → 本不具合が表面化。