# fh-preprep — 발표 준비 하네스

기획서·원고·덱·노트가 **서로 어긋나는지**를 기계로 본다. 표면 목록(`surfaces.yaml`)이 단일
소스이고, 코드에 경로를 안 박는다.

```
python3 skills/preprep/preprep.py <설정.yaml>
```

## 종료코드 계약

| 값 | 뜻 |
|---|---|
| `0` | 통과 |
| `1` | 발견 있음 |
| `2` | **판정불가** — 계기 오류 · 미측정 |

🟥 **`2` 와 `0` 을 섞지 않는다.** 선언된 표면이 디스크에 없으면 그 레인은 «0건»이 아니라
**UNMEASURED** 다. 설정을 못 읽어도 `2` 다(«발견 있음»인 `1` 이 아니다).

## 왜 별도 플러그인인가

스킬 하나에 레인 17개·모듈 10개·픽스처군이 들어가면서 **역할이 갈렸다** — 라우팅(스킬),
판정(레인 모듈), 오라클(픽스처). 자세한 근거와 승격 비용은 승격 PR 본문에 있다.
