# v279 실제 검증 목록

기준: v278 01~60 목록을 유지하고 Auto8700 CDP 실행·복구 검증을 61번으로 추가했다.

- `[완료]`는 해당 번호의 사용자 확인과 관련 `test_*` OK가 모두 있는 항목이다.
- `[부분확인]`은 사용자가 확인한 범위와 원래 완료 기준이 다르거나 일부 모드가 남은 항목이다.
- 04 AD-03 선행 게이트는 실패 경로 실제 로그 검증대기다. 09 비공개 후보 다운로드와 다음 URL 이동은 사용자 실동작 확인으로 완료했다.
- v271 핵심 41은 검증대기다. v272 핵심 42~43은 사용자 실동작 확인으로 완료했다. v273 핵심 44~49, v274 핵심 50~52, v275 핵심 53~55는 각 실제 Chrome/Windows 범위를 확인해야 한다.
- Top 후보가 생기면 전체 Top 수를 먼저 채우지 않고 해당 후보를 즉시 저장한 뒤 탐색으로 복귀해야 한다.

| 번호 | 상태 | test ID | 기능 | 현재 근거·남은 확인 |
|---:|---|---|---|---|
| 01 | [미확인] | `T-IG-MAIN-LABEL-001` | Side 계정·No 분리·Main 계정 전용 표시 | [사용자확인] Side No와 Main 계정 전용 표시 화면 확인 |
| 02 | [미확인] | `T-IG-WS-GUIDE-001` | WS 미연결 설치 안내 분리·자동 표시 | [사용자확인] WS OFF→ON 전환 때 안내 표시·숨김 확인 |
| 03 | [완료] | `T-ANALYZE-SIDEBAR-001` | 좌측 계정 압축 목록·검색·직접 선택 | 사용자 확인: 계정 클릭 시 해당 계정 검색 정상 |
| 04 | [회귀수정·검증대기] | `T-AUTO-CHECK-001` | 자동 다운로드 기능 체크 로그 | v270에서 snapshot 직접 대상 연결·AD-03 선행 게이트·첫 후보 즉시 다운로드 반영. 실제 AD-03→AD-04→AD-05 순서 로그 필요 |
| 05 | [완료] | `T-IG-MAIN-DIAG-001` | Main 진단 축소·Side 시각화 연동 | 사용자 확인: Main DOM 진단복사와 Side 막대·날짜 테두리 정상 |
| 06 | [완료] | `T-HTML-REPORT-THUMB-001` | 계정 HTML/index.htm 게시시각·고정 썸네일·전체보기 | 사용자 확인: 계정 HTML 보고서 존재·열림 |
| 07 | [부분확인] | `T-AUTO-RUN-COUNT-001` | 현재 계정·전체 실행 다운로드 집계 | 8780 계정별·전체 집계는 확인. Side 현재 계정/전체 실행 집계는 별도 미확인 |
| 08 | [완료] | `T-SIDE-MIN-FILTER-001` | 댓글·하트 최소 필터 | 사용자 확인: 댓글·하트 최소 필터 정상 |
| 09 | [완료] | `T-SIDE-PRIVATE-VIEW-RANK-001` | 조회수 미제공 대체 참여순위 | 사용자 확인: 조회수 비공개 조건 후보 1개 실제 다운로드 후 다음 계정 URL 이동 정상 |
| 10 | [미확인] | `T-OBS-CENTRAL-1H-001` | 통계 연동 계정별 UTC 1시간 송수신 | [로그/DB확인] upsert/list/skip 확인 |
| 11 | [완료] | `T-ITEM-ONLY-001` | 다운로드 없이 현재 페이지 통계 수집 | 사용자 확인: 다운로드 없이 통계 수집 정상 |
| 12 | [완료] | `T-AUTO-V249-FLOW-001` | v249 계정 이동·swipe·캐시 보완 + v260 시작 탭 보존 | 사용자 확인: 자동 계정 이동·탭 복귀 정상 |
| 13 | [미확인] | `T-OBS-WIRE-001` | 현재 페이지 observation batch | [DB확인] 다계정 전환·10분 내 재수집 확인 |
| 14 | [부분확인] | `T-SIDE-STATS-MODE-001` | 톱니바퀴 통계 단독·통계 연동 설정 | 설정 UI·기본 연동 표시 확인. 비연동 실제 실행 미확인 |
| 15 | [미확인] | `T-SERVER-STATS-001` | 중앙 1시간 통계 이력 UPSERT·조회 | [DB확인] ig_media_stat_hour 증가·최신 조회 |
| 16 | [미확인] | `T-MYSQL-SCHEMA-001` | schema_check·v47 통계 스키마 | [로그확인] 운영 v47 배포 뒤 schema_check |
| 17 | [미확인] | `T-AUTO-RECOVERY-001` | 관리 서비스 개별 종료 자동복구 | [로그확인] WS/Analyze/RTC 종료 방식별 재기동 |
| 18 | [미확인] | `T-ACCOUNT-NORMALIZE-001` | `@account` 중복 제거·삭제 no-retry·입력순서 보존 | [사용자확인] @중복·삭제·순서·자동이동 |
| 19 | [미확인] | `T-SIDE-WS-ONLY-001` | 구형 다운로드 UI 제거·WS 단일 저장 경로 | [로그확인] WS OFF/ON 수동·전체·필터·Top |
| 20 | [미확인] | `T-HTML-REPORT-REBUILD-001` | 기존 계정 보고서 전체 재생성·8780 링크 | [사용자확인] lilys_home 포함 보고서 재생성 |
| 21 | [미확인] | `T-TOP-TARGET-META-001` | Top 목표·후보 수·수집 순위 분리 | [DB확인] Top 4의 top_n/rank_total/rank_no |
| 22 | [완료] | `T-SIDE-ANALYZE-LINK-001` | Side 8780 실제 링크·동적 계정 URL | 사용자 확인: 계정별 8780 링크 정상 |
| 23 | [미확인] | `T-AUTO-ANALYZE-KEEP-001` | Auto 종료 뒤 Analyze8780 유지 | [로그확인] Auto X 종료·재실행·소스변경 |
| 24 | [미확인] | `T-INJECT-DOWNLOAD-META-001` | Injection 수동 Image/Video 전체 메타 병합·정확한 ✅ 표시 | [사용자/로그확인] MP4/JPG/재클릭/carousel 및 ✅ |
| 25 | [미확인] | `T-ANALYZE-MEDIA-BADGE-001` | JPG/MP4 이미지 배지·이미지 16:9·링크 rel 유지 | [사용자확인] JPG/MP4/둘 다/미다운로드 카드 |
| 26 | [미확인] | `T-AUTO-TARGET-COMPLETE-001` | 실제 저장 완료 shortcode Top목표·기간/All time 끝 판정·상태 제목 | [로그확인] 대상 0개 44계정·44/44·다음 0/44 |
| 27 | [미확인] | `T-EXT-MEMORY-001` | 대량 게시물 Base64·반복전송·이미지 디코딩 메모리 보호 | [사용자확인] 128·600개 스크롤 메모리 |
| 28 | [미확인] | `T-EXT-DOM-STABLE-001` | 전체 카드 DOM 고정·화면 밖 이미지 자원 해제 | [사용자확인] 하단 왕복·빠른 휠·이미지 복원 |
| 29 | [미확인] | `T-OBS-INCREMENTAL-001` | 같은 1시간 신규·변경 shortcode 증분 송수신·100개 batch | [로그확인] 250개 이상 100/100/나머지 |
| 30 | [미확인] | `T-OBS-LOCAL-DEDUP-001` | 새 10분 구간 실제 통계 변경분만 SQLite 저장 | [DB확인] 동일값 20분·지표변경·재시작 |
| 31 | [완료] | `T-SIDE-TAB-REREAD-001` | 페이지 reload·swipe 없는 현재 탭 재읽기 | 사용자 확인: 현재 탭 재읽기 정상 |
| 32 | [회귀수정·검증대기] | `T-AUTO-PROGRESS-CONTINUE-001` | 자동시작 처음/이어하기·사용자 중지 뒤 제어 복귀 | 과거 이어하기·리셋 확인은 유지. v273 `중지중...` 고착 회귀가 확인되어 v274 중지 후 자동시작 가능 상태 재검증 필요 |
| 33 | [미확인] | `T-SIDE-OPERATOR-UI-001` | queue 계정명·방식 2/3 재배치·구 안내 삭제 | [사용자확인] 방식 2/3 위치·계정 전환 표시 |
| 34 | [완료] | `T-SIDE-CURRENT-ACCOUNT-ADD-001` | 현재계정추가 대상명 표시·동일값 추가 | 사용자 확인: 현재 계정 추가 수정본 정상 |
| 35 | [완료] | `T-ACCOUNT-ORDER-SAVE-001` | 계정 추가 끝 삽입·일반 저장 순서 보존·명시 정렬 | 사용자 확인: 계정 순서 저장·정렬 정상 |
| 36 | [완료] | `T-EXPLORE-HOVER-ACCOUNT-001` | Explore·Reels 썸네일 hover 계정 전달·강조 | 사용자 확인: Explore·Reels hover 계정 정상 |
| 37 | [완료] | `T-EXPLORE-POPUP-RETURN-001` | Explore 상세 팝업 닫기 후 전체 인젝션 유지 | 사용자 확인: Explore 팝업 복귀 정상 |
| 38 | [완료] | `T-EXPLORE-HOVER-DELAY-001` | hover 통과 오감지 방지 | 사용자 확인: hover 0.2초 오감지 방지 정상 |
| 39 | [완료] | `T-SIDE-RANK-RESTORE-001` | v266 과삭제 Side No/rank 복원 | 사용자 확인: Side No·순위 복원 정상 |
| 40 | [완료] | `T-HOME-INJECT-SOURCE-DIAG-001` | 홈 중복 인젝션 생성경로 색상·상세 진단 | 사용자 확인: 생성경로 색상·진단 정상 |

| 41 | [회귀수정·검증대기] | `T-INJECT-OVERLAY-MODE-001` | Side 3단계 인젝션 표시 설정 bridge | Detail=통계+버튼, Down icon only=버튼만, None=전체 숨김·새로고침/SPA 유지·ReferenceError 부재 확인 필요 |
| 42 | [완료] | `T-VISUAL-SIDE-MAIN-001` | Metric bars·Date border Use/Side/Main 독립 저장·적용 | 사용자 확인: 현재 설정값 기본·Side/Main 독립 저장·적용 정상 |
| 43 | [완료] | `T-MAIN-DOWNLOAD-STATUS-001` | Main DOM MP4/JPG 다운로드 상태 강조 | 사용자 확인: Main DOM 다운로드 상태 강조와 기존 Glow 설정 적용 정상 |

| 44 | [회귀수정·검증대기] | `T-AUTO-INDEXED-START-001` | 0/N 현재 웹페이지 시작 | v273은 비 Instagram에서 자동대기·새 탭 혼선이 발생. v274에서 실행 진입 없이 안내하고 자동시작 가능·중지 불가인지 확인 |
| 45 | [완료] | `T-AUTO-INDEXED-START-001` | 1/N 이상 지정 계정 URL 직접 시작 | 사용자 확인: 비 Instagram 상태에서도 지정 index의 계정 URL부터 직접 로드 정상 |
| 46 | [코드반영·검증대기] | `T-AUTO-DELETED-ACCOUNT-001` | 없어진 계정 휴지통·SQLite·다음 URL | 명시적인 page not available 계정을 한 번만 열고 🗑️ 저장한 뒤 같은 활성 index의 다음 URL로 이동하며 재오픈하지 않는지 확인 |
| 47 | [코드반영·검증대기] | `T-AUTO-DELETED-ACCOUNT-001` | 삭제 계정 오판 방지 | 비공개·로그인·challenge·네트워크·content/Main 지연을 휴지통으로 저장하지 않는지 확인 |
| 48 | [코드반영·검증대기] | `T-ACCOUNT-DB-FILE-001` | SQLite 파일열기·새 파일·다른이름 저장 | 각 버튼 뒤 현재 파일명·계정목록·index 0이 일치하고 기존 파일을 덮어쓰지 않는지 확인 |
| 49 | [코드반영·검증대기] | `T-ACCOUNT-DB-FILE-001` | 선택 SQLite 지속·공통 저장 | Chrome/Analyze 재실행 뒤 선택 파일명이 유지되고 계정목록·통계·다운로드가 같은 선택 DB에 저장되는지 확인 |

| 50 | [코드반영·검증대기] | `T-AUTO-CONTROL-STATE-001` | 사용자 중지·자동종료 뒤 제어 복귀 | 중지 완료·자동종료 완료 뒤 자동실행 사용 유지, 시작 사용 가능, 중지 사용 불가, stopping 고착 없음 확인 |
| 51 | [코드반영·검증대기] | `T-AUTO-TAB-ID-UI-001` | 방식 3 tab_id 단일 표시 | Top sorted 자동 개수 앞 한 곳에만 숫자 또는 `-` 표시, 버튼 사이·하단 중복 없음, 탭 전환·닫기·무효 대상에서 과거 ID 없음 확인 |
| 52 | [코드반영·검증대기] | `T-AUTO-ETA-001` | 전체 계정·Top목표 종료예상 | 현재 계정 잔여+이후 계정×Top목표, 성공 MP4+JPG 평균 JSON, 다운 지연 합산, 완료 0분·재실행 유지 확인 |

| 53 | [코드반영·검증대기] | `T-SIDE-AUTO-LABEL-TAB-001` | 자동실행 한국어 UI·기본 체크·톱니바퀴 정렬 | 저장값 없음 기본 ON, 명시 OFF 유지, `자동실행 사용/시작/중지`, 설정 버튼 제목 줄 오른쪽 확인 |
| 54 | [코드반영·검증대기] | `T-SIDE-ACCOUNT-CARD-SELECT-001` | Side 카드 IG 계정 클릭 대상 선택 | 다른 카드 계정명을 클릭할 때 기존 계정추가 버튼 대상만 정확히 변경되고 클릭만으로 저장되지 않는지 확인 |
| 55 | [코드반영·검증대기] | `T-MANUAL-DOWNLOAD-START-001` | 수동 MP4/JPG 클릭 즉시 시작 강조 | Side/Main 수동 버튼 클릭 즉시 해당 shortcode·asset만 강조되고 성공·부분·실패로 전환되며 자동다운로드에 중복 이벤트가 없는지 확인 |
| 56 | [코드반영·검증대기] | `T-EXT-RUNTIME-DIAG-001` | 3/3 응답 없음 runtime 진단 | 1/3·2/3·3/3 snapshot, Performance·Heap 비교, Long Task·V scan·DOM/heap/media/Observer 증가와 실제 점유 함수 연결 확인 |

| 57 | [코드반영·검증대기] | `T-SIDE-CDP-GATE-001` | CDP:X 자동·예약 비활성·명시 안내, 수동 다운로드 유지 | CDP X/O 실제 전환에서 안내·자동 버튼·예약 입력·수동 MP4/JPG 독립 동작 확인 |
| 58 | [코드반영·검증대기] | `T-SIDE-POPUP-HANDOFF-001` | ↗ popup 동일 탭 handoff 뒤 기존 Side 닫기 | 자동실행 중 차단, 성공 시 단일 제어창, tab 불일치·close 실패 시 기존 Side 유지 확인 |
| 59 | [코드반영·검증대기] | `T-MEDIA-SAVE-SELECT-001` | Video 저장·Image 저장 4조합과 metadata-only 보존 | 파일·JSON·HTML·SQLite·Analyze8780에서 요청/저장 상태와 직접링크 일치 확인 |
| 60 | [코드반영·검증대기] | `T-AUTO-CACHE-RECOVERY-001` | Main active rank/shortcode 순간 누락 시 exact snapshot No·shortcode·owner·선택 자산 URL로 `[복구완료]` 후 WS 저장·다음 순번 진행 | 실제 shortcode 충돌은 중단하고 수동 다운로드 회귀 없음; 실제 Chrome·Windows 로그 필요 |
| 61 | [코드반영·검증대기] | `T-AUTO-CDP-LAUNCH-001` | Auto8700 자동실행·CDP모드 실행이 전용 CDP Chrome과 Instagram Runtime을 실제로 준비 | 8700 포트만 열린 상태를 정상으로 오판하지 않고, 수동 버튼은 기존 창을 앞으로 표시하거나 전용 CDP Chrome만 복구·실행; 일반 Chrome 미종료 확인 |

## v270~v271 유지 완료 조건

```text
조회수 비공개: views=-1, views_available=0
활성 좋아요·댓글·리포스트 조건을 모두 통과
활성 지표 원값 단순합산으로 Top N 순위
No001 snapshot rank/shortcode/owner/원본 URL을 AD-03에서 확인
AD-03 완료 뒤에만 AD-04·AD-05 다운로드 진행
Top 3에서 No001만 발견돼도 즉시 저장하고 완료 1/3 반영
목표 미달이면 swipe를 계속하며 No002·No003 발견 시 각각 즉시 저장
날짜 범위·게시물 끝이면 현재 완료 수를 유지하고 다음 계정 URL 이동
instagram_inject.js 로드 시 teMainEnsureHoverAccountStyle ReferenceError 없음
```


```text
Detail 선택: 통계 + MP4/JPG 다운로드 버튼 2개 표시
Down icon only 선택: 통계 인젝션 숨김 + 다운로드 버튼 2개 유지
None 선택: 인젝션 카드 전체 숨김
새로고침·SPA 이동 뒤 저장 모드 유지
content bridge 함수 ReferenceError 없음
```


## v272 신규 완료 조건

```text
Use/Side/Main 체크값을 서로 독립 저장
설정창 재열기·Instagram 새로고침·SPA 이동 뒤 체크값과 표시 유지
Side 렌더링은 side, Main 렌더링은 main 기준
다운로드 상태 강조 ON에서 정확한 shortcode·MP4/JPG 버튼과 카드만 강조
시작·진행·성공·중복·부분·실패 상태가 구분됨
강조 OFF에서 v272 상태 배지와 Glow 제거
다른 게시물·다른 asset_kind 오표시 없음
```


## v273 신규 완료 조건

```text
0/N은 현재 페이지가 Instagram일 때만 시작
1/N 이상은 현재 페이지 종류와 관계없이 지정 계정 URL부터 직접 로드
동일 username URL의 명시적인 not_found만 🗑️ tombstone 저장
로그인·challenge·비공개·네트워크·Injection 지연은 삭제 오판 없음
tombstone 저장 뒤 같은 계정 재오픈 없이 같은 활성 index의 다음 URL 진행
SQLite 기본 파일 sort_local.sqlite3 유지
파일열기·새 파일·다른이름 저장 후 선택 파일명과 계정목록 일치
새 파일·다른이름 저장은 기존 파일 비덮어쓰기
선택 파일명은 sort_database_selection.json으로 재실행 뒤 유지
Analyze8780·WS8771·수집계정 목록이 같은 선택 SQLite 사용
```


## v274 신규 완료 조건

```text
0/N 비 Instagram은 running·자동대기 진입 없이 안내
안내·사용자 중지·자동종료 완료 상태에서 자동시작 사용 가능·중지 사용 불가
자동실행 사용 설정은 자동종료로 해제하지 않음
stopping은 제한시간 내 해제되고 이전 run 응답이 새 실행을 덮지 않음
tab_id는 방식 3 개수 앞 1곳만 표시, 유효 대상 숫자·무효 대상 -
남은 게시물 = 현재 계정 남은 Top목표 + 이후 계정 수×Top목표
게시물 평균 = 성공 MP4 시간 + 성공 JPG 시간
종료예상 = 남은 게시물×(저장 평균 + 다운 지연)
중지·재실행 뒤 평균 JSON 유지, 전체 완료 00시간 00분

```

## v275 신규 완료 조건

```text
저장값이 없으면 자동실행 사용 기본 체크, 사용자가 저장한 OFF는 재로딩 뒤 유지
표시명은 자동실행 사용 / 시작 / 중지
tab_id는 다운로드 방식 3의 개수 앞에 표시하고 자동실행 버튼 사이와 하단에 중복 없음
톱니바퀴 설정 버튼은 제목 줄 오른쪽 끝 유지
표시계정추가 버튼 없음
Side 카드 IG 계정 클릭은 기존 계정추가 대상만 변경하고 클릭만으로 저장하지 않음
수동 MP4/JPG 버튼 클릭 순간 정확한 shortcode·asset_kind·media_index start 강조
기존 성공·부분·실패 상태 전환 유지
자동다운로드 경로에는 v275 수동 클릭 이벤트 중복 없음
```



## v276 신규 완료 조건

```text
window.__IGBLUE_RUNTIME_DIAG_V276__.snapshot() 호출 가능
unload→pagehide monkey patch 없음
1/3·2/3·3/3 snapshot과 Performance profile 확보
응답 없음 직전 실제 Main Thread 점유 파일·함수 확인
계정별 heap·DOM·media map·Observer·Timer·debug 증가 비교
확정 원인과 수정 대상 함수가 DevTools 증거로 연결됨
실제 로그 전에는 T-EXT-RUNTIME-DIAG-001 완료 승격 금지
```


## v277 신규 완료 조건

```text
CDP:X에서는 자동실행 사용·시작·자동예약 입력을 비활성화하고 정확한 CDP 실행 안내 표시
CDP:X에서도 수동 MP4/JPG 다운로드는 계속 사용 가능
CDP:O 복귀 시 자동·예약 제어가 다시 활성화
↗는 자동실행 중 차단
대기 상태 ↗는 popup이 동일 Instagram tab_id를 확인한 뒤에만 기존 Side 닫기
popup 생성·연결·tab 일치·Side close 실패 시 기존 Side 유지
Video 저장 / Image 저장 4가지 조합대로 실제 파일만 저장
둘 다 해제하거나 요청 파일 URL이 없더라도 metadata·caption·통계·퍼머링크·MP4/JPG 직접링크 저장
metadata_collected / video_requested / video_downloaded / image_requested / image_downloaded 구분
실제 Chrome·Windows 로그 전에는 57~59 완료 승격 금지
```


## v278 신규 완료 조건

```text
Video 저장만 선택한 다계정 자동실행에서 Main active 정보 순간 누락 시 MP4 저장·다음 계정 진행
Image 저장만 선택한 다계정 자동실행에서 JPG 저장·다음 계정 진행
Video/Image 둘 다 선택·둘 다 해제 조합도 기존 v277 정책 유지
복구 로그는 AD-03-E01 [예외추적] 또는 AD-03 [복구완료]로 남고 [체크실패] 뒤 다운로드 계속 없음
요청 No·snapshot shortcode·owner·선택 자산 URL이 정확할 때만 복구
Main actual shortcode가 snapshot과 다르면 오다운로드 없이 AD-03 [체크실패] 중단
수동 MP4/JPG MANUAL_SINGLE 다운로드 정상
실제 v278 Chrome·Windows 로그 전에는 T-AUTO-CACHE-RECOVERY-001 완료 승격 금지
```


## v279 신규 완료 조건

```text
Auto8700 자동실행 클릭 시 CDP가 없으면 전용 D:\cdp-data-dir Chrome 실행
8700 포트만 열리고 Instagram Runtime이 없으면 CDP:PORT·CDP 복구로 표시
CDP모드 실행 클릭 시 기존 정상 Instagram 탭을 앞으로 표시
Instagram 탭이 없으면 PUT /json/new 또는 Target.createTarget으로 새 탭 생성
Instagram Runtime 응답이 끊긴 경우 Auto8700 전용 CDP user-data-dir 프로세스만 종료 후 재실행
일반 Chrome User Data 프로세스는 종료하지 않음
설정의 CDP모드 실행 결과가 OK 또는 실패 원인으로 표시
실제 Windows 로그 전에는 T-AUTO-CDP-LAUNCH-001 완료 승격 금지
```
