Rule 0 — A harness, not a backend
Signet owns an immutable handler registry, resolves handlers by URL protocol, and routes operations to them.
The registry is a value, not a singleton. register(registry, protocol, handler) returns a new frozen map; the input is never mutated. Handlers are frozen objects implementing $store, $retrieve, $remove, $exists (core) plus $subscribe, $clear, $keys (extended). Multi-endpoint operations use Promise.allSettled semantics — per-endpoint fulfilled/rejected, not blanket-throw.