<!-- FILE: _St/검증목록_v301.md | ROLE: v301 검증 절차 -->
# v301 검증 목록

## 정적·단위
1. Python compile 전체 `OK`.
2. JavaScript syntax 전체 `OK`.
3. pytest 전체 `OK`.
4. IG `test_*.js` 전체 `OK`.
5. manifest/version/version_name `2.3.8.3010 / 2.3.8.301`.
6. Auto8700 manager/default JSON `2.3.8.301 / v301`.
7. 하트 marker 함수는 없고 `notify_instagram_cdp_gate()`만 존재.
8. 변경 감지는 manifest 버전·파일 수·전체 크기·최신 수정시각만 사용하고 해시는 사용하지 않음.
9. 비수동 예약 실행은 확장 재로드를 호출하지 않음.
10. OWNER fallback 표시가 실제 기록 OWNER를 자동 변경하지 않음.

## 실제 Windows·Chrome
1. v300 확장 로드 상태에서 v301 `CDP 열기/복구` 클릭.
2. 로그 순서: 8700 확인 → 변경 감지 → runtime.reload → Page.reload → 버전 확인 → CDP gate ack.
3. Side `CDP:O`, target_id, tab_id, 시각 확인.
4. 변경 없는 상태에서 다시 클릭하여 `변경된 확장 없음`과 reload 생략 확인.
5. OWNER 탭 제거 뒤 활성 Instagram fallback의 `OWNER_FALLBACK` 확인.
6. v300 Cache/Video/수동 다운로드 회귀.
