Add the shallot and 1 tablespoon of water to a large saute pan over medium-high heat. Cook until the water has evaporated and the shallot begins to brown in the pan, around 3-5 minutes.
Lower the heat, and add the spices. Stir quickly to coat the pan and toast, about 10 seconds.
Add the asparagus and ¼ cup of water. Slowly raise the heat and cook until the asparagus starts to steam and turn bright green.
Add the chopped lettuce to the pan. Stir to combine, and cook until the lettuce is wilted but still bright in color, about 5 minutes.
Meanwhile, zest the grapefruit and reserve in a medium bowl for the dressing. Remove the skin and pith and slice into thin rounds.
To make the dressing, combine all the ingredients and whisk with a fork. Slowly add water 1 tablespoon at a time (~2 tablespoons total, depending on your tahini) until the dressing is the consistency of runny yogurt.
To serve, transfer the cooked greens to a large plate. Layer the grapefruit slices on top. Drizzle with dressing, and add a generous amount of salt and pepper. Serve immediately, or store the greens, fruit, and dressing in separate containers until ready to eat.