| name | autorig-preflight |
| description | GPU 전 프리플라이트 게이트 — YAML·마스터·See-through 레포·Modal 크레덴셜·의존성을 CPU로 전수 검사해 $0.08~0.17 GPU 소비 전에 막을 수 있는 실패를 모두 차단한다. 트리거 — "파이프라인 실행 전 체크", "GPU 전 게이트", "프리플라이트", "preflight", "파이프라인 돌리기 전", "See-through 전 검증", "캐릭터 파이프라인 준비됐나", "character yaml 검증". |
AUTORIG 파이프라인 프리플라이트 게이트
GPU(A100 See-through, $0.08~0.17/캐릭터)를 태우기 전에 결정론으로 막을 수 있는 실패를 모두 잡는다. 모든 검사 CPU전용·비용 0.
실행
python3 scripts/preflight_check.py \
--character-spec characters/<id>.yaml
python3 scripts/preflight_check.py \
--character-spec characters/<id>.yaml \
--master experiments/<exp>/true_master_2048.png
python3 scripts/preflight_check.py \
--character-spec characters/<id>.yaml \
--master experiments/<exp>/true_master_2048.png \
--out experiments/<exp>/reports/preflight.json
exit 0 = FAIL 없음 (GPU 진입 OK). exit 1 = FAIL 1개 이상 (차단).
게이트 목록
| 게이트 | 수준 | 내용 |
|---|
| YAML 파일 존재·파싱 | FAIL | 파일 없거나 파싱 오류 |
| 필수 필드 (id·name·appearance·colors) | FAIL | 누락 시 차단 |
| V2 확장 필드 (body_spec 등) | WARN | 미작성 → analyze_master_png.py 자동채움 가능 |
| skip_deghost 확인 | PASS 정보 | 긴 머리 캐릭터 알림 |
| 마스터 PNG 존재·정사각·해상도≥1024 | FAIL/WARN | 미지정=WARN, 없음=FAIL |
| See-through 레포·inference_psd.py | FAIL | 레포 없으면 P1 불가 |
| Modal 크레덴셜 (~/.modal.toml · 환경변수) | WARN | 없으면 modal setup 안내 |
| modal CLI | WARN | 없으면 pip install modal 안내 |
| PIL·numpy·cv2·yaml | FAIL | CPU 단계 필수 의존성 |
| anime-face-detector·toonout | PASS 정보 | Modal-side → 로컬 없어도 정상 |
FAIL 처리 규칙
FAIL 항목 해결 후 GPU 단계 진입. WARN만 있으면 확인 후 진행 가능.
- YAML 필수 필드 누락 → characters/.yaml 보완
- 마스터 PNG 없음 → Path A(텍스트 생성) 또는 Path B(업로드) 완료 후 재실행
- See-through 레포 없음 →
git clone 또는 experiments/validation-smoke-001/external_repos/see-through 확인
- Modal 크레덴셜 없음 →
pip install modal && modal setup
- PIL/cv2 없음 → 가상환경 pip install
파이프라인 위치
V2 파이프라인의 P0 앞 에 삽입:
analyze_master_png.py (Path B) → [preflight_check] → validate_master_image.py → P1 See-through
preflight_check FAIL이면 See-through 호출 자체를 막아 GPU 비용 발생 방지.