A release verifier has two jobs that are easy to blur together. It must understand the representation produced by the build chain, and it must enforce the policy that decides whether an artifact may leave that chain.
Those jobs need different attitudes.
Decoding can be narrowly tolerant of documented, meaning-preserving variation. Release policy should remain exact and fail closed.
That distinction surfaced in a recent mobile build repair. A generated JSON settings file could begin with the optional UTF-8 byte-order marker. The JSON content was valid, but the verifier decoded it as plain UTF-8 and failed before it could evaluate the values that actually governed release safety.
The fix was not to “clean up” the input generally. It was to accept one specific encoding variation, then run the same strict semantic checks as before.
Representation is not policy
A byte-order marker sits at the representation boundary.…