Hi, Ran. I think it's a little difficult to split the rule into two parts. Because the ProjectDown and ReadingMetadata both need to reorder the fields. The ReadingMetadata requires the metadata columns to be at the last and the ProjectPushDown now is responsible to reorder the columns as the user specified.
One more concern, the push-down optimization occurs in the logical phase that uses the volcano planner. I am not sure whether the rule will be applied at last because metadata push-down doesn't change the cost. Best, Shengkai