The movement system must change the position component, and the render system request the position and renders the entity.
There are two approaches you can consider for replicating information to your render system and a lot of it depends on how coupled you want your code.
The first approach would be to decouple your entity system and rendering system entirely. There is lots of benefits to this approach as it will allow you to easily replace your rendering engine with another but does come with it's own set of concerns. To decouple the two entirely, you would use a command queue where your ECS systems emit commands as they perform various operations. These commands are placed into the said queue and during the render system's update phase, it would parse these commands and perform the necessary rendering operations. It's important that all pertinent information be included in the command to avoid the rendering system having a need to query the ECS at all.
The second approach would be to live with the fact there will be some coupling. In this case, you would have a specialized ECS system or game loop step that runs after you have completed your logical updates and would query various entities and replicate necessary information from the ECS into the render system's scene manager. This system acts as a wrapper around calling Irrichlt's "render/update" call as it would perform the various scene updates and then render a single frame.
Both approaches have advantages and disadvantages and you can easily change between one or the other. Pick one that makes the most sense for now and move on. You can always come back later and change it and improve upon it as the need arises.