{
  // ADR-039 — mutation testing. Config em `tools/` (Infection resolve os caminhos relativos a
  // ESTE arquivo, por isso os `../`): rodado por `tools/mutation.sh`. Etapa 1 (observabilidade): MSI publicado no CI, sem gate.
  // Escopo inicial: regras de domínio em core/services; testes, migrations, stubs e Lang ficam fora.
  "$schema": "vendor/infection/infection/resources/schema.json",
  "timeout": 120,
  "source": {
    "directories": ["../src/core", "../src/services"],
    "excludes": ["Test", "Migrations", "Lang", "Stub"]
  },
  "logs": {
    "text": "../build/mutation/infection.log",
    "summary": "../build/mutation/summary.log",
    "json": "../build/mutation/infection.json",
    "html": "../build/mutation/report.html"
  },
  "tmpDir": "../build/mutation/tmp",
  "phpUnit": {
    "configDir": ".."
  },
  "testFramework": "phpunit",
  "initialTestsPhpOptions": "-d pcov.enabled=1 -d pcov.directory=src",
  "mutators": {
    "@default": true
  },
  "minMsi": 0,
  "minCoveredMsi": 0,
  "ignoreMsiWithNoMutations": true
}
