ClientContext types ctx.slots as always present (inject-declared service); the unnecessary-condition lint rule rejects the dead guard and its fail-loud test premise. Load-order failure still surfaces loud through the undeclared-slot registration path, covered by the remaining case.