SchemaRouter 0.17.0¶
SchemaRouter 0.17.0은 안정성·보안·구조 개선 릴리스입니다. 동시성 상황의 정확성, 명시적인 보안 경계, failure-atomic runtime 동작, provider/runtime/planner 핵심 구조의 유지보수성을 집중적으로 개선했습니다.
공개 SchemaRouter facade는 유지됩니다. 이번 릴리스의 핵심은 새로운 오케스트레이션
기능 추가가 아니라 내부 구조 분해와 fail-closed 정확성 강화입니다.
Runtime 구조¶
runtime facade의 책임을 다음과 같은 내부 컴포넌트로 분리했습니다.
- provider registration 및 multi-method onboarding
- trusted rebinding
- native backend registration
- native schema refresh/watch lifecycle
- 공통 runtime default 및 compatibility dispatch
native vector/graph/record-store provider는 중앙 runtime의 하드코딩된 분기 대신 전용 registry를 통해 등록됩니다. 기존 convenience API는 호환 delegate로 유지됩니다.
Planner 구조¶
planning은 immutable planning context를 중심으로 명시적인 typed stage를 사용합니다.
- candidate retrieval/ranking
- primary executable-call selection
- fallback selection
- final plan assembly
analysis와 planning이 하나의 registry snapshot을 end-to-end로 공유하도록 해 숨은 live registry read를 줄였고, 공개 planner facade를 바꾸지 않으면서 routing policy를 독립적으로 테스트하기 쉬워졌습니다.
Failure atomicity와 동시성¶
0.17.0은 부분 반영이나 모호한 상태를 만들 수 있는 경계를 다수 강화했습니다.
- multi-capability/provider registration의 failure-atomic 처리
- registry와 trusted binding publication 실패 시 이전 상태 보존
- shared execution budget reservation의 원자성
- schema-refresh health transition의 원자적 처리
- 반복되는 concurrent tool span 식별
- capability publication 및 trace replay의 명시적 ordering/concurrency invariant
sync remote I/O, trace persistence, health probe는 필요한 경우 async event loop 밖에서 실행되며, sync wrapper의 event-loop affinity 문제도 제거했습니다.
Authorization과 보안¶
principal-aware 실행 경계는 native뿐 아니라 LangChain/LlamaIndex export와 parallel preflight 경로에서도 유지됩니다.
주요 보안 강화 사항은 다음과 같습니다.
- retry 및 최종 approval 경계에서 authorization 재검증
- side-effect authority에 대한 approval requirement의 additive 적용
- trusted vector/graph/data-scope filter를 강제할 수 없을 때 fail closed
- trusted HTTP header validation 중앙화
- host-controlled network egress policy
- event sink 전달 전 민감 trace payload redaction
- schema 구조 복잡도 및 JSON-Schema evaluation work 제한
- persisted/adaptive checkpoint 및 administrative document parsing 제한
- SQLite backup destination의 원자적 예약
따라서 0.16.0에서 통과하던 일부 malformed/ambiguous/unenforceable 상태가 0.17.0에서는 더 일찍 거부될 수 있습니다. 이는 새 실행 권한이 아니라 의도적인 correctness/security 강화입니다.
Lifecycle과 observability¶
router가 소유한 native schema watcher의 lifecycle ownership을 명확히 했고 router shutdown 시 정상적으로 종료합니다. direct replacement/unregister도 refresh state를 일관되게 무효화합니다.
SQLite run trace에는 bounded retention/pruning을 적용할 수 있으며, trace persistence 또는 post-invocation hook 실패를 성공으로 오인하지 않도록 분류합니다.
CI와 release qualification¶
release gate를 약화하지 않으면서 Actions 병목을 줄이도록 qualification pipeline을 재구성했습니다.
- 하나의 immutable package artifact를 기준으로 fan-out
- deterministic compatibility regression을 blocking 처리
- native adapter family별 coverage ratchet
- protected main commit의 exact post-merge qualification
- installed package 기준 문서 public API contract 검사
- qualification job 간 Python dependency download cache
외부 검증 인프라¶
cross-project router 비교를 위한 frozen/shared external-validation contract와 개발용 harness를 추가했으며, pinned SmartMCP semantic-discovery smoke도 포함됩니다.
이 자산들은 검증 인프라이며, 진행 중인 Research 0.14 결과를 0.17.0 제품 성과로 간주하지 않습니다.
호환성¶
문서화된 retrieval/planning/execution facade에는 의도적인 breaking change가 없습니다. 새 내부 service, stage component, lazy export는 compatibility boundary 뒤에 유지됩니다.
SchemaRouter는 계속 Beta / pre-1.0입니다. Research 0.14는 별도로 고정된 scientific source를 사용하며 이번 제품 릴리스와 독립적으로 진행됩니다.
릴리스 무결성¶
정확한 0.17.0 release commit이 protected CI, compatibility/security check, package build,
clean-install acceptance를 통과해야 합니다. 이후 기존 release workflow가 v0.17.0을 만들고
GitHub/PyPI artifact를 배포하며 provenance/SBOM/digest metadata와 공개 artifact 검증을 수행합니다.