본문으로 건너뛰기

ADR 0058 — 형사(Pack 6) 정식 도입: 민사 전용 결정 갱신

  • 상태: 채택 (2026-06-22)
  • 갱신 대상: ADR 0045 (Pack 6 형사 draft, 미채택) · 2026-06-01 "민사 전용 서비스" 결정 (PR #2514~#2518)
  • 관련: ADR 0046·0047 (형사 포털 PII 정책 — 유지)

맥락

법률 사무소에 오전 음주운전 상담이 실제 유입됐는데, 사건 분류에 형사 대분류가 없어 등록할 수 없다는 문의가 전달됐다. 형사(Pack 6) 5종(사기·횡령·폭행상해·마약·교통치사상)은 코드에 9단계 phase·공소시효 자동계산·CriminalInfoSection·docgen 3종(채택 당시 — 선임서·의견서·양형자료)까지 완성돼 있었으나, 2026-06-01 "민사만 진행" 결정으로 사용자 진입 경로가 전면 차단(dormant)된 상태였다. (docgen 3종은 도입 직후 11종으로 확장 — 아래 "갱신 (2026-06-26)" 참조.)

실제 형사 상담 수요가 확인되어 대표가 형사 전체 정식 도입을 결정했다. 2026-06-01 당시 "형사는 회수·청구금액·recoveryType·RAG 학습 루프 모델과 안 맞는다"는 분석은 회수금액 중심 기능에 한정된 것이고, 제품의 한 줄 본질("자기 데이터로 자기 AI 를 학습·활용")의 핵심인 RAG 학습 루프는 형사 의견서·양형자료에도 동일하게 적용된다 — 오히려 형사야말로 사무소의 변론 노하우가 자산이 되는 영역이다.

결정

형사 도메인을 정식 활성화한다. 활성 사건 도메인 = 민사 15 + 형사 6 = 21종.

  1. 음주운전(criminal-dui) 신규 유형 — 도로교통법 §148의2 (인사사고 없는 단순 음주운전·음주측정거부). 공소시효 5년(단순)/7년(가중). 기존 criminal-traffic-fatality(위험운전치사상, 특가법 §5의11 — 인사사고 전제)와 죄명·구성요건이 달라 별도 유형으로 분리.
  2. 지위 우선 분류 — 형사 의뢰인 지위 criminalClientPosition(고소인 complainant / 피의자 suspect / 피고인 defendant, 미지정=피의자). 위저드 대분류(민사/형사) 선택 → 형사 시 지위를 유형보다 먼저 분류한다. 민사 clientRole(원고/피고)의 형사판.
  3. 표면 전면 복원 — AI 빠른등록 분류·library 형사 RAG·설정 형사 변호인 기본·dashboard 형사 KPI·랜딩 카피. 2026-06-01 차단을 막던 회귀 가드는 형사 노출 검증으로 반전.

유지 (변경 없음)

  • 형사 의뢰인 포털 차단 (ADR 0046·0047) — 전과·수사기록·범죄사실 PII 위험 + 4자리 접속 코드 인증이 형사 비공개성에 부적합. PortalLinkDialogCriminalPortalDisabledButton 유지.
  • 변호사법 §109 — 형사 승소율·구속 가능성 등 수치·단정 표현 금지. 기존 민사 가드(winProbability 차단 등)를 형사에도 동일 적용.

구현

  • PR #3016 — enum 코어 + 음주운전 유형 (CASE_DOMAIN_TYPES 21종, fan-out, 분류 규칙)
  • PR #3017 — 지위 우선 위저드 + criminalClientPosition 축 + party-labels 형사 분기
  • PR #3018 — 차단 표면 전면 복원 + 회귀 가드 반전

상세 구현 노트: project_pack_6_criminal_shipped 메모리.

의도적 제외

  • standard-case-names 형사 사건명 사전 — 위저드 형사 흐름이 사건명 자동완성(combobox)을 쓰지 않고 자유입력으로 대체 가능 → 제외 (후속 추가 여지).
  • 형사 docgen 죄명별 AI 프롬프트 — 형사 서류 생성은 .docx 템플릿 + placeholder 기반(criminal-docgen-placeholders)이라 prompts.ts 변경 불필요.

갱신 (2026-06-26 PR #3072·#3074·#3077·#3079·#3082) — 형사 docgen 3종 → 11종 확장 + 가사비송 2종

본문 채택(2026-06-22) 당시 형사 docgen 은 3종(선임서·의견서·양형자료)이었다. 형사 정식 도입 직후 변호사 4대 주력(이혼·음주·폭행·상속) 서류 완비를 목표로 형사 docgen 을 11종으로 확장하고, 이혼 본안 직결 가사비송 2종을 별도로 추가했다. 본 ADR 의 도입 결정과 동일한 형사 라인의 후속 구현이므로 0058 에 박제한다.

형사 docgen 11종 (.docx 템플릿 + placeholder)

도입 결정의 placeholder 기반 아키텍처(위 "의도적 제외" 2항)를 그대로 재사용해 8종을 증설, 총 11종. SSoT = apps/web/app/(workspace)/docs/_lib/criminal-docgen-placeholders.tsCRIMINAL_DOC_KINDS(11개) + 11개 DocKind enum(docgen-types.ts 46~69행) + 11개 .docx 템플릿(scripts/generate-criminal-docx-templates.ts TARGETS). generate-docx-action.tsisCriminalDocKind 으로 형사 분기, 형사 사건(recoveryType criminal-*)에서만 허용. 개수 회귀 가드 = criminal-docgen-placeholders.test.ts (오어댑터 호출 시 "형사 11 종이 아닙니다" throw).

#docKind서류명근거
1criminal-defense-appointment변호인 선임서
2criminal-opinion변호인 의견서
3criminal-sentencing-materials양형 자료
4criminal-formal-trial-request정식재판청구서형사소송법 §453 (약식명령 불복, 고지 후 7일)
5criminal-no-punishment-statement처벌불원서형법 §260③ (반의사불벌)
6criminal-appeal-reasons-brief항소이유서(형사)형사소송법 §361-3 (1심 불복, 항소 후 20일)
7criminal-reflection반성문양형 자료 (피고인 본인 작성)
8criminal-petition탄원서양형 선처 (제3자 작성)
9criminal-detention-review구속적부심사청구서형사소송법 §214-2
10criminal-bail-request보석허가청구서형사소송법 §94~§95
11criminal-supreme-appeal-reasons상고이유서(형사)형사소송법 §379 (2심 불복, 상고 후 20일)
  • 13 = 채택 시점 기존 3종. 45 = P0(PR #3072), 68 = P1(PR #3074), 911 = P2/P3(PR #3077).
  • 항소이유서·상고이유서는 형사 전용 트랙 — 민사 appeal-reasons-brief(AI 텍스트 전용)와 별개로 .docx 직접 렌더하며, 민사엔 상고 DocKind 자체가 없다.
  • 형사공탁만 의도적 제외 — 현 11종에 미포함. 후속 추가 여지.
  • PR #3079 = 형사 docgen polish (DocTypeStep stale copy + 보석 보증금란 분리 — 형량 sentenceText 재활용 시 "징역 1년"이 보증금란에 표시되던 결함을 criminalBailBondAmount·criminalBailCondition 전용 필드로 분리). PR #3082 = 정식재판청구서 §453① 7일 송달기한 편입(약식명령 수신 분류).

가사비송 docgen 2종 (PR #3075) — editor-only

형사 라인과 동시 진행된 별개 작업(이혼 본안 직결)이라 위 형사 11종과 구분한다. 형사처럼 .docx 템플릿 docgen 이 아니라 결정론 텍스트 빌더 → 인플랫폼 에디터 경로(AI 0)다.

docKind서류명근거진입 액션
divorce-pre-disposition사전처분신청서가사소송법 §62 (본안 계속 중 잠정 조치)open-divorce-pre-disposition-in-editor-action.ts
child-support-direct-payment-order양육비직접지급명령가사소송법 §63의2 (정기금 2회 이상 미지급 시 소득 직접지급)open-child-support-direct-payment-in-editor-action.ts
  • 텍스트 빌더 = _divorce/divorce-provisional-disposition-text.ts · _divorce/child-support-direct-payment-text.tscreateEditableDocumentAction. DocKind enum 등록(docgen-types.ts 32~33행)·doc-kind-to-ko.ts 라벨 존재하나 docx 템플릿(generate-criminal-docx-templates.ts 류)은 없다.

배포 잔여 (코드 머지 ≠ 동작)

형사 신규 .docx 템플릿(4~11번 8종)은 public/docxTemplates/criminal-*.docx 로 생성·Storage 시드 필요 + functions·indexes 배포 잔여 (한 줄 본질 환류는 시드 후 검증 전까지 미완). 가사비송 2종은 editor-only 라 docx 시드 불필요. 상세는 project_legacy_criminal_docgen_epic_2026_06_25 메모리.