Take a pot of water and bring it to a boil. Add ancho chile peppers to it and cook for 5 minutes. Remove the pot from the flame and keep aside for 10 minutes, so that chiles soak hot water.
In a blending jar, add the chiles, 1 cup vinegar, ginger, 2 garlic cloves, 15 peppercorns, 3 cloves, 1 pinch marjoram, 1 pinch cumin, and 1 pinch thyme. Blend all of them until it becomes a smooth paste. Strain this marinade in a separate bowl.
In another bowl, add the goat meat and the marinade. Mix it well to coat the meat completely. Cover it and refrigerate for 8 hours.
Preheat the oven to 350oF (175oC). Meanwhile, transfer the meat into a baking dish and cover it with aluminum foil or lid.
Bake it for about 3 ½ hours until the meat becomes tender. Now, uncover it and cook it again for 15 minutes until the meat gets brown. Cover the meat to keep it warm. Pour the meat juice into a container and store it.
Take a large pot of water and bring it to a boil. Add tomatoes to the pot. Boil them for 5-10 minutes until they become soft. Drain the tomatoes and cool them.
Peel the tomatoes and put them in the blender with the preserved meat juice, 2 cups water, 3 peppercorn, 2 cloves, 2 garlic cloves with 1 pinch of thyme, marjoram, and cumin. Blend to make this meat sauce smooth.
In a small saucepan, add meat sauce and salt. Bring it to a boil. After a boil, reduce the flame to medium.
Take a pot of water and bring it to a boil. To it, add ancho chile peppers and cook for 5 minutes. Drain the chiles.
In a blending jar, blend the chiles, ¼ cup vinegar, 10 peppercorns, 1 garlic clove, and salt into a smooth hot sauce. Strain it into a glass.
Chop the meat into bite-sized pieces and serve them with hot sauce and meat sauce. Lastly, serve it with onions.