# 현재 패치 상태 — 패키지 v227

## `[코드반영·자동검증 완료]` 1단계-A

### Side 표시 분리

- 게시물 카드의 계정 라벨을 `IG account` 형식으로 별도 줄에 표시한다.
- Top 조건이 활성화된 게시물만 `No000`을 별도 줄·별도 배지로 표시한다.
- 계정명과 순위를 한 박스에 합치지 않는다.
- 순위는 정렬 시점 스냅샷이며 실시간 재계산하지 않는다.

### Analyze8780

- 폴더: `_St/Analyze8780`
- 주소: `http://127.0.0.1:8780/`
- SQLite 계정 목록·계정별 게시물·게시물 상세·10분 통계 API
- 페이지 크기 최대 200 제한
- 조회수·좋아요·댓글·리포스트·10분 증가·시간당 환산 정렬

### SQLite v3

- `post_stat_10m`
- `deletion_events`
- 계정·게시물 `deleted_at`
- 같은 게시물·같은 10분 구간 UPSERT
- 계정·게시물 soft-delete와 `sync_queue DELETE`

### Side 삭제 계정 연동

- Analyze8780에서 계정을 삭제하면 `/api/deleted/accounts`에 tombstone이 노출된다.
- Side는 30초마다 삭제 계정 목록을 확인한다.
- 일치 계정 URL 앞에 `🗑️`를 붙인다.
- `🗑️` 항목은 수집 순회와 카운팅에서 제외한다.
- MP4/JPG 실제 파일은 삭제하지 않는다.

## `[검증대기]` 실제 환경

- Side 실제 카드에서 `IG account`와 `No000` 줄 분리 확인
- Windows에서 `run_Analyze8780.bat` 실행 후 8780 화면 확인
- 기존 운영 SQLite DB를 v3로 올린 뒤 데이터 보존 확인
- Analyze8780 계정 삭제 후 Chrome Side에 `🗑️`가 30초 이내 표시되는지 확인

## 다음 단일 목표 — 1단계-B

1. 계정목록 옆에 `💾 저장` 버튼 추가
2. 포커스 이탈 자동 저장 제거 또는 보조화
3. IG 주입 통계를 다운로드와 무관하게 8780 `/api/observations`로 전달
4. 10분 버킷 로컬 저장 후 observation sync_queue 생성
5. 전송 실패·재시도·중복 방지 로그

## 이번 작업에서 제외

- `💾 저장` 버튼 실제 구현
- IG 실시간 observation 전송
- PHP/MySQL 10분 통계 API
- 대본 추출
- 수집자·그룹·P2P·포인트
