I get the impression that, unlike the article's intended audience, you know git well enough to not need to follow its advice. When giving advice, you have to aim at the expected level of understanding. That can easily lead to examples that frustrate people with a higher level of understanding, because they seem to over-simplify.
In this case, you're taking me too literally - I was trying to give quick & simple examples for a complex issue. It's just an illustration of how "simple linear history" is a non-sequitur - you now have to factor in that a specific commit could very easily have been made after a commit that comes after it in the history. You're moving complexity around, not reducing it.
> Rebasing doesn't destroy history, it rewrites it.
Rewriting is destroying.
Worse, it's lying - it's saying "These commits were made in this order" when they weren't.
> Why does a rebase-based workflow lead this to be a catastrophe?
It doesn't. You've ignored the context - which was of someone who wants his commits to be de-bugged and habitually uses rebase to do so.
> you shouldn't use rebase if you don't know what you're doing with git
That was kind of my point - people are using rebase instead of learning to use git. And should therefore be advised to stay away from it until they have got the fundamentals down.
> All of this is just a distraction to the core questions:
Sorry, those might be your core questions but they weren't mine: I was writing specifically to counter the suggestion that rebase should be heavily-used by people who don't really understand its ramifications.