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

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

---

## C1 — Behaviour Inventory

### Files

| File | View | Phase |
|---|---|---|
| `app/src/views/Home.tsx` | Home | anchor chips |
| `app/src/views/Surveys.tsx` | Surveys (list + modal editor) | Phase 5/8 |
| `app/src/views/Notes.tsx` | Notes (textarea + save + tag extraction) | Phase 8 |
| `app/src/views/Reports.tsx` | Reports (markdown editor + PDF/DOCX export) | Phase 6/8 |
| `app/src/views/Settings.tsx` | Settings (provider, theme, brain download) | Phase 5 |
| `app/src/views/Blog.tsx` | Blog (list/editor/AI-assist) | Phase 10 |

---

## C2 — State Machine with Transitions

Per-view state machines: list → detail → edit. Modal editor for Surveys/Notes/Reports.

---

## C3 — Side Effect List

IDB writes per store. localStorage: theme + provider.

---

## C4 — Input Validation Contract

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

---

## C5 — Failure Modes

Per coverage-matrix.md.

---

## C6 — User Simulation List

5+ representative flows. See `pact/recipes/views/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) | | navigate, open-item, compose, export | |

---

## C9 — State Shape Inventory

### C9.1 localStorage

```
none (theme is branding's)
```

### C9.2 In-memory

Per module files.

### C9.3 IDB

trees, sites, surveys, notes, reports, posts (every store)

---

## END OF VIEWS CODEX
