본문으로 건너뛰기

ADR 0052: 일반 민사 (general-civil) 유형 신설

배경

실사용자 문의 (2026-06-10): "무효확인소송은 유형에 없는데, 소장 작성이 가능한지 — 사무실 기존 사건을 기억 저장하면 가능한 것인지."

이 질문은 제품 서사와 아키텍처 사이의 갭을 정확히 찌른다:

  1. 유형 목록이 "서비스 가능 범위" 로 읽힌다. 민사 14 종 밖 사건 (무효확인·채무부존재확인·해고무효확인 등 확인의 소 계열) 은 등록 자체가 막힌 것처럼 보였다 — 실제로는 범용 소장 DocKind + 두 RAG 결합 (ADR 0041) 으로 본문 생성이 가능한데, 그 경로가 어디에도 안내되지 않았다.
  2. 유형을 "빌려" 등록하면 데이터가 오염된다. 무효확인을 부당이득으로 등록하면 유형별 통계·exemplar selection·메타 보너스 랭킹이 가짜 라벨을 학습한다.
  3. 사용자는 한 줄 본질 ("자기 데이터로 자기 AI 학습") 을 이해하고 "기억을 쌓으면 유형 한계를 넘어선다" 는 합리적 기대를 형성했다 — 그 기대를 아키텍처가 받아줄 자리가 필요하다.

결정

1. general-civil (일반 민사) — 20번째 도메인 유형, 민사 15번째 활성

  • CASE_DOMAIN_TYPES index 14 에 삽입 (criminal-* 5 종 앞) — "CIVIL = 앞 N 종" 불변식 유지 (이제 N=15).
  • 동일 값이 3 곳 SSoT 에 복제 (의존 규칙상): recovery-input-schemas.ts · lib/cases/schemas.ts · packages/business-logic/cases/create.ts. 기존 parity 테스트 3 종이 drift 차단.

2. 의미론 — "Pack 없는 민사 사건"

동작
위저드 Step 3금액·도메인 필드 없음 — 안내 배너만 (NON_DEBT 분류)
당사자 라벨중립 디폴트 "의뢰인 / 상대방" (기존 폴백 재사용)
회수 탭placeholder — 유형별 회수 계산 비대상 명시 + 전용 유형 전환 안내
사건 상세 도메인 패널없음 (양성 조건 분기라 자동 미표시)
시효자동 산정 없음 — 민법 §162 ① 10년 보수적 대표값만 표시
서류 생성범용 DocKind (소장·답변서·준비서면·내용증명) + 두 RAG 자동 결합 — 사무소 기억의 동종 서면 + 공공 판례가 초안에 주입 (한 줄 본질 경로)
체크리스트firm: 범용 소장 core / client: 분쟁 근거·연락 기록·공부 자료
canonical statutes민사소송법 §248 + 민법 §162 (RAG eval 보장 인용)
AI prefill분류 union 에 추가 — "민사인데 분류 애매하면 null 대신 general-civil"

3. 발견 가능성 (문의의 직접 응답)

  • Step 1 안내 카피: "찾는 유형이 없나요? 일반 민사 를 선택하면 무효확인·채무부존재확인 등 목록 외 민사 사건도 등록할 수 있습니다. AI 서류 생성이 사무소 기억과 판례를 참조해 소장 초안을 만듭니다."
  • 회수 탭·Step 3 배너에서 동일 메시지 일관 유지.

비범위 (후속 판단)

  • 확인의 소 전용 Pack (청구취지 "확인한다" 구조·확인의 이익 필드) — general-civil 사용 데이터로 수요 검증 후. 채무부존재확인은 Pack 1 의 거울상이라 1순위 후보.
  • 기존 사건의 유형 재분류 마이그레이션 (빌려 등록된 사건) — 유형 변경 셀렉터로 사용자 자가 전환 가능, 일괄 도구는 데이터 확인 후.
  • ops 시나리오 카드 (updateCase{Pack} 패턴) — 도메인 입력이 없어 검증 대상 mutation 자체가 없음.

영향

  • "유형 목록 = 한계" 오인으로 인한 등록 단계 이탈 차단.
  • 라벨 오염 차단 — 목록 외 사건이 전용 유형 통계·학습에 섞이지 않음.
  • Step3 빈 "핵심 정보" 섹션 결함 (형사 때와 동일 클래스) 을 게이트로 예방.