Skip to content

SchemaRouter 0.13.0

Choose a tag to compare

@github-actions github-actions released this 01 Oct 04:03
· 574 commits to main since this release
079a1f8

SchemaRouter 0.13.0

SchemaRouter 0.13.0 is an operational-completeness release on top of the stable-core boundary
established in 0.12.0.

The architecture is not being reopened. This release closes concrete product gaps that appear when
the same typed capability contract is connected to real protocol, SDK, transport, nested-result and
schema-lifecycle surfaces.

Universal capability ingestion

The first-class ingestion surface now covers:

  • direct ToolSpec registration and typed Python callables;
  • explicit ToolSpec + trusted arbitrary SDK/client invokers through add_bound_tool();
  • OpenAPI/Swagger;
  • MCP Streamable HTTP, trusted stdio subprocesses and transport-neutral bound client factories;
  • OPTIMADE;
  • GraphQL introspection with native selection semantics;
  • OData CSDL with $select;
  • OpenRPC / JSON-RPC;
  • declarative HTTP/JSON capabilities;
  • inbound LangChain and LlamaIndex tools;
  • explicit SourceAdapter plugins and the existing grounded-document proposal/approval path.

Different access paths for one logical provider remain distinct. The registry records provider and
access identity rather than pretending that a Python SDK, MCP server, OpenAPI endpoint and
OPTIMADE service are the same transport.

Field contracts survive real nested responses

Structured adapters now align around the same field contract model. Nested OpenAPI, MCP and
OPTIMADE responses, Python/plugin schemas, and arrays of records retain their declared hierarchy.

A response such as an array of records is projected record by record. SchemaRouter does not
flatten all matching child values into an unrelated list. Datatype, semantic ID, optional units,
normalization, qualifiers and result paths remain attached to the registered field contract.

Trusted local code can also amend an imported capability when a provider omits a result contract.
That amendment path is intentionally narrow: it may declare or annotate approved data contracts,
but it cannot silently rewrite imported execution identity or grant remote mutation authority.

Schema lifecycle is now operational

Schema drift can be handled without turning remote metadata into authority:

accepted ToolSpec
  -> reinspect provider
  -> exact fingerprint + conservative compatibility report
  -> identical: no write
  -> compatible: optional CAS apply + exact rebind
  -> breaking/security: pending review

The periodic watcher runs the same boundary with bounded concurrency.

Safe single-document HTTP schema surfaces can use ETag / Last-Modified validators as a
network optimization. Correctness still falls back to full inspection and fingerprint comparison
when validators are unavailable or insufficient.

MCP stdio and custom transports are refreshable without inventing an HTTP URL. SchemaRouter reuses
only the current fingerprint-matched process-local trusted factory. Credentials, subprocess
configuration, sockets and live transport state are never serialized into ToolSpec or watcher
snapshots. Missing or stale trusted bindings fail closed.

Stable-core boundary remains intact

0.13.0 does not turn SchemaRouter into an autonomous agent framework and does not give retrieval or
remote schemas execution authority.

The surrounding application/agent still chooses among bounded registered candidates. SchemaRouter
continues to own typed registry identity, argument/output validation, field projection, local
policy, approvals, binding readiness and execution.

The public bounded retrieval facade introduced in 0.11.0 and frozen as stable core in 0.12.0 remains
the product boundary:

  • retrieve / aretrieve;
  • retrieve_executable / aretrieve_executable;
  • validated planning/invocation APIs and their existing policy boundary.

Research remains separate

The 0.14 agent-utility research cycle continues independently. B1/B2 evidence, the negative
structural K3-vs-K5 gate, corrective re-retrieval, large held-out confirmation, final-answer quality
and output-field projection experiments do not control whether this package release is usable.

No frozen 0.14 experimental corpus, ranking condition, promotion gate or evidence interpretation was
changed to prepare 0.13.0.

Compatibility

There is no intentional breaking public API change relative to 0.12.0. New ingestion, bound
transport, field-contract and schema-watch paths are additive.

SchemaRouter remains Beta / pre-1.0. The 0.12 stable-core architecture is preserved, while 0.x
minor releases may still add deliberately documented capabilities around that boundary.

Release integrity

The release commit must pass the protected CI matrix before publication. The automated release
workflow then creates v0.13.0 at that exact green main SHA, builds and clean-installs wheel and
sdist artifacts, emits provenance attestations and an SPDX SBOM, publishes through PyPI Trusted
Publishing, and verifies the exact public artifacts and integration extras after publication.