Possible brokenrotation / transformation order in materials?

Hi,

I have a simple material, where by I want to consistently align the surfaces along an axis. In this case “-X”

I’m creating a transform, based off the local Up vector into world space and then creating the right and front vectors, transforming the local positions by thins new matrix then adding the object positions back.
See below:

The issue I have is that, whilst the vertices align to the axis perfectly, there is an offset pre rotation being applied. When I rotate the object, I start to see a cylindrical motion around the objects origin.

Can anyone spot what I’ve got wrong in this? I’ve been staring at this now for some time and I’m sure it will be obvious to someone looking fresh at it.