For the guacamole: Scoop the avocado flesh into a medium bowl and roughly mash it with a fork, leaving the texture slightly chunky. Add the red onion, jalapeno, cilantro, lime juice, salt and cumin. Add the black pepper and cayenne to taste, then mash the mixture some more.
Cover with plastic wrap, pressing directly onto the surface of the guacamole to prevent oxidation, and refrigerate until ready to use. Gently mix in the tomatoes just before serving.
For the taco filling: Rinse the lentils and drain well. Combine the lentils and 3 cups water in a small saucepan. Bring to a boil, then reduce the heat to low and simmer until tender, about 30 minutes. Drain of excess water and set the lentils aside.
Pulse the cauliflower in a food processor until reduced to pieces the size of rice grains. Heat the olive oil in a large skillet over medium heat. Add the onions and jalapenos and cook until the onion is translucent, 5 to 7 minutes. Add the cauliflower, garlic, 2 teaspoons of the chili powder, 1 teaspoon of the cumin and 1/2 teaspoon of the coriander and cook for 4 minutes. Stir in the tomato sauce and cook until the cauliflower is tender, another 3 minutes.
Add the cooked lentils to the cauliflower mixture. Add the remaining 2 teaspoons chili powder, 1 teaspoon cumin and 1/2 teaspoon coriander. Stir in the salt and pepper and cook for 3 minutes more to blend the flavors.
For the tacos: Scoop the taco filling into taco shells, top with some shredded romaine and a dollop of guacamole. Serve immediately.
The hearty cauliflower-lentil taco filling makes a great side dish on its own. Serve it alongside refried beans, guacamole and salsa. It also makes a fine filling for enchiladas.