/*
Closed catalog of IAU-approved star names for the Uni UI Ontology cosmic overlay.
Each entry is a valid cosmicName for manifests with layer="page" (DNA-23, RFC-0025).
- Do not add entries that are not IAU-approved star names.
- Do not extend this catalog without a superseding RFC (DNA-19).
- Do not import business or app logic.
- RFC-1097: step 6 — compass.migrate codemod run
Mechanical v1 to v2 header migration across the workspace: 942 files rewritten — CHANGE_SUMMARY windows collapsed into history, forbidden v1 blocks stripped, KEY_DECISIONS seeded from @ai-invariant comments (5 files) or TODO placeholders (103 files), blocks reordered to canonical order.
- RFC-1097: sweep — werkstatt-engine clean
Sweep batch 4: 73 Compass headers on headerless engine files (certification, component-runtime, isolation, evolution, testing), real KEY_DECISIONS on 75 files (kernel, cache, dht, swim, gitmesh, runtime), ~80 purpose expansions (CONTRACT-02/PURPOSE-02), non-goals on 13 CONTRACT-03 files, CS-07 history literal fix repo-wide (253 files). Policy: .template.ts/.template.astro excludedPaths. werkstatt-engine now 0 diagnostics.
- RFC-1308: replace Atlas with Tureis — resolves the cross-catalog collision with PlanetCatalog Atlas (retained by the faq-list section-layer consumer); Tureis is the IAU WGSN-approved name for ρ Pup, collision-free under RFC-1300 normalization.
*/
import { z } from "zod";
// [DNA-23][DNA-19] Closed catalog — extension requires a superseding RFC.
// Source: IAU Working Group on Star Names (WGSN), approved names as of 2026.
// Entries are sorted alphabetically for readability; order has no semantic significance.
export const StarCatalog = [
"Absolutno",
"Acamar",
"Achernar",
"Achird",
"Acrab",
"Acrux",
"Acubens",
"Adhafera",
"Adhara",
"Adhil",
"Ain",
"Ainalrami",
"Aladfar",
"Albireo",
"Alchiba",
"Alcor",
"Alcyone",
"Aldebaran",
"Alderamin",
"Aldhanab",
"Aldhibah",
"Aldulfin",
"Alfecca",
"Alfirk",
"Algedi",
"Algenib",
"Algieba",
"Algol",
"Algorab",
"Alhena",
"Alioth",
"Alkaid",
"Alkalurops",
"Alkes",
"Almaaz",
"Almach",
"Alnair",
"Alnasl",
"Alnilam",
"Alnitak",
"Alphard",
"Alphecca",
"Alpheratz",
"Alrakis",
"Alrescha",
"Alsafi",
"Alsciaukat",
"Alsephina",
"Alshain",
"Alshat",
"Altair",
"Altais",
"Alterf",
"Aludra",
"Alula",
"Alurna",
"Alya",
"Alzirr",
"Amadioha",
"Ancha",
"Angetenar",
"Ankaa",
"Anser",
"Antares",
"Arcalís",
"Arcturus",
"Arkab",
"Arneb",
"Ascella",
"Asellus",
"Ashlesha",
"Aspidiske",
"Asterope",
"Atik",
"Atria",
"Avior",
"Azelfafage",
"Azha",
"Azmidi",
"Baten",
"Beemim",
"Beid",
"Bellatrix",
"Betelgeuse",
"Biham",
"Bosona",
"Botein",
"Brachium",
"Canopus",
"Capella",
"Caph",
"Castor",
"Cebalrai",
"Celaeno",
"Cervantes",
"Chalawan",
"Chamukuy",
"Chara",
"Chertan",
"Citadelle",
"Copernicus",
"Cor",
"Cursa",
"Dabih",
"Dalim",
"Deneb",
"Denebola",
"Diadem",
"Diphda",
"Dschubba",
"Dubhe",
"Dūbe",
"Ebla",
"Edasich",
"Electra",
"Elkurud",
"Elnath",
"Eltanin",
"Enif",
"Errai",
"Fafnir",
"Fang",
"Fomalhaut",
"Fumalsamakah",
"Fuyue",
"Garnet",
"Gacrux",
"Giausar",
"Gienah",
"Gomeisa",
"Grumium",
"Gudja",
"Guniibuu",
"Hadar",
"Haedus",
"Hamal",
"Hassaleh",
"Hatysa",
"Helvetios",
"Heze",
"Hoggar",
"Homam",
"Hunahpu",
"Iklil",
"Illyrian",
"Imai",
"Inquill",
"Intan",
"Izar",
"Jabbah",
"Jishui",
"Kabdhilinan",
"Kaffaljidhma",
"Kang",
"Karaka",
"Kaus",
"Keid",
"Khambalia",
"Kitalpha",
"Kochab",
"Koeia",
"Komondor",
"Kornephoros",
"Kurhah",
"Larawag",
"Lesath",
"Libertas",
"Lich",
"Lilii",
"Llesiant",
"Lucilinburhuc",
"Lusitania",
"Maasym",
"Maia",
"Malabar",
"Marsic",
"Matar",
"Mebsuda",
"Megrez",
"Meissa",
"Mekbuda",
"Meleph",
"Menkent",
"Menkib",
"Merak",
"Mergrez",
"Merga",
"Merope",
"Mesarthim",
"Mimosa",
"Minelava",
"Minkar",
"Mintaka",
"Mira",
"Mirach",
"Miram",
"Mirfak",
"Mirzam",
"Misam",
"Mizar",
"Montuno",
"Mothallah",
"Muliphein",
"Muphrid",
"Muscida",
"Naos",
"Nashira",
"Nekkar",
"Nembus",
"Nihal",
"Noquisi",
"Nunki",
"Nusakan",
"Ogma",
"Okab",
"Peacock",
"Phecda",
"Pherkad",
"Phoenicia",
"Phsysics",
"Pleione",
"Polaris",
"Pollux",
"Porrima",
"Praecipua",
"Prima",
"Procyon",
"Propus",
"Ran",
"Rasalas",
"Rasalgethi",
"Rasalhague",
"Rastaban",
"Regulus",
"Revati",
"Rigel",
"Rigil",
"Rotanev",
"Rukbat",
"Sabik",
"Saclateni",
"Sadachbia",
"Sadalbari",
"Sadalmelik",
"Sadalsuud",
"Sadr",
"Saiph",
"Salm",
"Sargas",
"Sarin",
"Sceptrum",
"Scheat",
"Schedar",
"Secunda",
"Segin",
"Seginus",
"Sham",
"Sheliak",
"Sheratan",
"Sirius",
"Situla",
"Skat",
"Solaris",
"Spica",
"Sualocin",
"Subra",
"Suhail",
"Sulafat",
"Syrma",
"Tabit",
"Taiyi",
"Talitha",
"Tania",
"Tarazed",
"Taygeta",
"Tegmine",
"Tejat",
"Terebellum",
"Tevel",
"Thabit",
"Thestias",
"Tianyi",
"Titawin",
"Toliman",
"Tonatiuh",
"Torcular",
"Tureis",
"Ukdah",
"Unukalhai",
"Uruk",
"Vega",
"Veritate",
"Vindemiatrix",
"Wasat",
"Wazn",
"Wezen",
"Xamidimura",
"Xuange",
"Yed",
"Yildun",
"Zaniah",
"Zaurak",
"Zavijava",
"Zhang",
"Zibal",
"Zosma",
"Zubenelgenubi",
"Zubenelhakrabi",
"Zubeneschamali",
] as const;
export type StarName = (typeof StarCatalog)[number];
export const starNameSchema = z.enum(StarCatalog);