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

## `[코드반영·자동검증 완료]` 게시물 canonical URL 저장·표시 수정

- WS 다운로드 완료 시 `data.href`·`page_url`을 게시물 링크로 우선 사용하지 않는다.
- `meta.post_url`·`meta.media_url` 중 shortcode가 일치하는 Instagram permalink만 허용한다.
- `/explore/`, `/reels/`, 계정 프로필, 홈, CDN URL은 `posts.post_url`에서 거부한다.
- 유효 permalink가 없으면 영상은 `/reel/{shortcode}/`, 그 외는 `/p/{shortcode}/`를 사용한다.
- Shared 다운로드 저장과 observation 저장 모두 같은 canonical 규칙을 사용한다.
- Analyze8780 계정별 게시물 조회와 게시물 상세는 기존 DB의 잘못된 scope URL도 shortcode 링크로 교정해 반환한다.
- 기존 운영 DB 전체 UPDATE는 하지 않는다. 새 저장부터 교정하고 기존 값은 조회 방어한다.
- 기존 개별 다운로드·JSON·index.htm·ECharts·삭제 기능은 유지한다.

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

- Explore에서 새 게시물 다운로드 후 SQLite `posts.post_url` 확인
- Analyze8780에서 shortcode 클릭 시 실제 게시물 열림 확인
- Reel 게시물은 `/reel/{shortcode}/` 유지 확인

## 다음 단일 목표

1. Side 계정목록 원본을 Analyze8780 SQLite에 저장
2. Chrome 프로필 변경 시 8780에서 계정목록 복원
3. localStorage는 캐시로만 사용
4. 이후 IG 실시간 observation 10분 UPSERT 연결

## 향후 그룹·순위 기준

- 그룹 조건은 IG EXT의 현재 기간·sort_by·기준값·Top 개수 옵션값을 그대로 저장한다.
- Explore·Reels 같은 특별관리 URL은 계정이 아니라 `source_scope`로 저장한다.
- `No000`은 조건 조합별 순위 스냅샷이며 다른 조합과 통합하지 않는다.
