fix(runner): kloon DOCS_AUDIT naar exec-able mount (M19 bevinding #2) #52

Merged
janpeter merged 1 commit from feat/M19-docs-audit-exec-mount into master 2026-07-07 22:59:41 +02:00
Owner

M19 E2E-bevinding #2 (DB-mirror EACCES). In de echte-audit-E2E schreef de Scrum4Me-audit géén ProductDocRevision omdat db:sync-product-docs soft-failde.

Root cause (srv:claude, empirisch in de worker-docs-container): /tmp is een tmpfs met noexec. De runner kloonde naar /tmp/job-<id>/repo; audit.md stap 5 draait daar npm ci → de esbuild-postinstall wil de verse platform-binary exec'enEACCES op de noexec-mount. Treft de hele kloon-toolchain (esbuild, prisma generate-engine, tsx). De andere workers clonen naar AGENT_REPO_CACHE=/var/cache/repos (ext4, exec-able) en raken dit nooit.

Fix: kloon DOCS_AUDIT ook naar /var/cache/repos (docs-audit-<id>/repo); RESULT_PATH blijft op /tmp (JSON, geen exec). /tmp blijft noexec. --ignore-scripts + node-native-TS werkt hier NIET (prisma generate is vereist voor de @prisma/client-import, en strip-types resolvet de @/-tsconfig-aliases niet).

Geverifieerd door srv:claude in de echte container met de kloon op /var/cache/repos: npm ci exit 0 (esbuild-postinstall + prisma generate OK, EACCES weg), db:sync-product-docs schreef 111 nieuwe ProductDocRevisions. Lokaal: lib-tests 6 groen, syntax OK. Image-rebuild vereist na merge.

🤖 Generated with Claude Code

**M19 E2E-bevinding #2 (DB-mirror EACCES).** In de echte-audit-E2E schreef de Scrum4Me-audit géén `ProductDocRevision` omdat `db:sync-product-docs` soft-failde. **Root cause** (srv:claude, empirisch in de worker-docs-container): `/tmp` is een tmpfs met **`noexec`**. De runner kloonde naar `/tmp/job-<id>/repo`; `audit.md` stap 5 draait daar `npm ci` → de **esbuild-postinstall wil de verse platform-binary exec'en** → `EACCES` op de noexec-mount. Treft de hele kloon-toolchain (esbuild, `prisma generate`-engine, `tsx`). De andere workers clonen naar `AGENT_REPO_CACHE=/var/cache/repos` (ext4, exec-able) en raken dit nooit. **Fix:** kloon DOCS_AUDIT ook naar `/var/cache/repos` (`docs-audit-<id>/repo`); `RESULT_PATH` blijft op `/tmp` (JSON, geen exec). `/tmp` blijft `noexec`. `--ignore-scripts` + node-native-TS werkt hier NIET (`prisma generate` is vereist voor de `@prisma/client`-import, en strip-types resolvet de `@/`-tsconfig-aliases niet). **Geverifieerd** door srv:claude in de echte container met de kloon op `/var/cache/repos`: `npm ci` exit 0 (esbuild-postinstall + `prisma generate` OK, EACCES weg), `db:sync-product-docs` schreef **111 nieuwe ProductDocRevisions**. Lokaal: lib-tests 6 groen, syntax OK. Image-rebuild vereist na merge. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
fix(runner): kloon DOCS_AUDIT naar exec-able mount (M19 bevinding #2)
All checks were successful
CI / Compose config (pull_request) Successful in 3s
CI / Docker build (pull_request) Successful in 28s
4022067ff7
E2E-bevinding #2 (DB-mirror EACCES). Root cause (srv:claude, empirisch in de
worker-docs-container): /tmp is een tmpfs met noexec. De runner kloonde naar
/tmp/job-<id>/repo; audit.md stap 5 draait daar npm ci -> de esbuild-postinstall
wil de verse platform-binary exec'en -> EACCES op de noexec-mount. Treft de hele
kloon-toolchain (esbuild, prisma generate-engine, tsx).

Fix: kloon naar AGENT_REPO_CACHE (/var/cache/repos, ext4, exec-able -- waar de
andere workers ook clonen); RESULT_PATH blijft op /tmp (JSON, geen exec nodig).
--ignore-scripts + node-strip-types werkt NIET (prisma generate vereist + @/-alias).

Geverifieerd door srv:claude in de echte container met de kloon op /var/cache/repos:
npm ci exit 0 (esbuild-postinstall + prisma generate OK), db:sync-product-docs
schreef 111 nieuwe ProductDocRevisions. Lib-tests 6 groen.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
janpeter merged commit 515d5f9a55 into master 2026-07-07 22:59:41 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
janpeter/scrum4me-docker!52
No description provided.