Heat the oil in a large pot or dutch oven over medium high heat. Season the beef generously with Kosher salt and pepper on all sides, then add it to the skillet. Brown for a few minutes on each side.
Add the onion, carrots, and celery, and cook until starting to soften, stirring occasionally, 3-4 minutes.
If there's no or very little oil left in the pan, add a bit more. Stir in the potatoes and mushrooms and cook an additional 3-4 minutes. Stir in the garlic and saute until fragrant, about 1 minute.
Add the rosemary and thyme to the pot. Pour in the Guinness, scraping up any browned bits from the bottom of the pan. Add the stock and give everything a good stir.
Turn the heat to low, cover, and allow the mixture to gently simmer for 1-1.5 hours, or until the beef is fork tender. Taste and season with additional salt and pepper if needed.
Stir the cornstarch mixture into the pot, and bring to a gentle boil, allowing the mixture to thicken for several minutes. Remove from heat.
Preheat the oven to 400 degrees. Remove the puff pastry from the packaging and cut it slightly larger than the size of your baking dish or skillet. You will likely need 1 1/2 sheets. Layer the pastry over the beef mixture, overlapping slightly and rolling up the edges. Whisk together the egg and water, then brush it over the pastry. Put a few slashes across the top for steam to escape. If desired, cut a few festive shapes from the leftover pastry and scatter on top. Transfer to the oven and bake for 30-35 minutes or until pastry is very golden and puffed. Serve immediately.