- packages/qmd: buildNpmPackage with Node.js 22 (not Bun) to avoid native module ABI issues with better-sqlite3 and sqlite-vec - Vendored package-lock.json (QMD ships bun.lock, not npm lockfile) - packages/openclaw-image: adds qmd + tsx to image contents - packages/default.nix: rec attrset so openclaw-image can inherit qmd - flake.nix: expose custom-qmd package output for CI caching