Inference-first builder — derive the registry shape from decode() return types. Enforces encode/decode agreement per key.
Inference-first builder — derive the registry shape from decode() return types. Enforces encode/decode agreement per key.