This is probably the hardest decision to make during the rebuilding process. When to stop rebuilding is a key time in an organizations life that sometimes gets missed due to overcautiousness in a MLB front office. What I dont want to happen to the Astros is to turn into the Oakland Athletics of baseball. I think one reason that the A's fanbase is so tentative to go to games is because they know as soon as their players get good enough they will be traded for 3 more prospects therefore any emotional tie they had with the players is gone thus no reason to ever have a favorite player or buy a jersey.
Or you could just end up the opposite like the Pittsburgh Pirates and have top ten picks after top ten picks and never bother to sign them, or when they do decide to sign them only draft the guy who will sign for cheap, thus depleting the talent of the minors and the majors. Then for twenty years you constantly throw a terrible product on the field thus losing all fan loyalty and credibility.
The final rebuilding solution is by way of the Washington Nationals. The Nationals have provided the latest textbook way to go worst to first by hanging on to their fan favorites while also managing to finish in last place for two or three years and signing every single draftee almost and waiting for them to develop then signing them to long term extensions thus resulting in a division leading product that still managed to keep the majority of its fan base.
I know rebuilding is a tricky thing for a baseball team, but done the right way and by knowing when to give extensions and when to trade for prospects. It can pay huge dividends when a future case arises about how to rebuild.