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종.
- 음주운전(
criminal-dui) 신규 유형 — 도로교통법 §148의2 (인사사고 없는 단순 음주운전·음주측정거부). 공소시효 5년(단순)/7년(가중). 기존criminal-traffic-fatality(위험운전치사상, 특가법 §5의11 — 인사사고 전제)와 죄명·구성요건이 달라 별도 유형으로 분리. - 지위 우선 분류 — 형사 의뢰인 지위
criminalClientPosition(고소인 complainant / 피의자 suspect / 피고인 defendant, 미지정=피의자). 위저드 대분류(민사/형사) 선택 → 형사 시 지위를 유형보다 먼저 분류한다. 민사clientRole(원고/피고)의 형사판. - 표면 전면 복원 — AI 빠른등록 분류·library 형사 RAG·설정 형사 변호인 기본·dashboard 형사 KPI·랜딩 카피. 2026-06-01 차단을 막던 회귀 가드는 형사 노출 검증으로 반전.
유지 (변경 없음)
- 형사 의뢰인 포털 차단 (ADR 0046·0047) — 전과·수사기록·범죄사실 PII 위험 + 4자리 접속 코드 인증이 형사 비공개성에 부적합.
PortalLinkDialog의CriminalPortalDisabledButton유지. - 변호사법 §109 — 형사 승소율·구속 가능성 등 수치·단정 표현 금지. 기존 민사 가드(
winProbability차단 등)를 형사에도 동일 적용.
구현
- PR #3016 — enum 코어 + 음주운전 유형 (
CASE_DOMAIN_TYPES21종, 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.ts 의 CRIMINAL_DOC_KINDS(11개) + 11개 DocKind enum(docgen-types.ts 46~69행) + 11개 .docx 템플릿(scripts/generate-criminal-docx-templates.ts TARGETS). generate-docx-action.ts 가 isCriminalDocKind 으로 형사 분기, 형사 사건(recoveryType criminal-*)에서만 허용. 개수 회귀 가드 = criminal-docgen-placeholders.test.ts (오어댑터 호출 시 "형사 11 종이 아닙니다" throw).
| # | docKind | 서류명 | 근거 |
|---|---|---|---|
| 1 | criminal-defense-appointment | 변호인 선임서 | — |
| 2 | criminal-opinion | 변호인 의견서 | — |
| 3 | criminal-sentencing-materials | 양형 자료 | — |
| 4 | criminal-formal-trial-request | 정식재판청구서 | 형사소송법 §453 (약식명령 불복, 고지 후 7일) |
| 5 | criminal-no-punishment-statement | 처벌불원서 | 형법 §260③ (반의사불벌) |
| 6 | criminal-appeal-reasons-brief | 항소이유서(형사) | 형사소송법 §361-3 (1심 불복, 항소 후 20일) |
| 7 | criminal-reflection | 반성문 | 양형 자료 (피고인 본인 작성) |
| 8 | criminal-petition | 탄원서 | 양형 선처 (제3자 작성) |
| 9 | criminal-detention-review | 구속적부심사청구서 | 형사소송법 §214-2 |
| 10 | criminal-bail-request | 보석허가청구서 | 형사소송법 §94~§95 |
| 11 | criminal-supreme-appeal-reasons | 상고이유서(형사) | 형사소송법 §379 (2심 불복, 상고 후 20일) |
- 1
3 = 채택 시점 기존 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.ts→createEditableDocumentAction.DocKindenum 등록(docgen-types.ts32~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 메모리.