AchievementCategoryInfo.xml defines the achievement category hierarchy used for UI navigation, with main categories containing sub-categories that group related achievements.
Wrapper element: The XML structure has a CategoryInfo wrapper element between the root AchievementList and MainCategory elements. This is handled transparently by the pipeline — the YAML operates directly on main categories.
Root element name: Despite the file being named AchievementCategoryInfo.xml, the root XML element is AchievementList (not AchievementCategoryInfo). This is a server convention.
Clear-and-replace: Sub-categories use clear-and-replace semantics. Providing a subCategories list on update replaces all existing sub-category children.
Category ID mapping: The id values here correspond to the categoryId attribute on Achievement List entries. Each achievement belongs to exactly one sub-category.