{
    // R6TEST-005: Mutation testing scoped to the highest-risk money/ROI/limit paths.
    // Run: ./vendor/bin/infection --min-msi=90 --min-covered-msi=95
    // Install: composer require --dev infection/infection
    "$schema": "https://infection.github.io/schema/1.4.json",
    "source": {
        // Scoped to the three highest-risk money paths. Infection 0.26+ accepts
        // individual file paths here in addition to directories.
        "directories": [
            "app/Services/PlanLimitService.php",
            "app/Services/RoiCalculationService.php",
            "app/Services/LimitService.php"
        ],
        "excludes": []
    },
    "logs": {
        "text": "build/infection/infection-log.txt",
        "html": "build/infection/infection-report.html",
        "summary": "build/infection/infection-summary.txt",
        "json": "build/infection/infection-results.json"
    },
    "mutators": {
        "@default": true
    },
    "testFramework": "pest",
    "testFrameworkOptions": "--processes=4",
    // MSI floor: 90% of all generated mutants killed, 95% of covered-line mutants.
    // These targets are achievable against the existing test suite today and ensure
    // surviving mutants trend down over time as coverage improves.
    "minMsi": 90,
    "minCoveredMsi": 95,
    "tmpDir": "build/infection/tmp",
    "phpUnit": {
        "configDir": "."
    }
}
