The hard part with these protocols is usually state, not packet formats. Does the spec cover initialization and feature negotiation across different firmware versions, or is that still inferred from one device’s traces?
So far, it's survived a few device firmware updates with no visible breaking changes, but I can't guarantee it always will.