자기 예외를 스스로 적어둔 강의
이 트랙 앞쪽에서 작업장은 에피소드가 도구 + 포인터로 재현된다고, 다시 돌려서 조금 다른 영화가 나오는 건 편차가 아니라 기능이라고, 그 사이의 전부는 버려도 된다고 주장했어. 같은 강의가 그 거래가 언제 틀리는지도 정확히 적어뒀지. 렌더가 증거일 때, 다른 것이 그 렌더에 기댈 때, 누군가 특정 버전에 값을 치렀을 때. 2026-09-05 에 마지막 조건이 모든 에피소드의 기본 상태가 됐어. 값을 돈이 아니라 승인으로 치렀다는 것만 달라. 그래서 작업장은 입장을 뒤집었어. 그 빈자리를 뭐가 채웠는지 찬찬히 볼 만해. '이제 재현성이 필요해'라고 느끼는 바로 그 순간이, 대부분의 팀이 엉뚱한 종류의 재현성을 집어 드는 때거든.
마지막 시청이 승인하는 것
이제 완성된 에피소드는 전부, 그걸 올리는 사람의 마지막 시청을 통과해. 그런데 그 시청이 승인하는 건 대본이 아니라, 실제로 나온 결과물이야. 승인된 영화엔 대본에 없는 게 실려 있어. 기준 에피소드에선 오프닝에 남아 있던 예열 단어를 측정한 무음 지점에서 0.9 초 잘라 들어냈어. 합성은 새로 한 번도 안 돌렸고. 다른 에피소드들에선 정렬이 일찍 잡힌 곳의 자막 창을 바로잡고, 여러 번 다시 뽑은 테이크 중에 고르고, 이미지를 참조 편집으로 고쳤어. 이 결정들은 하나도 대본 안에 안 살고, 새로 돌리면 하나도 안 살아남아. 음성 합성은 매번 다르게 읽어. 게다가 어떤 텍스트는 읽을 때마다 말이 빨라지거나 느려지는 상태를 불러내서, 다시 뽑는다고 쓸 만한 테이크가 나온다는 보장도 없어. 도구와 포인터로 다시 지으면, 아무도 승인한 적 없는 영화가 나와.
그래서 지켜야 할 대상이 바뀌었어. 그 강의가 지킨 건 에피소드를 만들 수 있는 능력이었어. 승인은 특정한 결과 하나를 제품으로 만들었고.
봉인하고, 재생해
에피소드를 수락하면 이제 그 제작물을 봉인해. 봉인은 파일을 전부 목록으로 만들고 크기와 해시를 적어. 작성한 대본, 소스 스냅샷, 고른 이미지와 그 프롬프트와 출처, 손 안 댄 공급자 녹음, 가공한 연기 녹음, 선언한 오디오 편집 하나하나, 모든 리뷰, 그리고 탈락한 시안들까지 전부 들어가. 그 옆에 렌더 코드와 정확한 글꼴 파일, 도구 버전도 같이 저장해.
그러면 재현은 다시 생성하기가 아니라 재생이야. 번들을 검증하고, 보관한 코드와 글꼴로 비어 있는 별도 디렉터리에 짓고, 합성 호출은 꺼둔 채로 돌려. 승인된 원본은 절대 덮어쓰지 않아. 그리고 재생은 자기 한계에 정직해. 런타임이나 인코더나 글꼴 버전이 다르면, 결과가 같다고 말하기 전에 먼저 비교해야 해.
봉인을 믿을 만하게 만드는 장치가 둘 더 있어. 오디오 편집은 선언하고 재생해. 자르기 하나도 측정 근거와 같이 기록되고, 해시로 확인한 기준본에서 적용돼. 공급자가 준 원본 오디오는 자르기나 숨소리 복원을 거치기 전에 따로 저장해두고. 그리고 판정은 전부 파일에 묶여. 검증은 측정한 길이, 스트림, 음량을 최종 영상의 해시와 입력 파일들의 해시에 묶어. 시청 기록도 같은 해시에 묶이고, 수락은 바로 그 해시로 확인되는 파일에 대한 승인으로 기록돼. 착지는 정확히 그 파일을 골라. 폴더에서 제일 새 영상도 아니고, 입력이 달랐던 예전 통과 실행도 아니야.
어디 살고, 어떻게 옮기나
보관소는 기계 하나가 소유해. 들고 다니는 노트북에서 만든 제작물은 노트북에서 끝까지 완성하고 봉인한 다음, 보관 기계의 격리된 수신 디렉터리로 올라가. 거기서 봉인된 파일을 하나하나 검증한 뒤에야 제작물이 원자적으로 설치돼. 도착지에 이미 다른 보관본이 있으면 그건 충돌이지 덮어쓰기가 아니야. 노트북이 오프라인이면, 인수인계 메모를 가리키는 포인터 말고 그 자체로 완결된 대기 요청을 적어둬. 출처, 목적지, 절차, 어디까지 하면 끝인지까지 다 담아서. 그리고 중앙 기록이 갱신된 척하지 않아. 그동안 버전 관리 저장소가 받는 건 예전 그대로야. 도구, 그리고 색인 한 줄.