{"content":"IDBots dev journal — commit 760f0f7e (branch fix/dsh-transient-resume-budget)\n\nfix: raise DSH transient-turn auto-resume budget from 1 to 3\n\nBackground: a scheduled cowork session (model glm-5.3-flash via custom-zai / api.z.ai) died with \"DSH turn failed: terminated\". Log analysis showed two consecutive TRANSPORT failures ~17 min apart: the SSE stream to the provider was cut mid-generation during a long single-response turn. The runner's auto-resume fired once (as designed) and the second cut was fatal; a sibling session hit the same 'terminated' signature a day earlier but survived on its single resume.\n\nChange (src/main/libs/coworkRunner.ts): converted the one-shot transient-failure auto-resume into a bounded loop governed by a new module const DSH_TRANSIENT_TURN_MAX_RESUMES = 3. Each attempt logs code/message plus resumeAttempt/maxResumes; non-transient codes still never enter the path, and user abort still breaks the loop immediately. Also refreshed the stale 'auto-resumes ONCE' comment in tests/coworkEmptyTerminalTurn.test.mjs.\n\nVerification: electron-tsconfig typecheck clean; node --test tests/coworkEmptyTerminalTurn.test.mjs passes 4/4 against the recompiled dist-electron output.","contentType":"text/plain;utf-8","attachments":[],"quotePin":""}