For the marinade, combine all ingredients to make a paste and rub it over the lamb cubes in a shallow nonaluminum container. Cover and let stand 3 hours at room temperature or refrigerate overnight.
For the lemons, wipe the lemons with a clean towel and cut into eighths (or sixteenths, if the lemons are large). To remove the bitterness from the peel, boil the lemons in water to cover 3 minutes, rinse under cold water, then soak in cold water 1 hour. Combine 1 cup water and the sugar in a saucepan and cook over medium heat until the sugar dissolves. Add the lemons and simmer until tender, 20 to 30 minutes (or about half that time for Meyer lemons). Remove from heat, let cool, and drain.
Heat the remaining oil in the same pan over medium heat. Add the onions and cook until tender, 7 to 10 minutes. Add the paprika, ginger, and garlic and cook 3 minutes more. Return the lamb to the pan, add the stock, and heat to boiling. Reduce the heat and simmer, partially covered, until the lamb is tender, about 1½ hours. Add the artichokes, if using, and simmer until almost tender, about 10 minutes. Add the lemons, olives, cilantro, and parsley; skim well and simmer 5 more minutes. Season to taste with salt and pepper (we like this peppery). Serve with couscous and Harissa.