Don’t worry about being critical. Better to voice opinions, as long as it’s done in the right manner, than to say nothing at all. A closed mouth doesn’t get fed…
So here’s your problem with the knee…
You locked down the rotation of the controller bone, which has no effect at all. The inverse kinematics panel where those locks are only affect bones in the IK chain. Since the foot controller isn’t part of the IK chain, those locks have no effect. Instead, you need to
Like so
That will lock down the lower leg so it can only bend on 1 axis. There were a few more things I noticed…
First, the knee pole targets need to be move further forward in edit mode. As is, if you pick the foot controller upwards, the leg bends and the knee moves into the pole target. The pole target always wants to be further away from the joint. If the pole target is behind the knee, the IK might cause the leg to flip around backwards.
The pole targets on the arms is in the wrong location, they need to be moved to behind the character. The pole target is where you want to joint to point. So knee target needs to be in front of the knee, elbow target needs to be behind the character, since the arms bend backwards. As is, if you grab the hand controller and move it upwards, then grab the pole target and move it to the left, the elbow points to the right. Moving the targets behind the character might require you to adjust the pole angle in the constraint.
Also noticed that if you select the foot controller and in the front view you rotate it around the world’s y-axis, the foot bone acts funny. It’s not right, but I didn’t look into that problem. I have my own projects to work on and I think I have given you enough stuff to look at and fix.
So why didn’t you just use an auto-rigging system, like rigify, to do this?
Randy