ADR-0047: 금칙어 심각도 은퇴 — 결과를 정하는 축은 처리 방식뿐¶
- 상태: 승인됨
- 날짜: 2026-08-05
맥락¶
ADR-0046 은 설명 표면에서 위험등급을 폐기하면서 결정 5의 후단에 "금칙어 심각도(risk) 어휘는 걸린 사유의 심각도 표시로서 별개 유지"를 남겼다. 그 뒤 실제 화면과 코드를 대조하니 그 어휘가 아무것도 정하지 않는다는 사실이 드러났다.
- 판정은
PolicyEvaluator가screening_rule.action(검수 필요 · 점검 차단)만 읽어 내린다.params.risk를 읽는 코드는 콘솔 CRUD 밖에 없다. - 그런데 등록 폼에서 위험 등급과 처리 방식 드롭다운이 나란히 서 있어 심각도가 강도를 정하는 것처럼 읽힌다.
실제로는
고위험 · 검수 필요와저위험 · 검수 필요의 결과가 완전히 같다. - ALPHA-756 이 점검 처리 기준을 "항목 · 설정 · 결과" 표로 재편하면서 비대칭이 굳어졌다 — 결과를 정하는 축만 표에 오르므로 심각도는 그 표에 나타날 자리가 없다. 한 화면에서는 결정 축처럼 보이고 옆 화면에서는 존재하지 않는 상태가 된다.
결정¶
금칙어 심각도(params.risk) 어휘를 은퇴한다. ADR-0046 결정 5의 "별개 유지" 후단을 이 ADR 이 대체한다.
- 요청·응답·도메인 형에서
risk를 제거하고 등록 시 검증 어휘(RISKS)를 삭제한다. - 신규 룰
params와POLICY_WORD_ADDED감사 detail 에risk를 싣지 않는다. - 콘솔 등록 폼의 위험 등급 드롭다운과 목록 열을 제거하고,
RiskLevel·RISK_LABEL·RISK_TONE을 삭제한다 (ADR-0046 이 설명 표면에서 위험등급을 뺀 뒤 금칙어 탭이 유일한 소비자였다). params는 JSONB 라 스키마 마이그레이션이 없다. 기존 행의risk값은 잔재로 남기고 읽지 않는다 — 감사 재현 시 그때 운영자가 무엇을 입력했는지는 보존되는 편이 낫다. 과거 감사 로그의risk기록도 append-only 로 남는다.
대안¶
분류 라벨로 유지한다(ADR-0046 결정 5 원안). 판정과 무관함을 문구로 명시하고 목록에만 남기는 방법. 택하지 않은 이유는 그 명시가 배치를 이기지 못하기 때문이다 — 두 드롭다운이 나란히 있는 한 운영자는 둘 다 결과를 정한다고 읽는다. 설명을 덧대는 것보다 축을 없애는 편이 싸다.
심각도가 처리 방식을 결정하게 만든다. 고위험 → 자동 차단처럼 연동하는 방법. 이는 새 판정 축을 도입하는 것이라 ADR-0046 이 폐기한 융합 산정으로 되돌아간다. 지금 요구도 없다.
결과¶
- 얻는 것: 결과를 정하는 축이 하나(처리 방식)라는 사실이 화면·계약·원장에서 일치한다. 죽은 어휘 3종이 사라진다.
- 잃는 것: "고위험 표현 N건" 류 집계 근거. 코드·문서에 그 소비자가 없어 지금은 손실이 없지만, 실계약 컴플라이언스 보고에서 요구되면 판정과 무관한 라벨임을 명시한 형태로 다시 도입한다.
- 낡은 문서: 2026-08-04 confidence-gate-design 스펙 의 금칙어 심각도 유지 서술은 이 결정으로 낡았다. 날짜 박힌 설계 스냅샷이라 고쳐 쓰지 않고 여기에 기록해 둔다.
- 구현: ALPHA-760.