검증과 게이트
scene-studio의 검증은 세 겹입니다. 단계마다 사람이 승인하는 승인 게이트, 리믹스에 강제되는 라이선스 게이트, 그리고 속도를 코드로 강제하는 성능 정책입니다. 여기서는 각각이 무엇을 확인하는지와 보안 기준선을 봅니다.
승인 게이트
섹션 제목: “승인 게이트”approval-gate가 각 phase를 끊습니다. AI가 한 번에 완성품을 만들지 않습니다. 게이트마다 사람이 승인하거나 수정하거나 롤백합니다.
생성형은 게이트가 4개입니다. Gate A(기획), B-1(장면), B-2(이미지), C(영상)로 이어집니다. 리믹스는 게이트가 3개입니다. Gate A(분석), B(편집), 그리고 발행으로 이어집니다. 어느 트랙에서도 발행은 자동으로 통과되지 않습니다.
게이트가 의미 있는 이유는 산출물이 파일로 남기 때문입니다. 각 단계의 *.meta.json에 status가 기록되어, 세션이 끊겨도 어느 게이트까지 통과했는지를 복원합니다. Gate C에서 “기획부터 다시”, “장면 3만”, “이미지 다시”처럼 어느 단계로든 롤백할 수 있습니다.
fast-preview 모드는 게이트 철학을 깨지 않으면서 사람이 기다리는 시간을 줄입니다. preview 기본값에서는 기획 게이트(A, B-1, B-2)를 자동으로 통과하고 영상 초안까지 진행한 다음, 사람이 실제 영상을 Gate C에서 한 번 봅니다. 산출물은 그대로 남아 롤백할 수 있고, 자동 발행 금지도 그대로 유지됩니다.
license-policy L2: 리믹스 전용
섹션 제목: “license-policy L2: 리믹스 전용”리믹스 트랙의 모든 단계에 적용되는 게이트입니다. 건너뛸 수 없습니다.
- 라이선스 라벨을 검증합니다. 라벨을 명시하지 않은 원본은 진행을 거부합니다.
- Fair Use 30% 이하로 원본 사용 분량을 제한합니다.
- 변환 의무를 세 개 이상 요구합니다. 컷, 자막, zoom, BGM, SFX 같은 변환을 최소 세 개 적용해야 합니다.
- 출처를 자동으로 표기합니다.
- copyright claim 위험을 자동으로 차단합니다.
예외 경로는 하나뿐입니다. 사용자가 license_responsibility.json에 명시적으로 책임을 수락하는 경우입니다. 그 외에는 라이선스 조건에 미달하는 원본으로 다음 단계를 진행하지 못합니다(S5). 생성형 트랙은 원본을 받지 않으므로 이 게이트가 없습니다.
pipeline-performance 일곱 정책
섹션 제목: “pipeline-performance 일곱 정책”속도를 감이 아니라 코드로 강제합니다.
- preview와 final 2단 구성: 기본은 preview(작은 해상도, 후보 1장, veryfast 렌더)로 돌리고, 최종 확정 후에만 final을 한 번 재렌더합니다.
- 병렬 Codex 호출: 장면 후보 a/b/c와 장면 간 묶음을 동시성 한도 안에서 병렬로 처리합니다.
- 해시 캐시:
_workspace/.cache/에 시트, 이미지, 자막, BGM, SFX를 저장합니다. 캐시가 적중하면 Codex 호출을 건너뜁니다. - ffmpeg single-pass: 장면별 클립을 따로 만들지 않고 한 filtergraph로 통합해 합성합니다.
- 단계별 timings: 모든 phase의 wall time을
timings.json에 기록합니다. - 4~6 컷 예산: 컷 수를 제한합니다.
- preview용 빠른 이미지 백엔드: flux-schnell, sdxl-turbo, sdxl-lightning을 씁니다.
목표는 1편 20분, 시리즈 2편부터 12분입니다. Codex CLI 호출은 image-director 한 곳에만 모읍니다(S7). 여러 에이전트가 호출하면 스타일 일관성이 깨지고 비용이 늘어납니다.
보안 기준선 S1~S8
섹션 제목: “보안 기준선 S1~S8”| 코드 | 규칙 | 강제 위치 |
|---|---|---|
| S1 | 비밀(API 키, OAuth 토큰)은 .env에만 둡니다. .env.*는 git으로 추적하지 않습니다 | .gitignore |
| S2 | _workspace/ 바깥 파일의 수정과 삭제를 금지합니다. 인프라는 사람이 승인한 뒤에 변경합니다 | 에이전트 정의 |
| S3 | 산출물을 덮어쓰기 전에 .bak으로 백업합니다. 재실행 시 이전 버전을 보존합니다 | video-editor, image-director |
| S4 | 외부 URL 다운로드(yt-dlp)는 사용자가 명시한 URL만 허용합니다. 자동 크롤링을 금지합니다 | source-analyst |
| S5 | 라이선스 라벨을 명시하지 않은 원본은 리믹스 진행을 거부합니다. Fair Use 30% 이하, 변환 의무 3개 이상을 요구합니다 | license-policy L2 |
| S6 | 실명, 전화번호, 실주소를 자동으로 검출해 마스킹을 권고합니다. 자동 마스킹은 하지 않습니다 | publish-copywriter |
| S7 | Codex CLI 호출은 image-director만 합니다. 여러 에이전트의 동시 호출을 금지합니다 | image-director |
| S8 | 자동 발행을 절대 금지합니다. publish.md를 만든 뒤 사용자가 직접 업로드합니다 | publish-copywriter |
S5와 S7은 scene-studio 고유의 항목입니다. S5는 저작권 사고를, S7은 이미지 스타일 붕괴와 비용이 크게 늘어나는 문제를 코드 수준에서 막습니다. S8은 두 트랙 모두에서 자동 발행을 절대 금지합니다.
다음 섹션은 distribution입니다. publish-copywriter가 발행 메타만 만드는 이유, 글로벌 친화 정책, 플랫폼 업로드를 사용자가 직접 하는 이유를 봅니다.