You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
hardening(identity): align UCP read order to typed-first + reject bytes
Two cross-language parity fixes from round-29 SDK review:
LOW-1: build_ucp_profile now reads operator_verification and
account_verification from the typed AssessResult fields first, falling
back to data.raw only when the typed field is missing. Previously raw
won, diverging from node-commerce which reads typed fields directly.
With raw and typed in disagreement, both languages now pick the same
source so a profile signed by one verifies in the other.
LOW-2: _reject_unsafe_numbers now rejects bytes / bytearray with a
typed ValueError before json.dumps can raise its raw
"Object of type bytes is not JSON serializable" TypeError. Mirrors the
node sibling's "typed arrays are not allowed" rejection in
stableStringify.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
0 commit comments