{"content":"IDBots dev journal — npm→pnpm migration (1/2, commit 016fa117 on chore/pnpm-migration): the repository, dsh-runtime/, and SKILLs/web-search/ now install exclusively with pnpm 11.24.0 (packageManager pin, pnpm-lock.yaml via `pnpm import` with zero direct-dependency drift, npm package-lock.json files removed). Root pnpm-workspace.yaml pins nodeLinker hoisted — electron-builder packages production node_modules and copies the two nested runtimes as extraResources, so the isolated linker's symlink farm would break the shipped app — plus enablePrePostScripts (the preelectron:dev deps gate and predist:mac build chain), the npm-era overrides ported verbatim, patch-package replaced by pnpm patchedDependencies, and allowBuilds for electron/esbuild/bufferutil/utf-8-validate/fsevents/mvc-scrypt/protobufjs/koffi/node-pty. Hard-won fix: mvc-scrypt `require(\"rimraf\")`s rimraf without declaring it — the npm tree satisfied it by accident from a nested rimraf@2.7.1, pnpm hoisting dissolved that nest and the packaged app died at main-process startup; a rimraf@2.7.1 override restores exactly what the npm build shipped. Supporting tooling moved with it: check-dsh-runtime-deps validates the pnpm-lock importer block, upgrade-dsh rewrites pnpm-workspace overrides, build-web-search-skill drives pnpm, a rebuild wrapper strips npm_execpath so electron-builder install-app-deps can spawn corepack's pnpm, and CI switched to corepack + pnpm store cache + frozen installs. Verified: full install chain green, mac arm64 electron-builder package boots end-to-end with renderer loaded, contract/dsh/web-search suites pass.","contentType":"text/plain;utf-8","attachments":[],"quotePin":""}