Skip to content

Latest commit

 

History

History
79 lines (61 loc) · 10 KB

PRODUCTION-REVIEW-2-2026-10-02.md

File metadata and controls

79 lines (61 loc) · 10 KB

전체 기능 프로덕션 리뷰 — 4.15.4

검토일: 2026-10-02. 4.15.3 이후 두 번째 검수이며, 범위를 전체 기능으로 확대했다. 기존 기능의 정확성·실행 한도·오류 전달을 검증하고 재현한 문제만 수정한다. 노출 도구와 입력 계약, 의존성은 유지한다.

검수 범위

도구 등록부의 내부 99개·노출 10개·카테고리 40개를 기준으로 구현과 호출 경로를 검수했다. 메타 도구를 제외한 97개 내부 도구의 카테고리 참조가 유효하며 중복 이름·누락된 별칭을 찾지 못했다.

기능군 확인한 경로
법령 검색·대량 검색·현행 본문·조문 상세·배치 조문·연혁 검색/본문·조문 연혁/비교·신구대조·행위시법·통계
법령 체계 인용/위임 3단비교·법령 트리·체계도·연계 조문·시행일·제명변경 계보
행정규칙 검색·본문·JO/편/장/키워드/페이지 부분 조회·시점 버전·연혁·캐시
별표 목록·단건·번호/가지/묶음 선택·시점/연혁·정본 병합·원문 링크·HWP/PDF 파싱
판례 직접/통합 검색·정확 사건번호·본문 검색·기간·fallback 관련성·evidence·JSON/HTML 상세·full/compact·요약·캐시·인용 추적·유사/키워드·조문 인용 판례
결정·해석·규정 18개 통합 도메인: 판례·법령해석·조세심판·관세·국세·헌재·행정심판·공정위·개인정보위·노동위·권익위·소청·특별행정심판·학칙·공사공단·공공기관·조약·영문법령
자치법규 검색·본문·상위법 연결·조례 정비 레이더·법령 대비 체인
분석 법령/판례 인용 검증·판례생사·행위시법·영향그래프·문서 유형/금액/위험 규칙·시점 비교
리서치·안내 legal_research 8 task·시나리오 9종·action_plan·갈래별 실패/시간 제한/취소·상세 후속 호출
생활법령·지식 생활법령·AI 법령·법률용어·일상/법률 용어 매핑·관련 조문/법령·공식 외부 링크
사용 경로 execute_tool·discover_tools·등록부 최종 출력/마스킹·CLI 자연어/직접/JSON/REPL·STDIO·HTTP
공통 기반 요청 키 격리·CORS/Origin·인증·쿼리 키·rate limit·예산·retry/deadline·본문 정리·취소·캐시·배포 패키지

전체 기능 검수는 코드와 회귀 검증의 범위다. 외부 API의 모든 문서·모든 입력 조합을 실호출했다는 뜻은 아니다. 실제 API 표본과 배포 검증은 아래에 별도로 기록한다.

재현과 수정

재현된 문제 수정·회귀 근거
띄어 쓴 사건번호가 대상 조회에서 누락, 다른 사건을 대상 대체 2·4자리 연도 사건번호 정규화와 정확 대상 검증 (cite-check.review2)
HTML 복구 hop의 미독 본문 잔류, 판례 요약 섹션 혼입·사건정보 덮임 본문 취소·요약 경계·첫 메타데이터 유지 (precedent-fallback.review2, precedent-summary)
상세 API가 JO 조건을 무시하거나 6자리 코드가 재해석됨 번호/가지 필터·공통 JO 변환, 전체 조문 미스 오류 (article-detail, historical-law, batch-articles.review, applicable-law.review)
번호가 다른 유일한 별표가 요청 별표로 반환됨 알려진 번호 불일치 거부, 무번호 폴백 유지 (annex-select.review)
별표 정본·행위시법 부칙 조회가 실행 예산 소진을 삼킴 공용 fatal 오류 전파 (annex-merge-marker, applicable-law.review)
행정규칙 연혁의 API 플래그가 실제 시행 상태와 다름 한국 날짜·시행일 기준 판정 (admin-rule.current-state)
인용조문 3단비교가 항상 데이터 없음 오류 실제 ThdCmpLawXService와 하위 목록 어댑터, 법률 본문 보존 (three-tier.citation + 키 없는 실제 응답 fixture)
대량 검색 마지막 배치 취소 무시·부분매칭을 변경 없음으로 확정 완료 전 취소 확인·불확정 후보 구분 (search-bulk)
일부 결정·조약·영문법령의 객체/배열 필드 손실, 상세 ID 덮임, 공포일을 시행일로 표기 공유 fieldText/decisionFields 적용·ID 보호·알 수 없는 시행일 N/A (decision-domains.production)
실제 위원회 의결서 봉투·노동위 판정 필드·기관 규정 기본정보 누락, 등록일을 결정일로 표기 실제 응답 경로와 필드 매핑·등록일 별도 표시 (committee-detail.live-shape, institutional-detail.live-shape)
영문 편·장·절 헤더를 Article 0001로 표시 실제 응답의 joYn=N 헤더 보존 (english-law.headings)
검증 상한 이후 인용까지 VERIFIED로 표시·취소 후 검증 지속 미검증 집계와 PARTIAL 표시·취소 전파 (verify-citations.production, 기존 budget 테스트 유지)
조례 날짜 불명확 시 완료 판단·이웃 법령 시행령을 잘못 생성 달력 날짜 검증·순서대로 같은 법 연결 (ordinance-radar.review2)
역방향 시점 비교에서 전부개정 경고 누락·한글 개정 주석 제거 구간 정규화·공유 cleanHtml (time-travel.review2, time-travel-diff)
문서 조문 500자 이후 위험 문구 분석 누락 분석 전 조문 절단 제거, 출력 상한 유지 (document-analysis)
시나리오 보조 조회 실패 누락·경쟁법 리서치에서 공정위 경로 누락 오류 섹션 보존·기존 공정위 handler 연결 (scenarios/failures.production, chains.competition.production)
SDK CORS 헤더 거부·중복 OC를 키로 인정·취소된 fetch가 호출 예산 사용 허용 헤더·키 입력 검증·호출 전 취소 (http-server.contract, fetch-with-retry.cancel)
용어 매핑 폴백에서 사용자 키 유실·공식 링크 404/잘못된 식별자 명시적 키 유지·공식 GET 확인 경로·URL 인코딩 (knowledge-base.key, external-links)
CLI boolean이 false로 변환·완전한 JSON에도 필수 플래그 요구·JSON 키 무시·목록 필터 누락 실제 Commander 파싱 검증 (cli.production)

인용 3단비교는 관세법 실제 호출에서 knd=1만 오류, knd=2는 정상인 상태를 확인한 뒤 원문 응답과 LexDiff 원본을 대조했다. 기존 이식 파서의 동작을 바꾸지 않고 별도 어댑터로 처리한다. 경쟁법 체인 수정에 필요한 라우팅 코드는 별도 파일로 옮겨 기존 chains.ts를 1,200줄 아래로 줄였다.

공식 링크는 실제 GET 응답으로 확인했다. 법령ID를 lsiSeq로 잘못 넣은 주소와 영문 상세 주소는 404였고, 법령ID 전용 본문 주소와 영문 검색 화면은 200이었다. 법령체계도 주소는 연혁이 아닌 실제 화면 역할로 표시한다.

검증 결과

  • 기준 131개 파일·1,181개 테스트 → 수정본 149개 파일·1,277개 테스트. 신규 회귀 96개.
  • npm run gc: 타입·미사용 코드·전체 테스트·clean build 통과.
  • 별도 리뷰: 변경 관련 25개 파일·172개 테스트 통과, 추가 P1/P2 결함 없음.
  • 실제 API 응답 수정 후 추가 리뷰: 6개 파일·25개 테스트와 타입 검사 통과. 등록일 오표시를 추가 수정했으며 남은 P1/P2 결함 없음.
  • 프로덕션 의존성 감사: npm audit --omit=dev --omit=optional 취약점 0.

실제 API는 법령·행정규칙·별표·자치법규·영문·조약 18개 도구 표본에서 모두 정상 응답을 확인했다. 민법 JO 000100, 동일 MST의 20250131 시행 슬라이스, 외국환거래규정 제9-5조, 별표28 HWP 14,822자, 관세법 인용 3단비교를 포함한다.

결정 도메인 18개 전부 실제 검색 결과 ID를 확보해 상세를 호출했다. 국세 해석 상세는 기존 명시적 NOT_SUPPORTED 계약이다. 위원회 본문 누락을 실응답으로 재현한 뒤 다시 호출해 개인정보위 67→547자, 노동위 71→568자, 권익위 65→1,504자로 본문과 메타데이터가 복구된 것을 확인했다. 노동위는 등록일만 있는 실제 자료의 결정일을 N/A로 유지한다.

legal_research 8 task, 생활/용어/지식베이스 9개 표본, legal_analysis 4 mode, time_travel·action_plan·ordinance_radar 표본도 정상 응답을 확인했다. 체인의 보조 검색 0건은 해당 섹션에 표시하며 자료를 만들어 채우지 않는다.

지원 Node 20.19.0·22.12.0에서 각각 전체 1,277개 테스트를 통과했다. 실제 npm tarball을 optional/dev 의존성 없이 설치해 두 버전에서 PDF 별표 파싱, STDIO 초기화·도구 10개·JO 변환, 설치된 CLI 심링크·JSON·카테고리 필터를 검증했다. 패키지 파일 306개와 비실호출 CJS 회귀 13개도 통과했다. 동시에 런타임 테스트를 실행할 때 기존 시간비율 검사 1건이 경계값을 넘었으나 독립 전체 재실행과 최종 순차 실행에서는 통과했다.

npm 전파를 확인한 뒤 통합 호스트의 법령 패키지 핀만 4.15.4로 올린다. 배포 후 공유 검증 스크립트로 5개 MCP 핸드셰이크·쿼리 키·대형 법령을 확인하고, 판례·조문·3단비교·위원회/규정/영문 상세·인용 상한·외부 링크 표본을 다시 호출한다. 배포 결과와 릴리스 링크는 작업 완료 기록에 남긴다.

유지하는 제한

  • 판례생사·유사도·키워드·조례 정비는 수록 자료·검사 상한·규칙에 기반한 안내다. 미확인 상태를 확정으로 바꾸지 않는다.
  • 문서 분석의 조문 수 상한, 리서치·별표·연혁의 응답/페이지/시간 상한은 유지한다.
  • 인용 검증의 예산 소진은 기존 정책대로 항목별 미확정으로 남기되, 요청 취소는 전체 중단한다.
  • 별표 jo는 안내된 자연어·일반 숫자 입력을 지원한다. 6자리 JO 입력 지원을 새로 추가하지 않는다.
  • 캐시는 기존 건수·TTL 정책을 유지하며 새로운 전역 동시 요청 병합을 추가하지 않는다.
  • 통합 호스트의 리전·다른 MCP 버전 핀은 변경하지 않는다.