SchemaRouter 0.17.0¶
SchemaRouter 0.17.0 is a hardening and architecture release focused on correctness under concurrency, explicit security boundaries, failure-atomic runtime behavior, and maintainability of the provider/runtime/planner core.
The public SchemaRouter facade remains intact. The largest changes are internal decompositions and fail-closed correctness fixes rather than a new orchestration layer.
Runtime architecture¶
The runtime facade has been split into focused internal components for:
- provider registration and multi-method onboarding;
- trusted rebinding;
- native backend registration;
- native schema-refresh/watch lifecycle;
- shared runtime defaults and compatibility dispatch.
Native vector, graph and record-store providers now register through dedicated registries instead of hard-coded central runtime dispatch. Existing convenience APIs remain compatibility delegates.
Planner architecture¶
Planning now uses explicit typed stages around an immutable planning context:
- candidate retrieval/ranking;
- primary executable-call selection;
- fallback selection;
- final plan assembly.
Analysis and planning share one registry snapshot end-to-end, reducing hidden live-registry reads and making routing policy easier to test in isolation without changing the documented planner facade.
Failure atomicity and concurrency¶
0.17.0 hardens several boundaries that can otherwise produce partially published or ambiguous state:
- multi-capability/provider registration can be failure-atomic;
- registry and trusted-binding publication preserve predecessor state on failure;
- shared execution-budget reservation is atomic;
- schema-refresh health transitions are coordinated atomically;
- repeated concurrent tool spans remain distinguishable;
- capability publication and trace replay use explicit ordering/concurrency invariants.
Synchronous remote I/O, trace persistence and health probes are kept off the async event loop where needed, and sync wrappers no longer depend on unsafe event-loop affinity.
Authorization and security¶
Principal-aware execution is preserved through native, LangChain and LlamaIndex exports and through parallel preflight paths.
Security hardening includes:
- authorization revalidation at retry and final approval boundaries;
- additive approval requirements for side-effect authority;
- fail-closed handling when trusted vector/graph/data-scope filters cannot be enforced;
- centralized trusted HTTP-header validation;
- host-controlled network egress policy;
- sensitive trace-payload redaction before sinks;
- bounded schema structural complexity and JSON-Schema evaluation work;
- bounded persisted/adaptive checkpoint and administrative-document parsing;
- atomic SQLite backup-destination reservation.
These changes can reject malformed, ambiguous or unenforceable states earlier than 0.16.0. That is a deliberate correctness/security tightening rather than a new execution capability.
Lifecycle and observability¶
Router-owned native schema watchers now have explicit lifecycle ownership and are stopped during router shutdown. Direct replacement/unregister paths invalidate refresh state consistently.
SQLite run traces can use bounded retention/pruning, and trace persistence or post-invocation hook failures are classified without silently converting an uncertain operation into a successful one.
CI and release qualification¶
The qualification pipeline was reworked to reduce queue pressure without weakening release gates:
- package fan-out is based on one immutable artifact;
- deterministic compatibility regressions are blocking;
- native adapter coverage has per-family ratchets;
- protected-main commits have exact post-merge qualification evidence;
- documented public API contracts are checked against the installed package;
- Python dependency downloads are cached across qualification jobs.
External validation infrastructure¶
The repository now contains frozen/shared external-validation contracts and development harnesses for cross-project router evaluation, including a pinned SmartMCP semantic-discovery smoke.
These development/external-validation assets are evidence infrastructure only. They do not turn ongoing Research 0.14 results into 0.17.0 product claims.
Compatibility¶
No intentional breaking change is introduced to the documented retrieval/planning/execution facade. Internal services, stage components and lazy exports remain behind compatibility boundaries.
SchemaRouter remains Beta / pre-1.0. Research 0.14 uses separately frozen scientific sources and continues independently from this product release.
Release integrity¶
Publication requires the exact 0.17.0 release commit to pass protected CI, compatibility/security
checks, package build and clean-install acceptance. The release workflow then creates v0.17.0,
publishes GitHub/PyPI artifacts through the existing trusted pipeline, emits provenance/SBOM/digest
metadata, and verifies the published artifacts.