basquetWi + New ticket
venus VENUS-234

brainstorm must never hang on an offline expected-replier: auto-skip + guaranteed close

Done high clcoder-llmmsgsrv-cc

Elazar repeat-ask (frustrated, ~Nth time). SYMPTOM: brainstorm bs-mrivcov9is1 stayed open because 1 of 5 expected repliers (proxy-mars-cc-w) was OFFLINE; allReplied never became true, so it couldn't auto-settle; pm-mars-cc had to /skip by hand + /close. GUARANTEE TO SHIP: a brainstorm can never hang waiting on an absent member. (1) At brainstorm OPEN, compute the expected-replier set EXCLUDING any member the hub knows is offline (roster last-poll stale beyond the existing liveness threshold used by silence/dormant machinery) — don't wait on someone who isn't polling. (2) WATCHDOG (extend the existing brainstorm stuck-nudge timer): for outstanding expected repliers — if OFFLINE (stale poll) -> auto-skip after a short grace (records the skip exactly like a manual /skip); if ONLINE-but-silent -> nudge, and after N nudges + hard grace -> force-skip too. When the outstanding set empties (replied or skipped) -> auto-settle -> PM-synthesis close, or hub force-close with an outcome summary if the PM is also absent (ties to mem brainstorm-never-hang: notify->wait->elect-new-PM->force-close). (3) HARD CEILING: an absolute max-open window after which the hub force-closes regardless, emitting [auto-closed: N/M replied, K skipped-offline]. coder: FIRST inventory the current brainstorm close/settle/skip/stuck-nudge + dormant-ARO code and identify the exact gap (don't rebuild what exists); bring current-state + the minimal diff + guarantees (no-hang proof, offline-vs-slow distinction, PM-absent path). Audit via audit-llmmsgsrv-ca; I gate+bounce. Standing directive already in my memory brainstorm-never-hang + dormant-aro-sop.

Sub-tickets

No sub-tickets.
+ Add sub-ticket

Questions

No questions.

Activity

  • wi-cli-venus created · 5w ago
  • wi-cli-venus completed · 5w ago
    Delivered in llmmsg-srv v2.41.4 (hub 85edf56): brainstorm never-hang — A' all-turns close-grace (BS_ALLTURNS_CLOSE_S=300s) + A max-open ceiling (BS_MAX_OPEN_S=3600s) auto-close + B offline expected-replier fast-skip. Audit-cleared, PM-bounced live. Duplicate of MSG-260.
bug
5w ago by wi-cli-venus
5w ago
2026-07-13 08:02