Freshly grated Parmesan cheese and crusty bread, for serving
Salt and freshly ground pepper
1 tablespoon extra-virgin olive oil
4 cups chicken stock, preferably homemade
Fill a bowl with water and squeeze a lemon half into it. Working with 1 artichoke at a time, snap off the tough outer leaves and trim the stem to 1 inch. Using a sharp knife, cut off the top two-thirds of the artichoke. With a teaspoon, scoop out the furry choke. Peel the artichoke base, removing the dark green skin and add to the lemon water. Very thinly slice the artichoke bottoms and return to the water. Cut the remaining lemon half into wedges.
In a large, deep skillet, heat the oil. Add the garlic and cook over moderately high heat until softened, 30 seconds. Add the stock, season with salt and pepper; bring to a boil. Drain the artichokes, add to the skillet and simmer until crisp-tender, 3 minutes. Add the mushrooms; simmer for 2 minutes.
Crack the eggs into the soup, leaving space between them. Cook gently over moderately low heat until the whites are set but the yolks are still runny, about 2 minutes. Carefully spoon each egg into a bowl, then ladle the soup on top. Sprinkle the soup with the scallions and serve with the lemon wedges, Parmesan cheese and bread.