미션 후속 결정 — 코스 포토스팟 방식·판정 보충¶
요약
코스 미션 판정을 "전체 격자 통과"에서 포토스팟 방식으로 변경 (2026-07-23, 성민): 명소 스팟 5~8곳만 mission_grids에 넣고 "스팟 N곳 중 target곳에서 영상"으로 판정 — 걷기 증명이 아니라 장면 수집 프레이밍. 표시(missions.path 폴리라인)와 판정(mission_grids 스팟)의 저장 분리 · 코스는 무기간 상시 미션 · 스탬프 비회수. 팝업 크롤링 법적 리스크는 법률 자문으로 해소 — 크롤링 수집이 정식 선택지가 됨 (부산 커버리지 6% 현실은 불변).
이 노트로 답할 수 있는 질문¶
- 코스 미션 완료 판정은 어떻게 하나? (전체 격자 아님 — 포토스팟)
- 코스 폴리라인과 판정 격자는 어디에 저장하나? (표시·판정 분리)
- 포토스팟은 누가 고르나? (수동 0 — TourAPI 교차→기하 폴백→P2 업로드 신호)
- 코스 미션에 기간이 있나? 과거 영상도 인정되나? (무기간·인정)
- 영상을 지우면 스탬프가 회수되나? (아니오 — 도감 롤백과 다른 규칙)
- 팝업 크롤링은 해도 되나? (법률 자문으로 리스크 해소)
결정 요약¶
- 코스 = 포토스팟 방식 — 스팟 5~8곳 격자만
mission_grids, 완료 = "스팟 N곳 중 target_count곳 영상". "166칸 중 17칸" 식 전체 격자 판정 폐기. - 표시·판정 저장 분리 — 표시용 경로는
missions의 지오메트리 컬럼(path, MSG-166에서 형 확정), 판정은mission_grids(스팟만). active API의 PATH shape 소스도 mission_grids → missions.path로 변경 (MSG-222). - 스팟 선정 3단계 (수동 큐레이션 0) — ① TourAPI 위치기반 교차(GPX 500m 샘플→반경 300~500m POI→격자 스냅) ② 기하 폴백(시작·끝·중간점) ③ P2: 업로드 신호로 주기 교체.
- 판정 쿼리는 여전히 하나 — 스팟 소수 자체가 분산이라 K구간 분산 판정 불필요, 기존
count(distinct grid_id) ≥ target_count유지. - 코스 무기간(상시) — start_at/end_at null, 과거 영상 인정. "참여 시작" 개념 미도입.
- 스탬프 비회수 — 영상 삭제해도 user_missions 유지. (user_id, mission_id) UNIQUE. 도감 롤백과 의도적으로 다른 규칙.
- 팝업 크롤링 리스크 해소 — 법률 자문 완료(2026-07-23, 성민 확인). 애그리게이터(팝가 등) 크롤링이 정식 선택지. 주 가치는 서울 확장 대비.
미해결 (기획 확인)¶
- 스팟 수 N·target_count 기본값 (시작안 N=5~8 중 target 3)
- 코스 스팟 갤러리 업로드 인정 여부 (MVP는 도감과 동일 — 인정)
- 팝업 크롤링 대상 사이트·주기