Internals
z-base32, qualified identities, and compatibility decoding.
Wire representation
The z-base32 alphabet is ybndrfg8ejkmcpqxot1uwisza345h769. A raw identifier encodes 32 bytes; a qualified identifier has the form scheme:entity_type:encoded_key. The encoder does not prepend a version byte or multibase prefix.
EntityType supports Strand, Agent, Human, Tool and Org. StrandId wraps [u8; 32]; StrandIdentity wraps a string. Use the compat helpers decode_any, normalize and is_valid when accepting legacy forms, then persist the chosen normalized representation consistently.
Errors distinguish invalid key length, z-base32, hex, identity format, scheme and entity type. Do not silently convert malformed identifiers into zero keys or switch a storage lookup to another identity.
Source reference
Exact declarations and source provenance · Package features and manifest.