For the bagel dough, place all the ingredients into a large mixing bowl and mix to a stiff dough. Turn out onto the worktop and knead for 10 minutes, or until smooth and elastic (alternatively use an electric mixer with a dough hook for five minutes).
Divide the dough into 12 equal portions, roll each piece into a neat ball, and place on a floured chopping board. Cover with oiled cling film and set aside to prove for 25 minutes.
When the dough has doubled in size, make a hole in the centre of each ball using a wooden spoon handle, stretching the hole with your fingers so it doesnâ€™t reseal. Cover and set aside for 35 minutes to prove a second time.
Preheat the oven to 230C/450F/Gas 8. Bring a large saucepan of water up to the boil and add the bagels in batches (taking care not to overcrowd the pan) and poach for 1Â¼ minutes per side. Scoop the bagels out with a slotted spoon and place on a cooling rack to dry slightly, then glaze with egg.
Line two large baking trays with parchment paper and grease with oil. Place the poached bagels onto the lined baking sheets with plenty of room between them and bake in the preheated oven. After 10 minutes, swap the trays round in the oven (so that the bagels that were at the top are now at the bottom and vice versa) and bake for a further five minutes. Remove the bagels from the oven and transfer to a cooling rack.
For the topping, place a heatproof bowl over a pan of simmering water and add half the chocolate. Heat until the chocolate reaches 43C/110F (use an electric thermometer for this), continually stirring with a spatula. Remove from the heat and sprinkle in a third of the reserved chocolate. Return the bowl to the pan and allow the chocolate to melt for 30 seconds. Remove from the heat and add another third of the remaining chocolate. Repeat until all the chocolate is used.
Spoon the melted chocolate into a piping bag with a very fine nozzle attached (alternatively snip a tiny corner off a plastic food bag) and, using a fluid motion, zig-zag the chocolate over the bagels.