Preheat the oven to 325°F. Combine the first 10 ingredients in a bowl. Place the oil in a large skillet set over medium-high heat. Season the beef with salt and pepper, sear on all sides, and then set in a 9 x 13 inch casserole. Pour stock mixture in the bowl over the beef. Cover and cook in the oven 3 hours, or until the meat is very tender. Remove the beef from the sauce, set in a large bowl and let rest 10 minutes. Pour the sauce left in the casserole into a large skillet.
After the beef has rested, pull into shreds with two forks or with your hands protected with kitchen gloves. Bring the sauce to a simmer over medium heat; add the shredded beef and mix to combine. Spoon the beef into a serving dish and set on the table with the lettuce, carrots, cucumber and cilantro in separate plates and bowls alongside. Let diners fill the lettuce leaves as desired with the meat and toppings.