0e17f71482
Round 3 showed unconditional yield-after-two-failures pushes the third attempt onto known-bad sources in heterogeneous pools (83% vs 10% expected success). OutcomeAwareSelector now exposes health(); a failed source only yields when some untried candidate scores at least half its health. Health-blind selectors keep the unconditional rule.