내 추천: "재단 단독, 가명처리 한 갈래"
다른 옵션 버리고 이거 하나로 간다.
왜 이게 답인가
- 합법: 크롤링은 약관·DB권리·재식별 3중 리스크라 시작부터 깨진다. 재단 당사자 데이터+가명처리는 변우석이 "유일하게 가능"이라 못 박은 경로다.
- 공짜+우위: 서울신용보증재단은 구상금 원고라 자기 사건 판결문·소장을 전량 합법 보유. 우리는 0원에 받고, 엘박스 194만 범용 더미가 못 따라오는 구상금 특화·실명원본 코퍼스를 갖는다. 양으로 경쟁할 게 아니라 도메인 깊이로 이긴다.
- 제품과 정합: 우리 첫 제품이 구상금 소장이다. 범용 판례 다 모을 필요 없이, 구상금 판결문만 깊게 있으면 된다.
단 하나의 조건: 학습용은 가명처리, 제품 노출용은 익명/마스킹. 이 선만 지키면 됨.
버리는 것: 공식 열람 크롤링(불법 리스크), 범용 판례 대량수집(우리 제품에 불필요).
결정이 필요한 한 가지
이 노선의 성패는 재단 계약에 데이터 제공 조항을 넣느냐에 달렸다. 이건 비가역·법적 사안이라 Jason 결정 몫이다.
다음 액션:
- [Jason] 재단 계약에 "가명처리 판결문 제공+학습이용" 조항 넣기로 컨펌 — 컨펌되면 보검이 조항 초안+재단 협상안 즉시 준비
- [보검] 컨펌 시 재단 보유 판결문 샘플·개인정보 항목 범위 질의서 작성
@@ASK@@eyJxIjoi7J20IOy2lOyynCjsnqzri6gg64uo64+FK+qwgOuqheyymOumrCnsnLzroZwg6rCI6rmMPyIsIm8iOlsi7KKL7JWELCDqs4Tslb3sobDtla0g7LSI7JWIIOykgOu5hO2VtCIsIuyerOuLqCDrjbDsnbTthLAg6rec66qo67aA7YSwIO2ZleyduO2VmOqzoCIsIkphc29u6rO8IOuNlCDrhbzsnZgg7ZWE7JqUIl0sIm0iOmZhbHNlfQ==@@
알겠다. 결정 보류하고, Jason이 논의에 들고 갈 수 있게 1장으로 정리해둔다.
논의용 브리프 — 판결문 데이터 수집
쟁점 한 줄: 구상금 제품의 학습/참조용 판결문을, 어디서 어떻게 합법적으로 모을 것인가.
현재까지 결론(변우석 검토)
- 공식 열람 크롤링 = 불가 (약관·DB권리·재식별 3중 리스크)
- 재단 당사자 데이터 + 가명처리 = 유일한 합법 경로
- 보검 추천 = 이 한 갈래로 집중
논의에서 Jason이 정해야 할 것 3가지
- 재단 계약에 데이터 제공 조항을 넣을 것인가 — 넣으면 데이터 해자 확보, 단 재단이 개인정보 제공에 난색일 수 있음(협상 변수)
- "AI 학습=과학적 연구" 포섭 리스크를 우리가 안고 갈지 — 보호위 해석은 우세하나 다툼 여지 있음. 보수적으로 가려면 외부 변호사 유권 확인 후 착수
- 데이터 없이 갈 대안은 없는가 — 라이선스 상용 DB(엘박스 등) 구매로 대체 시 비용 발생하지만 법적 부담은 가벼움
트레이드오프 요약
| 노선 | 비용 | 법적부담 | 경쟁우위 |
|---|---|---|---|
| 재단+가명처리 | 0원 | 중(가명처리·계약설계) | 높음(특화 코퍼스) |
| 라이선스 DB 구매 | 유료 | 낮음 | 낮음(남도 삼) |
| 크롤링 | 0원 | 높음(위법) | — 배제 |
다음 액션:
- [Jason] 위 3개 논점 결정해 오면 → 보검이 결정대로 즉시 실행(계약조항 초안 또는 DB벤더 비교)
- [보검] 대기. Jason이 "데이터 논의 끝났다"라고 주면 이어서 착수
- [변우석] 필요 시 'AI학습=과학연구' 보호위 가이드라인 유권확인 — 노선 확정 후 트리거
논의 끝나고 방향 정해지면 그때 다시 불러줘. 그 한마디면 바로 실행으로 넘어간다.
카톡은 "내 모든 대화를 자동으로 읽기"가 공식적으로 막혀 있다. 그래서 우회 없이 합법적으로 쓸 수 있는 길과, 회색지대를 나눠서 정직하게 정리한다.
결론
"개인 카톡 전체를 자동으로 본다"는 불가능(카카오 약관·개인정보). 대신 전용 채널로 던지는 메시지만 자동 수신하는 구조는 깔끔하게 된다. 용도가 "Jason이 나한테 지시·메모를 카톡으로 던지고 싶다"면 이게 정답이다.
방법 비교
| 방식 | 자동 수신 | 합법/안정성 | 한계 |
|---|---|---|---|
| ① 카카오 채널 챗봇(오픈빌더+webhook) | ✅ | 합법·안정 | 그 채널로 보낸 것만. 일반 친구 대화는 안 보임 |
| ② 안드로이드 알림 읽기 앱(NotiListener→서버) | ✅ | 회색지대(약관소지)·불안정 | 폰 항상 켜둬야, 알림 미리보기만 |
| ③ PC카톡 화면 자동화(UI 스크래핑) | ✅ | 약관 위반·잘 깨짐 | 비추천 |
| ④ 채널 대신 텔레그램/슬랙 봇으로 전환 | ✅ | 합법·가장 안정 | 카톡을 떠나야 함 |
내 추천
①번 — LAX 전용 카카오 채널 하나 파고, Jason이 거기로 메시지를 던지면 내가 자동으로 받는다.
- 한 번 세팅 = 이후 자동. "보검아 이거 처리해" 하고 카톡 치면 webhook으로 나한테 들어옴.
- 합법·안정적이고, 카톡을 안 떠나도 됨.
- 단점: 친구·단톡방 일반 대화까지 긁어오진 못함(그건 어차피 불법 영역).
만약 목적이 "의뢰처·팀과의 업무 카톡을 내가 모니터링"하는 거라면 ①로는 부족하고, 그건 본질적으로 막혀 있어 ④(업무방을 슬랙/텔레그램으로 이전)가 현실적이다.
결정 포인트
세팅 방향이 용도에 따라 갈린다. 그래서 먼저 확인한다.
다음 액션:
- 용도 확정되면 → 보검이 ①이면 채널 생성+webhook 연동 절차를, ④면 봇 세팅 절차를 단계별로 바로 깔아줌
- 어느 쪽이든 실제 서버 연동은 한 번의 개발 작업 필요(구교환에게 일손 요청 가능)
@@ASK@@eyJxIjoi7Lm07YahIOyXsOuPmeydmCDso7wg7Jqp64+E6rCAIOutkOyVvD8iLCJvIjpbIuuCmOKGkuuztOqygCDsp4Dsi5zCt+uplOuqqCDrjZjsp4DquLAo7KCE7JqpIOyxhOuEkCkiLCLsl4XrrLQg7Lm07Yah67CpIOuqqOuLiO2EsOungSIsIuuRmCDri6QiLCLqt7jrg6Ug6rCA64ql7ISx66eMIOyVjOqzoCDsi7bsl4jslrQiXSwibSI6ZmFsc2V9@@
업무 카톡방 모니터링은 가장 솔직하게 말해야 하는 영역이다. 공식적으로 되는 길이 없다.
결론
단톡방 메시지를 자동 수집하는 합법·안정적 공식 API는 존재하지 않는다. 카카오는 봇을 일반 단톡방에 넣거나 채팅방 메시지를 읽는 API를 안 연다. 그래서 실제로 "작동하는" 방법은 전부 ①회색지대거나 ②채널 이전이다. 둘 중 택해야 한다.
현실적인 두 안
A안 — 안드로이드 알림 리스너 (작동하지만 리스크)
- 전용 폰/에뮬레이터에 카톡 로그인 → 단톡방 알림을 NotiListener 앱이 읽어 webhook으로 우리 서버에 전송 → 내가 받음.
- 장점: 카톡 그대로 두고 자동 수집됨.
- 단점(전부 실재 리스크):
- 카카오 약관 위반 소지 → 계정 정지 가능성
- 알림 미리보기만 잡힘(긴 메시지·이미지·삭제 메시지 누락)
- 폰 24시간 켜둬야, 깨지기 쉬움
- 개인정보: 단톡방엔 의뢰처·타인 메시지가 있다. 동의 없이 서버 수집·저장 = 법적 문제(변우석 검토 필수)
B안 — 핵심 업무방을 슬랙/텔레그램으로 이전 (정공법)
- 봇이 합법적으로 모든 메시지 수신·검색·연동.
- 단점: 상대를 새 채널로 옮겨야 함. 의뢰처(재단)는 카톡을 고수할 수 있음.
내 추천: 혼합
- 내부 팀방(보검·교환·우석·Jason) → B안. 슬랙/텔레그램으로 옮기면 깨끗하게 풀린다. 우리끼리니 전환 비용도 낮음.
- 의뢰처 카톡방(재단) → 무리하게 자동화하지 말 것. A안은 정지·개인정보 리스크가 우리 사업 신뢰를 깨뜨릴 수 있다. 차라리 보검이 "요약 붙여넣기" 받는 반자동이 안전.
A안을 굳이 간다면, 그건 약관·계정·개인정보 비가역 리스크라 내 선에서 못 정한다 — Jason 결정 사안이다.
다음 액션
- [Jason] A안(알림수집 리스크 감수) vs B안(내부방 채널이전) 방향 결정 [논의]
- [변우석] A안 갈 경우 단톡방 타인 메시지 수집·저장의 개인정보 적법성 검토 — 트리거 시
- [보검] B안 컨펌되면 내부 슬랙/텔레그램 봇 세팅 절차 즉시 착수(구교환에 개발 일손 요청)
@@ASK@@eyJxIjoi7Ja064qQIOuwqe2WpT8iLCJvIjpbIuuCtOu2gOuwqeunjCDsiqzrnpkv7YWU66CI6re4656oIOydtOyghChCwrfstpTsspwpIiwi7JWM66a87IiY7KeRIOyekOuPme2ZlCDqsJDsiJgoQSkiLCLrkZgg64ukIOyVjOyVhOuztOqzoCDruYTqtZDtkZwg7KSYIiwi7J2864uoIOuztOulmCJdLCJtIjpmYWxzZX0=@@
최신 정책을 직접 확인한다.
🌐 웹검색 · kakaotalk open chat bot API receive messages developer 2025 …
신규 단서가 둘 나왔다. 정확히 확인하기 위해 원문을 본다.
🌐 웹 · https://en.namu.wiki/w/카카오톡 봇/제작법
카카오톡 오픈채팅 봇(Open Chatbot, 구 방장봇)이 공식 기능인가? 오픈채팅방의 메시지를 webhook 등으로 자동 수신(읽기)할 수 있는가? 일반 단톡방과 오픈채팅방의 차이, 공식 API 지원 여부, 2025-2026 최신 상태를 알려줘.
확인 끝. 새로 열린 길은 없다. 카카오 정책은 그대로다.
결론: 단톡방 자동 모니터링, 여전히 공식 경로 없음
| 항목 | 2026.6 현재 상태 |
|---|---|
| 일반 단톡방 메시지 수신 API | ❌ 없음 (변화 없음) |
| 오픈채팅 봇(공식) | 환영·알림·자동응답 3종만. 메시지 webhook 수신 ❌ |
| 챗봇 Event API / 오픈빌더 | 우리 채널로 온 메시지만 수신 ⭕ — 단톡방은 아님 |
| 카카오워크(Kakao Work) | 자체 메신저는 webhook 됨 — 단 카톡과 별개 앱 |
최근 바뀐 건 전부 '발송' 쪽이지 '수신'이 아니다:
- 친구톡 2025.12.31 종료 → 브랜드메시지로 대체 (보내기)
- 비즈니스 도구 '파트너센터'로 통합(2025.12.8) (관리)
- → 단톡방 읽기와는 무관
핵심: 디스코드·텔레그램·슬랙은 그룹챗 봇 webhook을 다 주는데, 카카오만 오픈채팅조차 메시지 수신 webhook을 안 연다. 이건 카카오의 일관된 폐쇄 정책이라 단기간 바뀔 신호도 없다.
그래서 내 추천은 유지된다 (오히려 확정됨)
정책 재확인 결과, 우회(알림 리스너)는 여전히 회색지대고 공식 길은 없다. 그러니:
- 내부 팀방 → 슬랙 or 카카오워크로 이전. 카카오워크는 카카오 생태계라 팀 거부감 적고 webhook 정식 지원. 슬랙은 연동 생태계가 더 넓음.
- 의뢰처(재단) 카톡 → 자동화 포기, 반자동(요약 붙여넣기) 유지.
다음 액션
- [Jason] 내부 팀방 이전처: 카카오워크 vs 슬랙 vs 텔레그램 중 택 [논의]
- [보검] 선택되면 봇 webhook 세팅 절차 즉시 착수(구교환에 개발 일손)
- 카카오 정책은 분기마다 보검이 재확인 — 수신 API 열리면 바로 보고
@@ASK@@eyJxIjoi64K067aAIOyXheustOuwqeydhCDslrTrlJTroZwg7Jiu6ri46rmMPyIsIm8iOlsi7Lm07Lm07Jik7JuM7YGsKOy5tO2GoSDsg53tg5zqs4TCt+qxsOu2gOqwkOKGkykiLCLsiqzrnpko7Jew64+ZIOyDne2DnOqzhCDrhJPsnYwpIiwi7YWU66CI6re4656oKOqwgOuzjeqzoCDrtIcg7J6Q7Jyg64+E4oaRKSIsIuyVhOyngSDqsrDsoJUg7JWIIO2VtCJdLCJtIjpmYWxzZX0=@@
알겠다. 이 건은 여기서 멈춘다.
카톡 모니터링 — 현재 상태 정리(보류)
- 결론: 단톡방 자동 모니터링은 카카오에 공식 경로 없음. 신규 정책도 없음(2026.6 재확인 완료).
- 작동하는 선택지: 내부방을 카카오워크/슬랙/텔레그램으로 이전(정공법) — 이전처 미정.
- 의뢰처 카톡: 자동화 포기, 반자동 유지가 안전.
- 대기 상태: Jason이 이전처 정하면 보검이 webhook 세팅 즉시 착수.
필요할 때 "카톡 건 다시"라고만 주면 여기서 바로 이어간다. 카카오가 수신 API를 열면 분기 재확인 때 내가 먼저 보고하겠다.
다음 액션:
- [보류] 내부방 이전처 결정은 Jason 몫 — 대기
- [보검] 카카오 수신 API 정책 분기별 재확인, 변화 시 선보고
- [데이터 건] 앞서 판결문 수집(재단+가명처리) 노선도 Jason 논의 대기 중 — 두 건 다 결정 오면 바로 실행
좋다. lawware·lawtop을 조사하고 LAX 적용 설계서까지 한 번에 만든다. 먼저 두 제품을 병렬로 리서치한다.
핵심 잡았다. 두 공식 사이트에서 기능을 더 깊게 본다.
🌐 웹 · https://lawware.co.kr/services.html
로웨어(LawWare)가 제공하는 모든 기능을 상세히 나열해줘. 사건관리, 송무관리, 기일관리, 자문관리, 문서관리, 그룹웨어, 회계, 송달, 전자결재, 모바일, 대법원 나의사건 연동 등 각 기능이 구체적으로 무엇을 하는지 최대한 자세히.
🌐 웹 · https://www.lawtop.co.kr/contents/lawtop.html
로탑(LawTop)이 제공하는 모든 기능을 상세히 나열해줘. 송무, 사건, 기일, 문서, 고객, 수납/회계, 통계분석, 전자결재, 그룹웨어, 모바일앱, 상담관리 등 각 기능이 구체적으로 무엇을 하는지, 그리고 Slim/Medium/Full 버전 차이가 있으면 그것도 최대한 자세히.
리서치 완료. 두 제품 기능을 다 훑었고, LAX 적용 설계서를 시각 보고서로 만든다.
✏️ 쓰기 · lawware-lawtop-lax-design.html
설계서 완성. 시각 보고서는 새 탭으로 열린다. 채팅으로도 핵심만 요약한다.
한 줄 결론
로웨어·로탑은 20년 누적된 "법률사무소 ERP·그룹웨어" — 사건을 관리한다. LAX는 증거→사실추출→소장 작성이 코어다. ERP 전체를 베끼면 진다. AI 작성을 지키되, 변호사가 LAX를 메인으로 쓰게 만드는 최소 송무 관리 레이어만 흡수한다.
두 제품이 실제로 주는 것
- 공통 간판 = 대법원 '나의사건' 자동연동 + 기일관리. 둘 다 1번으로 내세운다 → 송무 SW의 생명선.
- 로탑이 더 넓다: 손배 자동완성(소장·청구취지 자동작성), 인지대·송달료·이자 자동계산, 서식 3천종, 회계·세금계산서·배당, 그룹웨어·전화/팩스 연동까지 350개 UI.
- 로웨어는 클라우드·가벼움: 사건·기일·자문TC·문서함·그룹웨어. 설치 없이 쓰는 게 강점.
- 둘 다 AI 작성은 약하다 (로탑 음성→상담록 정도). ← 우리 빈틈.
LAX 적용: 흡수 / 차별화 / 버림
| 항목 | |
|---|---|
| 🟢 흡수(필수) | 대법원 나의사건 연동·기일/불변기일 자동관리 · 이해충돌 체크 · 사건생애주기 |
| 🟣 차별화(우리 무기) | 구상금 소장 자동작성(코어) · 이자·소멸시효·인지대 자동계산 · 후속서면 AI작성 |
| 🔴 버림/후순위 | 회계·세금계산서 · 그룹웨어·전화/팩스 · 타임시트·경영통계 |
로드맵
- P0(현재): 구상금 소장 자동작성 ✓
- P1(핵심·타협불가): 나의사건 연동 + 기일관리 + 이해충돌 + 자동계산 ← 없으면 변호사가 메인으로 안 씀
- P2: 사건 전주기 + 송달 + 답변서·준비서면 AI작성
- P3: 권한·타임시트·통계(로펌 단계)
핵심 권고 3
- ERP 폭으로 정면승부 금지 — 20년 격차. '깊이(AI작성)'로 이긴다.
- 단, P1 4종은 타협 불가 — 있으면 좋은 게 아니라 없으면 탈락.
- 구상금으로 끝까지 수직 — 소장→이자·시효→후속서면 1등 굳히고 인접(대여금·양수금)으로 확장.
다음 액션:
- [Jason] 이 방향(작성코어 유지 + P1 관리레이어 흡수) 컨펌 여부 — 컨펌 시 P1 기능 상세 스펙으로 분해
- [변우석] 이해충돌 체크·기일관리의 법적 요건(변호사법·기한규정) 검토 — P1 착수 전
- [보검] 컨펌되면 '대법원 나의사건 연동' 기술 난이도·합법성 1차 조사
📄 아티팩트: lawware-lawtop-lax-design — 새 탭에서 열기
짚고 갈 게 있다. 걸림돌은 "기능 양"이 아니다. 규칙·템플릿·관리시스템은 대부분 가져올 수 있다. 진짜 벽은 따로 3개다. 거기부터 정직하게.
직답: 가져오기 난이도 3층
| 층 | 항목 | 가져오기 |
|---|---|---|
| 🟢 쉬움 (다 가능) | 업무규칙·서식 3천종·계산로직(인지대·송달료·이자·시효)·사건/기일/문서 관리 UI·전자결재·통계 | 복제 가능. 소프트웨어 로직이라 베끼고 AI로 더 쉽게 재구성 가능 |
| 🟡 조건부 | 대법원 '나의사건' 자동연동 | 공식 API 없음 → 스크래핑은 엘박스 크롤링과 같은 약관·합법성 이슈. 변우석 검토 필요 |
| 🔴 장벽 | 회계·세금계산서·배당·은행계좌 연동 | 국세청·은행 연동 = 법적·인증 장벽 + 유지보수 무거움. 가능하나 비싸고 후순위 |
→ "다 가져올 수 있냐"의 답: 규칙·템플릿·관리시스템 자체는 예. 외부 데이터연동(대법원·은행)만 조건부·장벽이다.
반전 — 네 방향이 사실 더 똑똑하다
나는 앞서 "버려라"라고 했는데, 네 의도("규칙·템플릿을 가져와 더 쉽게")는 버리는 게 아니라 흡수하되 AI로 압축하는 거다. 이게 오히려 강하다:
- 그들의 규칙·템플릿 = 20년 검증된 도메인 지식. 우리가 0에서 만들 걸 무료로 흡수.
- 그들은 그 기능을 350개 UI에 흩뿌렸다(복잡함이 그들의 약점). LAX는 같은 기능을 AI 대화·자동화로 압축 → "다 갖추되 더 쉽게"가 진짜 실현되는 지점이 여기다.
- 즉 정정한다: 비전 = 풀세트 흡수가 맞다. 단 "버림"이 아니라 "AI로 단순화해서 다 갖춤".
단 하나의 현실 제약 — 순서
"다 갖춤"은 목표로 OK. 문제는 한 번에 다는 불가(지금 인력으로 350개 UI 동시 불가). 그래서:
구상금 도메인 하나를 풀세트로 먼저 완성 → 그 틀을 수평 복제.
- 구상금 사건의 상담→소장→기일→계산→후속서면→수금까지 끝까지 다 갖춘 완결 모델 1개를 만든다.
- 이게 곧 "관리시스템 전체"의 1인분 검증판. 검증되면 대여금·양수금 등으로 틀 복제가 빠르다.
- 처음부터 전 영역 얇게 펴면 어디서도 1등 못 한다.
결정이 필요한 3가지
- 대법원 나의사건 연동 — 스크래핑 합법성. 막히면 "다 갖춤"의 핵심 한 조각이 빠짐 → 변우석 검토
- 회계/세금계산서 — 자체개발 vs 외부연동(더존 등) vs 후순위. 무겁다
- 인력 — 350개급을 향하려면 개발 인력 증원 불가피 → 구교환에 영입 요청 타이밍
다음 액션:
- [Jason] "비전=풀세트 흡수 / 실행=구상금 수직 풀세트 먼저" 이 틀 컨펌 여부
- [변우석] 대법원 나의사건 스크래핑 연동의 약관·합법성 검토(데이터 건과 같은 선상)
- [보검] 컨펌 시 '구상금 풀세트 완결 모델'의 기능 전수 목록 + 우선순위 맵 작성
@@ASK@@eyJxIjoi7Ja065a76rKMIOqwiOq5jD8iLCJvIjpbIuu5hOyghD3tkoDshLjtirgsIOyLpO2WiT3qtazsg4HquIjrtoDthLAg7ZKA7IS47Yq4ICjstpTsspwpIiwi7KeE7KecIOyghCDsmIHsl60g64+Z7Iuc7JeQIOuLpCAo7J2466ClIOuMgO2PrSDspp3sm5Ag7KCE7KCcKSIsIuyXsOuPmcK37ZqM6rOEIO2VqeuyleyEseu2gO2EsCDtmZXsnbjtlZjqs6Ag6rKw7KCVIiwi6rWs7IOB6riIIO2SgOyEuO2KuCDquLDriqUg7KCE7IiY66qp66Gd67aA7YSwIOu9keyVhOykmCJdLCJtIjpmYWxzZX0=@@
좋다. 방향 확정. 구상금 풀세트 청사진을 컨펌용 UI로 만든다 — 어떤 메뉴·기능을 어떤 순서로 지을지 한 화면에 담는다.
✏️ 쓰기 · gusangeum-blueprint.html
청사진 나왔다. 새 탭으로 열린다 — 사이드바 메뉴 구조 + 12개 기능 카드 + 우선순위 색깔 + 사건이 흐르는 길을 한 화면에 담았다. 보면서 항목 단위로 컨펌하면 된다.
핵심 요약
- 이미 있음(초록): 의뢰인·사건 / 증거→사실추출 / 소장 자동작성 ← AI 코어는 확보됨
- P1 먼저(파랑): 상담·이해충돌 체크 / 자동계산(인지대·시효) / 대법원 나의사건 연동 / 기일·기한 관리 ← 이게 "메인툴화"의 핵심
- P2(보라): 후속서면 AI작성 / 송달 / 청구·수금
- P3(회색): 통계·권한·타임시트 / 회계 풀세트 ← 외부연동 우선, 뒤로
Jason, 네가 해야 할 일 (청사진 4번에도 체크박스로 박아둠)
- 청사진 컨펌 — 12개 카드 중 빼거나 추가할 것 / P1 순서 동의 여부 / 회계 후순위 동의 여부
- 대법원 나의사건 연동 합법성 — 변우석에 검토 맡길지 GO (P1 최대 변수, 막히면 우회 설계 필요)
- 인력 — 풀세트 향하려면 개발 증원 불가피 → 구교환 영입 요청 타이밍
- 재단 데이터 조항 — (이전 건) 가명처리 판결문 제공 계약조항, 아직 대기중
네가 ①을 컨펌하면 → 내가 P1 5종을 개발 착수용 상세 스펙으로 분해해 다음 단계로 넘긴다. ②는 "변우석한테 맡겨"라고만 하면 바로 위임한다.
다음 액션:
- [Jason] 청사진 보고 ①컨펌 / ②연동검토 GO / ③인력 / ④재단조항 — 4개 중 되는 것부터 한 줄씩
- [보검] ① 오면 P1 상세 스펙 분해, ② 오면 변우석 즉시 위임 — 대기
📄 아티팩트: gusangeum-blueprint — 새 탭에서 열기
기존 메뉴를 유지하는 게 맞다 — 새 메뉴 폭증은 로탑처럼 복잡해지는 길이다. 먼저 현재 LAX 메뉴 구조를 정확히 확인하고 그 안에 기능을 흡수하는 안으로 다시 짠다. 추측하지 않는다.
📖 읽기 · SKILL.md
🔍 검색 · 사건|의뢰인|대시보드|고객관리|일정|소장
경로: C:/Users/user/LAX-site
glob: *.{tsx,ts,jsx,js,vue}
실제 메뉴 정의를 직접 읽는다.
🔍 검색 · NAV_ITEMS
경로: C:/Users/user/LAX-site/src/app/shell.tsx
확인했다. 좋은 판단이고, 다행히 거의 그대로 된다. 현재 메뉴를 보니 네가 원하는 기능 대부분이 이미 메뉴에 자리가 있다. 새 청사진은 과했다 — 신규 최상위 메뉴는 0개로 다시 짠다.
현재 LAX 메뉴 (실제 코드 기준)
Dashboard · 채팅 · 기능(송무 6단계 트리) · 고객관리 · AR · 보고서 · 설정
내 P1~P3 기능 → 기존 메뉴 어디에 흡수되나
| 추가하려던 기능 | 들어갈 기존 위치 | 신규 메뉴? |
|---|---|---|
| 이해충돌 체크 | 고객관리 (/conflicts 라우트 이미 존재) |
❌ 이미 있음 |
| 기일·기한 관리 | Dashboard 캘린더 (이미 통합 확정) | ❌ 이미 있음 |
| 후속서면(답변서·준비서면) | 기능 > 심리·증거 (이미 메뉴에 있음, 준비중) | ❌ 이미 있음 |
| 청구·수금 | AR | ❌ 이미 있음 |
| 통계 | 보고서 | ❌ 이미 있음 |
| 자동계산(인지대·시효) | 소장 작성 화면 안의 한 단계 | ❌ 메뉴 아님, 기능 내부 |
| 대법원 나의사건 연동 | 고객관리 > 사건 상세 안의 탭 | ❌ 메뉴 아님, 사건 데이터 |
| 송달 관리 | 사건 상세 또는 기능>강제집행 | ❌ 기존 안에 흡수 |
→ 결론: 신규 최상위 메뉴 0개. 로탑이 350개 화면에 흩뿌린 걸, LAX는 기존 6개 메뉴 안에 '깊이'로 넣는다. 추가되는 건 "메뉴"가 아니라 기존 화면 속 단계·탭·필드다.
딱 하나 정할 것
**"상담 접수"**를 어디 둘지만 애매하다. 두 안:
- (A) 고객관리 안에 흡수 — 메뉴 신설 0 유지 (네 방침에 맞음)
- (B) 채팅으로 상담 → 사건 전환 — 역시 메뉴 신설 0
둘 다 새 메뉴 없이 된다. 나머지는 전부 기존 자리에 들어간다.
청사진 HTML도 "기존 메뉴 그대로 + 흡수 지점 표시" 버전으로 다시 그릴까? 아니면 위 표로 충분한가?
다음 액션:
- [Jason] 위 흡수 매핑 OK인지 / 상담접수 A냐 B냐 한 줄
- [보검] OK 오면 "기존 메뉴 유지" 확정 반영해 P1 기능을 기존 화면 내부 작업으로 스펙 분해
@@ASK@@eyJxIjoi7KeE7ZaJIOuwqeyLnSIsIm8iOlsi7J20IOunpO2VkeuMgOuhnCBPSywg7IOB64u07J2AIOqzoOqwneq0gOumrOyXkCDtnaHsiJgoQSkiLCJPSywg7IOB64u07J2AIOyxhO2MheyXkOyEnCDsoITtmZgoQikiLCLquLDsobQg66mU64m0K+2doeyImOyngOygkCBIVE1M66GcIOuLpOyLnCDrs7Tsl6zspJgiLCLrqZTribTrs4TroZwg642UIOuUsOyguOuztOyekCJdLCJtIjpmYWxzZX0=@@
"상담 접수"는 내가 로탑·로웨어에서 무비판적으로 끌어온 항목이다. 솔직히 말하면 우리 첫 제품엔 안 맞다. 설명하고 빼는 걸 권한다.
상담 접수란
정식 수임 전 단계다. 의뢰인이 처음 전화·방문해 "이런 사건인데 맡아줄 수 있냐" 문의한 걸 기록하는 것:
- 누가·언제·무슨 건으로 상담했나
- 수임으로 이어졌나(전환율), 이해충돌은 없나
- 로펌 입장에선 영업·고객 깔때기 관리 기능이다.
우리한테 필요한가 — 아니다
- 우리 구상금 모델은 서울신용보증재단이 사건을 묶음으로 위임하는 구조다. 개인 의뢰인이 하나씩 전화로 상담하는 흐름이 아니다.
- 즉 "상담 → 수임" 깔때기 자체가 없다. 재단에서 사건이 바로 **수임(사건 등록)**으로 들어온다.
- 상담 접수는 나중에 일반 변호사·로펌向으로 확장할 때나 의미가 생긴다.
추천
지금은 빼라. 흐름을 이렇게 단순화:
~~상담~~ → 사건 등록(수임) → 증거 업로드 → AI 사실추출 → 소장작성 → 계산 → 기일관리 → 후속서면 → 종결
이러면 새 메뉴도, 애매한 단계도 없다. 시작점이 고객관리의 사건 등록으로 깔끔해진다.
정리하면 — 매핑 OK + 상담접수 삭제 = 신규 최상위 메뉴 0개, 흐름 시작점은 사건 등록. 이걸로 확정하면 P1 기능을 기존 화면 내부 작업으로 분해하겠다.
다음 액션:
- [Jason] "상담접수 빼고 사건등록부터" 확정 한 줄이면 → 보검이 P1 스펙 분해 착수
- [보검] 확정 시 P1(이해충돌·자동계산·나의사건연동·기일기한)을 기존 화면별 작업 항목으로 분해
@@ASK@@eyJxIjoi7IOB64u0IOygkeyImCDsspjrpqwiLCJvIjpbIuu5vOqzoCDsgqzqsbTrk7HroZ3rtoDthLAg7Iuc7J6RICjstpTsspwpIiwi6re4656Y64+EIOqwhOuLqO2eiCDrhKPslrTrkawiLCJQMSDsiqTtjpkg67aE7ZW067aA7YSwIOuztOyXrOykmCJdLCJtIjpmYWxzZX0=@@
잠깐 — 이건 대화 데이터를 합치는 작업이라 잘못 건드리면 비가역이다. 추측으로 DB를 만지지 않고, 먼저 구조부터 확인한다. 두 URL이 같은 DB를 쓰는지가 핵심이다.
🔍 검색 · lax-dtb|database_id|database_name|d1_databases
경로: C:/Users/user/LAX-site
배포 구조가 보인다. 핵심은 "대화"가 서버 DB에 저장되는지, 브라우저에 저장되는지다. 이게 합치는 방법을 가른다. 채팅 저장 방식을 확인한다.
🔍 검색 · localStorage|conversation|chat_|messages|INSERT INTO|session
경로: C:/Users/user/LAX-site/src/app/chat
채팅은 서버 DB(lax-db, D1)의 chat_sessions 테이블에 저장된다(브라우저 아님). 그럼 핵심은 두 URL이 같은 DB를 보느냐다. 읽기 전용으로 production DB 상태만 확인한다(데이터는 안 건드림).
⚡ 명령 · npx wrangler d1 execute lax-db --remote --command "SELECT id, agent_id, substr(title,1,30)…
production DB(lax-db)에 세션들이 있다 — 지금 이 대화도 여기 있다. 이제 10bff280이 같은 production DB를 보는 deployment인지, 별도 preview인지가 판정 포인트다. 배포 목록으로 확인한다.
lax-dtb 프로젝트가 이 계정에 없다고 나온다. 실제 Pages 프로젝트 목록을 확인한다.
프로젝트명은 "lax"(도메인이 lax-dtb.pages.dev)였다. 두 URL은 같은 프로젝트다. 10bff280이 production인지 확정한다.
확인 끝. 합칠 게 없다 — 이미 다 합쳐져 있다. 좋은 소식이다.
무슨 상황인지
- 두 URL은 같은 Cloudflare 프로젝트 "lax"(도메인 lax-dtb.pages.dev)의 deployment다.
10bff280도,lax-dtb.pages.dev도 둘 다 Production / main 브랜치 → 같은 DB(lax-db)를 공유한다.- 채팅은 그 DB의
chat_sessions테이블에 저장된다. 방금 직접 조회해 확인했다.
→ 즉, 두 URL에서 한 대화는 처음부터 같은 한 DB에 다 들어 있다. 데이터가 갈라진 게 아니다.
그럼 왜 둘로 느껴졌나
10bff280.lax-dtb.pages.dev= 3시간 전 옛 빌드의 고정 주소 (코드 스냅샷)lax-dtb.pages.dev= 항상 최신 빌드를 가리키는 대표 주소- 차이는 데이터가 아니라 코드 버전이다. 데이터(대화)는 양쪽이 똑같이 공유한다.
결론 / 네가 할 일
lax-dtb.pages.dev 하나만 쓰면 된다. 거기 /chat 들어가면 양쪽에서 한 대화가 모두 목록에 보인다 — 옛 URL(10bff280)에서 한 것도 거기 다 있다.
- 10bff280 북마크는 버려라. 옛 코드라 헷갈리기만 한다.
- 혹시
lax-dtb.pages.dev/chat에서 특정 대화가 안 보이면, 그건 데이터 문제가 아니라 캐시일 수 있으니 새로고침(Ctrl+Shift+R) 후 그래도 없으면 말해줘 — 그땐 세션 단위로 짚어보겠다.
데이터는 전혀 안 건드렸다(읽기 조회만 했다). 머지 같은 위험한 작업은 애초에 필요 없었다.
다음 액션:
- [Jason] 앞으로
lax-dtb.pages.dev만 사용 — 옛 hash URL 북마크 삭제 - [Jason] 그래도 특정 대화가 안 보이면 제목 알려주면 보검이 DB에서 확인
- [보류] 앞서 구상금 메뉴 건(상담접수 빼고 사건등록부터) 컨펌은 여전히 대기 중
확정. 상담 접수 빼고 사건 등록이 출발점이다. 약속대로 P1을 기존 화면별 작업으로 분해하되, "사건 등록부터 시작"이니 먼저 현재 사건 등록 화면이 어떤 상태인지 실제 코드로 확인한다.
📖 읽기 · routes.tsx
중요한 발견이다 — 사건 등록 화면은 이미 구상금에 맞게 잘 구현돼 있다. 상대방(주채무자·연대보증인), 이해충돌 자동경고, 기일관리, 대위변제일→소멸시효(+5년) 자동계산까지 이미 코드에 있다. P1 상당수가 이미 살아있다.
Jason 요청("상담 접수 빼고 사건등록부터")의 실제 구현 지점은 수임상태 단계 정의다. 현재 문의 → 상담 대기 → 상담 완료 → 계약 대기 → …로 시작한다. 이 정의를 보고 상담 단계를 걷어낸다.
🔍 검색 · STAGES|StagePill|export const
경로: C:/Users/user/LAX-site/src/shared/crm.tsx
수임상태 정의를 찾았다: ['문의', '상담 대기', '상담 완료', '계약 대기', '계약 완료', '착수', '종결']. 상담 전 3단계를 걷어내고 접수부터 시작하게 바꾼다. 먼저 이 단계 문자열을 다른 곳에서 참조하는지 전수 확인한다(깨짐 방지).
🔍 검색 · 문의|상담 대기|상담 완료|'상담|"상담
경로: C:/Users/user/LAX-site/src
전수 확인 끝. 수정 지점은 정확히 3곳이다(나머지 '문의'는 사이트 문의폼·유입경로라 무관). surgical하게 간다. 먼저 기존 DB에 상담 단계 사건이 있는지 확인하고, 코드 3곳을 고친다.
⚡ 명령 · npx wrangler d1 execute lax-db --remote --command "SELECT status, COUNT(*) AS n FROM matte…
⚡ 명령 · npx wrangler d1 execute lax-db --remote --command "SELECT status, COUNT(*) AS n FROM matte…
현황 확정: 상담 단계 데이터 12건(문의 4·상담 대기 4·상담 완료 4) — 고른 분포로 테스트 데이터다. 접수로 합치면 된다. 코드 3곳을 고친다.
✏️ 편집 · crm.tsx
📖 읽기 · crm.tsx
Three surgical edits.
✏️ 편집 · crm.tsx
✏️ 편집 · routes.tsx
✏️ 편집 · routes.tsx
코드 3곳 수정 완료. 빌드 검증하고 DB 마이그레이션을 병행한다.
⚡ 명령 · npx wrangler d1 execute lax-db --remote --command "UPDATE matters SET status='접수' WHERE st…
tsc 통과, DB 마이그레이션 12건 완료. 빌드하고 배포한다.
⚡ 명령 · npx wrangler pages deploy ./dist --project-name lax --branch=main 2>&1 | grep -iE 'http|su…
배포 완료(5f7d087a → lax-dtb.pages.dev). 검증한다 — 상태 분포와 페이지 응답.
⚡ 명령 · npx wrangler d1 execute lax-db --remote --command "SELECT status, COUNT(*) AS n FROM matte…
⚡ 명령 · curl -s -o /dev/null -w "%{http_code}" "https://lax-dtb.pages.dev/matters?t=$(date +%s)" 2…
완료. 프로덕션 반영·검증까지 끝났다.
한 일 (라이브 반영됨)
수임상태 흐름에서 상담 단계를 걷어내고 접수부터 시작하도록 변경.
- 변경 전: 문의 → 상담 대기 → 상담 완료 → 계약 대기 → 계약 완료 → 착수 → 종결
- 변경 후: 접수 → 계약 대기 → 계약 완료 → 착수 → 종결
- 코드 3곳 수정(단계 정의·정렬·기본값) + 기존 데이터 12건을
접수로 마이그레이션 - 배포:
lax-dtb.pages.dev(deploy5f7d087a),/matters200 OK, 상태 분포 검증 완료 (접수 12·계약대기 3·계약완료 3·착수 3·종결 3, 상담 단계 0)
확인된 좋은 소식
사건 등록 화면을 열어보니 P1 상당수가 이미 살아있다:
- 상대방 등록(주채무자·연대보증인·물상보증인) ✓
- 이해충돌 자동경고(상대방이 의뢰인 명부에 있으면 ⚠️) ✓
- 기일·기한 관리 + D-day 뱃지 + 임박 알림 ✓
- 대위변제일→소멸시효(+5년), 송달일→답변서기한(+30일) 자동계산 ✓
- 사건 → 소장 작성 연동 ✓
→ 즉 P1 중 새로 만들 게 거의 없다. 미구현 핵심은 사실상 대법원 '나의사건' 연동 하나뿐인데, 이건 합법성 검토(변우석) 대기 중이다.
다음 액션
- [Jason]
lax-dtb.pages.dev/matters들어가서 새 흐름(접수부터) 직접 확인 — 단계명/순서 OK인지 - [Jason] 유일 미구현 P1 '대법원 나의사건 연동' 합법성 검토를 변우석에 맡길지 GO
- [보검] GO 시 변우석 위임 + 연동 기술 난이도 조사
법무(합법성)와 기술(연동 방법) 두 축을 동시에 검토한다. 변우석에 합법성 위임 + 내가 기술 경로를 조사한다.
🤝 동료에게 질문 · → wooseok: 대법원 '나의사건검색'(대국민 사건조회, scourt.go.kr) 연동의 합법성 검토 부탁해.배경: LA…
대법원 '나의사건검색'(대국민 사건조회, scourt.go.kr) 연동의 합법성 검토 부탁해.
배경: LAX에서 사건번호+당사자명으로 대법원 나의사건검색의 사건 진행내역·기일을 자동으로 조회해 우리 DB에 동기화하려 함(로웨어·로탑이 '대법원 나의사건 실시간 동기화'로 광고하는 그 기능). 방식은 (a)우리 서버가 주기적으로 대법원 사이트에 자동조회(스크래핑), 또는 (b)의뢰인/변호사가 본인 전자소송 계정으로 받은 데이터를 우리가 받는 구조.
결론부터 가능/불가/조건부로:
1) 대법원 나의사건검색을 자동조회(스크래핑)해 진행내역·기일을 가져오는 게 약관·저작권·정보통신망법·개인정보 관점에서 합법인가? 위반 소지와 근거 조문.
2) 공식 경로는 없나 — 전자소송 Open API, 형사사법포털, 법원 데이터 제공 등 합법적 연동 수단이 존재하나?
3) 로웨어·로탑은 어떻게 합법적으로 이 동기화를 제공하는 걸로 보이나(추정이라도)? 당사자 본인 조회 위임 구조인지.
4) LAX가 택할 안전한 연동 구조 권고.
대법원 나의사건 연동을 두 갈래로 동시에 판다 — (A) 변우석 법률검토, (B) 대법원 오픈API + 전자소송포털 연동 가능성 기술조사. 병렬로 착수한다.
🌐 웹 · https://openapi.scourt.go.kr/main.jsp
이 대법원 오픈API 포털에서 제공하는 API 목록과 각 API가 주는 정보를 최대한 구체적으로 알려줘. 특히 '나의사건검색', 사건 진행내역, 기일정보, 사건번호 조회, 송달내역 관련 API가 있는지. 인증·이용신청 방법, 개인/기업 이용 조건, 제공 데이터 항목을 정리해줘.
중요한 단서가 나왔다. 핵심 두 곳(연계 API 페이지, CODEF)을 직접 확인하고 변우석 법률검토를 동시에 받는다.
🌐 웹 · https://openapi.scourt.go.kr/kgso301m01.do
이 '연계 API' 페이지에서 제공하는 API 목록을 구체적으로 알려줘. 사건 진행내역, 기일정보, 나의사건검색, 송달내역 관련 API가 있는가? 각 API명과 제공 데이터 항목, 이용신청·인증 조건(개인/법인/기관), 비용을 정리해줘.
🌐 웹 · https://developer.codef.io/products/public/each/ck/scourt-events
CODEF의 대법원 '나의사건검색' API가 제공하는 데이터 항목을 구체적으로 알려줘. 입력 파라미터(사건번호 등 필요한 인증정보 포함), 출력으로 받는 정보(사건일반내역, 기일내역, 진행내역, 당사자, 송달내역 등), 그리고 이 API가 어떤 방식으로 대법원 데이터를 가져오는지(공식 제휴인지 스크래핑인지)를 정리해줘.
🤝 동료에게 질문 · → wooseok: '대법원 나의사건 연동' 합법성 법률검토 부탁해. LAX 구상금 사건관리에서 의뢰처(서울신용보증재단)가 당사…
'대법원 나의사건 연동' 합법성 법률검토 부탁해. LAX 구상금 사건관리에서 의뢰처(서울신용보증재단)가 당사자인 사건들의 진행내역·기일·송달정보를 우리 시스템에 자동으로 끌어와 표시·관리하려고 해. 세 가지 경로별로 합법/불법/조건부를 결론부터 정리해줘.
(1) 대법원 '나의사건검색'(scourt.go.kr) 화면을 우리가 스크래핑(자동 크롤링)해서 사건진행내역을 가져오는 것 — 약관·정보통신망법·업무방해 관점에서.
(2) CODEF 같은 민간 데이터중계 API(대법원 나의사건검색을 대행 조회해주는 상용 서비스)를 통해 가져오는 것 — 당사자 본인인증/위임 구조가 필요한지, 재단의 위임을 받아 우리가 조회 대행하는 게 가능한지.
(3) 대법원 사법정보공유포털 오픈API(openapi.scourt.go.kr)의 공식 연계 API를 신청해 쓰는 것 — 이게 가장 깨끗한 경로인지, 기관/법인 자격요건이 있는지.
특히 핵심: 사건 당사자(재단)의 '나의사건' 정보를 제3자(LAX)가 조회·축적하려면 어떤 위임·동의 구조가 필요한지, 개인정보보호법상 상대방(주채무자 등)의 사건정보 수집 문제는 없는지 짚어줘. 결론부터, 근거 조문 있으면 같이.
두 검토(변우석 법무 + 내 기술조사)가 깔끔하게 수렴했다.
결론
직접 스크래핑은 접는다. 다행히 법원 공식 연동 API가 실재한다 — 우회할 이유가 없다. 우리 구상금 모델엔 특히 잘 맞는 합법 경로가 있다.
연동 경로 3가지
| 경로 | 합법성 | 속도 | 비용 | 비고 |
|---|---|---|---|---|
| ❌ 서버 직접 스크래핑 | 고위험 | 빠름 | 0 | CAPTCHA 우회 = 정보통신망법 §48 + DB권 + 부정경쟁 + 개인정보. 채택 불가 |
| ✅ 법원 공식 연계 API(사법정보공유포털) | 합법(정공법) | 느림(승인 절차) | 미정 | 법원행정처가 사건진행내역 조회 API 제공. publicapi@scourt.go.kr 신청. 단 민간기업 이용 가부·기일 포함 범위 미확인 |
| 🟡 민간 중개 API(CODEF 등) | 회색지대 | 빠름 | 유료 | 본인인증 입력받아 대신 조회. 리스크를 중개사가 떠안음. 계약에 적법성보증·면책 조항 필수 |
| 🟢 본인 위임 구조 | 조건부 합법 | 중간 | 낮음 | 의뢰인/변호사 본인 인증·위임으로 본인 사건만 조회 |
우리한테 결정적인 점
구상금은 **서울신용보증재단이 원고(당사자)**다. → 재단(또는 수임 변호사)이 자기 사건을 조회하는 건 정당한 본인 조회다. 즉 본인 위임 구조(🟢)가 LAX에 특히 잘 맞는다. 무차별 수집이 아니라 "재단이 원고인 구상금 사건"만 권한 내에서 동기화 → 개인정보·약관 리스크가 가장 낮다.
로웨어·로탑도 순수 크롤링을 내세우진 않고, 본인 위임 + (CODEF류) 중개 + 정식 연계 중 하나로 추정된다(내부 미공개).
기술 난이도
낮음~중간. 공식 API든 CODEF든 REST 연동이고, 우리 사건 화면엔 이미 사건번호(case_no)·기일(deadlines) 구조가 있어 동기화 잡 하나만 얹으면 진행내역·기일이 자동 등록된다. 새 화면 불필요(P1 그대로 기존 사건 상세에 흡수).
결정 포인트 / 첫 액션
경로를 정하기 전 선결 확인 1개가 있다: 법원 공식 연계 API의 민간기업 이용 가부·기일 데이터 포함 여부. 이게 되면 정공법, 안 되면 본인위임/중개로 간다.
다음 액션:
- [보검] 법원행정처(publicapi@scourt.go.kr / 02-3480-1715)에 민간 이용 가부·기일 범위·승인요건 문의 메일 초안 작성 — GO 하면 즉시
- [Jason] 병행할 보조경로 선택: 본인위임(저비용·안전) vs CODEF중개(빠름·유료)
- [변우석] 본인위임 시 재단 위임동의서·개인정보 처리위탁 표준양식 준비
@@ASK@@eyJxIjoi64yA67KV7JuQIOyXsOuPmSDslrTrlrvqsowg7KeE7ZaJ7ZWg6rmMPyIsIm8iOlsi67KV7JuQ7ZaJ7KCV7LKYIOusuOydmCDrqZTsnbwg7LSI7JWI67aA7YSwICjsoJXqs7XrspXCt+y2lOyynCkiLCLrs7jsnbjsnITsnoQg6rWs7KGw66GcIOyEpOqzhCDsi5zsnpEiLCJDT0RFRiDspJHqsJwgQVBJIOqyrOyggcK37JW96rSAIO2ZleyduCIsIuydvOuLqCDqsoDthqDrp4wsIOynhO2WiSDrs7TrpZgiXSwibSI6ZmFsc2V9@@
검토 끝. 법률(변우석) + 기술(API 소스) 양쪽 종합한다.
결론: 3개 경로, 관통하는 열쇠는 하나
| 경로 | 판정 | 핵심 |
|---|---|---|
| ① 나의사건검색 화면 직접 스크래핑 | 🔴 불가 | 캡차·본인확인 우회 = 정보통신망법 제48조 침입 + 약관위반 + 업무방해 리스크 누적 |
| ② CODEF 등 민간 중계 API | 🟡 조건부 합법 | 당사자 본인인증 기반이라 '정당한 접근권한' 성립. 재단 인증 + LAX 수탁 구조 필요 |
| ③ 사법정보공유포털 공식 연계 API | 🟢 권장(가장 깨끗) | 법원행정처가 운영하는 공식 채널. 침입·약관 문제 원천 없음 |
관통 열쇠: 어느 경로든 **재단을 신청·인증 주체(개인정보처리자)로, LAX는 그 수탁자(개보법 제26조)**로 세우는 구조. 이러면 재단 사건정보는 물론 상대방(주채무자·연대보증인) 정보까지 별도 동의 없이 적법 처리된다(재단이 소송당사자로 적법 보유 → LAX가 위탁 처리). 단 위수탁계약·위탁사실 공개·목적 내 처리가 전제.
openapi.scourt.go.kr 에서 얻을 수 있는 것
사법정보공유포털(법원행정처 공식)이 제공하는 것:
- 판례 API (판례 목록·본문)
- 사건진행 내역 조회 API ← 우리가 원하는 것
- 문건 제출 기능 API(연계 API)
→ 즉 우리가 필요한 "사건 진행내역·기일" 조회가 공식 API로 존재할 가능성이 높다. 다만 상세 항목·신청자격은 포털이 JS로 막혀 있어 웹으로 끝까지 못 팠다. 이건 포털 약관 또는 고객센터(02-3480-1715) 직접 확인 사항이다.
전자소송포털(ecfs) 직접 연동은?
- 전자소송포털 자체는 외부 시스템용 공식 연동 API를 공개하지 않는다. 소장 제출·진행조회·송달확인은 사람이 로그인해 쓰는 화면 서비스다.
- 따라서 "연동"은 ecfs를 직접 뚫는 게 아니라 ③ 사법정보공유포털 연계 API 또는 ② CODEF 본인인증 중계로 우회하는 게 정석이다.
남은 확인 2가지 (웹으로 못 끝낸 부분)
- 연계 API 신청자격 — 기관/법인 단위인지, LAX 단독 가능한지 vs 재단 명의 필수인지
- 사건진행 API가 기일·송달정보까지 주는지
→ 둘 다 포털 고객센터 문의 또는 재단 통한 신청 타진으로만 확정된다.
다음 액션
- [Jason 결정] 경로 우선순위 ③→② 채택 여부 (스크래핑 ①은 폐기 권고)
- [보검] 승인 시 사법정보공유포털 고객센터에 연계 API 자격·제공범위 문의 + 재단에 "연계 API 재단 명의 신청 협조" 의사 타진
- [변우석] 채택 시 재단↔LAX 개인정보 처리위탁계약(안) 초안 작성
@@ASK@@eyJxIjoi64yA67KV7JuQIOyXsOuPmSDqsr3roZwg7KeE7ZaJIiwibyI6WyLikaLihpLikaEg7LGE7YOdLCDqs6DqsJ3shLzthLAg66y47J2YK+yerOuLqCDtg4Dsp4Qg7KeE7ZaJIiwi7JyE7IiY7YOB6rOE7JW9KOyViCnrtoDthLAg67OA7Jqw7ISd7JeQIOydmOuisCIsIuydvOuLqCDqsoDthqDrp4wsIEphc29u7J20IOuNlCDrs7zqsowiXSwibSI6ZmFsc2V9@@
핵심 제약 접수: 법인 미설립. 그럼 법인/기관 자격이 필요한 건 전부 보류하고, 법인 없이 지금 만들 수 있는 것만 구축한다.
법인 기준 분류
법인 필요 → 해야 할 일에 추가(보류)
- ③ 사법정보공유포털 연계 API 신청 (기관/법인 심사)
- ② CODEF 상용계약 (사업자/법인 단위)
- 재단↔LAX 위수탁계약 (법인 간 계약)
법인 없이 지금 가능 → 구축
- 대법원 연동 데이터가 들어갈 그릇과 수동 입력 경로. API가 못 붙어도 변호사가 나의사건검색을 보고 진행내역을 직접 기록·관리하고, 나중에 API가 붙으면 그 자리에 자동으로 채워지는 구조.
현재 사건 화면엔 당사자·기일·소멸시효 자동계산은 있지만 대법원 나의사건의 핵심인 "사건 진행내역(날짜별 로그)"이 없다. 이걸 지금 만든다. 먼저 기존 DB 스키마를 확인해 일관되게 붙인다.
📖 읽기 · 0038_matters.sql
스키마 패턴 확인했다. 일관되게 matter_events(사건 진행내역) 테이블을 추가한다 — 지금은 수동 입력, 나중에 API가 채울 source 컬럼을 미리 둔다. 마이그레이션을 만들고 원격 DB에 적용한다.
✏️ 쓰기 · 0042_matter_events.sql
⚡ 명령 · npx wrangler d1 execute lax-db --remote --file ./migrations/0042_matter_events.sql 2>&1 | …
마이그레이션 적용됐다. 이제 사건 상세에 진행내역 섹션 + 입력/삭제 라우트를 추가한다. 4개 편집을 한 번에 한다.
✏️ 편집 · routes.tsx
✏️ 편집 · routes.tsx
알겠다. 진행내역 섹션 UI를 사건 상세에 넣고(상대방 다음, 기일 앞), 입력·삭제 라우트를 추가한 뒤, 데모 데이터까지 넣고 확인법을 안내한다. 먼저 UI 섹션을 삽입한다.
✏️ 편집 · routes.tsx
✏️ 편집 · routes.tsx
진행내역 입력·삭제 라우트를 추가한다.
✏️ 편집 · routes.tsx
빌드 검증 후 배포한다.
⚡ 명령 · npx wrangler pages deploy ./dist --project-name lax --branch=main 2>&1 | grep -iE 'success…
파일이 갱신됐다. 현재 상태를 다시 읽고 진행내역 섹션을 삽입한다.
📖 읽기 · routes.tsx
진행내역 섹션이 이미 삽입돼 있다. 전체가 완성됐는지, POST 라우트도 있는지 확인한다.
📖 읽기 · routes.tsx
배포 완료(c759730f). 진행내역 섹션이 실제 사건 상세에 렌더되는지 검증한다.
⚡ 명령 · MID=$(npx wrangler d1 execute lax-db --remote --command "SELECT id FROM matters WHERE dele…
echo "matter id=$MID"
curl -s "https://lax-dtb.pages.dev/matters/$MID?t=$(date +%s)" | grep -o '사건 진행내역\|나의사건 자동연동\|진행일자' | sort | uniq -c
UI 섹션은 완성돼 있다. POST 라우트(추가/삭제)가 있는지 확인한다.
🔍 검색 · /event|matter_events
경로: C:/Users/user/LAX-site/src/app/matters/routes.tsx
라우트 추가·삭제 모두 갖춰졌다. POST 라우트 내용만 확인하고 빌드·배포한다.
📖 읽기 · routes.tsx
검증 완료 — 라이브 반영됐다.
구축 완료 (법인 없이 가능, 지금 프로덕션 반영)
사건 상세에 「사건 진행내역」 타임라인 추가 — lax-dtb.pages.dev/matters/<사건>
- 대법원 나의사건의 핵심 데이터(날짜별 진행: 소장접수·송달·변론기일·판결)를 수동으로 기록·관리.
- DB에
source컬럼을 미리 둬서, 나중에 API가 붙으면 같은 자리에 자동으로 채워지고 수동분과 구분된다(자동분엔 '자동' 배지). - 화면에 "⛓ 나의사건 자동연동 — 법인 설립 후 활성화" 배지를 박아, 미래 자리를 시각적으로 표시.
- 검증: 진행내역 섹션·배지·입력폼 모두 렌더 확인, tsc·빌드·배포 통과.
→ 즉 API 없이도 사건 진행관리가 굴러가고, 법인·연동이 준비되면 자동화로 갈아끼우기만 하면 된다.
해야 할 일에 추가 (법인 설립이 선결)
| # | 할 일 | 선결 | 담당 |
|---|---|---|---|
| 1 | 법인 설립 | — | Jason |
| 2 | 사법정보공유포털 연계 API 신청(재단 명의 + LAX 수탁) | 법인 | Jason/보검 |
| 3 | CODEF 본인인증 중계 계약 (2번 막힐 시 대안) | 법인 | 보검 |
| 4 | 재단↔LAX 위수탁계약 — 나의사건 연동 + 판결문 가명처리 데이터 둘 다 여기 묶음 | 법인 | 변우석 초안 |
| 5 | 연계 API 자격·제공범위 고객센터(02-3480-1715) 문의 | 법인 전에도 정보문의는 가능 | 보검 |
| 6 | 개발 인력 증원 | — | 구교환 |
5번(정보 문의)은 법인 전에도 할 수 있다 — 지금 알아둘까?
다음 액션:
- [Jason]
lax-dtb.pages.dev/matters/1들어가 진행내역 섹션 직접 확인 - [Jason] 5번 고객센터 문의를 지금 진행할지 / 법인 설립까지 묶어둘지
- [보검] 위 6개를 해야 할 일로 추적 (메모리에 등록 완료)
라우트 완성. 빌드·검증 후 배포한다.
⚡ 명령 · npx wrangler pages deploy ./dist --project-name lax --branch=main 2>&1 | grep -iE 'success…
배포 완료(ca70a82a → lax-dtb.pages.dev). 이제 데모 데이터를 넣는다. 대표 구상금 사건 1건을 풀세트로 꾸미기 위해 현재 의뢰인·사건 상태부터 확인한다.
⚡ 명령 · echo "=== CLIENTS ===" && npx wrangler d1 execute lax-db --remote --command "SELECT id, na…
echo "=== MATTERS (구상금) ===" && npx wrangler d1 execute lax-db --remote --command "SELECT id, client_id, title, case_no, status FROM matters WHERE deleted_at IS NULL AND (case_type='구상금' OR title LIKE '%구상금%') ORDER BY id LIMIT 6" 2>&1 | grep -E '"id"|"title"|"case_no"|"client_id"|"status"'
데이터가 풍부하다. **사건 1번 "박상철에 대한 구상금"(서울신용보증재단)**을 대표 데모로 풀세트화한다. 기존 하위 데이터 현황부터 확인한다.
⚡ 명령 · npx wrangler d1 execute lax-db --remote --command "SELECT (SELECT COUNT(*) FROM matter_par…
사건 1번엔 상대방·기일이 이미 있고 진행내역만 비었다. 진행내역 데모를 넣고(사건 1·6번), 사건 1번 상태를 흐름에 맞게 착수로 올린다.
⚡ 명령 · npx wrangler d1 execute lax-db --remote --command " INSERT INTO matter_events (matter_id, …
INSERT INTO matter_events (matter_id, event_date, content, source) VALUES
(1,'2026-01-15','주채무자 기한이익 상실 — 재단 대위변제 집행(보증채무 이행)','manual'),
(1,'2026-03-10','구상금 청구의 소 제기 — 소장 접수','manual'),
(1,'2026-03-24','소장부본·소송안내서 피고 송달','manual'),
(1,'2026-04-07','피고(주채무자) 답변서 제출','manual'),
(1,'2026-05-13','제1차 변론기일 — 원고 청구원인 진술','manual'),
(1,'2026-06-10','제2차 변론기일 지정','manual'),
(6,'2025-11-20','법인 주채무자 대위변제 집행','manual'),
(6,'2026-01-08','구상금 청구 소장 접수(합의부)','manual'),
(6,'2026-01-25','소장부본 송달','manual'),
(6,'2026-02-15','피고 답변서 제출 — 채무부존재 다툼','manual'),
(6,'2026-03-30','제1차 변론기일 — 쟁점정리','manual');
UPDATE matters SET status='착수' WHERE id=1;
" 2>&1 | grep -iE 'changes|rows_written|error' | head
멀티라인은 파일로 실행한다.
✏️ 쓰기 · _demo_events.sql
⚡ 명령 · npx wrangler d1 execute lax-db --remote --file ./migrations/_demo_events.sql 2>&1 | grep -…
데모 11건 삽입 완료. 검증한다.
⚡ 명령 · echo "=== events ===" && npx wrangler d1 execute lax-db --remote --command "SELECT matter_…
echo "=== matter 1 status ===" && npx wrangler d1 execute lax-db --remote --command "SELECT status FROM matters WHERE id=1" 2>&1 | grep '"status"'
echo "=== HTTP ===" && curl -s -o /dev/null -w "matters/1: %{http_code}\n" "https://lax-dtb.pages.dev/matters/1?t=$(date +%s)"
완료. 전부 라이브 반영·검증했다.
구축한 것 (법인 없이 지금 가능한 부분 — 프로덕션 반영됨)
사건 진행내역 관리 — 대법원 나의사건의 핵심 데이터(날짜별 진행 로그)가 들어갈 그릇을 사건 화면에 추가.
- 사건 상세에 "사건 진행내역" 타임라인 섹션 신설 (수동 입력·삭제)
- DB에
source컬럼을 미리 둬서, 법인 설립 후 API가 붙으면 같은 자리에 자동(자동뱃지)으로 채워지는 구조 - 화면에
⛓ 나의사건 자동연동 — 법인 설립 후 활성화배지로 다음 단계를 명시 - 새 메뉴 0개 (기존 사건 화면 안에 흡수)
- 배포:
lax-dtb.pages.dev(deployca70a82a)
데모 데이터 (넣어둠)
- 사건 1번 「박상철에 대한 구상금」(서울신용보증재단) — 대위변제→소장접수→송달→답변서→1·2차 변론까지 진행내역 6건, 상태
착수, 상대방 2명·기일 2건 포함 풀세트 - 사건 6번 「우진테크 구상금」 — 진행내역 5건
네가 확인하는 법
lax-dtb.pages.dev접속 → 좌측 고객관리 → 사건 탭- 「박상철에 대한 구상금」 클릭
- 가운데 "사건 진행내역" 섹션 확인 — 날짜순 타임라인 6건이 보이면 정상
- 직접 테스트: 진행일자+내용 입력 → 추가, ✕로 삭제 동작
- 우측
법인 설립 후 활성화배지가 자동연동 예정 자리임
해야 할 일 (법인 설립 후 — 보류)
- 사법정보공유포털 연계 API 신청 — 재단 명의 신청 + LAX 수탁개발 (1순위 경로)
- CODEF 본인인증 중계 계약 — 연계 API 막힐 시 2순위
- 재단↔LAX 개인정보 처리위탁계약 체결 (법인 간 계약)
- 연계 API 자격·제공범위 확인 — 고객센터(02-3480-1715) 문의
- (기존 보류) 재단 데이터 제공 조항 + 가명처리 판결문 학습 계약
다음 액션:
- [Jason] 화면에서 진행내역 데모 확인 → 추가/삭제 동작 점검, 피드백
- [보검] 법인 설립되면 위 1~4 즉시 착수 (변우석 위수탁계약안 + 고객센터 문의 동시)
- [보검] 피드백 오면 진행내역 UI/항목 조정
솔직히 답한다 — "거의 다"는 아직 아니다. 송무 진행관리 축은 상당히 따라왔지만, 두 제품의 폭 기준으론 절반 못 미친다. 정확히 보여주려 보고서 메뉴만 빠르게 확인하고 매핑한다.
🔍 검색 · title=|PageHeader|통계|보고서|매출|수임|집계
경로: C:/Users/user/LAX-site/src/app/reports
확인 끝. 보고서 메뉴는 경영통계가 아니라 에이전트 보고서 문서함이었다. 정직하게 현황을 매핑한다.
솔직한 답: 송무 코어는 상당, 전체 폭은 아직 ~35%
✅ 가져온 것 (송무 진행관리 축 — 거의 완비)
| 기능 | 비고 |
|---|---|
| 사건관리(등록·상태·필터·목록) | ✓ |
| 의뢰인·상대방(당사자) 관리 | ✓ 구상금 구조(주채무자·연대보증인) |
| 이해충돌 자동경고 | ✓ |
| 기일·기한 + D-day + 기한 자동계산(소멸시효·답변서 등) | ✓ |
| 사건 진행내역 타임라인 | ✓ 오늘 추가 |
| 소장 AI 자동작성 | ✓ 오히려 두 제품보다 우위 |
| 대시보드 캘린더 | ✓ |
◐ 부분만
| 대법원 나의사건 연동 | 수동 입력만, 자동 API는 법인 후 |
❌ 아직 없는 핵심 (로웨어·로탑엔 있음)
| 영역 | 상태 |
|---|---|
| 후속서면(답변서·준비서면) AI작성 | 메뉴만 준비중 |
| 금액 자동계산(인지대·송달료·이자) | 기한계산만 있고 금액은 없음 |
| 회계·수납(청구서·미수·세금계산서·배당) | 없음 |
| 자문·타임시트(Time Charge) | 없음 |
| 문서관리(통합문서함·본문검색) | 없음 |
| 그룹웨어(메일·쪽지·전자결재) | 없음 |
| 문자/SMS 자동발송(기일통지) | 없음 |
| 경영통계·지표(수임·매출 그래프) | 없음 |
해석 — 이건 의도된 순서다
- 우리 전략은 "구상금 송무 코어 먼저 풀세트, ERP 폭(회계·그룹웨어·자문)은 AI로 압축해 후순위"였다. 지금 현황이 정확히 그 모습이다.
- 즉 "핵심 송무 흐름"은 거의 왔고, "사무소 경영 ERP 폭"은 일부러 아직이다. 둘 다 베끼면 로탑처럼 비대해진다.
- 솔직한 비율: 송무 진행관리 ~70%, 두 제품 전체 기능 폭 대비 ~35%.
다음 우선순위 후보 (법인 없이 가능한 것)
- 금액 자동계산(인지대·송달료·지연이자) — 구상금 필수, 법인 불필요, ROI 높음
- 후속서면 AI작성(답변서·준비서면) — 작성 코어 확장, 우리 강점
- 문자/기일통지 발송 — 의뢰인 신뢰
다음 액션:
- [Jason] 다음에 채울 것 선택 — 위 1~3 중 우선순위
- [보검] 선택 시 해당 기능 즉시 구축·배포
@@ASK@@eyJxIjoi64uk7J2M7JeQIOutmCDssYTsmrjquYw/IiwibyI6WyLquIjslaEg7J6Q64+Z6rOE7IKwKOyduOyngOuMgMK37Iah64us66OMwrfsnbTsnpApIiwi7ZuE7IaN7ISc66m0IEFJ7J6R7ISxKOuLteuzgOyEnMK37KSA67mE7ISc66m0KSIsIuusuOyekC/quLDsnbzthrXsp4Ag67Cc7IahIiwi7KeA6riI7J2AIOyXrOq4sOq5jOyngCwg64KY7KSR7JeQIl0sIm0iOmZhbHNlfQ==@@
금액 계산은 법률 정확성이 생명이라 추측하지 않는다. 현행 계산식·수치를 변우석에게 자문받아 구현한다.
🤝 동료에게 질문 · → wooseok: 구상금 사건 '금액 자동계산' 기능을 코드로 구현하려고 해. 현행(2026년) 정확한 계산식과 수치를 표로 …
구상금 사건 '금액 자동계산' 기능을 코드로 구현하려고 해. 현행(2026년) 정확한 계산식과 수치를 표로 정리해줘. 구현에 바로 쓸 수 있게 숫자·구간·식 위주로.
(1) 인지대(소장 첩부 인지액) — 민사소송등인지법 기준. 소가 구간별 계산식(예: 1천만원 미만 = 소가×0.005 식으로 4구간), 전자소송 감액률, 절사 단위(예: 100원/1000원 미만 버림)를 정확히.
(2) 송달료 — 2026년 현행 1회 송달료 금액(원), 사건유형별(소액/단독/합의) 당사자 1인당 송달 횟수(예: 소액=당사자수×10회 등) 산정 기준.
(3) 지연손해금(지연이자) — 구상금 청구에서 일반적으로 적용하는 이율. ① 약정이율 있으면 그것, ② 없으면 법정이율(민사 5%/상사 6%) 중 무엇이 디폴트인지, ③ 소송촉진법상 지연이자(소장송달 다음날부터 현행 연 12%) 적용 구조. 계산식(원금×이율×기간일수/365)과 기산일 처리.
각 항목별로 '입력값 → 계산식 → 출력' 형태로, 코드로 옮길 수 있게 명확히. 불확실하거나 시점에 따라 바뀌는 수치는 그렇다고 표시해줘.
변우석 자문으로 정확한 현행 계산식을 확보했다. 계산 로직을 상수 분리해 만들고(변우석 권장), 사건 화면에 붙인다. 먼저 계산 모듈을 만든다.
✏️ 쓰기 · legal_calc.ts
Now wire it into the matter detail page. First read the import line and the basic-info card area.
📖 읽기 · routes.tsx
계산 모듈을 사건 화면에 연결한다 — import, 계산값 산출, UI 섹션 3개를 편집한다.
✏️ 편집 · routes.tsx
✏️ 편집 · routes.tsx
✏️ 편집 · routes.tsx
Build, deploy, and verify the demo case has the input fields for calculation.
⚡ 명령 · npx tsc --noEmit 2>&1 | head -15 && echo "---TSC OK---" && npm run build 2>&1 | grep -iE '…
⚡ 명령 · npx wrangler d1 execute lax-db --remote --command "SELECT id, claim_principal, interest_ra…
통과. 데모 사건에 계산 입력값(원금·이율·기산일)도 다 있다. 배포한다.
⚡ 명령 · npx wrangler pages deploy ./dist --project-name lax --branch=main 2>&1 | grep -iE 'complet…
완료. 금액 자동계산 라이브 반영됐다.
구축한 것 (프로덕션 반영)
사건 화면에 「금액 자동계산」 섹션 — 사건이 가진 청구원금·이율·기산일·상대방수로 자동 계산:
- 인지대 (민사소송등인지법 4구간 + 전자소송 10% 감액 + 절사·하한)
- 송달료 (당사자수 × 5,500원 × 사건유형별 횟수, 소액 10회·단독합의 15회)
- 지연손해금(기왕분) (원금 × 이율 × 기산일~오늘 일수 ÷ 365)
- 예납 소송비용 (인지+송달 합계)
- 사건유형(소액/단독/합의) 자동 판정 배지
- 변우석 자문 기반, 변동 수치(송달료·경계금액·이율)는 상수 분리(법령 변동 대응)
- 배포:
lax-dtb.pages.dev(deployd0a88d2e)
네가 확인하는 법
lax-dtb.pages.dev→ 고객관리 → 사건 → 「박상철에 대한 구상금」(사건 1번)- 기본정보 카드 아래 「금액 자동계산」 섹션 확인. 예상값(내가 손으로 검산):
- 인지대 38,200원 · 송달료 165,000원 · 예납 203,200원
- 지연손해금 약 62만원대(기산일~오늘 일수로 매일 변동)
- 배지: 소액사건
- 사건 6번(우진테크, 소가 4,700만) 열면 → 단독사건, 송달료 15회로 다르게 나오는지 비교
변호사 확인 필요(변우석이 짚음 — 화면에도 면책 표기)
- 소가 산정기준(원금 only vs +기왕이자), 단독/합의 경계(5억), 송달 횟수, 약정이율 — 사건별로 달라질 수 있음
lawware·lawtop 대비 진척
금액 자동계산까지 더해 송무 코어가 한 칸 더 찼다. 남은 법인-불요 핵심: 후속서면 AI작성 / 문자·기일통지 발송.
다음 액션:
- [Jason] 화면에서 계산값 확인 → 예상값과 대조, 피드백
- [보검] 피드백 반영 또는 다음 기능(후속서면/문자발송) 착수 대기
@@ASK@@eyJxIjoi64uk7J2M7J2APyIsIm8iOlsi7ZuE7IaN7ISc66m0IEFJ7J6R7ISxKOuLteuzgOyEnMK37KSA67mE7ISc66m0KSIsIuusuOyekMK36riw7J287Ya17KeAIOuwnOyGoSIsIuqzhOyCsCDqsrDqs7wg66i87KCAIO2ZleyduO2VmOqzoCIsIuyYpOuKmOydgCDsl6zquLDquYzsp4AiXSwibSI6ZmFsc2V9@@
후속서면은 소장 작성과 같은 AI 생성 흐름을 재사용해야 일관된다. 먼저 현재 소장 자동작성 메커니즘 전체를 정확히 파악한다.
🤖 서브에이전트 · 소장 작성 흐름 파악
LAX-site 코드베이스(C:/Users/user/LAX-site)에서 "구상금 소장 자동작성" 기능의 전체 흐름을 파악해줘. 목적은 같은 패턴으로 '답변서·준비서면 등 후속서면 AI작성' 기능을 추가하기 위함이야. 다음을 구체적으로(파일경로:라인, 함수명, 라우트경로, 테이블/컬럼명 포함) 정리해줘:
1. 소장 작성 진입 라우트들 — /complaint, /complaint-draft 등이 어디(어느 파일)에 정의되고 무엇을 하는지. GET/POST 각각.
2. 사건(matter)과 연결되는 방식 — /complaint-draft?matter=ID 가 어떻게 사건 데이터를 받아 쓰는지.
3. AI 초안 생성 메커니즘 — 변우석(wooseok) 에이전트를 어떻게 호출하는지(a2a? 채팅세션? 큐?). 증거→사실추출→소장 생성이 코드상 어디서 어떻게 일어나는지. shared/draft_doc.ts, shared/evidence.ts 의 역할.
4. 생성된 문서 저장 — matter_documents 테이블 구조와 doc_type/session_id 컬럼 용도, 어디서 INSERT 하는지.
5. 결과 표시 — 생성된 소장 초안을 사용자가 보는 화면(/complaint-draft/work/:session_id 등).
6. 사이드바 '기능 > 심리·증거 > 답변서/준비서면(참고서면)'이 현재 어떻게 연결돼 있는지 — src/app/shell.tsx의 /features/* 경로와 src/app/features/routes.tsx의 PlaceholderPage/FEATURE_DOCS 매핑.
7. 라우트 등록 위치 — src/app/index.tsx에서 각 라우트가 app.route로 어떻게 등록되는지.
마지막에 '답변서·준비서면 AI작성을 추가하려면 어떤 파일에서 무엇을 복제·수정해야 하는지' 핵심 지점 목록을 정리해줘. 코드를 수정하지 말고 조사만.
📖 읽기 · routes.tsx
📖 읽기 · routes.tsx
📖 읽기 · shell.tsx
📖 읽기 · routes.tsx
📖 읽기 · evidence.ts
📖 읽기 · draft_doc.ts
📖 읽기 · index.tsx
📖 읽기 · 0041_matter_documents.sql
⚡ 명령 · grep -n "matter_documents\|doc_type\|session_id" /c/Users/user/LAX-site/migrations/0041_ma…
🔍 검색 · export function (createChatSession|createChatMessage|getChat…
경로: C:/Users/user/LAX-site/src/shared/chat.ts