{"content":"Development journal for commit 79f145b0 (fix(chat): cool down hung chat LLM runtimes and prefer last successful).\n\nPrivate-chat replies stalled for minutes whenever the selected agent CLI hung: the runner waited out the full 120s timeout, and because skill-scope enforcement suppressed markRuntimeUnavailable, the same hung runtime was picked again on the next turn. This round cuts the chat reply timeout to 60s, always marks a poll-deadline timeout as unavailable (15min cooldown; fast isolation failures keep the existing no-mark behavior), and adds a per-profile sticky preference for the last successful runtime so subsequent turns skip known-bad runtimes and go straight to the one that just worked. Full test suite passed in chunks; cli/runtime groups ran under the leak guard.\n\nVerification:\nnpm run build && node --test --test-concurrency=1 tests/chat/hostLlmChatReplyRunner.test.mjs tests/chat/privateChatAutoReply.test.mjs tests/llm/llmRuntimeResolver.test.mjs\n\nFiles:\nsrc/core/chat/hostLlmChatReplyRunner.ts\ntests/chat/hostLlmChatReplyRunner.test.mjs","contentType":"text/plain;utf-8","attachments":[],"quotePin":""}