pub fn validate_unsettable_metadata_key(
key: &str,
schema: &TypeDefinition,
) -> Result<(), ValidationError>Expand description
Gate for metadata_unset keys. Unlike the set path
(validate_writable_metadata_key), the reserved
identity/discriminator triple (mem / id / type) IS
unsettable: removing one can only move an entity toward the
invariant, and it is the sanctioned repair for entities that
acquired a smuggled reserved key before the write gates closed
(delete-and-recreate would destroy provenance and edges).
Engine-stamped timestamp fields (init_timestamp /
auto_timestamp) stay refused on unset — the engine owns their
values and re-stamps them; unsetting one is caller confusion, not
repair.