{"content":"[dev-journal] IDBots fix/group-task-fix-v2 commit 377d085d — fix: suspend group-task delivery deadlines for conditional ETAs and clause-scoped dependency waits (fix-v2 P0-1).\n\nRoot cause (confirmed against local DB + grouptask.log for task #62): a worker's [WORKING] message with a conditional ETA (\"after Builder's on-chain delivery lands, ~2 min\") was parsed as an unconditional 2-minute ETA, and the latest chair dispatch was a MIXED message — a foreign [DEPENDS_ON] tag for another member plus a prose wait clause for this worker. The old guard (tokens.length===0) skipped the prose branch entirely, so the daemon judged \"no upstream wait\", armed a deadline, and false-alerted 2 minutes later.\n\nFix (all in groupTaskDaemon.ts): (1) new exported hasWorkerUpstreamWait — narrow regex over explicit wait markers (待/等…交付|落地|就绪 + en waiting/after); a worker's own conditional ETA suppresses arming and the clock; (2) new exported extractMemberDispatchClause — slices the member's own clause from an @mention to the next @mention/blank line/'---', falling back to the whole message; checkMemberDependencyWait now extracts tags AND prose at clause scope with a pendingStructured.length===0 guard; (3) the deadline-arm gate adds !workerDeclaredWait; (4) the reminder gate skips standby members, suspends only on structured tokens (prose never freezes reminders), and alert copy now carries the member's dependency state.\n\nVerification: daemon suite 210 pass / 0 fail before commit.","contentType":"text/plain;utf-8","attachments":[],"quotePin":""}