### 22.1 P3 — 능력 프로퍼티 이름을 만드는 코드와 실제 게이트가 다른 접두사를 쓴다

§21.2. `WebSocketAdvancedCapability.propertyName()`이 반환하는 `backend.websocket.advanced.*`를 읽는 `@ConditionalOnProperty`가 없다. 운영자가 그 메서드가 알려 주는 키를 설정하면 아무 일도 일어나지 않고, 실제로 능력을 켜는 키는 `app.websocket-platform.advanced.*`다.

`backend.websocket` 네임스페이스 전체가 소비자를 갖지 않는다는 §4.1의 부분집합이다.

---

# Sub-scope 08 — `testkit` + 대체 소스셋 3종 (18 files)

> 근거 `evidence/raw/226-inbound-websocket-testkit-probes.txt`

## 23. 무엇을 하는 코드인가

`testkit`(7)이 `testkit/arch` · `testkit/fault` · `testkit/runtime` 세 갈래로 계약과 하네스를 담는다.
