All checks were successful
ci/woodpecker/pr/ci Pipeline was successful
Worker git-worktrees under a fresh `git worktree add` have empty node_modules/.bin (pnpm workspaces do not share node_modules across worktrees), so every gate binary (tsc/eslint/prettier/vitest) fails with a raw `sh: 1: <tool>: not found` before the QA gate suite ever runs a real check. That failure is indistinguishable from a genuine test/lint failure -- a false-red gate that was responsible for 131/147 fleet tool-errors. - plugins/mosaic-framework/src/index.ts: the injected "Git Worktree Requirement" instructions now direct every worker to run `pnpm install --frozen-lockfile --prefer-offline` immediately after `git worktree add`/`cd`, before any gate is invoked. - packages/mosaic/framework/tools/qa/qa-hook-stdin.sh: the common gate-entry seam (registered as the PostToolUse hook for every Edit/Write/MultiEdit in runtime/claude/settings.json) now preflights node_modules/.bin presence for JS/TS files and fails with an explicit "deps not installed -- run pnpm install" sentinel instead of silently letting a raw not-found surface downstream. - packages/mosaic/framework/tools/qa/test-deps-preflight.sh: new regression harness (wired into test:framework-shell) covering missing node_modules/.bin, empty node_modules/.bin, populated node_modules/.bin, and non-JS/TS skip behavior. Closes #856.
3.8 KiB
Executable File
3.8 KiB
Executable File