Sarbanes-Oxley (SOX) Versioning Strategy When dealing with publishing SOX application artifacts what is the best strategy for versioning SNAPSHOTS?

I'm currently following the semver pattern &lt;major&gt;.&lt;minor&gt;.&lt;patch&gt; and wondering if it is necessary to get granular with the version strategy and append something like a git hash to the end? e.g. &lt;major&gt;.&lt;minor&gt;.&lt;patch&gt;-SNAPSHOT&lt;githash&gt; 

Or can I treat SNAPSHOTS as a SNAPSHOT should be and drop the hash all together?

My argument for the latter is that SNAPSHOTS are not cut as release candidates (rc) until they actually enter the release pipeline and therefore can be clobbered, especially when following a mature CI pattern where changes are continuously merged to master following early testing validation.

In addition to this, typically in an organization, a change request is only opened and tracked at the time you are performing a release.

(additional convo happening here)
I suggest to follow the principles that are defined in the Semantic Versioning 2.0.0 documentation.