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

## 패키지 v322 동기화
- 실행/config 버전은 `2.3.8.322`; 이번 Side 설정 전역 회귀 복원에서는 Cache8701 기능 로직을 변경하지 않는다.

## 패키지 v321 동기화
- 실행/config 버전은 `2.3.8.321`; 이번 Side 설정 톱니바퀴 복원에서는 Cache8701 기능 로직을 변경하지 않는다.


## 패키지 v317 동기화
- 실행/config 버전은 `2.3.8.317`; 이번 수동 다운로드 강조·편집폴더 1건 교정에서는 Cache8701 기능 로직을 변경하지 않는다.

## 패키지 v316 동기화
- 실행/config 버전은 `2.3.8.316`; 이번 편집폴더 GUI picker·수동 injection fallback 작업에서는 Cache8701 기능 로직을 변경하지 않는다.

## 패키지 v314 동기화
- 실행/config 버전은 `2.3.8.315`; 기존 tab_id 격리·Cache 로깅 기준은 그대로 유지한다.

## v307 현재 기준
- 이번 Auto8700 파일변경 안정화 작업에서는 Cache8701 기능 로직을 변경하지 않는다.
- 패키지 버전 정합을 위해 Cache8701 표시/config 버전만 `2.3.8.307`으로 동기화했다.
- v305의 tab_id별 관찰·run 상태·CI 로그·교차 탭 매칭 금지·계정 일치 기준을 그대로 유지한다.
- Cache8701 단위 테스트 14 passed이며 실제 Windows `Showing A` 저장 검증은 계속 `[검증대기]`다.

## v304 현재 기준
- `owner_active`는 사용자 탭 포커스 표시이며 Cache CDP 연결 판정에 사용하지 않는다.
- `cdp_alive`와 Instagram target 존재가 확인되면 OWNER가 비활성이어도 모든 Instagram target에 flattened session을 유지한다.
- 선택형 `file_logging` 기본값은 OFF이며 설정 UI의 `8701에 로깅`으로 제어한다.
- 로그는 `logs/cache8701_log_*.log` 단일 파일이며 프로그램 시작·설정 ON 시 새 파일을 만든다.
- 새 파일 생성 전 기존 파일이 20개 이상이면 오래된 파일부터 삭제해 생성 후 20개 이하를 유지한다.
- 버전 `2.3.8.304`. 실제 CI-01~CI-06 저장 로그 전에는 `[검증대기]`다.

# Cache8701 v303 현재 기준
- v300의 Cache Image 저장 구조를 v297 기준본에 최소 이식했다.
- 이미지 파일은 `D:\_StDown\instagram\{account}\{shortcode}.{실제확장자}`다.
- 파일 존재 시 중복스킵하고 SQLite 등록을 재확인한다. 신규 해시·계정 JSON·정적 보고서는 만들지 않는다.
- 계정 폴더에는 Analyze8780으로 연결하는 최소 `index.htm`만 유지한다.
- 실행 단위로 대상/처리/신규저장/중복스킵/실패를 집계한다.
- Video 저장 체크와 독립적으로 동작한다.


# Cache8701 v297 파일·DB 기준
- 신규 이미지 파일명은 `{shortcode}.{실제확장자}`다. `_thumbnail` 접미사는 신규 저장에 사용하지 않는다.
- 실제 MIME·시그니처로 `.jpg`, `.png`, `.webp`, `.avif`를 결정하며 이미지 변환은 하지 않는다.
- 동일 크기·동일 SHA256 파일은 재기록하지 않지만 Shared DB 등록은 다시 확인한다.
- DB event UUID는 계정·shortcode·확장자·SHA256으로 고정해 반복 이벤트를 중복 생성하지 않는다.
- CI-06 완료 로그에는 db 파일명, post_id, asset_id, 실제 file_name을 기록한다.

# Cache8701 v297 현재 기준
- HTTP 포트 8701에서 Side 이미지 메타데이터와 설정을 수신한다.
- Auto8700 `http://127.0.0.1:8707/api/cdp/connection`에서 실제 Chrome CDP 포트·Instagram target·generation을 읽는다.
- browser WebSocket에 연결하고 target별 `Target.attachToTarget(flatten=true)` 독립 sessionId를 만든다.
- session별 Network 이벤트와 `getResponseBody`만 사용한다. 추가 HTTP 다운로드와 Chrome 물리 Cache_Data 파싱은 하지 않는다.
- target 목록 또는 generation 변경 시 Cache8701 session만 재연결하며 Auto8700 자동실행은 유지한다.
- JPEG·WebP·AVIF·PNG를 실제 형식으로 `D:\_StDown\instagram\{account}`에 원자 저장하고 Shared DB 등록을 시도한다.
- 실제 Windows CI-00~CI-06와 pmonit 파일 생성 전까지 `[검증대기]`다.

## v305 절대 기준
- Cache 자동 저장은 별도 저장 요청이 아니라, 체크 ON 상태에서 현재 대상 탭에 보이는 필터 결과 `Showing A` 전부를 자동 처리한다.
- `tab_id`가 바뀌면 CDP 대상도 새 탭으로 전환한다. 다른 tab_id의 메타데이터·이미지 URL·run 결과를 섞지 않는다.
- 자동 중단은 자동 순회만 중단하며 수동 탭 전환·DOM 변화·Cache 저장은 계속한다.
