Date: 2026-07-13 Status: Accepted Supersedes: 0020 Amends: 0018의 정렬 컨트롤과 회귀 테스트 결정
홈의 인기순은 최근 30일 조회수 집계를 위해 동적 route, Supabase RPC, 일별 조회수 테이블과 클라이언트 정렬 상태를 요구한다. 그러나 운영 환경에는 해당 RPC가 적용되지 않아 인기순을 선택해도 최신순으로 fallback되고 있었다.
개인 블로그의 기본 탐색에서는 최신 기록을 시간순으로 보는 경로가 더 예측 가능하다. 낮은 사용 가치에 비해 런타임 외부 의존, 배포 순서와 실패 fallback을 유지하는 비용이 크다.
- 홈 글 목록은 발행일 내림차순만 사용한다.
- 최신순과 인기순 선택 UI 및 클라이언트 정렬 상태를 제거한다.
- 카테고리 필터는 유지하며 필터 결과도 저장소가 제공한 최신순을 보존한다.
- 홈에서 Supabase 인기 조회수를 읽지 않고 정적 생성 가능 상태로 되돌린다.
- 글 상세의 누적 조회수와 중복 방지, Umami 분석은 ADR 0007에 따라 유지한다.
- ADR 0020 전용 일별 인기 집계 API와 저장소 계약은 제거한다.
- ADR 0018의 의미 기반 반경과 무그림자 표면 결정은 유지하되, 정렬 컨트롤과 해당 회귀 테스트 결정만 이 ADR로 대체한다.
- 홈의 순서와 버튼 상태가 어긋나는 fallback 문제가 사라진다.
- 홈 요청마다 Supabase RPC를 실행하지 않는다.
- 인기 집계를 위한 DB 배포 선행 조건이 사라진다.
- 오래된 글의 재발견은 카테고리, 검색과 시리즈 경로에 의존한다.
- 인기순을 다시 도입하려면 실제 제품 필요와 데이터 계약을 새 ADR에서 다시 결정해야 한다.
- UI만 숨기고 인기 집계 인프라 유지: 사용처 없는 코드와 DB 계약이 남는다.
- 운영 RPC를 적용해 인기순 복구: 정확성은 해결하지만 현재 필요한 탐색 경로보다 운영 비용이 크다.
- 최신순을 기본값으로 두고 인기순 유지: 단일 탐색 경로로 단순화하려는 목적과 맞지 않는다.
- Umami 인기 페이지를 홈에 사용: 분석 도구와 사용자 UI를 결합하고 별도 실패 계약이 필요하다.
9379593: 최근 30일 인기 조회 집계 도입