Changes sigstore attest to sign over the predicate file's contents, rather than our Pydantic model JSON dump. See the comments in the code for the rationale.
Changes the implementation to use an enum.Enum for the predicate types
Forbids unexpected fields in predicate JSON during model validation
Follow up to https://github.com/sigstore/sigstore-python/pull/1115#discussion_r1752718866 and https://github.com/sigstore/sigstore-python/pull/1115#discussion_r1759058534.
This PR:
sigstore attest
to sign over the predicate file's contents, rather than our Pydantic model JSON dump. See the comments in the code for the rationale.enum.Enum
for the predicate typescc @woodruffw