「⚠ 경고」 배지가 고객의 개인정보 발화에 붙고 상담원 위반에는 안 붙는다

정성윤이 09-22 수동 QA(w5-manual-qa-full-stack) 중 만든 티켓이다. 담당은 «제안»이다.

무엇을

운영 QA 통화 test-qa-03: 고객이 번호·주민번호·카드·계좌·인증번호·이름·주소를 말한 줄(Q-22~Q-28)마다 「⚠ 경고」 배지가 붙었다. 정작 상담원 위반 문장(Q-31 「무조건 공제됩니다」 · Q-32 「위임장까지는 없어도」 · Q-33 「주민등록번호 열세 자리 전부」)에는 아무 표시가 없다.

왜

C-1~C-4 경고는 상담원 발화를 향한다. 고객 개인정보는 C-5 마스킹이 맡고 경고 대상이 아니다. 지금은 방향이 뒤집혀 상담원이 「내가 뭘 잘못했나」로 읽는다. 화면이 서버 compliance 방송을 그리지 않고 자체 규칙(detectComplianceRisk, TranscriptPanel.tsx)을 쓰는 것과 같은 뿌리로 보인다 — 가설.

완료 조건

근거: 진행 기록 2026-09-22-18-seongyun · 캡처(QA 결과표).

2026-09-23 — 원인 정정: 배지 방향이 아니라 두 기능의 혼동이었다 (조서희)

“같은 뿌리”라는 가설은 방향은 맞았지만 기제는 달랐다. 고객 줄의 「⚠ 경고」는 컴플라이언스가 아니라 C-5 마스킹 표시다(hasAlert = item.masked.length > 0, TranscriptPanel.tsx) — .claude/rules/call.md §2가 “마스킹된 자막 줄에만 「⚠ 경고」 태그를 붙인다”고 이미 정한 의도된 동작이다. 그래서 1번 조건은 원래부터 충족돼 있었다(체크만 늦게 했다) — 그 배지를 없애거나 옮기는 건 오히려 팀 규칙 위반이라 손대지 않았다.

진짜 문제는 컴플라이언스 배너가 서버 findings를 안 그리고 있었다는 것 하나뿐이었다 — w6-compliance-alert-ui에서 고쳤다. 그게 반영되면 상담원 위반 줄에 실제 ComplianceWarningBanner가 뜨게 된다(2번 조건, 서버 규칙이 그 문장들을 findings로 내는지에 달려 있어 미확인). 3번(운영 재확인)은 안 했다 — status는 in-progress로 둔다.

2026-09-30 — 운영 재확인 · done (정성윤)

정성윤이 넘겨받았다(decisions/137 — 마감까지 apps/ 도 정성윤이 고친다. §4 대로 assignee 를 옮기고 여기 적는다). 수동 QA 2회차(_logs/2026-09-30-01-seongyun, 운영 server 0.1.43 · call-mediator 0.2.11 · call index-sR-v0E8Y) Q-22~Q-28 ✅(고객 개인정보 줄 「⚠ 경고」 = C-5 마스킹 표시, 의도된 동작) · Q-31~Q-33 ✅(상담원 위반 세 문장에 경고) · Q-34 ✅(과탐지 없음). 완료 조건 셋 다 찼다.