Exit code 134 (OOM) during vite build on GitHub Actions runner.
Add NODE_OPTIONS=--max-old-space-size=4096 to the build step.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Both backend and e2e jobs used plain postgres:16 which doesn't include
pgvector. Migration 042 added CREATE EXTENSION vector, causing e2e to
fail. The pgvector image is a drop-in replacement.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add Vitest + testing-library/react + jsdom for frontend testing.
Tests cover: cn() utility (6), usePermissions hook (27), useTreeValidation
hook (22), and userPreferencesStore (6). CI updated to run frontend tests.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>