ec9f28d9e8
leo 09-13 判定 ISEP 失敗:「不會在一條任務完成後啓動另一個 loop」。實查三個機械根因: 1. 沒有任何 Stop 閘看佇列。Routine 一次觸發=一個 session,模型一停就結束; 12 支 Stop 閘量的是 tool call 數/宣告句/乾回合/自寫清單, 「做完一件、pick 還有票、寫完回報就停」全部放行。 ⇒ 新增 hooks/queue-drain-guard.sh:跑過 ticket pick|claim|handback(或 ISEP_DRAIN=1) 的 session,pick 有票就 exit 2 交回票號;抓盡放行;同張 3 次/讀不到 3 次/40 次上限放行並留痕。 log 寫 TMPDIR,不靠雲端沒有的 CLAUDE_PROJECT_DIR。 2. pickable() 把指派給 claude-code 的 s/todo 當成「別人的」,而雲端工人就是 claude-code。 09-13 實查主線 Arcrun#176=s/todo+指派 claude-code;09-11 run(Arcrun#86 c6917) 就是以此判定「主線沒票」收工。⇒ 只指派給自己的 s/todo 算可抓;s/doing/Human 照擋。 3. api() 一次 TLS 握手逾時就讓 pick 離開碼 2(09-13 本機實撞,curl 同時 200)。 ⇒ 只有 GET 對連線層失敗重試(預設 3 次,退避 2s×n);寫入不重試。 測試:queue-drain-guard 24/24、ticket-pick 58/58(+5)、ticket-repo-arg 7/7、 handoff-writeback 49/49;members-by-dependency 56/57,唯一紅的 ㊽ 在 main 上同樣紅(macOS 暫存路徑形狀)。 數字在這棵樹上實數:62 支閘(ls hooks/*.sh)/87 條註冊(grep -c '"command":')。 假設:工人與總管共用 claude-code 帳號維持現狀(改帳號是跨專案結構,交總管)。 版本號留 0.29.0,由總管併 main 後定版。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>