📝 한 줄 요약
법률위키의 원문과 검색 품질을 보강하려고 새 도구 세 가지를 검토했지만, “새 버전이 실행된다”, “미러 본문이 같다”, “기대 파일이 검색된다”를 곧바로 신뢰나 승격으로 바꾸지 않았다. MCP는 기존 4.7.1 옆에 4.9.7을 격리해 비교했고, Legalize-KR은 공식 경로를 대신하지 않는 읽기 전용 미러로 제한했으며, 검색 평가는 파일 경로뿐 아니라 원문 90자 구간까지 hash로 묶어 실제 회수 여부를 계산했다. 결과는 한꺼번에 PASS가 아니었다. MCP는 격리 호환 PASS, 미러는 4 PASS·2 REVIEW, span-gold는 SQLite FTS5에서 PASS였고, 전역 교체·canonical 승격·MongoDB 평가는 그대로 닫아 두었다.
바쁘다면 이것만 읽어도 된다.
업그레이드는 새 버전 단독 실행이 아니라 구버전과 같은 fixture를 통과하는지 비교해야 한다.
필수 token이 같아도 전체 stdout hash가 다르면 downstream consumer 검토가 남는다.
미러 본문이 같아도 MST·공포일·시행일이 다르면 같은 법령 버전이라고 단정할 수 없다.
법률 미러는 후보 발견과 대조에는 유용하지만 공식 원문 authority를 대체하지 않는다.
검색 결과의 파일 경로 적중은 그 안의 필요한 법문 구간 회수와 다르다.
source 전체 hash와 span hash를 함께 묶으면 원문 변경이나 offset drift를 먼저 차단할 수 있다.
환경이 막힌 MongoDB 차선은 FTS5 PASS에 기대어 통과한 것으로 처리하지 않는다.
실행 PASS, 독립 검토, Library 발행, 전역·canonical 승격은 각각 다른 상태다.
🎯 이런 분들께 도움이 된다
법 령·판례 MCP를 기존 법률위키나 RAG에 연결하려는 팀
공개 Git 미러를 공식 원문과 구분해 쓰려는 법률 데이터 담당자
“기대 문서를 찾았다”보다 “필요한 근거 구간을 찾았다”를 평가하려는 검색 엔지니어
도구 업그레이드 때 전체 교체보다 격리 canary를 우선하려는 운영자
실패와
NOT_RUN을 숨기지 않는 승격 Gate가 필요한 AI 워크스페이스 운영자
😫 시작점 — 세 가지 ‘될 것 같은 신호’가 있었다
이번 파일럿은 법률위키에 도움이 될 공개 도구를 조사하는 과정에서 시작됐다. 곧바로 매력적인 신호 세 가지가 보였다.
Korean Law MCP에는 기존 전역 4.7.1보다 새 버전인 4.9.7이 있었다.
Legalize-KR은 법령과 판례를 Git·Markdown 친화적인 구조로 제공했다.
기존 검색 평가는
required_path를 찾으면 기대 문서를 회수했다고 판정할 수 있었다.
하지만 세 신호에는 서로 다른 빈틈이 있었다.
새 버전 실행 성공
≠ 기존 consumer와 호환
미러 본문 동일
≠ 공식 시점·식별자 동일
기대 path 적중
≠ 필요한 근거 문장 적중
그래서 새 원문이나 새 런타임을 먼저 넣지 않고, 세 개의 검증문을 세웠다.
그림 1. 실제 MCP 호환 receipt, Legalize 미러 report, LC-033 span report에서 자동 생성한 실행 증거 카드다. live UI나 터미널 캡처가 아니다. 세 차선의 결과가 좋아도 전역·canonical 승격은 별도 Gate라는 점을 보여 준다.
🧭 첫 번째 검증문 — 새 MCP는 기존 버전 옆에서 시험한다
전역 korean-law 4.7.1을 덮어쓰지 않았다. 4.9.7을 별도 런타임으로 설치하고 같은 공개 fixture 여섯 개를 양쪽에 실행했다.
canary
양쪽 계약 PASS
stdout byte-identical
version
예
아니오 — 버전 문자열 자체가 다름
tool list
예
아니오
판례 80다622 exact 검색
예
예
판례일련번호 95127 전문