The task
Contact is the curriculum.
PushT looks almost trivial: use a circular pusher to move a T-shaped block into a matching target. The difficulty is hidden in contact. A push that translates the block from one angle can rotate it away from the goal from another. A plan that is geometrically short can be dynamically impossible.
The controller therefore cannot succeed by drawing a path and hoping the object follows it. It has to learn what a push does: when contact begins, how motion transfers through an off-center collision, when rotation dominates translation, and when the current plan should be abandoned.
We started with a controller that could not produce a useful plan. Over a 2.5-hour run, we let the system interact with the environment for 48 episodes and 4,751 real environment steps. The important artifact was not a larger collection of trajectories; it was an executable dynamics model that changed as those trajectories contradicted it.