JobRegistry
Maps a job's stored kind string back to its JobType and JobHandler. Registration happens once at startup; lookups happen on every execution.
kinds is what the runtime hands to com.eventslooped.klokka.spi.JobStore.claim, so a worker only ever claims jobs it can run. A kind bound nowhere waits in Enqueued until a worker that binds it appears (a newer version mid-rollout, for example) rather than being dead-lettered by a worker that cannot run it. A claimed job whose kind is nevertheless unbound here means the store broke that contract; the runtime dead-letters it rather than requeue it, which could loop forever.
Functions
Binds handler to type. retry overrides the runtime default for this kind; it lives here, per kind and code-defined, so every node resolves the same policy (retry policies are functions and cannot be persisted per enqueue). Binding the same kind twice is an error.
Binds a suspend lambda to type. The lambda is wrapped in a JobHandler, so it has the same semantics as the object form and can be swapped for a class later without touching any enqueue site. retry and timeout as in the object form.