# 743 · 게임 식별 JSON Duality View 검색 ## 프로젝트 개요 게임 질의 계획기는 DB 카탈로그를 사용해 게임 대상과 실행 작업을 결정한다. 현재는 LLM mention 추출 결과만 벡터 검색에 전달하므로, 질문에 명시된 `GAME_ID`가 mention에서 빠지면 게임을 찾지 못한다. ## 목표 게임명·별칭·`GAME_ID`·`GAME_PREFIX`·카탈로그 키를 하나의 DB JSON 문서로 표현하고 그 문서를 임베딩 원본으로 사용한다. 게임 식별 표현은 모두 mention 추출 대상이며, 검색·결과 식별은 DB 카탈로그만 사용한다. ## 설계 1. `sg_game_extract_mentions`는 정식 게임명, 별칭, `GAME_ID`, `GAME_PREFIX`, 카탈로그 키를 동등한 게임 대상 표현으로 추출한다. 2. `sg_game_catalog_identity_dv` JSON Relational Duality View는 게임별 식별 문서를 제공한다. 3. `sg_game_catalog.embedding`은 Duality View의 JSON 문서 직렬화 결과로 다시 생성한다. 4. `sg_game_catalog_search`는 해당 embedding을 검색한다. 따라서 입력 표현이 어떤 필드와 일치하더라도 같은 게임 문서로 수렴한다. ## JSON 문서 계약 ```json { "_id": "카탈로그 키", "gameId": "게임 ID", "gamePrefix": "게임 prefix 또는 null", "gameName": "정식 게임명 또는 null", "gameAliases": "등록 별칭 JSON" } ``` ## 검증 - `STOVE_CHAOSZERO`처럼 등록된 `GAME_ID`가 `game_mentions`에 포함된다. - planner 결과가 `NONE`이 아니라 카탈로그의 단일 게임 target을 반환한다. - `game_id가 STOVE_CHAOSZERO인 2026년 7월 15일 매출 합계`는 공통 매출 task를 생성·실행한다. - 새 게임 또는 별칭을 DB 카탈로그에 추가하고 문서·embedding만 재생성하면 애플리케이션 수정 없이 검색된다.