D-5 음성 이상치 저장 — 서버 요청 경로에 배선한다

무엇을

voice_outlier 를 서버 요청 경로에서 실제로 저장한다. 포트 · DTO · voice_outlier_repository.py 까지 있는데 server/ 프로덕션 코드에서 한 번도 참조되지 않는다(미결 항목 09-21).

왜

blacklist_evidence_repository.py 의 voice_outlier 집계가 서버 요청 경로에서 늘 0 일 것으로 보인다(추정) — J-4(블랙리스트 전환 근거)의 한 축이 비어 있는 셈이다. 관리자는 근거 화면에서 0 을 「이상 없음」으로 읽는다.

⚠ w4-c6-d5-persistence가 done 인 것과 어긋나 보인다 — 그 티켓은 ai/ 쪽 저장 어댑터까지였고 누가 언제 부르는가가 빠져 있었다. 먼저 그 추정이 맞는지 확인한다.

정할 것

완료 조건


2026-09-22 장민석 — 추정은 맞았다: 늘 0 이었다. voice_outlier 에 쓰는 곳이 서버 요청 경로에 없다(부르는 것은 ai/ 평가 쪽뿐). 배선은 못 한다(오디오는 콜 미디에이터에 있고 음성 골든셋이 없다) — 그래서 0 대신 「미측정」(null) 을 낸다(_project/decisions/316, temperature_outliers NULL 허용 마이그레이션). 판정이 붙으면 blacklist_provider.py 한 줄을 True 로. 남은 완료 조건: 근거 화면이 null 을 「미측정」으로 보여 주는 것 — 조서희 님께 넘겼다. 지금까지 저장된 0 은 소급해 바꾸지 않았다.

2026-09-22 장민석 — 닫는다: 배선은 발표 전에 하지 않는다(_project/decisions/317, 사용자 선택). 완료 조건 둘 — ① 추정 확인(늘 0 이었다) ② 0 으로 두지 않는다(316 으로 서버는 「미측정」 null 을 낸다) — 가 서버 쪽에서 찼다. 화면이 null 을 「미측정」으로 보이는 것은 조서희 님 미결로 남았다. 배선을 다시 할 때는 류준 님 제안(POST /hub/voice-samples)이 출발점이다.