Rep.modify.pose(scale)

When I try modifying the scale of objects non-uniformly, the rotation matrix of these objects are no longer valid (ex: multiplied by its transpose is not the identity. Here’s an example

with rep_item:
    rep.modify.pose(
                        position=rep.distribution.uniform(
                            (-0.5, -0.5, 1), 
                            (0.5, 0.5, 1),
                        rotation=rep.distribution.uniform(
                            (-90, -180, -90), (90, 180, 90)),
                        scale=np.array([1, 0.5, 0.5]),   # <---- non-uniform scaling
                    )

prim_path = get_node_targets(rep_item.node, "inputs:prims")[0]
prim = world.stage.GetPrimAtPath(prim_path)
object_pose = gf_mat_to_numpy(omni.usd.get_world_transform_matrix(prim))  # <--- Rotation matrix invalid