Newer clients were rejecting checkout_status_response and project-checkout-lite payloads from older daemons that don't yet send mainRepoRoot. Make the field optional with a null default so the schema stays forward-compatible.