<!-- FILE: _St/Analyze8780/ai_read.md | ROLE: Analyze8780 현재 기준 -->

# Analyze8780 현재 기준 — v297
- health version은 `2.3.8.297`이다.
- Instagram 로컬 미디어의 유일한 표준 이름은 `{shortcode}.{실제확장자}`다.
- 지원 확장자는 `.jpg`, `.jpeg`, `.png`, `.webp`, `.avif`, `.gif`, `.mp4`다.
- 게시물 목록을 갱신할 때 DB asset id가 아니라 `D:\_StDown\instagram\{account}\{shortcode}.{확장자}`를 직접 확인한다.
- 브라우저 주소는 `/_StDown/instagram/{account}/{shortcode}.{확장자}`로 제공하며 이미지 MIME과 MP4 Range를 지원한다.
- `/api/posts/{post_id}/media/{asset_id}`와 숫자 asset 기반 폴더 열기 API는 폐기했다.
- 게시물 목록·상세 조회는 `media_assets`를 조회하지 않으며 `asset_id`, `storage_root_id`를 미디어 식별자로 전달하지 않는다.
- 카드에는 가상 URL과 검증된 `_StDown` 실제 절대경로를 표시하고, 새 탭 열기·경로 복사·Explorer 파일 선택을 제공한다.
- `_thumbnail.*`, `_auto_seen.*`, 임의 원본 파일명은 8780 표준 미디어로 자동 인식하지 않는다.
- DB 미디어 행이 없어도 새로고침으로 표준 파일을 발견한다. 게시물 삭제 시 DB 미등록 표준 파일도 함께 정리한다.
- `..`, 하위 경로 삽입, Instagram 외 플랫폼, 미지원 확장자는 가상 경로에서 차단한다.
- SQLite 다운로드 기록·10분 통계·동일 observation 중복 정책은 변경하지 않는다.
- TikTok·YouTube·샤오홍수는 이번 버전에 구현하지 않고 향후 같은 플랫폼 규약으로 확장한다.
- 실제 Windows 8780 이미지·MP4·경로 복사·Explorer 선택은 `[검증대기]`다.

# Analyze8780 현재 기준 — v290

- health version은 `2.3.8.290`이며 활성 `db_filename`, `db_path`를 반환한다.
- 상단 DB select와 번호 버튼 `1, 2, 3...`은 같은 파일 목록을 사용한다. 번호 버튼은 한 번 클릭으로 해당 SQLite를 열고 select·활성 버튼·계정 결과를 동기화한다.
- 왼쪽 계정 목록은 페이지 없이 최대 10,000개를 표시한다. `↻`, `0/200` 표시는 사용하지 않는다.
- 계정 제목 오른쪽에는 `social_accounts · 검색 n / 전체 n` 또는 `social_accounts · 전체 n`을 표시한다.
- 계정 제목의 `✓`는 현재 DB의 `PRAGMA quick_check`, `social_accounts` 존재 여부, 전체 개수, 현재 LIKE 결과 개수를 점검한다.
- 검색 입력값은 변환·자동 `%` 추가 없이 SQLite `username LIKE ? COLLATE NOCASE`의 매개변수로 그대로 사용한다.
- 오른쪽 게시물은 `50/100/200/10000` 보기 개수에 맞춰 페이지를 계산하고 주요 지표로 정렬한다.
- 다운로드한 로컬 JPG가 있으면 만료 가능한 원격 `thumbnail_url`보다 우선 표시한다. JPG가 없고 MP4만 있으면 카드에서 동영상을 바로 재생한다.
- JPG와 MP4가 모두 있으면 카드 아래쪽 `이미지/동영상` 전환 버튼으로 같은 영역에서 바꿔 본다.
- `이미지 열기`, `동영상 열기`, `폴더 열기` 버튼을 카드에 명시적으로 표시한다. 파일은 localhost 미디어 URL로 열고 MP4 Range 응답을 지원한다.
- 우상단 `⚙ 설정`에서 이미지 가로 폭을 `420px`, `45%`, `32rem`, `50vw`처럼 직접 입력하고, 미디어 높이, 차트 기간, 차트 기록 수, Y축 자동/수동 범위를 설정한다. 값은 브라우저 localStorage에 유지한다.
- 차트 통계값은 `Number()`로 변환하지 않는다. 숫자형이 아니거나 실제로 없으면 `0`이 아니라 `null`로 전달하며 `connectNulls:false`로 선을 끊는다.
- 게시물 개별 삭제는 DB 행과 FK 통계·미디어 행, 저장된 MP4/JPG 파일을 함께 삭제하며 공유 실제 경로는 삭제를 차단한다.
- 실제 Windows의 DB 전환·LIKE 검색·탐색기 열기·JPG 표시·MP4 재생·설정 유지·ApexCharts null 단절은 검증대기다.
