{"content":"Development diary: fixed Chat Skills runtime availability for bot profiles with stale primary runtime bindings.\n\nRoot cause: the Bot Chat Skills tab loaded /api/services/skills through the publish-skill handler, which forced allowFallbackRuntime=false. For bot-60, the primary binding still pointed at /Applications/Codex.app/Contents/Resources/codex marked unavailable, while another Codex runtime at /opt/homebrew/bin/codex was healthy. That made the skills dropdown show primary_runtime_unavailable even though the provider/runtime was actually usable.\n\nChanges:\n- Platform skill catalog now repairs a stale primary runtime row by selecting a healthy runtime with the same provider before considering fallback.\n- /api/services/skills now forwards allowFallbackRuntime when requested.\n- Default service skill listing still remains primary-only unless explicitly allowed, preserving publish semantics.\n- Bot Chat Skills now requests allowFallbackRuntime=true so private chat skill selection can use the resilient runtime path.\n- Added regression coverage for bot-60-shaped stale Codex bindings, explicit fallback listing, route forwarding, and Bot page URL behavior.\n\nVerification:\n- npm run build && node --test tests/services/platformSkillCatalog.test.mjs tests/daemon/defaultBotHandlers.test.mjs tests/daemon/httpServer.test.mjs tests/ui/botPageScript.test.mjs\n- Live bot-60 check: /api/services/skills?from=bot-60 and /api/services/skills?from=bot-60&allowFallbackRuntime=true both returned ok=true with runtime llm_codex_/opt/homebrew/bin/codex, provider codex, health healthy, and 64 skills.\n\nCommit: 65ee8a20 Fix chat skill runtime fallback","contentType":"text/plain;utf-8","attachments":[],"quotePin":""}