{
  "engineCases": [
    {
      "id": "analyst-inventory",
      "prompt": "Inventaria questo PHP legacy",
      "expected": {
        "primary": "mcp-technical-analyst",
        "allowed": ["mcp-technical-analyst"],
        "matchedIntents": [{"id":"legacy-analysis-only","intentId":"legacy-analysis-only","priority":100,"boostedSkillId":"mcp-technical-analyst","suppress":["mcp-master-orchestrator"],"labels":["legacy-or-source","analysis"]}],
        "positiveLocks": {"mcp-technical-analyst":100},
        "suppressions": [{"skillId":"mcp-master-orchestrator","priority":100,"sourceIntentId":"legacy-analysis-only","targetLockPriority":0,"applied":true}],
        "matchedAntiPatterns": [],
        "excludedSkills": ["mcp-master-orchestrator"]
      }
    },
    {
      "id": "analyst-no-implementation",
      "prompt": "Ricostruisci il legacy senza implementare il target",
      "expected": {
        "primary": "mcp-technical-analyst", "allowed": ["mcp-technical-analyst"],
        "matchedIntents": [{"id":"legacy-analysis-only","intentId":"legacy-analysis-only","priority":100,"boostedSkillId":"mcp-technical-analyst","suppress":["mcp-master-orchestrator"],"labels":["legacy-or-source","analysis"]}],
        "positiveLocks": {"mcp-technical-analyst":100}, "suppressions": [{"skillId":"mcp-master-orchestrator","priority":100,"sourceIntentId":"legacy-analysis-only","targetLockPriority":0,"applied":true}], "matchedAntiPatterns": [], "excludedSkills": ["mcp-master-orchestrator"]
      }
    },
    {
      "id": "analyst-source-recovery",
      "prompt": "L'unica sorgente PHP disponibile è offuscata. Recupera SQL e costanti utili all'inventory.",
      "expected": {
        "primary": "mcp-technical-analyst", "allowed": ["mcp-technical-analyst", "mcp-database-expert"],
        "matchedIntents": [{"id":"legacy-analysis-only","intentId":"legacy-analysis-only","priority":100,"boostedSkillId":"mcp-technical-analyst","suppress":["mcp-master-orchestrator"],"labels":["legacy-or-source","analysis"]}],
        "positiveLocks": {"mcp-technical-analyst":100}, "suppressions": [{"skillId":"mcp-master-orchestrator","priority":100,"sourceIntentId":"legacy-analysis-only","targetLockPriority":0,"applied":true}], "matchedAntiPatterns": [], "excludedSkills": ["mcp-master-orchestrator"]
      }
    },
    {
      "id": "analyst-parity",
      "prompt": "Confronta il nuovo endpoint con il legacy. Codice, test e log sono già sufficienti a stabilire la parità.",
      "expected": {
        "primary": "mcp-technical-analyst", "allowed": ["mcp-technical-analyst"],
        "matchedIntents": [{"id":"legacy-analysis-only","intentId":"legacy-analysis-only","priority":100,"boostedSkillId":"mcp-technical-analyst","suppress":["mcp-master-orchestrator"],"labels":["legacy-or-source","analysis"]}],
        "positiveLocks": {"mcp-technical-analyst":100}, "suppressions": [{"skillId":"mcp-master-orchestrator","priority":100,"sourceIntentId":"legacy-analysis-only","targetLockPriority":0,"applied":true}], "matchedAntiPatterns": [], "excludedSkills": ["mcp-master-orchestrator"]
      }
    },
    {
      "id": "analyst-conflict",
      "prompt": "Il legacy restituisce un valore incoerente con il requisito funzionale. Decidi cosa implementare nel nuovo sistema.",
      "expected": {
        "primary": "mcp-technical-analyst", "allowed": ["mcp-technical-analyst"],
        "matchedIntents": [{"id":"legacy-analysis-only","intentId":"legacy-analysis-only","priority":100,"boostedSkillId":"mcp-technical-analyst","suppress":["mcp-master-orchestrator"],"labels":["legacy-or-source","analysis"]}],
        "positiveLocks": {"mcp-technical-analyst":100}, "suppressions": [{"skillId":"mcp-master-orchestrator","priority":100,"sourceIntentId":"legacy-analysis-only","targetLockPriority":0,"applied":true}], "matchedAntiPatterns": [], "excludedSkills": ["mcp-master-orchestrator"]
      }
    },
    {
      "id": "analyst-nominal-implementation",
      "prompt": "Produci un dossier sui rischi dell'implementazione operativa del legacy",
      "expected": {
        "primary": "mcp-technical-analyst", "allowed": ["mcp-technical-analyst"],
        "matchedIntents": [{"id":"legacy-analysis-only","intentId":"legacy-analysis-only","priority":100,"boostedSkillId":"mcp-technical-analyst","suppress":["mcp-master-orchestrator"],"labels":["legacy-or-source","analysis"]}],
        "positiveLocks": {"mcp-technical-analyst":100}, "suppressions": [{"skillId":"mcp-master-orchestrator","priority":100,"sourceIntentId":"legacy-analysis-only","targetLockPriority":0,"applied":true}], "matchedAntiPatterns": [], "excludedSkills": ["mcp-master-orchestrator"]
      }
    },
    {
      "id": "analyst-nominal-modernization",
      "prompt": "Produci un dossier sui rischi della modernizzazione legacy e del cutover, senza implementare.",
      "expected": {
        "primary": "mcp-technical-analyst", "allowed": ["mcp-technical-analyst"],
        "matchedIntents": [{"id":"legacy-analysis-only","intentId":"legacy-analysis-only","priority":100,"boostedSkillId":"mcp-technical-analyst","suppress":["mcp-master-orchestrator"],"labels":["legacy-or-source","analysis"]}],
        "positiveLocks": {"mcp-technical-analyst":100}, "suppressions": [{"skillId":"mcp-master-orchestrator","priority":100,"sourceIntentId":"legacy-analysis-only","targetLockPriority":0,"applied":true}], "matchedAntiPatterns": [], "excludedSkills": ["mcp-master-orchestrator"]
      }
    },
    {
      "id": "analyst-negated-modernization",
      "prompt": "Non modernizzare: inventaria soltanto il legacy",
      "expected": {
        "primary": "mcp-technical-analyst", "allowed": ["mcp-technical-analyst"],
        "matchedIntents": [{"id":"legacy-analysis-only","intentId":"legacy-analysis-only","priority":100,"boostedSkillId":"mcp-technical-analyst","suppress":["mcp-master-orchestrator"],"labels":["legacy-or-source","analysis"]}],
        "positiveLocks": {"mcp-technical-analyst":100}, "suppressions": [{"skillId":"mcp-master-orchestrator","priority":100,"sourceIntentId":"legacy-analysis-only","targetLockPriority":0,"applied":true}], "matchedAntiPatterns": [], "excludedSkills": ["mcp-master-orchestrator"]
      }
    },
    {
      "id": "orchestrator-modernization",
      "prompt": "Voglio modernizzare il legacy e preparare cutover e rollback",
      "expected": {
        "primary": "mcp-master-orchestrator", "allowed": ["mcp-master-orchestrator"],
        "matchedIntents": [{"id":"legacy-modernization-end-to-end","intentId":"legacy-modernization-end-to-end","priority":200,"boostedSkillId":"mcp-master-orchestrator","suppress":[],"labels":["action","multiphase"]}],
        "positiveLocks": {"mcp-master-orchestrator":200}, "suppressions": [], "matchedAntiPatterns": [], "excludedSkills": []
      }
    },
    {
      "id": "orchestrator-clause-negation",
      "prompt": "Non limitarti ad analizzare: modernizza il target e prepara l'handoff",
      "expected": {
        "primary": "mcp-master-orchestrator", "allowed": ["mcp-master-orchestrator"],
        "matchedIntents": [{"id":"legacy-modernization-end-to-end","intentId":"legacy-modernization-end-to-end","priority":200,"boostedSkillId":"mcp-master-orchestrator","suppress":[],"labels":["action","multiphase"]}],
        "positiveLocks": {"mcp-master-orchestrator":200}, "suppressions": [], "matchedAntiPatterns": [], "excludedSkills": []
      }
    },
    {
      "id": "orchestrator-repeated-negated-and-affirmative",
      "prompt": "Si chiede di non modernizzare il vecchio modulo e modernizzare il target con cutover e rollback",
      "expected": {
        "primary": "mcp-master-orchestrator", "allowed": ["mcp-master-orchestrator"],
        "matchedIntents": [{"id":"legacy-modernization-end-to-end","intentId":"legacy-modernization-end-to-end","priority":200,"boostedSkillId":"mcp-master-orchestrator","suppress":[],"labels":["action","multiphase"]}],
        "positiveLocks": {"mcp-master-orchestrator":200}, "suppressions": [], "matchedAntiPatterns": [], "excludedSkills": []
      }
    },
    {
      "id": "orchestrator-full-eval",
      "prompt": "Modernizza un'applicazione legacy verso un target moderno: ricostruisci comportamento, definisci contratti, implementa per slice, confronta legacy e nuovo e prepara cutover e handoff.",
      "expected": {
        "primary": "mcp-master-orchestrator", "allowed": ["mcp-master-orchestrator"],
        "matchedIntents": [{"id":"legacy-modernization-end-to-end","intentId":"legacy-modernization-end-to-end","priority":200,"boostedSkillId":"mcp-master-orchestrator","suppress":[],"labels":["action","multiphase"]}],
        "positiveLocks": {"mcp-master-orchestrator":200}, "suppressions": [], "matchedAntiPatterns": [], "excludedSkills": []
      }
    },
    {
      "id": "cfml-precedence",
      "prompt": "Modernizza end-to-end una feature CFML tra versioni con directory neutrale",
      "expected": {
        "primary": "mcp-coldfusion-developer", "allowed": ["mcp-coldfusion-developer"],
        "matchedIntents": [
          {"id":"cfml-cross-version","intentId":"cfml-cross-version","priority":300,"boostedSkillId":"mcp-coldfusion-developer","suppress":["mcp-master-orchestrator"],"labels":["cfml","migration"]},
          {"id":"legacy-modernization-end-to-end","intentId":"legacy-modernization-end-to-end","priority":200,"boostedSkillId":"mcp-master-orchestrator","suppress":[],"labels":["action","multiphase"]}
        ],
        "positiveLocks": {"mcp-coldfusion-developer":300,"mcp-master-orchestrator":200}, "suppressions": [{"skillId":"mcp-master-orchestrator","priority":300,"sourceIntentId":"cfml-cross-version","targetLockPriority":200,"applied":true}], "matchedAntiPatterns": [], "excludedSkills": ["mcp-master-orchestrator"]
      }
    },
    {
      "id": "cfml-cross-version",
      "prompt": "Porta feature CFML tra versioni con directory neutrale e touched-files.md",
      "expected": {
        "primary": "mcp-coldfusion-developer", "allowed": ["mcp-coldfusion-developer"],
        "matchedIntents": [{"id":"cfml-cross-version","intentId":"cfml-cross-version","priority":300,"boostedSkillId":"mcp-coldfusion-developer","suppress":["mcp-master-orchestrator"],"labels":["cfml","migration"]}],
        "positiveLocks": {"mcp-coldfusion-developer":300}, "suppressions": [{"skillId":"mcp-master-orchestrator","priority":300,"sourceIntentId":"cfml-cross-version","targetLockPriority":0,"applied":true}], "matchedAntiPatterns": [], "excludedSkills": ["mcp-master-orchestrator"]
      }
    },
    {
      "id": "orchestrator-single-target-anti-pattern",
      "prompt": "Prepara un piano per una singola modifica target Yii",
      "baseScores": {"mcp-master-orchestrator":9,"mcp-sophia-yii-developer":8},
      "expected": {
        "primary": "mcp-sophia-yii-developer", "allowed": ["mcp-sophia-yii-developer"], "matchedIntents": [], "positiveLocks": {}, "suppressions": [],
        "matchedAntiPatterns": [{"skillId":"mcp-master-orchestrator","pattern":"singola modifica target"}], "excludedSkills": ["mcp-master-orchestrator"]
      }
    },
    {
      "id": "analyst-operational-anti-pattern",
      "prompt": "avvia implementazione operativa",
      "baseScores": {"mcp-technical-analyst":9,"target-specialist":8},
      "expected": {
        "primary": "target-specialist", "allowed": ["target-specialist"], "matchedIntents": [], "positiveLocks": {}, "suppressions": [],
        "matchedAntiPatterns": [{"skillId":"mcp-technical-analyst","pattern":"avvia implementazione operativa, esegui cutover applicativo o coordina flusso multi-fase"}], "excludedSkills": ["mcp-technical-analyst"]
      },
      "hook": {"expectOutput": false}
    }
  ],
  "hookCases": [
    {"engineCaseId":"analyst-inventory"}, {"engineCaseId":"analyst-no-implementation"}, {"engineCaseId":"analyst-source-recovery","includes":["mcp-technical-analyst","mcp-database-expert"],"excludes":["mcp-master-orchestrator"]}, {"engineCaseId":"analyst-parity","excludes":["mcp-browser-automation"]}, {"engineCaseId":"analyst-conflict"}, {"engineCaseId":"analyst-nominal-implementation"}, {"engineCaseId":"analyst-nominal-modernization"}, {"engineCaseId":"analyst-negated-modernization"}, {"engineCaseId":"orchestrator-modernization"}, {"engineCaseId":"orchestrator-clause-negation"}, {"engineCaseId":"orchestrator-repeated-negated-and-affirmative"}, {"engineCaseId":"orchestrator-full-eval"}, {"engineCaseId":"cfml-precedence"}, {"engineCaseId":"cfml-cross-version"}, {"engineCaseId":"orchestrator-single-target-anti-pattern"}, {"engineCaseId":"analyst-operational-anti-pattern"},
    {"id":"legacy-parallel-implementers-guardrail","prompt":"Avvia quattro implementer in parallelo su moduli diversi dello stesso checkout per accelerare la modernizzazione.","includes":["SUBAGENTS.md"],"excludes":[]},
    {"id":"regression-multi-source","prompt":"Esegui analisi tecnica da ticket, commit e documentazione.","includes":["mcp-technical-analyst"],"excludes":[]},
    {"id":"regression-svg","prompt":"Valida e ottimizza questo SVG.","includes":["svg"],"excludes":[]},
    {"id":"regression-rebase","prompt":"Prepara il rebase della branch e analizza il merge conflict.","includes":["mcp-git-mantis-workflow"],"excludes":[]},
    {"id":"regression-coldfusion-context","prompt":"Controlla datasource e application.cfc prima della modifica.","includes":["mcp-coldfusion-developer"],"excludes":[],"root":"cf"},
    {"id":"regression-yii-context","prompt":"Aggiorna il controller CRUD.","includes":["mcp-sophia-yii-developer"],"excludes":[],"root":"yii"}
  ]
}
