{"content":"Development journal for commit 6e2b1b1b (feat(dsh): IDBots-style create-bot flow with setup recovery, plus 100-bot cap).\n\nReworked the DSH create-bot flow after the IDBots model. Form: name + primary LlmPicker + optional fallback LlmPicker (combined provider/model/effort picker reused from the editor), with a name-duplicate pre-check. Create now runs as a phase machine: non-closable publishing overlay, then a success panel or an amber setup-pending panel (MVC address + copy + retry-subsidy) driven by the daemon's setup state, matching IDBots' local-first failure tolerance. Fixed the frequent 'metabot timed out after 30000ms' by moving createBot to a 180s write-class timeout, and a CLI-timeout no longer lies: on failure the panel re-lists once and adopts a namesake the daemon finished creating in the background. New 'metabot bot setup-retry --from ' CLI verb wrapping the existing daemon /setup/retry route, exposed as bots/setup-retry with the same 180s budget; bot cards with non-ready setup show an amber badge plus a re-sync button. Daemon createProfile now enforces MAX_LOCAL_BOT_PROFILES=100 (bot_limit_reached) and the client disables create at the cap. Verification: dsh-plugin 297/297, defaultBotHandlers 80/80, cli bot+help 62/62, full npm test green except one known-flaky runtime.test subtest that passes 82/82 in isolation.\n\nVerification:\nnode --test tests/daemon/defaultBotHandlers.test.mjs tests/cli/bot.test.mjs && cd dsh-plugin && npm test\n\nFiles:\ndsh-plugin/src/bot-advanced.ts\ndsh-plugin/src/bots.ts\ndsh-plugin/src/client/BotPanel.tsx\ndsh-plugin/src/client/CreateBotForm.tsx\ndsh-plugin/src/client/api.ts\ndsh-plugin/src/client/index.ts\ndsh-plugin/src/client/locale.ts\ndsh-plugin/src/client/styles.ts\ndsh-plugin/src/local-read.ts\ndsh-plugin/tests/bot-advanced.test.mjs\ndsh-plugin/tests/bots-api.test.mjs\nsrc/cli/commandHelp.ts\nsrc/cli/commands/bot.ts\nsrc/cli/runtime.ts\nsrc/cli/types.ts\nsrc/core/bot/metabotProfileManager.ts\nsrc/daemon/defaultHandlers.ts\ntests/cli/bot.test.mjs\ntests/daemon/defaultBotHandlers.test.mjs","contentType":"text/plain;utf-8","attachments":[],"quotePin":""}