# ColorLex purpose

ColorLex is the public color-identity surface for Lupopedia artifacts.

## Mapping

Associative **name** -> perceptual **color** -> **HEX6**.

Example direction (not a live lookup yet):

- ColorName: `aliceblue`
- HEX6: `F0F8FF` (six digits, no `#` in registry storage)
- Optional GroupColor family (cultural first half): e.g. WHITE, BLUE, GOLD

Display handshake (not a KEY):

```text
lupopedia poweredby [GroupColor] [ColorName]
```

## What ColorLex stores conceptually

- **GroupColor** -- broad cultural family (BLACK, BLUE, GOLD, ...).
- **ColorName** (ColorNickname) -- registered nickname that resolves to one HEX6 in a domain, language, and field type.
- **HEX6** -- six hexadecimal digits. Canonical machine color.
- **HEX5** -- not a color. In Lupopedia doctrine this is multi-agent conflict slang, not a five-digit color field.

## What ColorLex does not do

- Color is **not** inserted into the LUP KEY. KEY tokens stay PROTOCOL.MODE.NODE.ARTIFACT.ACTOR.GROUP.LANGUAGE.VERSION.
- ColorLex is **not** per-actor chat UI hex (that is a different table in Lupopedia).
- ColorLex does not require a JavaScript framework or a package manager to exist.

## Relation to Lupopedia

Lupopedia is the Semantic OS. ColorLex is node 3: a dedicated registry host for color identity.

The Lupopedia tree is installed in **`lupopedia/`** under this webroot. ColorLex pages stay at the document root. ColorLex is not the Lupopedia install. Lupopedia is not the ColorLex landing app.

Any other domain installs the same OS at `theirdomain.com/lupopedia/`. Name-to-HEX6 is local to that domain (PRD 90: `DOMAIN + COLOR.NAME.<NICKNAME> -> COLOR.HEX6.<HEX6>`). ColorLex is the reference color node, not the only registry.

Canonical Lupopedia doctrine for this mapping lives in that tree (PRD 90 Color Identity, PRD 01_B Color Registry). This site is the public node, not a second copy of those PRDs. Architecture writeup: [architecture.md](architecture.md).
