UPDATE 2026-09-23 (claude-code): Option A shipped (merge e8c927d): Solution Gallery + SPDX/CWE/Linguist term sets, ServiceHub.Reload. Remaining: TermId/Description/Deprecated fields, synonyms, legacy empty sets (NAICS->Industries, ISO 3166->Jurisdictions).
TO DO (operator, 2026-09-23). HAVE: ContentType.Term (TermPath, TermParent) and one list of terms per term set - a hierarchy by path. SHAREPOINT (Managed Metadata Service, Term Store Management): Term Store > Group > Term Set > Term, each term with a stable id, a default label plus OTHER LABELS (synonyms) per language, a description, deprecation instead of deletion, and reuse/pinning of a term into another set. MISSING: groups (who may manage which sets), term ids that survive a rename, synonyms (so a search or a tag in any wording lands on one term), deprecation. Copy the Term Store model and names; a term set stays a list of Term rows.