Reads the server's current row for an entity — the version the overwrite is about to crush.
⚠️ A GET, and it writes nothing. The row is returned to the caller; storing it is
recordConflict's job, and neither touches features.
⚠️ An empty JSON array is "absent", anything unreadable is "unreadable", and the
distinction is the same one the drain draws on a 200 []: an array proves the server
answered in representation, a body we cannot read proves nothing. Reading the second as
the first would make the store claim "the server held nothing" about a row it simply
could not see.
Reads the server's current row for an entity — the version the overwrite is about to crush.
⚠️ A GET, and it writes nothing. The row is returned to the caller; storing it is recordConflict's job, and neither touches
features.⚠️ An empty JSON array is
"absent", anything unreadable is"unreadable", and the distinction is the same one the drain draws on a200 []: an array proves the server answered in representation, a body we cannot read proves nothing. Reading the second as the first would make the store claim "the server held nothing" about a row it simply could not see.