put_envelope, put_raw_envelope, put_prepared_batch and load_soa ask the pull's own lookup (resolve_registered_type):
an id resolving to another registered type is refused whether or not this cache holds the key, so a stale cache or a
fresh key can no longer store a Note every reload serves as Settings. Ids naming no registered type still pass. The
type-compare test moves to two envelopes sharing one such id, where refuse_retype alone decides.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The judge compared the envelopes' claimed schema ids, so a Beta envelope stamped with Alpha's id landed beside Alpha.
Ownership is the written type's own id (C# WrittenOwns); here that is its entry type, with no compatible ids.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
One judge, refuse_retype, runs at put, put_envelope, put_raw_envelope, batch, pull and load_soa.
The pull's unresolved-type refusal is gone; put_prepared_batch lays foreign records back.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>