Yes - passive curves create a one way control - their position and orientation is an input, and cannot be affected by the solver.
If you need both curves to get moved by each other and other parts of the simulation they need both need to go into the C input.
Here’s an example with multiple active rigid curves attached to rigid bodies:
rigidbodycurvecollide.gh (32.9 KB)
I did also start a while ago on a sort of rotation-ratio goal that controls the relative rotation between a pair of rigid bodies directly. When we can assume perfect gears with zero backlash then I think it could be a lot simpler to do this way than through the curve collisions(which involves a lot of intersection checking so is fairly intensive). I didn’t get it fully working yet though.