smart-enemy-ai + mod A alone (the one with the enemy that fires uranium-shotgun-pellet): the projectile prototype uranium-shotgun-pellet doesn't exist (combat-tweaks would have added it, but it's not loaded). Our scan walks the enemy attack, calls patch_existing_projectile("uranium-shotgun-pellet"), hits if not p then return end at line 75 of prototype-scan.lua, and bails silently. No layer added, validate sees nothing — clean load.
smart-enemy-ai + mod B alone (combat-tweaks-improvements): the player projectile + player ammo exist, but no enemy references the projectile. Our scan walks every data.raw.unit/turret with subgroup="enemies", finds zero references to uranium-shotgun-pellet, never patches it. Validate finds the player ammo, looks at the projectile, sees no smart-enemy-ai layer — clean load.