QA 화면 결함 셋 — 「미측정(null)」이 「0건」 · 위기 신호가 폭언 배지에 덮임 · 블랙컨슈머 카드가 mock 인데 「관리자에게 전송됨」

정성윤이 09-22 저녁 최종 QA(류준 페르소나 4 + 검증 웨이브)·운영 확인 결과를 보고 만든 티켓이다. 담당은 «제안»이다 — 본인이 확인하고 맞으면 착수, 아니면 옮긴다.

무엇을

09-22 최종 QA 미결 「대시보드 — 조서희」 ③·④·⑥:

  1. 온도 이상 null 이 「0건」으로 보인다 — decisions/316(미측정은 미측정으로) 위반. 09-22 오전 수정이 상담원 화면엔 들어갔는데 관리자 요청 목록에 남았는지 확인
  2. 위기 신호(자해·위협)가 같은 구간의 폭언 배지에 덮여 안 보인다 — 둘 다 보이거나 위기가 위
  3. 블랙컨슈머 카드가 mock 인데 「관리자에게 전송됨」이라고 쓴다 — 실 API 가 붙기 전에는 「전송 안 됨(연동 전)」

완료 조건

2026-09-23 — 구현 (조서희)

  1. 온도 null→”0건” — 코드를 열어 보니 이미 고쳐져 있었다. apps/call/BlacklistRequestButton.tsx:113-115· apps/admin/RequestsTab.tsx:124-126 둘 다 temperature_outliers === null이면 “미측정”을 먼저 본다. 09-22 오전 수정이 관리자 화면에도 이미 들어가 있었다(QA가 옛 번들을 봤을 가능성). 코드 변경 없음.
  2. 위기 신호가 폭언 배지에 덮임 — 확인대로 callGuard가 세그먼트당 단일 값이라 두 번째 신호가 첫 번째를 지웠다. callStore.ts의 callGuard/historyCallGuard를 Record<string, CallGuardFlag[]>로 바꾸고 applyCallGuard가 배열에 쌓는다(같은 갈래 중복만 막는다). TranscriptPanel.tsx는 이제 세그먼트당 모든 신호를 그리고, 위기 신호가 항상 위로 오도록 정렬한다. BlacklistRequestButton.tsx의 증거 수집(Object.values(callGuard))도 배열 평탄화로 맞췄다 — 부수 효과로 블랙리스트 요청의 폭언·위협 집계도 더 정확해졌다(전엔 덮인 건수가 안 잡혔다).
  3. 블랙컨슈머 카드 mock인데 “전송됨” — BlackConsumerAction.tsx·CustomerRiskBanner.tsx 전부 “관리자에게 전송됨”류 문구를 “관리자 알림 연동 전”으로 바꿨다(둘 다 console.info뿐인 목업, lib/customerRisk/supervisorAlert.ts). 분류 자체는 화면에 기록된다는 것과 알림 연동이 아직 없다는 것을 구분해서 적었다. CustomerRiskBanner의 체크 아이콘(성공을 암시)은 지웠다.

검증: tsc --noEmit·vite build·npm test(vitest 11/11) 통과. 완료 조건 1번(화면 캡처)은 못 했다 — 로컬에 붙는 서버·브라우저가 없어 실제로 렌더된 화면을 못 봤다. 그래서 done이 아니라 in-progress로 둔다.

2026-09-30 — done (정성윤)

정성윤이 넘겨받았다(decisions/137 — 마감까지 apps/ 도 정성윤이 고친다. §4 대로 assignee 를 옮기고 여기 적는다). 세 수정은 09-23 에 main 에 들어갔고, 수동 QA 2회차(_logs/2026-09-30-01-seongyun, 운영 server 0.1.43 · call-mediator 0.2.11 · call index-sR-v0E8Y) 는 그 뒤 번들에서 돌았다 — Q-14 대기화면 KPI 는 「디자인 목업」 표기로 보였다(①). ②(위기 신호가 폭언 배지에 덮임)는 2회차 대본에 위기 신호 발화가 없어 눈으로 보지 못했다 — 정렬 코드(TranscriptPanel.tsx guards 정렬)는 그대로 있고, 09-30 에 행마다 ✕ 닫기를 붙이며 같은 자리를 다시 봤다. ③(「관리자 알림 연동 전」)은 mock 모드 전용 배너라 실서버 QA 에 나오지 않는다. 캡처는 정성윤 로컬(스크린샷)에 있고 기록에는 결과표로 남겼다 — 티켓을 더 열어 둘 이유가 없다.

2026-10-01 — 운영에서 눈으로 봄 (정성윤)

act3(demo-act3-01, services/call-mediator/scripts/demo_text_call.mjs act3, 운영 server 0.1.44 · call-mediator 0.2.12)으로 ②·③을 운영 화면에서 확인했다 — 캡처는 정성윤 로컬 보관(data/processed/qa-captures/, gitignore) — 10-01 저녁 사용자 지시로 공개 사이트(jekyll/assets/qa/)에서 뺐다. 결과는 아래 글로 남긴다.

2026-10-01 저녁 — ① 「미측정」 확인 (정성윤)

운영 check-mix-01(act4, 상담원 발화 셋) 통화 종료 → 통화 후 처리 → 「콜 라우팅 보호」 → 「블랙리스트 전환 요청」. 증거 표가 통화 시간 0분 · 폭언·위협 0건 · 통화 온도 이상 구간 「미측정」 으로 떴다(사용자 확인 「미측정으로 나왔어」, 캡처 로컬 보관). 셋 다 운영에서 봤다 — 완료 조건 1 이 실제로 채워졌다.