# InfraFabric Naming Bible (v1.0)

**Date:** 2025-12-22  
**Author:** Danny Stocker  
**Status:** Canonical reference (refactor-in-progress)

## Core principle

Governance infrastructure must be comprehensible to the governed.

Names in InfraFabric are chosen to be legible to non-specialists (think: secondary-school educated — nurses, farmers, receptionists, students), not only domain experts.

Academic terminology is allowed, but it is subordinate: **first mention only**, in parentheses.

## The two-tier naming system

### Tier 1: Layer names (literal)

Layer names are professional, literal domain descriptors.

- Say what it is
- No branding energy
- “Boring” is good

Examples:
- `IF.GOV` (governance)
- `IF.SECURITY` (security) — alias: `IF.SEC`
- `IF.TRANSIT` (transport/transit)
- `IF.AUDIT` (audit)

### Tier 2: Component names (metaphorical)

Component names use short metaphors that make the function obvious.

- Short and punchy (1–2 syllables preferred)
- Concrete mental image
- Cross-cultural where possible

## Metaphor selection strategy

Don’t force a single metaphor domain. Use what makes each function clearest.

Available domains (examples):

- Medical/Emergency: `TRIAGE`, `QUARANTINE`
- Legal/Civic: `PANEL`, `WITNESS`
- Physical/Security: `DETECT`, `TRAP`
- Logistics/Travel: `HUB`, `TRANSIT`
- Investigation: `TRAIL`, `PROOF`

## Canonical hierarchy (current refactor target)

### `IF.GOV.*` (governance)

- `IF.GOV.TRIAGE` (controversy-weighted risk stratification)
- `IF.GOV.PANEL` (multi-agent oversight with structural dissent requirements)
- `IF.GOV.PANEL.EXTENDED` (extended multi-agent oversight panel)
- `IF.GOV.QUESTIONS` (provenance interrogative framework)
- `IF.GOV.WITNESS` (audit observation and compliance monitoring)

### `IF.SECURITY.*` (security)

- `IF.SECURITY.DETECT` (context-aware secret detection)
- `IF.SECURITY.CHECK` (epistemic anomaly detection and coherence validation)
- `IF.SECURITY.WATCH` (threat intelligence and monitoring)
- `IF.SECURITY.TRAP` (honeypot deployment and active defense)

### `IF.TRANSIT.*` (transport)

- `IF.TRANSIT.HUB` (privilege-enforced kinetic message router)
- `IF.TRANSIT.MESSAGE` (cryptographically signed message protocol)
- `IF.TRANSIT.SWARM` (distributed agent coordination)

### `IF.AUDIT.*` (audit)

- `IF.AUDIT.TRAIL` (immutable chain-of-custody logging)
- `IF.AUDIT.PROOF` (portable verification bundle with replay capability)

### Special cases

- `IF.TTT` stays as a mnemonic triad (Traceable / Transparent / Trustworthy). It is a philosophy and compliance spine. Concrete artifacts should be named under `IF.AUDIT.*`.
- `IF.STORY` stays as-is (product name: narrative logging).
- `IF.EMOTION` stays as-is (application name: exemplar product).

## Academic translation format

**First mention only**:

`IF.GOV.PANEL (multi-agent oversight with structural dissent requirements)`

Avoid:

- `aka`, `|`, or “formerly” in the main prose
 
Deprecated aliases are intentionally omitted from reviewer-facing docs to avoid lexicon drift. Use canonical names consistently.

## Testing heuristics

### The “youth hostel test”

Could a non-technical person read an audit trail and understand what happened?

Example pass:

“Your request went to TRIAGE, which escalated to PANEL. DETECT found a secret. The decision is recorded in AUDIT.TRAIL.”

### The “government separation-of-duties” sanity check

If in doubt, follow separation-of-duties patterns inspired by **US/CA/EU** governance structures:

- separate triage (classification) from deliberation (decision)
- separate detection (security) from actuation (transport)
- separate recordkeeping (audit) from narrative (story)

## Canonical registry

- Machine-readable registry: `IF_NAMING_REGISTRY.yaml`
- Component charters (separation-of-duties): `gov/`
