Unless we purposefully made these machine self-repairing. But then, why would we bother with that, when we can replicate them?
In other words, I think war automation will be a thing.
Self repair is a nice idea in theory but not real. In theory, we could make programs that fix bugs for themselves on their own (it is physically possible), but in practice there's no such possibility, and won't be for the foreseeable future. Unless some kind of Deep Developer comes along and blows everyone out of the water by writing code that kind of looks good to the point it's better than what average dev would write.
Otherwise I agree with you, it's very slim in the next few decades, notably less slim over the next thousand years.