ADR-0041: 정정 리비전도 신규와 동일한 정책 평가 — ADR-0014 대체¶
- 상태: 대체됨 — ADR-0044 (정정 전달 폐지 — 무효화 단독, 2026-08-01)
- 날짜: 2026-07-27
- 대체: ADR-0014 (정정 이벤트 처리 — 무조건 재검수)
맥락¶
ADR-0014 는 "검수 없이 고객 노출 문구가 변경되는 경로가 존재하지 않는다"를 원칙으로 정정 리비전을 무조건 REVIEW_REQUIRED 로 보냈다. 그 원칙은 전건 검수(0%) 온보딩이 표준이던 시절의 전제 위에 서 있었다. ALPHA-438(2026-07-27)에서 온보딩 철학이 "기본 자동 제공, 점검(정책)에 걸린 것만 검수" 로 확정되면서 전제가 바뀌었다 — 신규 설명도 활성 정책 (policy_version·screening_rule) 평가만으로 자동 게시되는데, 정정만 사람을 강제할 논리적 근거가 약해졌다. 점검 필터의 한계(문면 검사이지 사실 검증이 아님)는 신규·정정에 동일하게 적용되기 때문이다.
결정¶
정정 리비전은 신규(NEW)와 동일하게 활성 정책 평가를 거친다. 룰에 걸리면 REVIEW_REQUIRED/BLOCKED, 청정 통과 + 자동 제공 기준 충족이면 AUTO_PUBLISHED — 구 게시가 내려간 grain 에 자동 재게시된다.
불변인 것: ① 구 리비전 CORRECTED 종결(terminal)·게시분 즉시 UNPUBLISHED,
② supersedes_item_id 리비전 체인·원장 보존(감사 재현), ③ 무효화(INVALIDATION)는
점검·정책 무관 즉시 비노출(제거는 보수적 방향), ④ 판정 근거의 screening_check 기록.
정정분 판정에는 활성 정책이 필요하다. 정책 0건 구간(콘솔 발행이 원자적이라 정상
경로에선 생기지 않는 수동 개입 예외 상태)에는 정정의 1순위인 비노출을 막지 않는다 —
종결·UNPUBLISHED 는 수행하고, 정정분은 판정 없이 REVIEW_REQUIRED 로 보존한다(자동
노출 없음, check 는 policy_version_id NOT NULL 이라 미기록 — 경고 로그로 표면화).
알려진 한계: NEW 가 함께 실린 혼합 번들은 NEW 의 진행 중단(예외)이 같은 트랜잭션을
롤백하므로 이 폴백이 적용되지 않는다 — 정책 복구(발행) 후 재시도로 수렴한다.
노출 원칙은 이렇게 다시 쓴다: "고객 노출 문구는 활성 점검 정책을 통과한 것만 나간다 — 신규·정정 동일."
대안¶
- 무조건 재검수 유지(ADR-0014) — 정정의 민감성(이미 노출된 정보의 변경)을 근거로 사람을 강제. 신규 자동 게시를 신뢰하기로 한 철학과 비일관하고, 정정 빈도가 늘면 검수 부하만 커진다. 배제.
- "정정분은 항상 검수"를 테넌트 정책 옵션으로 — 보수적 증권사·준법감시 요구 대응. 배제가 아니라 확장 로드맵: 정책 버전 모델(ALPHA-438)에 스위치 하나로 열 수 있는 구조라 실계약 요구 시점에 추가한다.
결과¶
BundleScreener.screenCorrection이 정정분을 NEW 와 동일한 판정 공통 경로로 보낸다 — 정정분에도 screening_check 판정 근거가 남아 검수 화면 사유가 채워진다(구현 ALPHA-430).- state-machine.md 컴플라이언스 플로우·리비전 모델 문구를 이 결정으로 갱신. Super Admin 정정 사유 입력 필수(ADR-0014 결과)는 유지.
- 결정 주체·경위: 사용자 확정(2026-07-27, ALPHA-430 코멘트) — ALPHA-438 온보딩 철학의 일관 적용.