Skip to content

SchemaRouter 0.15.0

SchemaRouter 0.15.0 is a provider-first onboarding and capability-runtime release built on the stable execution boundary established in 0.12 and the operability work shipped in 0.14.

The release keeps SchemaRouter focused on typed capability retrieval and schema-aware execution. It does not add autonomous orchestration, and it does not promote incomplete research experiments into stable product claims.

Provider-first onboarding

Users can now start from a provider identity instead of having to know every protocol or SDK that provider exposes.

from schemarouter import SchemaRouter

router = SchemaRouter()
resolution = router.resolve_provider("materials-project")
registration = await router.add_provider("materials-project")

Built-in acceptance profiles cover Materials Project, Crossref, Tavily, APIs.guru, and the OData.org V4 reference service. Provider profiles remain a thin onboarding layer over the existing adapters.

URL-backed methods flow into the normal OpenAPI, OPTIMADE, GraphQL, OData, OpenRPC, or MCP ingestion paths. Declarative HTTP/JSON tools use an explicitly trusted ToolSpec. Python SDKs and caller-owned transports still require an explicit trusted binding; package presence alone never grants execution authority.

Release-gated compatibility evidence also exercises provider-profile-routed local GraphQL, OpenRPC, and MCP reference implementations. Public-provider checks remain point-in-time compatibility evidence rather than uptime guarantees.

State-aware corrective retrieval

0.15.0 adds explicit state-conditioned corrective retrieval through reretrieve_state_aware() and areretrieve_state_aware().

These APIs can remove ineligible candidates and backfill from the remaining eligible capability surface without changing the stable retrieve(..., k=5) / aretrieve(..., k=5) facade. The behavior is additive and opt-in.

Capability dependency graph and drift handling

Capability graph construction is now indexed and incrementally maintainable. The runtime adds indexed dependency construction, deterministic SCC analysis and bounded cycle witnesses, incremental rebuild, atomic compare-and-swap snapshot publication, validated full-rebuild fallback, and source/predecessor preservation on publication failure.

Sparse graph benchmarks cover 1k, 10k, and 50k capability scales.

Portable artifacts, snapshots, and decision traces

Capability graph artifacts and snapshots now have explicit format versions and deterministic migration behavior. Legacy 1.0 graph artifacts migrate to 1.1 while preserving legacy edges as external evidence. Raw pre-envelope snapshots remain readable after validation and can be migrated into the versioned envelope.

The release also adds privacy-safe capability decision traces with compact/detailed rendering, router.inspect(...), CLI inspection, and HTML dashboard integration.

Compatibility fix found through live acceptance

The expanded Materials Project provider-first smoke exposed an OPTIMADE streamed compressed-response reconstruction defect. 0.15.0 fixes that path and adds regression coverage.

Compatibility and stable-core boundary

There is no intentional breaking change to the stable retrieval/execution facade. retrieve(request, *, k=5) and aretrieve(request, *, k=5) keep their existing signatures; state-aware re-retrieval is additive; provider-first registration reuses existing adapter/execution contracts; and credentials, live clients, SDK objects, and transport handles remain outside persisted/model-visible schemas.

SchemaRouter remains Beta / pre-1.0.

Research boundary

The active routing research program continues independently from this package release. The large held-out semantic benchmark, final-answer quality evaluation, and remaining projection/decision-backend confirmation are not required for 0.15.0 publication unless they reveal a product correctness, security, packaging, or API defect.

Partial research rows are therefore not presented as product guarantees in this release.

Release integrity

Publication requires the exact 0.15.0 release commit to pass the protected CI/security matrix and release-gated pinned protocol compatibility references. The automated workflow then creates v0.15.0, builds and clean-installs wheel/sdist, emits an SPDX SBOM and provenance attestations, creates SHA256SUMS.txt and release-manifest.json, publishes through PyPI Trusted Publishing, verifies public artifact digests, and re-installs the published artifacts and integration extras outside the checkout.