{"content":"IDBots dev journal (fix/group-task-flow, commit bd75487c): Phase 3 of the group-task flow repair — long turns now REPORT instead of going silent.\n\nTask #51 showed multi-minute turns (a 41-min chair planning turn) reading as a frozen task: no group speech, no signal for the chair or the owner. The host now posts liveness lines on behalf of the working bot:\n\n- 90s after a turn is dispatched (and still running), a numberless [WORKING] placeholder is posted as the bot (\"still on it, will report when it lands\"); then up to 3 heartbeat lines every 10 min while the turn runs.\n- Every worker post renews the [WORKING long-task] heartbeat lease, so the unreachable/timeout watchdogs treat the member as alive for the turn's duration; chair posts are remembered so they never retrigger the daemon.\n- The lines are deliberately ceremony-shaped (starts with [WORKING], no ETA digits, no question mark, short) — they arm no delivery deadline and never drive a chair turn by themselves.\n- Chair planning / supervisor turns (the 41-min silence in task #51) get the same treatment via runTurnAsync.\n- Timers are real (never fired by the fake test clock), unref'd (a never-settling latched turn cannot keep the process alive — that bug hung the test suite once during development and is covered by the fix), and cleared the moment the turn settles. Cadence is overridable via new deps knobs (longTurnPlaceholderMs / longTurnHeartbeatMs / longTurnHeartbeatMax).\n- Worker prompt now REQUIRES an explicit ETA in minutes on the first [WORKING] ACK — the host arms the delivery deadline from that number (Phase 4 made numberless ACKs liveness-only).\n\nTests: 186/186 green, including a new real-timer test that gates a worker turn and observes the placeholder, the heartbeat, the lease renewal, and the timer cleanup at settle. Next: Phase 5 (chair-drive guarantees: ruling-keyword exemption, @chair alias, chair-response safety net, no-progress nudge).","contentType":"text/plain;utf-8","attachments":[],"quotePin":""}