# AI organizational naming policy

This policy is included in the server-side Gemini review prompt. It is derived from the supplied `nameformat` and `ipam` spreadsheet sheets, together with the approved corrections in this package. Exact supplied port-pair and final-command references always take precedence over a general example.

## JCR circuits

- DIA description: `DIA<Service_ID>_<Order_ID>_<Bandwidth>` — for example `DIA1684_2611025-001_200M`.
- IE / OPI / SR JCR description: `R1F-<host>_eth<port>_via_DR<id>` when every fact is present — for example `R1F-ENCG01ZENY_eth2_via_DR26`.
- Ethernet spelling is canonically lowercase `eth`.

## Extreme / DR / CR / L2 port strings

- Wireless backbone: `AF5X-DR48:7` / `VPLS-W-BBone-DR48:7`.
- Fiber backbone with an explicit known speed: `Fiber-DR48:30(10G)` / `VPLS-F-BBone-DR48:30(10G)`.
- CR multi-hop fiber example: `Fiber-CR33:1:53(40G)` / `VPLS-F-BBone-CR33:1:53(40G)`.
- Use a speed only when the input or an approved exact reference supplies it; never invent one.
- COPI VXLAN standard examples are `COPI-VXLAN:eth2` / `L3-COPI-VXLAN:eth2` for L3 and `COPI-VXLAN:eth0` / `L2-COPI-VXLAN:eth0` for L2. A supplied exact final-command profile can override this general example.

## Semantic reference matching

Use a meaningful identifying token anywhere in a raw value; do not require an entire input string to be identical to a workbook example.

- A clearly related BTC series is numbered by port order: first BTC is `BTC01-MGMT`, next is `BTC02-MGMT`, and so on. A raw model-like token such as `BTC400` is not the management ordinal. Preserve an isolated ambiguous BTC value rather than inventing a sequence.
- `LBE5AC` plus a clear order ID becomes `LBE5AC-<order-id>`. Its description is `L2-BI-<order-id>` when the display/source is not explicitly DIA. A pre-existing generic `L2-DIA-<same-order-id>` description by itself is a possible prior formatting error, not proof that the LBE row is DIA. The supplied BI examples include `2075026-001` and `POI-25-05-06286804`.
- `DIA` and `BI` are separate categories. A non-wireless source with `DIA` stays DIA and must not become BI. An LBE5AC row with actual DIA evidence in its display/source stays DIA unless an exact supplied BI reference overrides it; an LBE5AC order-ID record without that evidence is BI.
- `Fiber-DIA-<peer>` uses `Fiber-<peer>` as its display when DIA is the service class. Keep the supported DIA class in the description; do not invent `DIA01` when the source only says `DIA`.

## IPAM hostnames and descriptions

- Extreme switch hostname: `[Device]-[Model]-[Location]-[City].frontiir.net`, for example `SW01-X430-LNCA-YNG.frontiir.net`.
- Extreme switch description: `Extreme 430 Switch 01 at LNCA`.
- FS hostname: for example `FS5800-SW01-KAKC-YGN.frontiir.net`.
- FS description: `FS5800 Switch 01 at KAKC`.
- Fiber link IPAM description: `Fiber From <local device/site> to <peer device/site>`, for example `Fiber From CR44-TAMR to DR81-KTTN`.

## Safety

- Preserve immutable identities: Extreme port, FS interface and status, and IP address.
- Never invent a device model, site, city, circuit ID, speed, peer, or port.
- Preserve nonempty unknown values when the final standard value is not certain.
- The Gemini API key is never part of this policy or client code. It stays in Cloudflare as the encrypted `GEMINI_API_KEY` secret.
