/* 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);