Clean the duck, prick all over with a fork and dry at room temperature for 2 hours or overnight.
Mix half of the lemon grass, half of the spring onions, garlic, 6 shallot halves and allspice powder together. Spoon the mixture into the duck and rub 1 tablespoon of oyster sauce on the outside. Roast in a preheated oven, 200°C (400°F), Gas Mark 6, uncovered, for 30 minutes. Lower the heat to 180°C (350°F), Gas Mark 4, and roast for 2 hours until the skin is crispy.
Meanwhile, clean the giblets and bring to the boil with the stock, the remaining lemon grass and spring onions, carrots, the remaining shallots, ginger and black peppercorns. Lower the heat and simmer for 1½ hours, skimming occasionally. Strain the stock into a clean bowl. Remove the giblets, discard the solids and allow to cool.
Remove the duck from the oven and tip the juice from the body cavity into a saucepan. Rest the duck for 15–20 minutes. Discard the fat and add the duck gravy to the stock saucepan.
Mix the flour with a little stock in a bowl. Simmer and stir the remaining stock, oyster sauce, light soy sauce and sugar on a low heat. Add the flour liquid and stir until it thickens. Taste and adjust the seasoning.
Remove the meat from the duck and divide it on top of boiled jasmine rice (see