I may be remembering wrong, but reasoning was first demonstrated by DeepSeek. Edit: I am indeed remembering wrong, seems o1 was first.

Deepseek’s R1 paper was the first paper to describe how to do it. O1 was released before R1 came out.

A month before the R1 paper came out, they released the Deepseek math paper which described their method for MoE load balancing.