e4a1a33a53
build образов в release.yaml не ловит TS-ошибки: quasar build идёт через esbuild с выключенным vueTsc в vite-plugin-checker (см. quasar.config.cjs), а у controller'а build-скрипта вообще нет — `lerna run build` его молча пропускает, в проде ts-node стартует и валится на типах только в рантайме. Поэтому битый тэг мог уехать в DockerHub (кейс PR #392 / rename 1080→1020 в cooptypes — TS2551 в distribution-management проскочил именно так). Новый reusable workflow .github/workflows/typecheck.yaml: - desktop: build cooptypes/factory/sdk → quasar prepare → vue-tsc --noEmit --skipLibCheck - controller: build cooptypes/factory → pnpm typecheck (tsc --noEmit) - триггер pull_request на dev + workflow_call В release.yaml добавлен job typecheck (uses: ./.github/workflows/typecheck.yaml), release-job получил needs: typecheck. Downstream publish-packages / publish-docs / trigger-coopenomics-docs через release автоматически в цепочке. Push в dev/testnet/main НЕ триггерит — PR-гейта достаточно, тэги покрыты через workflow_call. Если vue-tsc упрётся в OOM/таймаут на ubuntu-latest, fallback на `pnpm --filter @coopenomics/desktop run typecheck` (без SFC).