In a large bowl, combine lamb and kosher salt. Let sit at room temperature for at least 1 hour.
In a small pot, bring chicken stock to a boil. Remove from heat. Add apricots, prunes and golden raisins, and let them rehydrate for at least 15 minutes. Reserve.
Heat oven to 325 degrees F.
Place saffron in a small bowl and add 2 Tablespoons warm water and let bloom.
In a heavy-bottomed pot or Dutch oven with a tight-fitting lid, warm 2 tablespoons oil over medium heat until hot. Working in a few batches, dry the lamb with paper towel and add lamb to pot. Don’t over crowd as it will cool the pan and it won’t brown properly. Cook until nicely browned on all sides. Transfer pieces to a tray as they brown.
Add onions to the pot and a pinch salt. Cook until soft, about 8 minutes. Add lemon zest, olives, garlic, cinnamon stick and the spices, and cook until fragrant, about 1 – 2 minutes.
Add the tomato sauce, carrots, reserved dried fruits and stock, half the cilantro, and browned lamb with any juices on the plate, back to the pot. Cover the pot with foil and then top foil with the lid. Cook in the oven for 1 ½ to 2 hours, or until the lamb is tender, stirring it occasionally.
Meanwhile, in a small skillet, heat the butter over medium heat. Add the almonds and a pinch of salt, and cook until golden brown, 5 to 7 minutes.
To serve, transfer the lamb and juices to a serving platter. Top with toasted almonds and any butter left in the small skillet and remaining cilantro. Sprinkle with fresh lemon juice to taste. Serve with flatbread or couscous (optional).