<!-- FILE: _St/Analyze8780/ai_read_패치.md | ROLE: Analyze8780 현재 패치 -->

# Analyze8780 패치 — v297
상태: `[코드반영·실제 Windows 검증대기]`

## 이번 목표
- 숫자 `post_id/asset_id` 미디어 API·UI 의존과 8780 조회의 `media_assets` 쿼리 제거
- `/_StDown/instagram/{account}/{shortcode}.{실제확장자}` 가상 경로 통일
- 게시물 갱신 시 표준 파일 자동 발견
- 실제 경로 표시·복사, 이미지/영상 열기, Explorer `/select` 파일 선택
- JPG·JPEG·PNG·WebP·AVIF·GIF·MP4 MIME, MP4 Range
- Instagram 루트 밖 경로 차단

## 제외
- TikTok·YouTube·샤오홍수
- Cache8701 저장 규약 변경
- SQLite 다운로드 기록·10분 통계·observation 중복 정책 변경

## 검증
- `test_analyze8780_module.py`: 가상 경로, MIME, Range, 갱신 발견, 삭제, path guard
- `test_analyze8780_ui.js`: 숫자 URL 제거, `media_files`, 실제 경로·복사·폴더 열기
- 전체 정적·단위 결과는 `_St/검증결과_v297.md` 기준
- 실제 Windows UI는 검증대기

# Analyze8780 패치 — v290

상태: `[코드반영·실제 Windows 검증대기]`

## 이번 목표
- 차트 결측 통계를 `Number()` 변환 없이 `null`로 유지하고 선 연결 금지
- 우상단 설정 버튼과 이미지 폭 직접 입력(px/%/rem/em/vw)·높이·차트 기간·기록 수·Y축 설정
- 로컬 JPG 우선 표시와 MP4 카드 내 재생
- JPG/MP4 전환, 원본 열기, 저장 폴더 열기 버튼 명확화

## 코드 테스트
- `test_analyze8780_ui.js`: 설정 UI, localStorage, chartValue null, `connectNulls:false`, 로컬 이미지/동영상 UI 계약
- `test_analyze8780_module.py`: health 2.3.8.290, JPG/MP4 API, MP4 Range, 폴더 launcher, 삭제 회귀

## 실제 검증
- JPG 다운로드 게시물에서 원격 썸네일 대신 로컬 JPG 표시
- JPG+MP4 카드에서 이미지/동영상 전환 및 영상 controls 재생
- 파일 새 탭 열기와 탐색기 폴더 열기
- 설정 저장 후 새로고침 유지
- 날짜/지표 결측 구간 차트 선 단절
- 기간 및 Y축 설정 반영
