I have a rig that I'm working on, upon which I'm implementing stretchy limbs. Because I want the animator to be able to switch between ik and fk and have separate stretchy settings for both, I put in swapping scale constraints to the ik fk bones to drive the scale of the main joints. When I set it up, however, I discovered that the joints that were being driven were receiving really odd scale inputs and were generally not behaving correctly. I eventually discovered that if I deleted all the incoming streams to the scale contraints that end in scaleConstraint1.target[1].targetParentMatrix (the purple colored streams), everything worked correctly. My question is, what are these streams for and why are these put in by default if they produce such unwanted behavior. I would like to be able to troubleshoot problems like these a little better in the future instead of just deleting random streams. Also, will deleting these streams cause me problems later on?
Here are the before and after files. The controls are located on the left hand control and are called "Upper Arm Scale" and "Lower Arm Scale".
Before File
After File