Backfill all TLGs to Organizations
## Problem statement
We need to automatically transfer **all** customer Top-Level Groups to Organizations on gitlab.com. This is a lightweight operation which creates a new Organization with the same name as the TLG, and updates the group reference to point this new Organization ID. The TLG's users should also be moved to the new Organization as members.
This makes no visible difference to customer experience or Organization usage alone – this comes later, as we selectively enable the feature and begin onboarding customers.
It has the advantage of preventing namespace squatting attacks as nobody will be able to pre-emptively register an Organization slug which belongs to an existing TLG.
## DRI
@dblessing @rutgerwessels
## Exit criteria
* **All** **TLGs** on gitlab.com are associated with a non-default Organization ID
* ~~**All users** on gitlab.com are associated with a non-default Organization ID~~
* ~~Membership of the default Organizations drains down to 0 and the concept can be removed from the codebase~~
<!-- STATUS NOTE START -->
## Status 2026-04-16
:clock1: **total hours spent this week by all contributors**: 20
:tada: **achievements**:
- https://gitlab.com/gitlab-org/gitlab/-/merge_requests/229901+ was merged
- https://gitlab.com/gitlab-org/gitlab/-/merge_requests/229912+ is in final review
- https://gitlab.com/gitlab-org/gitlab/-/merge_requests/229913+ is fixed up and ready for review pending the above merge
:issue-blocked: **blockers**:
- None
:arrow_forward: **next**:
- Create a new issue to replace this one since backfilling all TLGs has been deprioritized slightly. The new issue will focus on what's needed to enable Artifact Registry.
_Copied from https://gitlab.com/groups/gitlab-com/gl-infra/-/epics/2011#note_3255436926_
<!-- STATUS NOTE END -->
epic