1. Rinse fish and pat dry.
2. Rinse beans, drain, then mash slightly with ginger and vinegar.
3. Put 1 tablespoon butter in a 9- by 13-inch pan. Set pan in a 500° oven until butter melts and begins to brown, about 2 minutes. Remove pan from oven, tilt to spread butter, then lay fish in pan and turn over. Mix shallots with butter. Pour black bean mixture over fish.
4. Bake until fish is opaque but still moist-looking in center of thickest part (cut to test), about 10 minutes. Baste occasionally with pan juices.
5. Meanwhile, with a sharp knife, cut peel and white membrane from grapefruit, then cut between membrane and fruit to release segments. Squeeze juice from membrane. Measure 3 to 4 tablespoons juice and pour over fish as it bakes. Reserve fruit.
6. Trim and discard coarse stems from mustard greens; coarsely chop greens.
7. In an 11- to 12-inch frying pan over high heat, melt remaining butter. Add greens and 2 tablespoons soy sauce. Stir often until wilted, 2 to 5 minutes.
8. Transfer fish to a platter; pour juices over it. Arrange wilted greens around fish. Garnish with grapefruit segments. Season with more soy sauce to taste.