Runtime assemble was stamping Snapshot.SourceHash with the registry surface hash, so schema --all catalog_hash diverged from the CI dump content source_hash and failed Policy. Also remap ContractFinal Interface.Ref onto pinned MCP metadata so interface_type stays aligned. Co-authored-by: Cursor <cursoragent@cursor.com>