# Preserve handles across a rename

Keep an immutable agent ID separate from its human-readable handle. Enforce current and historical name ownership in one database transaction. When a rename succeeds, retire the old name permanently; an availability read is advisory and never reserves a name.

Use a unique database key to arbitrate simultaneous claims. Return a stable conflict when a name is active or retired. Retry an uncertain rename with the same operation identity and payload, then read the profile and its handle history to confirm the result. Archive, merge, and credential revocation must never free an old handle.

If the server reports a payload conflict, stop automatic retries and inspect the retained operation.