refs #737: preserve unmatched game mentions in query plan

This commit is contained in:
devmrko
2026-07-27 16:25:33 +09:00
parent 3cc033e4e6
commit 8dffa2f515
5 changed files with 360 additions and 48 deletions

View File

@@ -46,6 +46,19 @@ Smilegate view는 전체 게임 마스터와 alias를 기준으로 하고, 현
`AMBIGUOUS`는 SQL 실행 없이 결과에 표시한다.
5. Few-shot worker는 scope token을 검증하고, token에 담긴 DB scope로만 prompt를 보강한다.
## 추출 게임명별 판정 계약
- ADB Chat이 반환한 `game_mentions`의 각 항목은 서로 독립적으로 판정한다. 벡터 검색 결과를
하나의 목록으로 합쳐 모든 후보를 지원 게임으로 취급하지 않는다.
- 벡터 검색은 후보를 찾는 단계다. 후보의 카탈로그 명칭, 별칭, `GAME_ID`, `GAME_PREFIX`
추출 명칭과 정규화 매칭되는 항목만 `supportedGames`에 넣는다.
- 추출 명칭과 매칭되는 카탈로그 항목이 없으면 해당 원문 명칭을 `unmatchedGames`에 남긴다.
유사도 순위가 높다는 이유만으로 다른 게임에 대입하지 않는다.
- 동일 게임이 여러 명칭으로 검색되더라도 `supportedGames``gameKey` 기준으로 중복을
제거한다. `matchedGames``unmatchedGames`에는 mention별 판정 근거를 유지한다.
- 일부만 지원되는 복수 게임 질문은 `status=PARTIAL`로 반환하고, 지원 게임의 worker 실행과
미매칭 게임 안내를 함께 수행한다.
## 검증
- view가 지원 게임과 object list 미연결 게임을 각각 반환하는지 확인한다.