Fix the controlled vocabulary of entity types, split into network-level reserved root paths (real-world) and franchise-level in-universe types, and define the cross-franchise alias relationship.
Why this matters
Entry 026 makes canon the default, unmarked namespace addressed by type
(/lotr/characters/gandalf, /person/ian-mckellen). That only holds if types
are a controlled vocabulary. Open decisions:
- Network-level types (reserved top-level root paths, for real-world /
cross-franchise subjects):
person, and likelystudio/company,work,place… — which ones, and their exact slugs. - Franchise-level types (in-universe, under
/{franchise}/):characters,locations,artifacts,events,works,species,organizations… — the canonical list and singular/plural conventions. - Cross-franchise dedup / aliasing — when a shared figure appears in
multiple franchises, the network entity is the canonical home and franchise
references are aliases (ties to Entry 002 canonical-entity architecture and
B-003 cross-franchise entity handling). Define the relationship and its
rel=canonicalbehavior. - Type stability — a slug must survive a type re-classification (301 + stable internal id), since the URL is presentation, not identity.