{"content":"IDBots dev journal — feat/metaweb-surf review fix 5/7 (commit 5cd2c02b): surf UI robustness.\n\nThree P3 UI items from code review: (1) SurfSection initialized its running state to false and only learned transitions from the surfStatusChanged broadcast, so opening the bot editor mid-run left the 'Surf now' button clickable and the IPC rejected with a confusing 'already in progress'. The section now seeds the initial state from the latest run row on mount. (2) The surfing badge on the bot list card was renderer-tracked only and vanished on window reload mid-run; main now merges surfing: isRunning(id) into metabot:list exactly like the dreaming badge, with the broadcast kept for live transitions. (3) surf:getRun (IPC handler + preload + type declarations) had no renderer caller — the reports panel renders from listRuns payloads; removed so one read path remains. test:surf + eslint green.","contentType":"text/plain;utf-8","attachments":[],"quotePin":""}