/*
Declared catalog-collision exceptions for the Uni UI Ontology cosmic overlay —
the single reviewable place where cross-catalog and same-catalog name
collisions are recorded with a justification and the RFC that grandfathered
them (DNA-19, DNA-23, RFC-1308).
- Do not record resolved collisions — history lives in git and the RFC trail.
- Do not add entries without a justification and a grandfathering RFC.
- Do not import from outside the cosmic directory.
- RFC-1308: module created — KNOWN_CROSS_CATALOG_COLLISIONS (empty after
the Atlas/Tureis rename) and KNOWN_SAME_CATALOG_COLLISIONS (seeded with the
pre-existing Alfecca/Alphecca StarCatalog pair, normalized "alfeca").
- RFC-1308: review REVIEW-CODE-2026-10-16-06 fixes: exception-liveness test, CosmicCatalogName union, names-tuple cross-collisions, known-collisions subpath export, test MODULE_CONTRACT, runbook sync; AC-4 sweep recorded: cosmicName Atlas only in faq-list-section manifest+story (PlanetCatalog layer)
*/
/** Cosmic catalog identifiers usable in collision declarations — the closed
* set of catalogs an exception may name (DNA-23). */
export type CosmicCatalogName = "StarCatalog" | "PlanetCatalog" | "MoonCatalog";
/** Declared cross-catalog name collisions — spellings spanning multiple
* catalogs, each with the RFC that grandfathered it. `names` holds a single
* spelling for an exact-name collision, or two or more spellings that
* collide only after RFC-1300 normalization. Empty when no exceptions
* remain. */
export const KNOWN_CROSS_CATALOG_COLLISIONS: ReadonlyArray<{
names: readonly [string, ...string[]];
catalogs: readonly [CosmicCatalogName, CosmicCatalogName, ...CosmicCatalogName[]];
reason: string;
rfc: string;
}> = [];
/** Declared same-catalog normalized collisions — distinct names inside one
* catalog colliding under RFC-1300 normalization (lowercase; k→c, j→i,
* ae→e, ph→f, y→i; doubled letters collapsed). */
export const KNOWN_SAME_CATALOG_COLLISIONS: ReadonlyArray<{
names: readonly [string, string, ...string[]];
catalog: CosmicCatalogName;
normalized: string;
reason: string;
rfc: string;
}> = [
{
names: ["Alfecca", "Alphecca"],
catalog: "StarCatalog",
normalized: "alfeca",
reason:
"Two distinct IAU WGSN star names colliding under RFC-1300 normalization; pre-existing since RFC-0025, recorded (not renamed) by RFC-1308.",
rfc: "RFC-1308",
},
];