Put the oil in a saucepan over medium heat. Add the onions and sauté for 5 minutes, stirring from time to time, until translucent.
Add the garlic, carrots, and celery and continue cooking for another 8 minutes.
Add the harissa, cumin, coriander, and caraway seeds and cook for a further 2 minutes, stirring well.
Gently mix the chickpeas into the vegetable mixture--you don't want them to break down--along with most of the salt and plenty of black pepper.
Add most of the water and bring to a boil. Turn down the heat and simmer gently for 10 minutes.
Meanwhile, rinse the bulgur, put in a small saucepan, and cover generously with cold water. Bring to a boil and immediately remove from the heat. Drain, refresh under cold water, drain again and set aside.
To make the feta paste, put the feta, crème fraîche, cilantro, mint, and ⅛ teaspoon salt in the bowl of a small food processor and blitz for a couple of minutes, until a smooth, creamy paste forms. Keep in the fridge until needed.
Before serving, add the cooked bulgur to the soup and bring to a gentle simmer.
Divide the soup among bowls, add a spoonful of feta paste to each bowl, top with some herbs, and serve at once.