Preheat the oven to 325F. Cover the beans with plenty of water and let them soak for several hours, or overnight; alternatively, bring the beans and water to a boil, then remove from the heat and let sit for 2 hours.
Set a large ovenproof casserole over medium-high heat and add a generous drizzle of oil. Cut most of the meat off the shanks and cut it into 1-inch chunks and sprinkle it with salt and pepper. Brown it in batches in the pan and set aside. Add the bacon and cook until the fat starts to cook off; add the onion, carrot, celery and garlic and cook for 4-5 minutes, until soft and starting to brown.
Return the meat to the pot, add the wine, stock, tomato puree and a few sprigs of thyme and rosemary, cover and cook for 2 1/2-3 hours, until the meat is very tender.
Meanwhile, cover the beans with water, add a garlic clove and a few sprigs of herbs and simmer for 45 minutes or so, until tender. Whenever they're done, drain them well and pull out the garlic and herbs, then pull the lamb pot from the oven and stir them in. (About halfway through the lamb cooking time.) If you like, cool it down and refrigerate overnight.
In a large, heavy skillet, heat a drizzle of oil over medium-high heat and cook the lamb sausage (squeeze it out of its casing if you need to), breaking the meat up with a spoon until the meat is no longer pink and is starting to get crispy. When the lamb is done, pull out the bones and give it a stir, then spread the crispy lamb sausage over top. Turn the oven up to 375F.
Toss together the breadcrumbs and butter - or pulse torn up bread with the butter in a food processor until well blitzed and blended - and sprinkle overtop. Bake for 30-45 minutes (depending on whether it's coming from the fridge or starting hot), until bubbly and crispy on top.