✅ ★룸톤 꼬리: 사무실 소리 어휘(형광등·서류·책상)가 없다 ∧ no music ∧ not a studio ∧ on location ✅ ★감독 분기 로그: 테익 머리 + 장면 열림 분기 + 컷별 줄(무발화 · POV 손) ✅ ①a 기본값 = 감독 경로 ON(발주 default ON) ✅ ①b flag OFF = 구 라우트(되돌림 손잡이가 실제로 돈다) ✅ ①c 키 이름 = ★게이트류(`_GATE`) ∧ ★피처플래그 접미 아님(`_FEATURE_FLAG_` 0) ✅ ①d ★그 키와 그 기본값으로 묻는다(엉뚱한 키를 물어도 기본값이라 그린인 자리) ✅ ★★옷 주인 = 직전 「's」(감독 소유격) · 소유격 없으면 옷장 보유자 폴백 — 성별 추정 0 ✅ ★★배치 절 = 자리(감독) + 착장 절(코드·옷장·시트 번호) ✅ ★★착장 절은 그 사람의 첫 배치 절에만 — 자리가 바뀐 둘째 배치 절엔 자리만(벗은 옷 재착용 0) ✅ ★★배치 절은 첫 샷에 · 같은 where 의 둘째 샷엔 0 · 바뀐 셋째 샷엔 다시 ✅ ★★배치 절의 옷 이름 → 시트 번호(v22): 「at the desk in her chambray shirt in 」 ✅ ★★옷 이름 → 시트 번호 묶기: 「chambray shirt in 」 · 이미 붙은 「bralette in 」는 그대로(중복 0) ✅ ★sheetPics 가 없으면 종전 문장 그대로(묶기 0) ✅ ★★복합명사 머리 건너뜀: 「bra strap」 안 가름(「bra in strap」 0) · 부속 없는 「bra」는 묶음(「bra in 」 1) ✅ ②a [레퍼런스] 블록 = 구 라우트 정본 재사용(사본 0 — 같은 함수가 만든다) ✅ ★★②a′ 정체성 참조는 ★ 으로 그림에 묶인다(프롬프트에 인물 이름 0) ✅ ★★②a‴ 참조 블록에 ★부정 지시가 0이다(집행 형태 = 사실 서술 · yusti-content SKILL §NSFW) ✅ ★★②a″ 참조 블록에 ★한국어 문장이 없다(이름은 예외 — Shot 줄과 같은 토큰이어야 묶인다) ✅ ★★②b 두 고정 문면이 ★제출에 실리지 않는다(참조 목록·샷 줄이 그 말을 이미 한다) ✅ ★★②b′ 주체 고지도 실리지 않는다 — 누가 화면에 있나는 ★샷 줄이 정한다 ✅ ★★②c′ 컷 타임코드 = `At MM:SS.mmm, ` · ★첫 컷엔 없다(가이드 §5.18 문법) ✅ ②c 샷 줄 = 컷 수만큼 · 감독 동작이 그대로 실린다 ✅ ②d 대사는 안에 한국어 원문 그대로 · ★화자는 (언어 락의 유일한 예외 = 대사) ✅ ★★②e 제출 문면에 ★CMS 고정 줄이 0이다 — 남은 문장은 ★참조 목록·감독 샷 줄뿐이다 ✅ ②f 프레이밍은 감독의 size 를 ★벤더 산문 절로 전한다(bust → 「a bust shot frames … from the chest up」 · medium → 「a medium shot frames … from the waist up」 · CEO 2026-09-12 · dock §5.0′) ✅ ★멀티컷 테이크에는 no jump cuts 가 없다 · 1컷 테이크에는 남는다(모순 제거 · 방어 유지) ✅ ②g ★문면 없이 조립하지 않는다(코드 상수 폴백 0·fail-loud) ✅ ②h establish = 대사 줄 0(무발화가 정상인 컷) · 프레이밍은 H3 어휘 · 카메라는 감독 값 그대로(locked 강제 실험은 퇴행으로 종료 2026-09-07) ✅ ★★★감독이 solo 로 낸 컷은 ★그 문장 그대로 나간다 — 코드가 투샷 문장을 덧붙이지 않는다 ✅ ★★★`facing <상대>` 가 action 에 있어도 ★frame=solo 면 투샷이 아니다(구판 오승격 자리) ✅ ★★★감독이 twoshot 으로 내도 ★구도 문장은 감독 것이다(코드 생성 문구 0) ✅ ★★★배치 절 = ★그 컷의 where 다(전역 값이 아니다) — 한 컷에 두 곳이 실리지 않는다 ✅ ★★폴백: 그 컷에 where 가 없으면 전역 배치를 쓴다(구 산출 회귀 0) ✅ ★★음성 대조군: 그 컷 화면에 없는 인물의 배치 절은 0 ✅ ★★reveal(⑧-G 필드): 덮던 옷 #1 이 wardrobe_change off 에 있으면 「revealing …」 부착 · garments_named 만 있어도 부착 · 둘 다 없으면 0 ✅ ★★②i(⑧-E) 조립은 문장을 고치지 않는다: 화면 안 소유격 = 's · 화면 밖 이름 「유준's coffee cup」은 치환 0(원문 잔존) · 같은 컷은 감독 검사 ⑱ 반려 ✅ ③ dest 규약(테이크 t1..tN · 완성본 = clipId.mp4) ✅ ★★내려간 옷 이월(⑧-D 필드 · wardrobe_change displaced/restored #번호): 200 · 뒤 테이크 참조 착장 절 「with the grey trousers pulled down to his knees」 · 접촉 테이크 포함 · restored 뒤 테이크는 「wearing the grey trousers」·pulled down 0 · 샷 머리 keeps 절 0 ✅ ★★A형 거동 락(v23): 시선 대상 언급이 있어도 ★200 · 원문 「유준」 잔존 0 · 「유준 says」 0(★대사 줄은 토큰) · POV 문구 0 · 「is the camera」 정체성 줄 1+ ✅ ★감독 분기 로그 동봉: 각 제출의 note === 그 행의 director_log(byte 동일) ∧ 비어 있지 않다 ✅ ④a 200 · clipId · 테이크 수 = 원장 행 수 = 제출 수(1테이크 = 1행 = 1잡) · ★N>1(N 축이 살아 있다) ✅ ④b ★전 행이 ★같은 clip_id 를 든다(형제 축이 문자열이 아니다) ✅ ★★④d [유료 T1] 턴키 = ★clip 의 ★전 행에 각인된다(과금 여부와 무관한 ★일의 정체성) ✅ ★★④e [유료 T1] 무과금 호출(billing 없음) = ★과금 칸 전무(구 거동 그대로) ✅ ④c 원장 행 = pointer 'none' · 각인된 job_id · dest 가 테이크마다 다르다 ✅ ④d 제출 길이 = 테이크 그리드 값(수 박제 0 — groupTakes 가 낸 length 가 그대로 간다) ✅ ④e ★착장 게이트를 ★매 제출이 지난다(래퍼 우회 0) · label = 원장 행 id(역추적) ✅ ④f site = 'videoize'(감사 축 — 남의 이름으로 나가지 않는다) ✅ ★★④w [t_c6b4] 전 제출이 watermarkExtra = videoPublicCodeForClip(clipId) 를 든다(테이크 N 전부 같은 값 · 비어 있지 않다) ✅ ★★④w′ [t_c6b4] 고유번호 파생 불가 clip_id = ★거절(public_code_underivable) ∧ 제출 0 ∧ 원장 행 0 ∧ ★잉크 차감 0 ✅ ★★★④w″ [t_c6b4] 굽힌 번호(제출 watermarkExtra) === 적재 번호(insertVideoLibraryRow publicCode) === uuid hex 앞 8자(0394·0401 백필과 같은 모양) ✅ ★★④w‴ [t_c6b4] public_code UNIQUE 충돌 = reason 'public_code_conflict' ∧ 경고에 「고유번호 충돌」 (일반 error 갈래와 구별) ✅ ★★④h 장면 열림 = 빈 와이드(wide establishing shot · 인물 0 · ★긍정형 「the room itself, its furniture and the light」 · 「no one in frame」 0) 가 첫 제출의 [Shot 1] · 모임 샷 문장(전원 이름·are together·pan across) 0 (CEO 2026-09-08) ✅ ★POV+빈 와이드 테이크 = 1인칭 선언이 산다(열림 뒤 1인칭 머리 · 꼬리 「after the opening wide」) ✅ ★와이드 없는 POV 테이크 = 종전 머리(「no third-person or wide shots at any point」) ✅ ★눈높이 앵커 = 두 판 모두 · ★긍정문만(high-angle·full-body 낱말 0 — H3 는 부정문을 앵커로 읽는다 · CEO 2026-09-12) ✅ ★대조군: 인물이 있는 와이드(모임 샷)는 POV 테이크가 아니다 ✅ ★접촉 0 POV 테이크 = 「himself never appears in frame — only his voice」 · 「own hands, thighs」 0 ✅ ★접촉 있는 POV 테이크(기본) = 종전 문구 유지 ✅ ★접촉 0 POV 테이크(목소리만) = 배치 절 0(자리도 착장도 · CEO 2026-09-12 H 판) ✅ ★★[CEO 2026-09-13] 접촉 POV 테이크라도 착장 변화 없으면 배치 절 0(626-2 광각 제거) ✅ ★대조군: 옷 벗는 컷이 있는 POV 테이크 = 배치 절에 착장 열거 그대로(착장 변화가 샷에 실려야 함) ✅ ★★④f [유료 T2] 같은 턴이 ★진행 중 = ★409 already_in_progress + 기존 clipId · ★제출 0(GPU 를 다시 안 산다) ✅ ★★④f′ [유료 T2] 같은 턴이 ★이미 완료 = ★200 + reused + 기존 clipId · ★제출 0 · ★차감 0 ✅ ★★④f″ [유료 T2·t_8ff7] ★예약 미획득 = ★409 · ★제출 0 · ★남의 clipId 동반 · ★감독 0 ✅ ★★[t_8ff7] ★202 = ★예약까지만 — ★응답 시점 제출 0·각인 0 ∧ ★clipId 동반 ∧ ★과금 0 ∧ 문면 실재 ✅ ★★[t_8ff7] ★응답 뒤 몸통이 돈다 — ★제출 ≥1 ∧ ★큐 행 clipId == ★202 가 준 clipId ∧ ★펜싱 터치 → ★종착 각인 = `submitted` ✅ ★★[t_3d8b×t_8ff7] ★202 뒤 몸통 예외 = `events` stage=videoize_exception 1행 ∧ 응답은 그대로 202 ✅ ★★[펜싱ⓐ·돈] 예약을 빼앗겼으면(0행) ★차감 0 ∧ ★제출 0 — ★같은 턴 2회 차감이 여기서 끊긴다 ✅ ★[펜싱ⓐ′] 그 중단은 ★`reservation_reclaimed` 로 말한다(409·차감 0 — 집계·CS 가 이 문면으로 가른다) ✅ ★[펜싱ⓒ] 그 확인은 ★`clipId` 토큰을 싣는다(토큰 없이 부르면 남의 행을 덮는다) ✅ ★★[펜싱ⓑ·음성 대조군] 내 예약이면(1행) ★차감 1회 ∧ ★제출 ≥1 — ★게이트가 정상 경로를 안 막는다 ✅ ★★[t_8ff7·고지ⓐ] 참조 잘림 고지 = ★첫 테이크 행 director_log 꼬리에만 1줄(테이크 N배 적재 0) ✅ ★★[t_8ff7·고지ⓑ] dock note == 그 행 director_log(고지 줄 포함 byte 동일 — 두 화면이 같은 고지를 본다) ✅ ★★[t_8ff7·고지ⓒ] 폴링 ★진행 중 ∧ ★합본 중 응답 둘 다 `notices` = [잘림 고지](단계마다 사라졌다 나타나지 않는다) ✅ ★[t_8ff7·고지ⓓ] 적기·뽑기 왕복 = [가,나](중복 제거·순서 보존) ∧ ★줄 머리가 아닌 접두어는 고지가 아니다 ∧ 고지 0 이면 로그 원문 그대로 ✅ ★★[t_97d0·ETA] 폴링 진행 중(200) ∧ 합본 중(202) 응답에 eta_s 정수 ≥ 0 · 진행 중 = 미완 테이크 수 × 기준초 이하(진행 경과를 뺀다) ✅ ★★[t_97d0·요약] listVideoizeInflight = clip 마다 {turnId(turn_key 꼬리)·directing·merging·takes·done·eta_s ≥ 0} — 감독 창 directing · 전부 완료 = merging · 그 밖 = 생성 중 ✅ ★★[t_8ff7] ★감독 거절 = ★예약 `failed` 각인 ∧ ★제출 0 ∧ ★사유 동반(각인이 빠지면 재클릭이 10분 잠긴다) ✅ ★★[t_8ff7] 행 0건 + 예약 `directing` = ★200 ready:false ★directing:true(★404 아님 — 막 누른 자기 영상이다) ✅ ★★[t_8ff7] 행 0건 + 예약 `failed` = ★409 실패 ∧ ★「돌려드렸어요」를 ★쓰지 않는다(차감 전이라 환불 0·refund-guard) ✅ ★[t_8ff7] 행 0건 + 예약 ★부재 = ★404(구 거동 무변 — 없는 id 는 여전히 없다) ✅ ★★[t_8ff7] ★예약 갈래도 ★타인 = 404(존재 비노출) ∧ 주인은 통과 — 큐 행 갈래와 ★같은 방향 ✅ ★★④h [유료 T2·②] 잉크 부족 = ★200+ok:false(insufficient_ink) ∧ ★감독 LLM 호출 0 ∧ 제출 0 ✅ ★★[t_6259] 단가 경계 = ★상수 기준(리터럴 0): 잔액 COST−1 = insufficient_ink ∧ 감독 0 ∧ 제출 0 · 잔액 COST = 통과 ∧ 차감 = ★정확히 COST ✅ ★★[t_6259] 유저 문면이 ★그 수를 말한다 — 부족 안내 · `inkCost` · 환불 안내 ★셋 다 상수 파생(문장에 숫자를 박으면 단가만 늙는다) ✅ ★★[CEO 9/12] explicit ∧ 유저 = 생성 진행(200 ok:true·제출 N) ∧ 전 행 maturity='explicit' ∧ adminNotice 0 ∧ 제출 프롬프트에 모자이크 꼬리 0(9/13 후처리 축) ✅ ★[CEO 9/12] explicit ∧ 관리자 = 유저와 같다(생성 진행 · 문구 0) ✅ ★[t_44f5] mature ∧ 유저 = 생성 진행 ∧ 행 maturity='mature'(게이트 값 사본 · 감독 판정 mature 는 maturity_judgments 에 따로) ∧ 관리자 문구 0 ∧ 모자이크 꼬리 ✅ ★★[t_4540 · 판정 C 락] 2-phase 산출인데 감독 판정 ∅ = ★400 · ★차감 0 · ★원장 행 0 · 제출 0(NULL 판정 행이 생길 수 없다) ✅ ★[t_4540 · C 음성 대조군] 2-phase + 판정 있음 = 진행 · 1-phase(∅ 정상) = 진행 — 가드가 전건을 막지 않는다 ✅ ★[t_b48a] 작가 라벨 ∅ ∧ 관리자 = 200 ok:true ∧ ★전 행 maturity='explicit'(★감독 판정) ∧ maturity_judgments.director 동값 ∧ 고지 2칸(adminNotice ∧ ★화면이 읽는 notices) ∧ body.maturity='explicit' ✅ ★★[t_8ff7·관리자고지ⓐ] 라벨 ∅ ∧ 관리자 = 첫 행 로그에만 관리자 고지 1줄(같은 문장 함수) ✅ ★★[t_8ff7·관리자고지ⓑ] 관리자 폴링 = adminNotice ∧ notices 에 그 문장 ✅ ★★[t_8ff7·관리자고지ⓒ] ★유저 폴링(같은 clip) = adminNotice 없음 ∧ notices 에도 없음(내부 고지 유출 0) ✅ ★★[t_8ff7·관리자고지ⓓ 음성 대조군] ★라벨 있는 관리자 clip = 로그에 관리자 고지 0 ∧ 관리자 폴링에도 adminNotice 0(큐 행 author ∅ 로 재면 뜨던 거짓 고지) ✅ ★[t_b48a] 배선: runVideoizeClip 이 gatherVideoizeBrief 에 isAdmin 을 넘긴다 ✅ ★[t_b48a] ★과트리거 대조: 라벨 ∅ ∧ ★유저(브리프 주입으로 게이트를 건너뛴 경우) = ★감독 판정을 행에 승격시키지 않는다(maturity null) ∧ 고지 0 ✅ ★[t_b48a] ★과트리거 대조: 라벨이 ★있으면 관리자여도 고지 0 ∧ 행 등급 = ★작가 라벨(general)이지 ★감독 판정(explicit)이 아니다 ✅ ★[t_44f5] 수위 거절(200 ok:false)도 거절 적재에 남는다 · stage=maturity · error=maturity_explicit ✅ ★★④g [유료 T1] 과트리거 대조: 진행 중이 없으면 ★종전대로 제출한다 ✅ ★★④″ 판정이 runpod 면 ★제출 인자에 ★그대로 실린다(테이크 전건) ✅ ★★④″ 음성 대조군: 판정이 null 이면 ★키 자체가 없다 — ★현행(dock 이 양 머신에 분배) ✅ ★④″ 판정 호출 = ★clip 당 1회(테이크 수와 무관 — 유저 클릭 응답 안이라 왕복이 는다) ✅ ⑤a 두 번째 테이크가 막히면 ★그 상태코드로 실패 + ★clipId 를 준다(형제 전수를 사람이 볼 수 있다) ✅ ⑤b 막힌 행은 ★failed 종착(좀비 submitting 0) · 앞 행은 각인된 채 남는다 ✅ ⑥ ★미성년 차단은 ★원장·제출 ★앞이다(행 0 · 잡 0) ✅ ⑦ 거절 = 400 + ★CS 문면(유저) + ★원문은 detail · 원장 0 · 제출 0 ✅ ⑧ 워크플로 스펙 미상 = 502 · 원장 0 ✅ ⑨a 전 형제 generated = concat 실행 · 산출 rel 1개 ✅ ⑨b ★남의 clip 은 안 섞인다(형제 = clip_id 로만) · 순서 = 원장 순서 ✅ ★★[t_4540·ⓐ] explicit = ★검열 통과본만 서빙 경로·R2 에 간다(원본 RAW bytes 가 서빙 키에 가는 길 0) ∧ 입력은 사적 경로 원본 ✅ ★[t_4540·ⓔ] 타임아웃 = 길이 × 6(20초 → 120000ms) ✅ ★★[t_4540·ⓓ] 차단② 1회 → ★재시도 1회 → 통과 = 서빙 · 실패 각인 0 ✅ ★★[t_4540·ⓑⓒ] 오류 → 차단② = ★전 행 failed + `censor:` 사유(→ 종착 훅 환불) ∧ ★서빙 put 0 ∧ 서빙 경로 파일 0 ∧ 409 실패 응답 ✅ ★★[t_4540 · 판정 ①] 서비스 장애(오류 2회) = ★failed 0 · 서빙 put 0 · 202 「합본 중」(serveOnly 와 같은 모양) · 재시도 표식(첫 장애 시각) ✅ ★[t_4540 · 판정 ①] 상한 안 재장애 = 여전히 합본 중 · ★첫 장애 시각 유지(창이 매 tick 밀리지 않는다) ✅ ★★[t_4540 · 판정 ①] 상한(30분) 도달 = ★전 행 failed `censor:error`(→ 종착 훅 환불) · 409 · 서빙 put 0 · 표식 제거 ✅ ★[t_4540 · 판정 ①] 장애 뒤 통과 = 통과본 서빙 · 표식 제거 ✅ ★[t_4540 · 판정 ①] 상한 상수 = 30분(pd 판정 값) ✅ ★[t_4540 · 판정 ①] 러너 재시도 모집단 = 표식 보유 clip 만 · 목록 실패 = 빈 목록 ✅ ★★[t_4540·ⓑ · pd 판정 A] 차단①(explicit 인데 검출 0) = ★전 행 failed `censor:no_detect`(→ 종착 훅 환불) ∧ ★재시도 0 ∧ 서빙 0 ∧ 보류 상태 0 ✅ ★★[t_4540·ⓑ] 실패 3갈래(차단① · 차단② · 타임아웃)의 원장 사유가 ★서로 다르다 — 셋 다 서빙 put 0 ✅ ★★[t_4540 · 판정 ② OR] 행 explicit ∧ 감독 mature = ★검열을 탄다(통과본만 put) · 행 mature ∧ 감독 mature = 비대상(원본) ✅ ★★[t_4540 · 판정 ② 운영 모양] getVideoGenClipRows 가 싣는 칸만으로 = 행 explicit ∧ 감독 mature clip 이 ★검열 대상 ✅ ★[t_4540 · 판정 ①] 표식은 어느 종착 길로 닿든 지운다 — 캐시 hit(완성) · 이미 failed(409) ✅ ★[t_4540·ⓕ 음성 대조군] explicit 아님 = 검열 호출 ★0 · 원본 그대로 서빙(검열이 전건을 막는 게이트가 아니다) ✅ ★★[t_4540 · pd 판정 C] 감독 판정 ∅(NULL · director 키 없음) = ★explicit 간주 → 검열을 탄다(fail-closed · 원본 bytes 서빙 0) ✅ ★★[t_4540 · fail-closed] 검열 응답 판정 — 모순 `{video_b64, blocked:true}` = ★차단 · 표식 없는 모양 = error · 통과본만 = pass ✅ ★[t_4540 · C 음성 대조군] 한 행만 ∅ 이어도 clip 이 대상(형제 general 이 ∅ 을 덮지 않는다) · 전 행 general 은 비대상 ✅ ★★[t_4540 · 판정 A 재처리] censor-retry = 재검열 ★성공 시에만 put(통과본) · 실패면 put 0 · ★둘 다 원장 전이 0 · mode 전달 ✅ ★★[t_4540 · 판정 B] 30일 스윕 = ★31일 clip 폴더만 통째 삭제 · 29일 생존 · 폴더 아닌 것 무접촉 · 삭제마다 로그 1줄(clip·bytes) ✅ ★[t_4540 · 판정 B] 원본 폴더 부재(첫 가동) = 조용히 0 · 던지지 않는다 ✅ ★[t_4540 · 판정 B] 폴더는 40일이어도 원본 파일이 1일이면 생존(제자리 재합본 보호) · 31일 폴더는 여전히 삭제 ✅ ★★serveOnly: 합본 부재 = ★만들지 않는다(concat 0) · 202 처리 중 ✅ ★음성 대조군: serveOnly 없으면 ★만든다(폴러 경로 생존) ✅ ⑨c 미완이면 ★기다리지 않는다 — ready:false + 진행 수 ✅ ⑨d 종착 실패가 하나라도 있으면 409 — ★반쪽 클립을 만들지 않는다 ✅ ⑨e 없는 clip = 404(빈 concat 0) ✅ ★★⑨f 산출 자리 = ★조각의 폴더에서 파생(호출자가 말하지 않는다 — 틀린 값으로 갈릴 자리가 없다) ✅ ★★⑨g 산출이 이미 있으면 ★concat 0회(재-이어붙이기 0 — 이 문은 폴링용이다) ✅ ★★⑨h 적재: 유과금 clip 이 완성되면 ★video_library 1행(소유자 = charged_user_id · 플롯 = turn_key 앞부분) ✅ ★★⑨h′ 회차 파생 재료(`turnMessageId` = turn_key 뒷부분)를 ★넘긴다 — 큐에 컬럼이 없다고 ★모르는 게 아니다 ✅ ★★⑨i ★음성 대조군: 무과금 clip(관리자·감정영상)은 ★적재 0 — 남의 영상이 내 영상함에 안 뜬다 ✅ ★★⑨h″ ★환불된 clip 은 ★적재 0 — 돈을 돌려받은 영상이 자산으로 남지 않는다 ✅ ★⑨j turn_key 부재 = ★플롯 미상이라 skip(틀린 플롯에 적재하느니 안 한다) ✅ ★★⑨k ★로컬 캐시 경로(cached:true)에서도 적재가 돈다 — 완료 3경로가 ★한 통로다 ✅ ★⑨l 적재 실패해도 ★완성 응답은 그대로(영상은 이미 있다 · 멱등이라 다음 폴링이 재시도) ✅ ★★⑨n [①] ★승인(approved)된 clip = ★완료다(수거가 돈다) — ★`generated` 만 세면 여기가 RED ✅ ★★⑨n′ [①] 완료 어휘 = ★db-client 단일 상수 ∧ ★approved 를 포함한다(두 소비처가 같은 것을 읽는다) ✅ ★[① 음성 대조군] ★failed 는 완료가 아니다(어휘가 넓어지지 않았다) ✅ ★★⑨m [③] ★타인 = 404 ∧ ★문면이 ★없는 clip 과 같다 · ★주인은 그대로 읽는다(음성 대조군) ✅ ★[③] 주인 칸이 ★전부 비면(0359 이전 클립) ★통과한다(소급 백필 없이 구 클립이 죽지 않는다) ✅ ★★[③] ★혼재(구 행 null + 기록된 주인) = ★기록된 주인으로 판정한다(null 한 행이 clip 을 열지 않는다) ✅ ★[③] `userId` 미지정 = ★대조 0(현행 비-유저 호출부 거동 무변) ✅ ★★POV 카메라 문구의 유저역할 이름은 ★누수가 아니다(코드가 쓴 설정) · ★action 에 선 같은 이름은 ★누수다 ✅ ★★장소 = 본체로 비교(꼬리 흔들림은 같은 자리) ∧ ★이동은 여전히 다르다(음성 대조군) ✅ ★분기 로그 문면 = 「조연 등퇴장」(유저역할은 세지 않는다) ✅ ★거절 적재 ①: 반환 시점에 행이 착지해 있다(반환 전 0행 → 반환 후 1행 · 구판 대조 = 반환 전 값이 곧 응답 시점) ✅ ★거절 적재 ①′: 거절 3회 = 행 3개(하나도 흘리지 않는다) ✅ ★거절 적재 ②: DB 가 상한보다 느리면 ★기다리지 않고 응답한다 + 초과를 로그로 남긴다(조용한 유실 0) [videoize] 거절 적재 예외(무시·비차단): db down ✅ ★거절 적재 ③: 적재 예외는 삼키되 응답은 그대로 간다(throw 0) ✅ ★거절 적재 ④: 성공 반환(status<400)은 손대지 않고 적재도 안 한다 ✅ ★접수 술어 ①: 실제 제출(200·ok:true·reused 없음) = ★접수다 ✅ ★★접수 술어 ②: 잉크 부족 = ★200 인데 ★접수가 아니다(구판 `2xx` 가 ★이걸 셌다) ✅ ★★접수 술어 ③: 수위 게이트(200·ok:false·maturity_explicit) = ★접수가 아니다 ✅ ★★접수 술어 ④: 재클릭(200·ok:true·★reused) = ★접수가 아니다 — 락 안 즉시 반환이라 ms 가 ★판정선을 끌어내린다 ✅ ★★접수 술어 ⑥: 예약 접수(202·ok:true·directing) = ★접수다 — ★비동기 클릭의 그 순간이 정의상 접수 ✅ ★★접수 술어 ⑦[음성]: 202 라도 ★ok:false·★reused 는 접수가 아니다(넓힌 것은 status 축 하나뿐) ✅ ★접수 술어 ⑤: 진행 중(409)·빈 반환도 접수 아님(경계) ✅ ★킬스위치 배선: ★첫 목격자(claimed) 갈래에서 ★clip id 와 함께 ★1회 불린다 ✅ ★킬스위치 배선: ★두 번째 목격자(already_refunded)는 ★안 부른다 — 같은 clip 을 두 번 세지 않는다 ✅ ★킬스위치 배선: ★과금 흔적이 아예 없는 갈래(무과금 clip)는 ★세지 않는다(돈이 안 나간 실패다) ✅ ★★킬스위치 배선: ★환불이 던져도 ★판정은 이미 불렸다(환불 뒤에 두면 CEO 가 지목한 그 버그가 사각이 된다) [videoize-kill] 판정 호출 실패 clip=c-boom: kill 판정 폭발 ✅ ★★킬스위치가 던져도 ★환불 반환은 그대로다(판정이 돈을 깨지 않는다) ✅ ★★과금 전 ★예외 = `events` 1행(stage=videoize_exception) — 구판은 ★0행이라 감시가 「실패 0」으로 봤다 ✅ ★★거동 무변: 원래 오류는 ★그대로 다시 던진다(라우트 500·error_log·s5 경로 불변 — 적재가 진단을 삼키지 않는다) ✅ ★과트리거 대조군: 기존 ★반환형 거절은 ★stage 도 status 도 그대로(래퍼가 그 갈래를 안 건드린다) ✅ ★음성 대조군: 예외가 아닌 갈래엔 `videoize_exception` 이 ★안 붙는다(전건에 붙이면 이름이 뜻을 잃는다) ✅ ★적재 경로가 죽어도 ★원 오류를 그대로 던진다(적재 실패가 진단을 가리지 않는다) ✅ ★★① passthrough(검출 0) = ★통과 — 가릴 것이 없으면 그대로 내보낸다(CEO 2026-09-16 「a. 그대로 내보낸다」) ✅ ★★② detect ∧ 정합 만족 = ★통과 — ★실측 763 합본이 이 식을 넘는다(구 게이트는 ★이 본을 막았다) ✅ ★★★③ detect ∧ ★검출>0 인데 마스킹 0 = ★실패(mask_render_mismatch) — 「무수정 본이 서빙 키에 앉는 경로 0」 ✅ ★분모 부재(n_frames_sampled 없음) = ★실패 — ★「못 쟀다」를 통과로 접지 않는다 ✅ ★모르는 method = ★실패 — ★계약 enum(detect·blocked·fallback_blur) 밖은 통과로 읽지 않는다 ✅ ★★역뮤테이션: 정합 판정을 걷으면(=구 거동) ★마스킹 0 본이 ★통과가 된다 — 그래서 이 판정이 필요하다 ✅ ★★★배선: 같은 입력이 ★호출부에서 갈린다 — 정합 통과 = `pass` · 정합 깨짐 = `failed:mask_render_mismatch` ✅ ★blocked·error 갈래 ★무변 — 바뀐 것은 ★통과본을 가르는 자리 하나다(과확장 0) videoize-run self-test: 그린 (188/188)