// tdd-guard:skip — vitest config, no sibling test needed
import { defineConfig, configDefaults } from 'vitest/config'
import { resolve } from 'path'

export default defineConfig({
  test: {
    environment: 'node',
    globals: true,
    include: ['__tests__/**/*.test.ts', '__tests__/**/*.test.tsx', '**/__tests__/**/*.test.ts', '**/__tests__/**/*.test.tsx'],
    // Agent-Worktrees liegen unter .claude/worktrees/ INNERHALB des Repos (gitignored,
    // aber von den `**`-Include-Globs oben erfasst). Ohne diesen Ausschluss laufen die
    // Tests jedes offenen Worktrees zusaetzlich mit: gemessen am 04.08.2026 lieferte
    // ein Lauf 4 Dateien/18 Tests statt 2/9, weil ein toter Agent-Worktree noch stand.
    // Das verfaelscht Testzahlen und laesst fremden Worktree-Stand ueber den Gate
    // entscheiden. Defaults muessen mitgefuehrt werden — `exclude` ersetzt sie sonst.
    exclude: [...configDefaults.exclude, '**/.claude/worktrees/**'],
    coverage: {
      provider: 'v8',
      // High-risk / business-critical modules that exist and carry tests.
      // (Pre-2026-05-26 paths entitlement/provisioning/owner-audit/tenant were
      // removed with the control plane; they no longer exist.)
      include: [
        'lib/security/**',
        'lib/auth/**',
        'lib/gdpr/**',
        'lib/oee/**',
        'lib/agenda/**',
        'lib/notes/**',
        'lib/pmo/**',
        'lib/reporting/**',
        'lib/intake/**',
        'lib/demo/**',
      ],
    },
  },
  resolve: {
    alias: {
      '@': resolve(__dirname, '.'),
    },
  },
})
