Up to three days before, make the pastry puffs. Preheat the oven to fan 180C/conventional 200C/ gas 6. On a lightly floured surface, roll out the pastry a little thinner and stamp out sixteen 6cm rounds. Put the rounds on a baking sheet and brush with the egg. Sprinkle with salt and bake in the oven for 5-7 minutes or until puffed and golden brown. Cool on a wire rack, then store in an airtight container until ready to serve.
Make the stew. Put the beef, garlic and bay leaf in a large non-metallic bowl and pour in the stout. Cover and leave to marinate in the fridge for at least an hour, preferably overnight.
Preheat the oven to fan 130C/ conventional 150C/gas 2. Drain the meat and pat dry on kitchen paper. Set aside the marinade liquid.
Heat both half the butter and oil in a large lidded ovenproof casserole. Over a high heat, brown the beef in batches until each piece is sealed and dark brown. Remove the meat with a slotted spoon as you go. Set aside.
Wipe the dish with kitchen paper, melt the remaining butter and oil and fry the bacon and onions for 10-15 minutes until the onions are golden brown, very soft and well reduced.
Stir in the flour until blended, add the port and reserved marinade and return the beef to the dish. Bring to the boil, cover with a tight-fitting lid and cook in the oven for 2½ -3 hours or until the meat is very tender (no need to season). Cool, put in a large sealed container and store in the fridge, or freeze for up to 1 month.
To serve, return to the casserole and bring slowly to the boil (if frozen, defrost and continue as above). Add pickled walnuts and reserved pickling vinegar and simmer for 30 minutes until hot. Stir through the parsley. Re-heat the pastries at fan 180C/ conventional 200C/gas 6 for 3-4 minutes. To serve, ladle into bowls, top with a couple of pastry puffs and sprinkle with a little chopped parsley.