[whitespace] can't be discerned thoroughly via ordinary tools used in the ordinary way like cat,
How frequently do you look at code with cat, that invisible whitespace errors are a problem? It doesn't even paginate, ferchrissakes.
I have no solution on this one, but as a quick hack I would start by searching for tab characters, or more-than-one space characters. The terminal highlight should help.
This works just fine in vim (not sure about vanilla vi):
:set list listchars=tab:\\_
That makes all hard tabs look like \___. Replace with prettier unicode line-art as you wish. I maintain a non-python codebase with some rather... creative... variations of whitespace, and it is trivial to match local whitespace conventions with listchars enabled.
I'm not an emacs guy, but if vim has a solution then I'd put money on the existence of an emacs solution.
I never got a straight answer to how python deals with a mixture of tabs and space characters in the indenting.
I do work with python regularly, and I still can't answer this. The practical solution is "don't mix indentation styles." While it is more than zero effort to do this, it should be all up-front effort learning the capabilities of your tools, and trivial effort day-to-day.