Files
ShortVideoGenerator/docs/tracking/verification.md
T

13 KiB
Raw Blame History

검사 기록

검사일: 2026-10-08. 저장소 루트의 Windows PowerShell에서 실행했다. 지침·양식·예제의 검사는 실제 생성 도구 실행과 구분한다.

실제 실행 종료 코드 확인한 내용
operations.md의 첫 번째 PowerShell 명령 0 임시 설치와 별도 Python 프로세스로 두 스키마, 모든 양식·예제, 역할 TOML 8개 검사
operations.md의 두 번째 PowerShell 명령 0 skill-creator로 스킬 15개 검사, 각각 유효 결과 확인
python -X utf8 - --all에 임시 검사 본문 입력 0 JSON 34개 파싱·스키마 검사, 역할 8개·스킬 15개, 로컬 링크 134개, 동일한 루트 지침·영역 지침 4개·공통 문서 확인
같은 임시 검사의 참조·수치·상태 확인 0 잘못된 상태·중복 단계·미확인 pass 거부, 5초 초과·빈 컷·틈·겹침·3분 초과 검출, 컷을 넘는 자막·프레임 연결·수정 영향 확인
git diff --check 0 변경한 추적 파일의 공백 오류 없음
codex --version 0 로컬 CLI 0.160.1 확인
codex --help 0 로컬 CLI 진입 명령 확인

JSON 34개 중 데이터 양식·예제 30개는 해당 스키마로 검증했고, 검토 사례·참고 영상 목록 2개는 각 목록과 항목을 확인했다. 나머지 2개는 스키마 정의 자체의 유효성을 검사했다. 제목만 수정했을 때 음성·이미지를 다시 만들지 않는 관계, 대본 수정의 후속 영향, 주제 승인 전 예제 기록, 가상 컷·자막·프레임 연결도 확인했다. 이 검사는 예제의 참조와 수치 관계를 평가하며 실제 작업자의 지침 준수나 자동 실행 성공을 보장하지 않는다.

실제 Codex 세션의 새 역할·스킬 탐색, Qwen3-TTS 모델·화자 로딩과 추론, 지정 이미지 모델의 사용 가능 여부·호출, 영상 생성·합성·청취 검수는 실행하지 않았다. 예제의 외부 result는 null이고 최종 검수는 incomplete다. 서버 구성은 없으므로 서버 구동 검사는 적용되지 않는다.

참고 영상 분석은 공개 메타데이터·한국어 자동 자막·4초 간격의 이미지 표본 117장을 확인한 결과다. 음성 청취, 정확한 컷 경계, 소재 사실의 독립 검증, 시청 유지율은 확인하지 않았다.

Blender 전환 진행 중 검사

아래는 초기 기반 검사 이후 실제 실행한 추가 검사다. 기존 물 제작의 WAV와 r1 결과를 보존하고 새 3D 대표 렌더를 준비하는 중이며, 당시 정식 전체 제작·새 완성본 검사는 아직 없었다. 이후 실제 기록은 아래 새 완성본 절에 추가한다.

실제 실행 종료 코드 확인한 내용
C:/Users/baram/anaconda3/python.exe -B -X utf8 contracts/check.py 0 10개 검사: 1.0 호환·1.1 양식·Blender 원본/미디어 구별·참조·대표 영상 길이·문서/역할/스킬 링크
C:/Users/baram/anaconda3/python.exe -B -X utf8 tools/blender/test_runner.py 0 13개 검사: 승인·현재 포인터·선행 버전·WAV 실측·누락/미검증 파일·격자·entity 참조·새 엔진·버전 경로·cut/continuous 경계
실행기 안내의 smoke.py --engine BLENDER_EEVEE 명령 0 실제 GPU 렌더, 원본 재열기, PNG와 무음 H.264 전체 디코드, 움직임·다중 Scene·10/11/12 요청 실행과 실패 거부
같은 명령의 --engine CYCLES 0 실제 CPU 렌더와 디코드. 별도 Cycles/OPTIX GPU 정지 렌더에서도 RTX 4080 SUPER 장치 확인
독립 검토의 EEVEE 50fps·5프레임 검사 0 실제 100ms MP4·PNG 렌더와 전체 디코드. 10fps 검사와 구분
전환 전 기준 36개 파일의 SHA-256 대조 0 기존 r1 결과·검토, 렌더러 소스, 원본 스타일과 통합 WAV 변경 없음
새 작업 사본으로 복사한 WAV 9개의 SHA-256 대조 0 통합 음성·8개 발화 파일이 원본과 바이트 동일

실제 렌더 검사 씬은 사용자 물 영상과 별개인 .cache의 검사용 자료다. 검사 승인은 모의 자료이며 실제 사용자 승인으로 기록하지 않는다. Blender 실행·디코드 확인은 화면 품질·청취·최종 승인과 다르다. EEVEE의 임의 seed 설정 API는 확인되지 않아 기본 0만 지원하고 다른 값은 거부한다. Cycles에서는 실제 seed 설정을 적용한다.

추가 물 대표 영상 검사에서 비활성 Scene의 100개 렌더 프레임이 실제로 정지하는 문제를 발견했다. PNG 파일 SHA-256은 메타데이터 때문에 달랐지만, 시작·중간·끝과 여러 중간 프레임의 디코드 RGB 차이는 없었다. 위 smoke의 파일 해시 비교는 이 경우의 움직임 증거로 충분하지 않았다. 선택 Scene의 실제 평가와 디코드 픽셀 비교를 보완하는 중이며, 해당 옛 샘플은 사용자 검토 결과로 채택하지 않는다.

위 문제는 렌더 전에 선택 Scene을 활성화해 수정했다. 실행기 안내의 smoke.py 명령에 --animation-only를 추가한 EEVEE 검사에서 수정 전 종료 1, 수정 후 종료 0을 확인했다. 초기 Idle인 원본에서 SceneA/B 각각 50fps·5프레임·100ms를 렌더해 PNG와 실제 MP4의 RGB 시작·중간·끝이 모두 달랐다. 원래 실패한 동일 .blend 재렌더도 종료 0이고, 내부 실행 코드 해시 변경으로 새 attempt를 사용했다. 독립 검토의 같은 실제 검사, 14개 실행기 회귀와 10개 계약 검사도 각각 종료 0이다. 물 대표 PNG/MP4는 이 수정 뒤 새 attempt로 다시 만들고 있으며 실제 결과 검토가 남아 있다.

물 영상 3D 대표 샘플 — scenes 검토 대기

2026-10-10 확인. 08 r2 검토에 실제 명령·파일·한계를 기록했다. 제작 코드 안내의 기존 설치 경로를 사용했다.

실제 실행 종료 코드 확인한 내용
blender/test_model.py 0 없는 파일·Scene/H 누락·부피 driver 오류 각각 기대 종료 1, 실제 원본 통과. 닫힌 mesh 부피 상대 변화 9.56e-8
blender/render_preview.py --kind image 및 --kind video 0 실제 PNG·MP4 각각 3개, 같은 원본 SHA·프로필·Scene·범위, 전체 디코드
blender/inspection_views.py 및 blender/verify_design.py 0 실제 픽셀 변화, 31장면·30연결·38자막·6샘플, 25개 실물 경로·해시
최종 MP4 3개에 대한 ffprobe 및 FFmpeg 전체 디코드·프레임 추출 0 1080×1920·50fps, 202/244/200프레임·4040/4880/4000ms. 실제 시작/중간/마지막 9프레임과 모바일 화면 직접 확인
기존 작업 루트로 복사한 실물 25개와 전환 전 기준 36개 SHA-256 대조 0 원본·대표·증거 동일, 기존 r1·렌더러·스타일·WAV 변경 없음. 전환 전 project.json은 history의 원본으로 대조
독립 Blender 백그라운드 재열기·스키마·manifest 검사 0 실제 세 Scene·객체·연결 교체·부피와 전달 구조 확인. scenes pending 유지

실제 모델은 세 대표 Scene이며 나머지 31컷의 상태·연결은 설계다. 한국어 라벨·부분전하·자막·내레이션 합성, 정식 10–12 전체 제작과 새 완성본 검수는 후속 작업이다. 기술 검사와 검토자의 pass를 사용자 scenes 승인으로 바꾸지 않았다.

사용자 피드백에 따른 물 영역 포함 관계 수정

앞선 r2 품질 검수는 분자와 물 체적의 포함 관계를 놓쳤다. 해당 판단을 취소하고 이전 결과를 보존한 새 r3에서 수정했다. r3 검토에 실제 명령·실패 이유·파일·직접 관찰을 기록했다.

실제 실행 종료 코드 확인한 내용
새 blender/test_model.py 0 실패 6사례 각각 기대 종료 1. r2 원본과 원자 중심 불변·mesh 정점 이동 fixture에서 포함 assertion 문구 확인, 수정 원본 GREEN
독립 Blender 평가 정점·표시 면 검사 0 전체 705프레임·11,747,388정점이 실제 물 체적과 네 면 투영 합집합 안에 포함. 원본 r2 및 정점 오류는 기대 종료 1
r3 render_preview.py, inspection_views.py, verify_design.py 0 같은 새 원본·설정에서 3PNG·3MP4, 31장면·30연결·38자막·25개 실물 해시
실제 새 MP4 3개 probe·전체 디코드·프레임 추출 0 50fps·1080×1920·202/244/200프레임·4040/4880/4000ms. 실제 9프레임·모바일 화면에서 돌출 없음과 움직임 직접 확인
기존 작업 루트의 실물·이력 SHA-256 대조 0 새 실물 25개 동일, 이전 r2 파일 75개·전환 전 기준 36개 변경 없음

최소 모델 축 여백은 0.3246/0.4540/0.1150, 투영 윤곽 여백은 47.94px다. 설명 모형·카메라의 검사 수치이며 과학적 측정값이나 최종 자막·플랫폼 안전영역 보증이 아니다. 당시 사용자 scenes refs는 07 r1·08 r3·09 r3이고 결정은 pending이었다. 이후 실제 “수정본을 승인합니다” 응답으로 approved가 되어 정식 전체 제작을 진행했다.

승인된 Blender 전체 컷과 새 완성본

2026-10-10 확인. 07 r1·08 r3·09 r3의 실제 사용자 scenes 승인 이후 정식 10/11/12 r2를 사용했다. 원 대본·제목·WAV·38자막·스타일과 r1 피드백은 보존했다. 설치·Blender 모델/원 컷 재렌더·전역 설정 변경은 합성 작업에서 실행하지 않았다.

실제 실행 종료 코드 확인한 내용
렌더러 폴더의 첫 npm.cmd run check 1 (RED) r1 고정 승인 검사에서 실제 승인 r3를 거부하는 3 !== 1 재현
같은 폴더의 최종 npm.cmd run check 0 실제 원본/PNG/MP4/WAV·현재 포인터/승인·SHA·시간과 24거부 사례. 31컷·62끝점·38자막·5528F
npm.cmd run render -- preview c01 c05 c09 c16 c19 c24 c27 c31 0 실제 새 MP4/앵커를 사용한 합성 화면 24표본. 최종 검수와 구분
npm.cmd run render -- compose 두 전체 시도 각각 0 실제 MP4/SRT 생성. 첫 c02의 빈 확대 위치 연결선을 최종 디코드 화면에서 발견·수정해 새 시도로 전체 재출력
C:/Users/baram/anaconda3/python.exe -B -X utf8 projects/water-hydrogen-bond-surface-tension/stages/14-review/r2/verify_final.py 0 실제 최종 H.264/AAC·1080×1920·50fps·5528F·0–110560ms, 전체 AV 디코드, 원 8단위/통합 PCM 동일, SRT 38원문/시간 정확 동일·입력/렌더러 SHA 유지
같은 Python의 projects/water-hydrogen-bond-surface-tension/stages/14-review/r2/mobile_views.py 1→0 cut 접두사가 caption까지 포함하는 파생 판 분류 오류 RED→GREEN. 실제 최종 93컷/38자막/32주석 전환 표본을 360px 검사 판 16/7/6개로 확인
C:/Users/baram/anaconda3/python.exe -B -X utf8 tools/blender/test_runner.py 0 기존 실행기 회귀 17개
C:/Users/baram/anaconda3/python.exe -B -X utf8 contracts/check.py 0 계약 회귀 10개

채택 MP4는 6,117,533바이트, SHA-256 c36bfe927acffde38d60d5068cfc1acc22784bc4d4fdd30ca015bb141f919ce6이다. 13 실제 경로·입력·실측과 14 기술 검사를 따른다. 원 WAV 2653440샘플과 디코드 AAC의 원 길이 구간 상관계수 0.9999665011969985, SNR 41.68737842978274dB다. AAC 끝의 패딩 768샘플은 원 발화 길이와 구별하며 원 WAV·속도·gain·trim은 바꾸지 않았다.

실제 최종 163프레임·29모바일 검사 판에서 전하 대상·원자/결합·물 영역 포함·같은 양/별도 비교 조건·확대개념도·글자/가림과 22 continuous/8 cut 연결을 직접 확인했다. 소스 프레임 검사를 최종 영상 검사로 대체하지 않았다. 정상 속도 전체 재생·청취 및 플랫폼 앱 UI는 미확인이므로 14 보고의 해당 영역은 not_checked, 추천은 incomplete다. 새 final 승인 전에는 제작 완료가 아니다.

렌더 당시 project 바이트는 별도 render-time-project.json에 보존했다. 이 증거 SHA와 현재 brief/settings/01–12 포인터·상태 및 topic/story/scenes 승인을 엄격히 대조한다. 총괄의 같은 13/14 포인터에 대한 정상 상태 변경과 final 검토 갱신을 입력 원본 변경과 구별한다. 기존/실패 시도·캐시·이전 r1을 삭제하지 않았다.