The solution to this is doing a good job of evading me.
The included patch is a basic signal based detuner which uses cents as the detune mechanism in order to preserve intervals. It has 4 detunable channels.
It works as expected except for one really nagging problem.
No matter how I return the detune "cents" parameter back to zero it causes phasing between oscillators ( no matter what type of oscillator. I have included saw~ here because it is pretty obvious) .
I would like to avoid event based reset phase messages (like phasor~ phase message) in order to keep the mechanism as universal and as signal based as possible.
I have had a look a various detuners in the forum but they don't answer this specific problem.
many thanks for any pointers