How to know, which route is the newAct coming from in HardActivityConstraint?

As we have the info about the route in which we are going to insert the newActivity.
Can we know from which route is newActivity coming from?

newAct is selected from Unassigned Jobs list, it is not removed from a route at insertion step.
Basically Unassigned job list is union of unassigned jobs from previous iteration and removed jobs at ruin step.

Can we restrict the ruin step ? (whether or not to remove a tourActivity from VehicleRoute.)

Why would you want to do that?
Maybe there’s a better way to achieve what you are trying to implement.