# Gate Promotion — 발견을 하네스로 승격시키는 루프

이 하네스가 시간이 갈수록 강해지는 엔진. 실수·지적이 1회성으로 증발하지 않게 한다.

## 흐름

```
세션에서 실수/교정 발생
  → .claude/wiki/incidents.md에 술어형으로 적립 (Stop 훅이 지시)
  → 같은 술어가 2회+ 재발
  → housekeeping이 승격 검토 (아래 3판정)
```

## 승격 3판정

1. **발산형인가?** — 모델이 좋아져도 확률적으로 재발하는 부류인가. (1회성 오타는 승격 대상 아님)
2. **오탐 0의 기계 판정이 가능한가?**
   - **가능** → 게이트로: oxlint 룰 / code-smell·slop grep / depcruise 규칙. **selftest 픽스처(위반+허용 쌍) 동반 의무** — 픽스처 없는 게이트는 만들지 않는다.
   - **불가능**(판단·맥락 필요) → prose로: `.claude/rules/` 술어 또는 fe-reviewer/ui-critic 체크리스트 항목.
3. **재발 2회 이상인가?** — 미만이면 incidents에 두고 관찰.

## 규약

- escape hatch는 통일: `code-smell-ok(<이름>): 사유` / knip `/** @public */ 사유` — **사유 없는 예외 금지**.
- 게이트 완화·삭제는 CODEOWNERS 리뷰 대상이다 — "조용한 완화는 gate-selftest가, 의도적 완화는 CODEOWNERS가 막는다".
- 게이트가 못 잡는다고 판명된 사각(예: switch-exhaustiveness는 if 체인을 못 봄)은 그 자체를 rule 술어로 남긴다.
