The agent renamed the field in code and never told the database, so old rows read as undefined
A profile field displayName was renamed to fullName in types and components. Fresh tests stay green, but historical rows, cache entries, queued messages, and stored preferences still carry the old key, so reads come back undefined and the bug cannot be reproduced on a fresh environment. This piece explains why an agent treats a find-replace rename as a safe refactor, what ships when persisted and serialized shapes are not migrated, and the read-compatible cutover that keeps old and new keys working through backfill.