- MIT 단일 라이선스를
MIT OR Apache-2.0듀얼 라이선스로 변경했습니다.LICENSE를LICENSE-MIT와LICENSE-APACHE로 나누고,pyproject.toml메타데이터를 PEP 639 SPDX 표현식(license,license-files)으로 전환했습니다.
- MCP
laws_get응답에서 법령 frontmatter의공포일자/시행일자가datetime.date객체로 남아 JSON 직렬화에 실패하던 문제를 수정했습니다.
ruff check .와pyright .가 로컬 개발 환경에서 그대로 통과하도록 미사용 import와 pyright 설정을 정리했습니다.
- GitHub Trees API의
truncated: true응답을 감지하면 하위 tree를 나누어 다시 조회하도록 수정했습니다. 이로써ordinance-kr의서울특별시자치법규와precedent-kr의 뒤쪽 사건종류가 누락되던 문제를 해결했습니다. - GitHub commits API pagination을 끝까지 따라가도록 수정해 법령 개정 이력 조회가 첫 페이지만 사용하는 부분 결과가 되지 않도록 했습니다.
- GitHub code search의 pagination을
--limit범위까지 처리하고,incomplete_results=true응답에서는 tree 전략으로 fallback하도록 수정했습니다.
- README의 MCP 설정 예시를
uvx --from legalize-cli[mcp] legalize-mcp중심으로 정리하고,pipx/pip설치 흐름을 보조 경로로 명확히 구분했습니다. - 패키지 메타데이터의 author와 GitHub 저장소 URL을 현재 관리 정보에 맞게 갱신했습니다.
- GitHub Contents/Blobs API 크기 제한 설명을 공식 문서 기준에 맞게 정정했습니다.
legalize admrules list|get명령을 추가해legalize-kr/admrule-kr행정규칙 저장소를 조회합니다.legalize ordinances list|get명령을 추가해legalize-kr/ordinance-kr자치법규 저장소를 조회합니다.legalize search --in admrules|ordinances|all및 MCPadmrules_*,ordinances_*도구를 추가했습니다.
- SEP
--→_(single underscore). 가독성 우선 결정으로 구분자를 변경. 파일명 형식:{법원명}_{선고일자}_{사건번호}.md(예:대법원_1948-04-02_4281민상298.md).SEP.py의 상수가"_"로 갱신됨.- 합성 파일명 파싱은 좌측 anchor
split(SEP, 2)로 수행 (법원명에는_가 없고 선고일자는 고정YYYY-MM-DD포맷이므로 처음 두 번의 split 이 항상 (법원명, 선고일자) 슬롯을 분리, 잔여가 사건번호). - lookup pattern 도
*__{caseno}.md→*_{caseno}.md로 자동 갱신 (fetch.py가SEP상수를 참조). - 호환성: precedent-kr 가 force-push 된 후에 동작합니다. force-push
이전 데이터에서는 legacy
{caseno}.mdfallback (조회 순서 #3) 으로 동작.
-
SEP.py—SEP상수 모듈 신규 추가 (당시 값"--", 0.2.1 에서"_"로 변경). Python pipeline(legalize-pipeline/precedents/converter.py) 및 Rust 컴파일러(compiler-for-precedent/src/render.rs)와 동기화. -
복합 파일명 조회 (새 grammar) —
legalize precedents get <사건번호>및 MCPprecedents_get이*{SEP}{사건번호}.md패턴(composite key)을 우선 검색. 기존{사건번호}.md(legacy) 패턴은 두 번째 fallback으로 유지. -
--legacy-map옵션 —legalize precedents get --legacy-map <path>로legacy-paths.json파일을 지정하면 새/구 파일명 모두 불일치 시 매핑 테이블로 최종 fallback 조회. -
MCP
precedents_get에legacy_map_path파라미터 추가 (선택적).
- Path-looking input (
/포함 +.md끝) → 직접 fetch - 새 grammar: tree에서
*{SEP}{caseno}.md검색 - Legacy fallback: tree에서
{caseno}.md검색 legacy-paths.jsonfallback (--legacy-map지정 시)
이 순서는 precedent-kr force-push 이전/이후 모두 동작하도록 설계되었습니다.
- 내부 버전 정렬 및 패키지 메타데이터 업데이트.
- 최초 릴리스.