"""Onboarding domain — first-class process + blocker state machine. Symmetric to the offboarding domain (since migration 229, 2026-06-01). Owns: * ``onboarding_processes`` — one row per hire, state machine through scanning → preparing → ready → live → completed (+ cancelled) * ``onboarding_blockers`` — per-resource Day-1 gaps * ``onboarding_reminder_log`` — escalation idempotency markers The cockpit (``OnboardingCockpitService`` in ``cockpit_service``) reads from these tables instead of recomputing the 7 dimensions per page-load. The HR sync coordinator calls ``OnboardingService.start_process`` on every new-hire confirmation; the scheduled jobs at ``app/scheduled_jobs/onboarding_handlers.py`` drive the lifecycle. """