jonnify·bcs /bcs/ideas/id-system/the-chooser

B1.3 · dive 3 of 4 — the candidate table

Every column filled.

Against the BCS requirements — discriminant in the value and the type, lexicographic mint order, in-contract placement, fixed printable width, cross-runtime canon — seven candidates enter the table. One row has every column filled.

The storage column is the measured table's; the remaining columns are the contract's properties. Nothing in this table is taste.

The candidate matrix (content/bcs1.3.md · The chooser). Select a candidate to read its row; faded cells read none or no.
VALKEY B/KEY TIME-ORDERED TYPE TAG PLACEMENT FN COORDINATION serial integer ~57–65 insertion only none none central sequence UUIDv4 (hex 36) 97 no none none none UUIDv7 (hex 36) 97 yes none none none UUID (binary 16) 65 v7 only none none none ULID (26) 81 yes none none none snowflake, decimal 73 yes none by convention node id branded snowflake (14) 65 yes, lexicographic 3-byte namespace hash32, in-contract node id the one row with no empty cell
readout · Select a candidate to read its verbatim row and the chapter's commentary where it has one. The columns are the contract's properties plus the measured table's storage verdict.
§1

The requirements

content/bcs1.3.md · The chooser

Five columns. Valkey B/key — the measured table's verdict at rest. Time-ordered — string order as mint order, the order theorem's demand. Type tag — the namespace discriminant, carried in the value. Placement fn — in-contract placement arithmetic any holder of the id may run. Coordination — what the scheme asks of the fleet to mint safely.

column · Select a requirement; the readout reads that column down all seven candidates and names where it goes empty.
§2

The candidates

content/bcs1.3.md · verbatim
CandidateValkey B/keyTime-orderedType tagPlacement fnCoordination
serial integer~57–65insertion onlynonenonecentral sequence
UUIDv4 (hex 36)97nononenonenone
UUIDv7 (hex 36)97yesnonenonenone
UUID (binary 16)65v7 onlynonenonenone
ULID (26)81yesnonenonenone
snowflake, decimal73yesnoneby conventionnode id
branded snowflake (14)65yes, lexicographic3-byte namespacehash32, in-contractnode id

The storage column is not opinion — it is the measured table's, row for row:

content/echo_data/bench/valkey-id/valkey_id_bench.out · the storage column's sourcefrozen
fmt keylen redis7 valkey81 saved
brd14 14 88 65 23
u64dec 19 104 73 31
uuid36 36 120 97 23
uuid16 16 104 65 39
ulid26 26 104 81 23
§3

The strongest outsider, and the verdict

content/bcs1.3.md · The chooser

UUIDv7 is the strongest outsider — ordered without coordination — but pays two classes as text, surrenders readability as binary, and carries no namespace and no placement contract in either form. The branded snowflake is the only row with every column filled, and the table removed the last argument against it: the contract's wire form is also the cheapest printable one.

The verdict stands as the contract states it, and re-validation when the engine bumps re-checks the directional invariants on a dated new output — it does not reopen the chooser.

§4

References

sources · related

Sources

Related