Emits a rename as one ->rename(~old, ~'new') per mapping, chained in mapping order: the engine's array form fails (PLAN ยง8.8). No mapping names another's column, so the order doesn't matter. Names travel as JSON strings, so any valid name needs no quoting. The emitter checks the names come out as the node's inferred schema, so a mismatch fails in Cube, not on the engine.