What should primary keys be?

The Proposed Server API page asks "What do we want keys to be?".
This page collects and evaluates the options.

User-allocated variable-length or long fixed-length keys

User-allocated 64-bit keys

System-allocated 64-bit keys with reuse

System-allocated 64-bit keys without reuse

System-allocated (64-bit key, 64-bit generation number) tuples

System-allocated (48-bit key, 16-bit generation number) tuples