콘텐츠로 이동

SchemaRouter 0.3.0

SchemaRouter 0.3.0은 0.3 line의 첫 non-prerelease release입니다.

Validated 0.3.0a1 feature set을 intentional public API change 없이 승격하고 일반 PyPI 설치에서 --pre가 필요하지 않게 합니다. SchemaRouter는 pre-1.0이므로 이후 0.x minor release는 versioning policy에 따라 의도적인 compatibility change를 포함할 수 있습니다.

주요 변경사항

  • deterministic fallback을 가진 provider-neutral bounded DecisionBackend
  • schemarouter[jev]로 선택 설치할 수 있는 Jev/TypeSafe System One 결정 백엔드
  • SchemaRouter execution authority를 유지하는 first-class LangChain/LlamaIndex bridge
  • OpenAPI·MCP·OPTIMADE·Python 호출 가능 객체 및 허용 목록에 등록된 서드파티 어댑터 연결
  • 저장소에 포함된 다국어·적대적 의사결정 라우팅 벤치마크 코퍼스 144개 사례
  • machine-readable OpenAPI compatibility reporting
  • authenticated MCP trusted-header와 injectable MCPClientFactory
  • 각 호출에 적용할 수 있는 신뢰된 동기·비동기 승인 콜백
  • 실행별 논리적 호출 수·전체 시도 수·원격 시도 수·경과 시간·도구별 횟수·비용 단위 예산
  • schemarouter[otel]로 선택 설치할 수 있는 개인정보 보호형 OpenTelemetry 실행·도구 스팬
  • 패키지·타입·테스트 커버리지·통합·문서·릴리스의 엄격한 검증

설치

pip install schemarouter

Optional integration:

pip install "schemarouter[mcp]"
pip install "schemarouter[langchain]"
pip install "schemarouter[llamaindex]"
pip install "schemarouter[jev]"
pip install "schemarouter[otel]"

Compatibility와 validation

Release gate:

  • Python 3.10~3.14
  • Windows + Python 3.14 smoke
  • Pyright static typing
  • 82% branch-coverage floor
  • minimum runtime dependency version
  • wheel/sdist build와 clean-install smoke
  • strict MkDocs build
  • LangChain·LlamaIndex·Jev·MCP·OpenTelemetry 통합 테스트 묶음
  • 패키지 메타데이터·라이선스 포함 여부·빠른 시작 안내·릴리스 산출물 검증

Python 3.15는 별도 non-blocking forward-compatibility preview입니다. Public OpenAPI/OPTIMADE live smoke는 deterministic merge blocker가 아니라 external signal입니다.

Security model

0.3.0은 alpha cycle의 fail-closed execution model을 유지합니다.

  • unknown schema member와 bounded-decision option ID는 executable이 될 수 없음
  • stale schema fingerprint/invoker binding 거부
  • remote metadata/model output은 mutation/destructive authority를 부여할 수 없음
  • credential은 planner/model state 밖에 유지
  • retry는 기본적으로 read-only
  • approval failure/budget exhaustion은 fail-closed
  • OpenTelemetry export는 기본적으로 payload value/exception message 제외
  • OpenAPI runtime response는 decoding 전에 bounded

0.3.0a1에서의 변경

0.3.0a1과 0.3.0 사이 intentional public API change는 없습니다. Non-prerelease release는 validated alpha surface 승격, repository enforcement/documentation deployment 마무리, --pre 없는 standard installation 제공이 핵심입니다.

Live provider benchmark evidence와 추가 open bounded-decision backend는 deterministic core release blocker가 아닌 후속 research track입니다.