# t_800353dd579c 착수 실측 — 마스킹 적용률 기준값을 정하려다 발주 전제가 깨졌다 (yusti-dev · 2026-09-17)

서비스 = 라이브 `http://edgexpert-e1a2.tailc38d4e.ts.net:3002/censor-video`(dock 재정의 배포본 · `detect_conf 0.3`).
입력 = `~/work/transfer/2026-09-15-763-모자이크/` 의 테이크 8편 + **합본 2편**.

## ① 운영이 검열하는 것은 테이크가 아니라 **합본**이다
`lib/videoize-run.js:1774~1782` — `concatVideos(parts) → raw → censorVideoizeClip(raw)`.
발주가 인용한 「124f 중 121 부착 = 97.6%」는 **테이크 1편**의 수치다. 운영 입력인 합본으로 재면:

| 입력 | n_frames | n_frames_masked | 적용률 | 비고 |
|---|---|---|---|---|
| A-합본 | 446 | 289 | **0.648** | 검출 표본 11/19 |
| B-합본 | 446 | 121 | **0.271** | 검출 표본 5/19 |

## ② 왜 낮은가 — **누출이 아니다**
테이크별로 재면 A3·A4·B4 는 `method:"passthrough"`(검출 0 ∧ **검사도 누출 0** · `scope:"source"` · 반환 바이트 = 입력과 동일).
= 서비스가 「그 구간엔 가릴 대상이 없다」고 판정한 구간이다. 합본은 그 구간을 그대로 품으므로
**적용률이 낮은 것이 정상**이다. ⇒ 적용률은 「덜 가려졌다」와 「가릴 게 없었다」를 **못 가른다**.

## ③ 적용률 ≈ 검출 커버리지의 재표현
`n_frames_masked ≈ n_frames_detected × (n_frames / n_frames_sampled)`(hold_sec 창 확장분 포함) — 실측 4건에서 일치.
B-합본 121/446=0.271 vs 검출 5/19=0.263. ⇒ 이 비는 **가림의 강도가 아니라 검출률**을 재고 있다.
dock 계약도 같은 경고를 붙였다(`CONTRACT.md:199~204` — *"`n_frames_masked` 는 박스가 배정된 프레임 수이고 가림의 강도가 아니다"*).

## ④ 그래서 기준값이 자기모순이다
· 수용기준 ①(763 클립이 서빙 키까지 착지) ⇒ 기준값 **≤ 0.271**
· 발주 「착수자가 읽을 3줄」② (*기준값을 그 수치에 맞춰 낮추지 마라*) ⇒ 0.271 에 맞추는 것 **금지**
· 구조적 의미가 있는 값(전건 검출 클립의 꼬리 낙폭만 허용 ≈ 0.90) ⇒ 763 이 **다시 전건 차단**
셋을 동시에 만족하는 기준값은 **없다**.

## 전수 실측 (테이크 8편)
`테이크8편-라이브응답.json` — detect 4편(0.976·0.907·0.976·0.458) · passthrough 3편(분모 없음) · blocked 1편(`block_class:"inspect_fail"` = 검출 0인데 검사가 본다).
⇒ 판정을 바꿔도 **8편 중 4편은 검출 0 축**이라 발주 ③(차단① 유지)대로면 계속 막힌다 — 「8/8 → 0」이 아니라 「8/8 → 4」다.
