For the Rice: In a 3-quart pot with 4-1/2 cups of water, add the cardamom, cloves, star anise, cinnamon, and bay leaves and bring to a simmer, covered, over low heat. Add the saffron, cumin, salt, and ghee; increase heat and bring to a rolling boil.
Add the rice, stir briefly, then cover tightly; reduce heat to low and cook for 12 minutes—making sure to not lift the lid—until the liquid is absorbed. Remove from heat and let sit, covered, for 10 minutes.
Fluff with a fork and set aside. Remove the spice hulls.
For the Goat (or Chicken): In a blender or food processor, combine 1 cup water with the cilantro, mint, chiles, garlic, and ginger. Blend the ingredients to make a thick paste; set it aside.
In a large Dutch oven, heat the ghee over medium-high heat. Add the onions and cook, stirring often, until the onions are golden brown, about 8 minutes.
Add the garam masala, cardamom powder, and salt; cook and stir for 1 minute. Add the herb paste, and stir until well combined. Lower the heat and cook the sauce for 3 minutes.
Add the goat and stir to coat all the meat with the sauce. Cover and cook until the meat is falling off the bone, about 45 minutes to an hour.
For the Garnish: Place the shallots and garlic in a small pan and drizzle with 1 tablespoon of the melted ghee. Roast the shallots and garlic for 20 minutes, while the goat is cooking.
In a separate pan, heat 1 tablespoon ghee and toast the cashews and raisins until golden brown, about 2 minutes.
Assembling the Biryani: Heat the oven to 350°F.
In a roasting pan, layer one-third of the rice, then top the rice with one-half of the goat; repeat and end with a layer of rice. Cover the pan tightly with foil. Bake until all the flavors of the rice and goat combine, about 20 minutes.
Uncover and garnish with reserved spice hulls.
When ready to serve the biryani, place the roasted shallots, garlic, cashews, and raisins on top of the rice. Sprinkle with the cilantro.
Notes: Have your butcher cut the meat into small pieces.