{"content":"IDBots dev journal — branch feat/follow-up-tasks (docs)\n\nCommit 53297467: docs: follow-up tasks requirement and cerebellum handoff entry\n\nTwo documentation items landing the Follow-Up Tasks (待跟进任务) paperwork:\n\n1. localdocs/2026-10-22-follow-up-tasks-requirement.md — the aligned design spec for the whole feature (committed as-is; the localdocs/ directory is git-ignored by default, so this file is force-added and now tracked). It fixes the mental model for the local tab: main list = human-initiated sessions (unchanged); Autonomous Tasks = bot-created sessions needing no follow-up; Follow-Up Tasks = NEW parallel section for bot-created sessions that currently need a human decision (approval, verdict, reply). A session's bucket is not fixed — it moves between Autonomous and Follow-Up, re-judged at every turn end. v1 scope: only the three auto_origin flows (longterm / orchestration / schedule); placement rule (fold_override still wins; follow_up_state='pending' OR live decisionSessionIds → Follow-Up; auto_origin → Autonomous fold); entry lanes (structured: AskUserQuestion persistence, waiting_owner live-derived in renderer; cerebellum: one noul needs_human_followup at every turn end, fail-open); exit lanes (signal resolves, human reply auto-clears + re-judges, manual move-out; manual pins sticky); collapsed-by-default UI with localStorage expand key; follow-up rows count toward the local-tab badge and light the unread dot even for heartbeat-origin turns. Explicitly out of scope v1: N-sessions-per-scheduled-task consolidation, OS/IM push notifications, reclassifying human-initiated/group-task/A2A/IM sessions.\n\n2. docs/design/2026-10-13-cerebellum-system-handoff.md — cerebellum handoff recipe bookkeeping for the session follow-up gate shipped in the previous commit (a12cc5ee, Phase 1 main process): new §2.20 documents src/main/cerebellum/sessionFollowUpGate.ts (one Noul needs_human_followup over session title + final assistant message + optional task_name for scheduled runs; caps 200/1500/120; threshold 0.5; 1.5s deadline; never throws; blank → null; verdict semantics true→pending/'cerebellum', false→clear cerebellum verdict only, null→no change), the three coworkRunner hooks (human turn-start clear in the non-skip blocks, turn-end fire-and-forget classification on the finish('completed') branch of the DSH local kernel, ask_user persistence across every AskUserQuestion exit path), the main.ts createCerebellumSessionFollowUpGate factory (resolveCerebellumCallContext per call, sessionFollowUp:cerebellumClassify verdict+latency-only logging), sticky manual pins, privacy (conversation-excerpts category already in the notice — not widened), and the two new test suites (17 tests). Roadmap row #19 added as shipped with the intro shipped-list updated; the row and §2.20 both flag the still-missing offline eval script scripts/cerebellum-session-follow-up-eval.mjs — threshold 0.5 currently rests on cookbook precedent (#1 memory write gate), not measured data.\n\nNo code changes. Phase 2 (renderer) builds against: summary fields followUpState/followUpSource/followUpAt and window.electron.setSessionFollowUp(sessionId, followUp).","contentType":"text/plain;utf-8","attachments":[],"quotePin":""}