Skip to content

SchemaRouter 0.3.0a1

SchemaRouter 0.3.0a1 is the second public alpha and the first release of the expanded production-oriented schema execution boundary developed after 0.2.0a1.

Highlights

  • provider-neutral bounded DecisionBackend contracts with deterministic fallback;
  • optional Jev / TypeSafe System One decision backend through schemarouter[jev];
  • first-class LangChain and LlamaIndex bridges that preserve SchemaRouter execution authority;
  • a checked-in 144-case multilingual/adversarial decision-routing benchmark corpus;
  • machine-readable OpenAPI compatibility reporting;
  • authenticated MCP trusted-header support and injectable MCPClientFactory;
  • trusted sync/async per-call approval callbacks;
  • per-run execution budgets for logical calls, attempts, remote attempts, elapsed time, per-tool quotas, and application-defined cost units;
  • optional privacy-preserving OpenTelemetry run/tool spans through schemarouter[otel];
  • explicit allowlisted third-party adapter plugins through the schemarouter.adapters entry-point group.

Security and execution controls

0.3.0a1 keeps execution authority local and fail-closed:

  • unknown decision option IDs fail closed before confidence handling;
  • provider failure can fall back deterministically without bypassing policy;
  • MCP credentials stay in trusted transport configuration and credentials embedded in MCP URLs are rejected;
  • protocol-controlled MCP headers cannot be overridden by trusted-header configuration;
  • approval-required calls fail closed when approval is missing, denied, or errors;
  • retries consume attempt, remote-attempt, and cost budgets before invocation;
  • wall-clock budgets can interrupt asynchronous tool execution;
  • adapter plugin discovery does not import installed plugin code;
  • OpenTelemetry export omits argument values, result payloads, RunConfig metadata, tags, and exception messages;
  • OpenAPI runtime responses remain bounded before decoding.

Benchmarking

The repository now includes benchmarks/decision-routing-v1.json with 144 fixed cases covering normal routing, near-duplicate endpoints, Korean/English queries, long-tail phrasing, and adversarial/out-of-domain requests.

The benchmark harness reports:

  • final routing accuracy;
  • invalid-plan rate;
  • bounded-backend abstention recall;
  • deterministic fallback count;
  • category-level accuracy;
  • mean, p50, and p95 latency;
  • token usage and optional dated cost estimates;
  • row-level JSON/CSV output.

Live provider measurements remain separate from deterministic CI because credentials, model revisions, provider availability, and pricing are external variables.

Compatibility validation

The release quality workflow validates:

  • Python 3.10, 3.11, 3.12, 3.13, and 3.14;
  • Python 3.15 release-candidate forward compatibility as a non-blocking preview;
  • Windows + Python 3.14 smoke execution;
  • Pyright static typing;
  • an 82% branch-coverage floor;
  • declared minimum runtime dependency versions;
  • clean wheel and sdist installation;
  • strict MkDocs build;
  • LangChain, LlamaIndex, Jev, MCP, and OpenTelemetry integration suites;
  • package metadata, license inclusion, quickstart execution, and release-artifact installation;
  • a unified top-level release pipeline that consumes green current-main CI, creates or verifies the annotated release tag, clean-installs wheel/sdist artifacts, and publishes GitHub/PyPI outputs with stale-run, duplicate-tag, and least-privilege protections.

At release cut, the main test surface reports 209 passing tests and 84.57% branch coverage.

Installation

Exact release:

pip install "schemarouter==0.3.0a1"

Latest prerelease:

pip install --pre schemarouter

Optional integrations:

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

Alpha status

This remains a pre-1.0 alpha. The core trust model and public contracts are regression-tested, but 0.x minor/prerelease development may still introduce deliberate API changes documented in the changelog and versioning policy.

See CHANGELOG.md, docs/versioning.md, SECURITY.md, and docs/release-checklist.md for the complete compatibility and security policy.