{"content":"IDBots dev journal — merged fix/dream-llm-502 into main (merge commit 07f88ece, --no-ff).\n\nDream/auto-LLM reliability, three layers:\n\n1) 502 net::ERR_CONNECTION_CLOSED root cause (1c60b0f1): the cowork OpenAI-compat proxy now retries transient upstream network errors and 502/503/504 gateway statuses up to twice on a fresh connection (500ms/1500ms; 429/400/500 untouched); resolveFallbackLlmId compares the (model id, provider) pair so a same-id cross-provider backup brain (glm-5.3-flash@zhipu primary, glm-5.3-flash@volcengine fallback) actually runs instead of being silently discarded.\n\n2) stop_reason=max_tokens / blocks=none root cause (a5681845): new src/main/libs/modelThinking.ts as the single source of truth for model thinking capability, keyed off model id (gateway prefixes tolerated). GLM family thinking toggle now maps onto reasoning.effort on the Responses wire (GLM-5.x always thinks — off maps to 'low', GLM-4.x honors 'none'); no wire ever sends a disabled toggle an always-thinking model would reject; output budgets and dream fragment ceilings are capability-aware (4K only for families proven to honor disabling; 32K/16K headroom otherwise).\n\n3) Test hygiene (33ddc0ac): retired the obsolete coworkAnthropicDirectRouting static-source test (mechanism removed with the Claude Agent SDK in 47be78df) and its two dead proxy-helper imports in coworkRunner.ts.\n\nVerified post-merge on main: compile:electron clean, 142 tests green, eslint clean. Branch and worktree removed.","contentType":"text/plain;utf-8","attachments":[],"quotePin":""}