Heat the olive oil in a 6-quart Dutch oven over medium-high heat until the oil is shimmering. Add one-third of the stewing beef and turn down the heat to medium. Flip the cubes of meat with tongs, allowing them to get golden brown and crispy on all sides, then remove the meat with a slotted spoon and set aside on a plate. Brown the remaining meat in two batches.
Put the pot on medium-high heat and add the chopped onions. Cook the onions until golden, then lower the heat to medium, add the minced garlic, and cook for 1 minute. Pour some beef stock or ale into the pan and scrape off the brown fond from the bottom. Add the sliced carrots and celery and cook until the celery just begins to soften, about 5 minutes.
Meanwhile, melt the butter in a 10-inch skillet over medium-high heat. Add the quartered mushrooms and cook until soft and brown, about 5 minutes. Be sure to stir frequently to keep the mushrooms from burning. Once cooked, remove from the heat and set aside.
Dump the all-purpose flour onto the onion mixture and cook over medium heat for a minute to toast the flour slightly. Pour in the reserved drippings, ale, and stock and bring to a boil. Cook until slightly thickened.
Dump in the seared steak chunks and any drippings from the plate. Add the HP sauce, brown sugar, cocoa powder, spices, and cooked mushrooms and stir until well mixed. If the steak is not covered with liquid, add ½ cup or more of beef stock, ale, or water to prevent the meat from drying out.
Cover and bring the stew up to a full boil over medium heat, then turn the heat to medium-low. Simmer covered for 1½ hours, then remove the lid and simmer for another hour. The meat should be tender and the liquid should be thickened. Be sure to stir the stew every 15 minutes or so to prevent it from burning on the bottom.
Let the stew cool to room temperature (or refrigerate overnight) before putting the pastry on top. This step prevents it from melting.