In practice, the distinction between design error and implementation error has only one important aspect, namely it helps us recognize that imperfections can enter the software development process at any time.
In order to prevent errors economically, it is imperative to detect them and eliminate them as soon as possible.
De facto, black holes can manifest themselves at any phase of the development process, in systems engineering documents, in design documents, etc.
For instance, will need to recognize that all design documents were not created equal and that some are more error prone than others. The ones that are more error prone will more likely be the site of black holes than the simpler ones or those written by more experienced developers.
Looking for black holes early in the process, finding them and correcting them immediately is the most practical and economical form of prevention.