# UX Module — Codex (per FVW v8 §22)

**Module ID:** `oscar.ux`
**Per FVW v8 v0.10.0 §22:** C1-C9 contract items.
**Status:** Constitutional behaviour contract.

---

## C1 — Behaviour Inventory

### Files

| File | Component |
|---|---|
| `app/src/ux/EmptyState.tsx` | Empty state |
| `app/src/ux/CompletenessMeter.tsx` | Completeness indicator (NOT surfaced; Phase 8 audit gap) |
| `app/src/ux/UndoToast.tsx` | Undo toast (UNWIRED; Phase 8 audit gap) |
| `app/src/ux/HelpTooltip.tsx` | Tooltips |
| `app/src/ux/PlainLanguageLabel.tsx` | BS categories in plain English |
| `app/src/ux/StandardsLibrary.tsx` | Standards reference |

---

## C2 — State Machine with Transitions

States per component (dismissable, hoverable, etc.)

---

## C3 — Side Effect List

localStorage: completed tour

---

## C4 — Input Validation Contract

Per app/src/ux/ module-specific validation.

---

## C5 — Failure Modes

Per coverage-matrix.md.

---

## C6 — User Simulation List

5+ representative flows. See `pact/recipes/ux/coverage-matrix.md`.

---

## C7 — Reproducibility Test

Per module.

---

## C8 — Shape Matrix (per FVW v8 §30)

Per-surface × per-mode × per-chip × per-state.

| Surface | Modes | Chips | States |
|---|---|---|---|
| (per module) | | close, expand, dismiss | |

---

## C9 — State Shape Inventory

### C9.1 localStorage

```
none
```

### C9.2 In-memory

Per module files.

### C9.3 IDB

none (UX is a library)

---

## END OF UX CODEX
