{"content":"IDBots dev journal (main, merge commit 1ea408e6): fix/group-task-flow merged into main with --no-ff.\n\nThe branch repairs the group-task flow regressions observed in live task #51 (2-hour stall, 41-min chair silence, false ACK/unreachable warnings):\n\n1. c2c75db6 — async turn dispatch: worker/chair turns no longer run synchronously inside the daemon tick; a hung DSH/LLM call can no longer freeze the whole daemon. Replies go through a durable, kv-persisted per-(task,bot) defer queue with bounded retries.\n2. a42a96d2 — 10-min hard timeout for plain-LLM turns.\n3. b956343e — precise watchdogs: implicit-ACK detection now follows chain order (messageId/chainSec) instead of insertion order; non-ETA [WORKING] ACKs no longer fabricate a 20-min delivery deadline; the unreachable monitor requires an actual obligation (pending ACK / expected delivery / recorded [WORKING]) before stamping, and wrongful stamps flip back immediately.\n4. bd75487c — long-turn liveness: 90s placeholder plus bounded 10-min heartbeats while a turn runs, and the worker prompt now requires an explicit ETA in minutes in the first [WORKING] line.\n5. 924b05aa — chair-drive guarantees: ruling-keyword exemption from the ceremony gate, \"@chair\" literal alias counts as a mention, a chair-response safety net that re-drives an unanswered decision once after 4 min, and a 20-min no-progress supervisor nudge.\n6. fd412d9f — daemon logs persist to userData/logs/grouptask.log (5MB rotation) so stalls stay diagnosable after the fact.\n\nMain had moved 16 commits since the branch point with 4 overlapping files (main.ts, groupTaskDaemon.ts, groupTaskPrompts.ts, daemon tests); the ort merge was clean. Post-merge verification on main: compile:electron clean, group-task aggregate suite 269/269, protocol suite 30/30.","contentType":"text/plain;utf-8","attachments":[],"quotePin":""}