you agree that "gender" as distinct from "sex" doesn't correspond to anything
Nope. I think it corresponds to different things in different contexts. (So the rest of your paragraph is addressing an irrelevant strawman.)
in practice your policy amounts to relying on "social role"
To a great extent, yes. (Not entirely; we can often draw inferences about internal mind-state from externally observable behaviour, including things like what answers we get to questions about a person's gender.) You say that as if it's obviously a bad thing, but it's not obvious why.
Of course [...] you'd likely find that most of the people claiming to be "trans" are clustered with their birth gender.
I think it's very far from clear that we should expect that.
provided you didn't remember your previous meeting
That's quite a proviso. Take note also of point 5 and note its consequences for ability to change on a whim in cases where there's more at stake than what pronouns I use to refer to someone.
you agree that "gender" as distinct from "sex" doesn't correspond to anything
Nope. I think it corresponds to different things in different contexts. (So the rest of your paragraph is addressing an irrelevant strawman.)
This is looking like a distinction without a difference.
There are some long lists of false beliefs that programmers hold. isn't because programmers are especially likely to be more wrong than anyone else, it's just that programming offers a better opportunity than most people get to find out how incomplete their model of the world is.
I'm posting about this here, not just because this information has a decent chance of being both entertaining and useful, but because LWers try to figure things out from relatively simple principles-- who knows what simplifying assumptions might be tripping us up?
The classic (and I think the first) was about names. There have been a few more lists created since then.
Time. And time zones. Crowd-sourced time errors.
Addresses. Possibly more about addresses. I haven't compared the lists.
Gender. This is so short I assume it's seriously incomplete.
Networks. Weirdly, there is no list of falsehoods programmers believe about html (or at least a fast search didn't turn anything up). Don't trust the words in the url.
Distributed computing Build systems.
Poem about character conversion.
I got started on the subject because of this about testing your code, which was posted by Andrew Ducker.