It might be helpful to explain why the phase needs to be represented as sin(phi) and cos(phi) instead of regressing to phi directly using the GLM. It took me a bit to realize that log(lambda) cannot be linearly regressed to phase but sin(phi) and cos(phi) can.
Happy to create a PR if this seems useful.