{
  "$schema": "./node_modules/@stryker-mutator/core/schema/stryker-schema.json",
  "_comment": "Stryker mutation testing — scoped to OSINT tools + their shared utilities so the QA harness catches logic regressions in scoring/anomaly methodology that the structural contract suite cannot. See INTEGRATION_TESTING.md § 'OSINT QA Harness — Mutation Testing'. ISMS: A.8.29 (Security testing in development & acceptance), A.8.34 (Protection during audit testing).",
  "packageManager": "npm",
  "testRunner": "vitest",
  "vitest": {
    "configFile": "vitest.stryker.config.ts"
  },
  "reporters": ["progress", "clear-text", "html", "json"],
  "htmlReporter": {
    "fileName": "builds/stryker/mutation-report.html"
  },
  "jsonReporter": {
    "fileName": "builds/stryker/mutation-report.json"
  },
  "coverageAnalysis": "perTest",
  "concurrency": 4,
  "timeoutMS": 60000,
  "dryRunTimeoutMinutes": 15,
  "disableTypeChecks": "{src,tests}/**/*.{js,ts}",
  "checkers": [],
  "tempDirName": "builds/stryker-tmp",
  "cleanTempDir": true,
  "mutate": [
    "src/tools/assessMepInfluence.ts",
    "src/tools/analyzeCoalitionDynamics.ts",
    "src/tools/detectVotingAnomalies.ts",
    "src/tools/comparePoliticalGroups.ts",
    "src/tools/analyzeLegislativeEffectiveness.ts",
    "src/tools/monitorLegislativePipeline.ts",
    "src/tools/analyzeCommitteeActivity.ts",
    "src/tools/trackMepAttendance.ts",
    "src/tools/analyzeCountryDelegation.ts",
    "src/tools/generatePoliticalLandscape.ts",
    "src/tools/networkAnalysis.ts",
    "src/tools/sentimentTracker.ts",
    "src/tools/earlyWarningSystem.ts",
    "src/tools/comparativeIntelligence.ts",
    "src/tools/correlateIntelligence.ts",
    "src/utils/votingBaseline.ts",
    "src/utils/graphAlgorithms.ts",
    "src/utils/networkVotingSimilarity.ts",
    "src/utils/effectivenessAggregator.ts",
    "src/utils/lifecycleStatistics.ts",
    "src/utils/doceoMepAggregator.ts",
    "src/utils/politicalGroupNormalization.ts",
    "!**/*.test.ts",
    "!**/*.spec.ts",
    "!src/generated/**"
  ],
  "ignorePatterns": [
    "dist",
    "coverage",
    "builds",
    "docs",
    "node_modules",
    "src/generated"
  ],
  "thresholds": {
    "high": 80,
    "low": 60,
    "break": null
  }
}
