Skip to main content

validate_unsettable_metadata_key

Function validate_unsettable_metadata_key 

Source
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.