Stage352 extends Stage351 by verifying the hybrid signature manifest.
docs/signatures/stage351_signature_manifest.jsonexistsdocs/enforcement/enforcement_session.jsonexists- Stage351 required fields are present
- Stage351
session_sha256matches Stage350session_sha256 canonical_payload_sha256is recomputed and checkedsignature_manifest_sha256is recomputed and checked- CI / local context is consistent
- Sigstore OIDC requirement is consistent
- PQC ML-DSA
intent_onlystate is not falsely treated as a real signature - Missing signatures are not claimed as verified
- Private keys and raw secrets are not referenced
docs/signatures/stage352_signature_manifest_verification.json
accept_metadata_only: local metadata-only manifest is structurally valid and hash-boundaccept: CI context and required signature conditions are satisfiedwarn: non-critical inconsistencyreject: hash mismatch, structure mismatch, or fake PQC/signature claimblock: CI requires Sigstore OIDC but it is missing
Stage352 does not publish private keys, raw secrets, fake signatures, or unverified PQC claims.