Conversation
* fix: 부정어 감지 필터 추가로 안 매운/맵지 않게 등 오분류 방지, MEDIUM 표기를 보통맛으로 수정 * fix: 영문 부정어를 단어 경계로 매칭하도록 수정, 부정어 분기 유닛 테스트 추가 * fix: 한글 부정어 매칭 확대(안/않/말고/빼고), 영문 부정어 회귀 테스트 추가 * fix: 부정어 판정을 구체적 조합으로 좁혀 안녕/안내 등 오탐 방지, 부정 입력 시 외부 호출 없음 검증 추가 * fix: 빼주세요/빼줘/빼줄래 부정 표현 추가로 매운 거 빼주세요 오분류 방지
* feat: Chickenstore 환경의 CompatibilityRule errorcode 사용자 친화 메시지 * feat: CandidateFilterResult requiresReconfirmation 필드 map으로 변경 * feat: Map 변경에 따른 서비스 수정 * feat: RuleEvaluator: 1단계 값 추출 로직 * feat: RecommendationEngineService STEP5~7 추천 로직 초기 구현 * fix: STEP2 파트 passesByCandidateId 추가 전달 * fix: SKIPPED, PASS 점수 오류 수정 * fix: WARN 없는 항목의 confidence 임계값 크로스 테스트 픽스처 보정 * fix: 뼈 타입 추천 점수에 추가 * fix: STAFF_ASSISTANCE_REASON 멘트 추가 * fix: 병합 오류 수정 * fix: v5.1.6 RC5 변경에 맞추어 뼈타입.컵옵션 추가 * feat: 혼잡 시간대(요일+시간대) 기반 포장 메뉴 가산점 추가 * fix: 뼈 타입 점수, 확신도 점수 수정. --------- Co-authored-by: parkseyoung <parkseyoung@users.noreply.github.com>
포커스 결함 3건(원인이 각각 다름), 큰 글씨 모드 가로 넘침, 맵기 매칭(서버 임베딩) 붙이기, 사용자 피드백 5건, 여자 목소리 우선 선택, 안내 언어 위치 조정, QR 페어링 확인 도구(check:pairing) 추가. 코드래빗 지적 4건 반영.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Contributor
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. 🗂️ Base branches to auto review (2)
Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Comment |
* feat: 여러 조건이 맞으면 한 줄로 말합니다
서버는 맞은 축마다 이유를 한 줄씩 따로 줍니다. 두 축이 맞으면 화면이
이렇게 됐습니다.
반영: 포장 전용 닭강정 — 선호하신 이용 방식과 일치하는 메뉴라 우선 추천드립니다.
반영: 포장 전용 닭강정 — 선호하신 맵기와 맞는 메뉴라 우선 추천드립니다.
메뉴 이름과 뒷말이 통째로 되풀이돼서, 두 줄을 다 읽어야 무엇이 다른지
알 수 있습니다. 큰 글씨로 보는 분에게는 이것만으로 화면 하나가 찹니다.
한 줄로 합칩니다.
반영: 포장 전용 닭강정 — 선호하신 포장하기, 매운맛과 맞는 메뉴라 우선 추천드립니다.
■ 축 이름 대신 고르신 값으로 부릅니다
"이용 방식" 보다 "포장하기" 가 사용자가 실제로 고른 말입니다. 짐작이
아닙니다 — 어느 축인지는 서버 문장에 적혀 있고, 그 축에 무엇을 골랐는지는
주문표에 있습니다. 둘 다 아는 것만 씁니다. 주문표에 값이 없거나
"상관없음" 이면 축 이름 그대로 둡니다.
서버가 부르는 축 이름과 주문표의 축 이름이 늘 같지는 않습니다
("뼈/순살"→"형태", "컵 옵션"→"컵"). 표로 이어 두고, 못 찾으면 축 이름으로
물러납니다.
■ 조사
"맵기과" 가 되면 안 되므로 마지막 값의 받침을 보고 과/와 를 고릅니다.
영어에는 조사가 없어 en.ts 의 두 열쇠가 같은 문장을 가리킵니다.
■ 한 곳에서만 합칩니다
OrderConfirmScreen 에서 한 번 합쳐 아래로 내려보냅니다. 화면마다 따로
합치면, 접힌 한 줄이 세는 "외 N개" 와 펼친 목록의 줄 수가 어긋납니다.
■ 안 건드리는 것
한 축만 맞은 줄은 그대로 둡니다 — 되풀이가 없고, 그 문장들은 표에 열쇠가
그대로 있습니다. 못 맞춘 조건과 제외 이유도 손대지 않습니다. 저마다 다른
말이라 합치면 뜻이 뭉개집니다.
typecheck · 436 tests · build 통과. 이유묶기 시험 11건을 더했습니다.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
* fix: 같은 축이 두 번 와도 한 번만 셉니다 (리뷰 1건)
코드래빗 🟡 Minor 1건. 타당해서 고쳤습니다.
같은 메뉴에 같은 축의 '맞음' 줄이 두 번 오면 이렇게 됐습니다.
선호하신 매운맛, 매운맛과 맞는 메뉴라 우선 추천드립니다.
같은 조건을 두 번 말하는 줄이라, 합치지 않느니만 못합니다.
축으로 가려서 한 번만 셉니다. 값이 아니라 축으로 가리는 이유는, 두 축이
같은 이름을 가질 수 있기 때문입니다 — 주문표에 값이 없으면 축 이름으로
물러나는데, 그때는 서로 다른 조건이 맞은 것이므로 둘 다 세는 것이 맞습니다.
서버는 축마다 한 줄씩 주므로 겹칠 일이 없어야 하지만, 이 자리는 겹쳐 온
적이 있습니다(App.tsx 의 error.details 주석에 같은 얘기가 적혀 있습니다).
시험 2건을 더했습니다.
· 같은 축이 두 번 와도 한 번만 센다 — 축이 하나뿐이라 합치지 않는다
· 겹친 축이 있어도 서로 다른 축이 둘이면 합친다
typecheck · 438 tests · build 통과.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
* test: 합친 뒤 남은 줄 수까지 봅니다 (리뷰 1건)
코드래빗 🟡 Minor 1건. 시험이 헐거웠던 것이 맞습니다.
"겹친 축이 있어도 서로 다른 축이 둘이면 합친다" 가 합침[0] 만 봤습니다.
그러면 첫 문장만 맞게 만들고 겹친 줄을 둘째 항목으로 남기는 구현도
통과합니다 — 화면에는 같은 말이 한 줄 더 붙는데도요.
toHaveLength(1) 을 앞에 뒀습니다. 지금 구현은 이미 1개를 내놓으므로
코드는 안 바뀌고, 시험이 그것을 붙잡게 된 것입니다.
typecheck · 438 tests · build 통과.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Yena07
added a commit
that referenced
this pull request
Aug 15, 2026
트리는 dev 그대로입니다. 이 머지는 내용을 하나도 안 바꾸고 이력만 잇습니다 (git diff origin/dev 가 비어 있는 것으로 확인했습니다). ■ 왜 또 필요했나 같은 일이 전에도 있었고 그때 a5ac006 이 봉합했습니다. 그 커밋에 결론이 적혀 있습니다 — "릴리스 PR 은 앞으로 merge commit 으로 머지할 것." 그런데 #143 이 스쿼시로 머지됐습니다(부모 1개). 스쿼시는 dev 의 커밋들을 main 에 새 SHA 하나로 옮겨 놓으므로, git 이 보기에 두 갈래는 같은 내용을 따로 만든 셈이 됩니다. 그래서 다음 릴리스에서 같은 파일이 통째로 충돌합니다. 이번에 충돌한 넷도 전부 그것입니다 — spicy.ts·spicy.test.ts 는 add/add, voice.ts·App.tsx 는 content 충돌인데, 어느 쪽도 실제로 갈라진 작업이 아닙니다. main 에는 릴리스 말고 들어간 것이 없습니다(dev..main 확인). ■ 다음 릴리스부터 #148 은 **merge commit** 으로 머지해야 합니다. 스쿼시로 넣으면 다음 릴리스 때 이 봉합을 또 해야 합니다. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
dev→main. 프론트 2건 + 백엔드 2건입니다."안 매운 거"가 매운맛으로 잡히던 것LOW_CONFIDENCE_THRESHOLD0.6 → 0.7이 릴리스가 풀어 주는 것
맵기 매칭이 운영에서 아예 안 돌고 있습니다. 배포된 BFF 허용 목록에
internal/spicy-level/match가 없어서NOT_ALLOWED로 막힙니다. 그 경로를 여는 것이 #136 이라 이 릴리스가 나가야 동작합니다.로컬 dev 서버는 vite 프록시가 BFF 를 우회해서 되는 것처럼 보입니다. 이 프로젝트에서 되풀이된 함정이라 적어 둡니다.
배포 뒤 확인 (순서대로)
1. 백엔드 CD 가 실제로 돌았는지
backend/**가 4개 파일 바뀌므로 CD 가 돕니다. Actions 에서 초록인지 봅니다. 예전에 디스크가 차서No space left on device로 죽은 적이 있습니다.2. 부정어가 고쳐졌는지
node -e "fetch('https://api.hyunwoocha.site/internal/spicy-level/match',{method:'POST',headers:{'content-type':'application/json'},body:JSON.stringify({text:'안 매운 거'})}).then(r=>r.json()).then(console.log)"confident: false여야 합니다.true/HOT이면 백엔드가 아직 옛 코드입니다.이게 통과해야 #142(프론트 방어 걷어내기)를 머지할 수 있습니다.
3. QR 페어링이 여전히 잠겨 있는지
이번 릴리스에 처음 들어가는 도구입니다. 네 항목 모두 ✓ 여야 합니다.
pairingId로 키오스크를 직접 못 움직인다⚠ 가 뜨면 통과가 아닙니다 — 서버가 답을 못 준 것이라 막혔는지 아직 모른다는 뜻입니다.
4. 맵기 매칭이 BFF 를 지나는지
node -e "fetch('https://kio-bridge.vercel.app/api/bff/internal/spicy-level/match',{method:'POST',headers:{'content-type':'application/json'},body:JSON.stringify({text:'불닭맛'})}).then(r=>r.json()).then(console.log)"NOT_ALLOWED가 아니어야 합니다. 지금은 그것이 나옵니다.데모 전에 알아 둘 것
음성 입력이 기본 꺼짐입니다(
voiceGuide: false). 첫 화면에서 "소리로 듣고 답하기" 를 켜야 말하기 단추가 나옵니다.확인 화면에서 눈에 띄는 변화 (#141)
전
후
이번 릴리스에 안 들어가는 것