콘텐츠로 이동

SchemaRouter 0.6.0

SchemaRouter 0.6.0은 0.5 runtime-hardening baseline을 bounded local/model-assisted decision, operational inspection, 대규모 OpenAPI fidelity 개선의 세 영역으로 확장합니다.

SchemaRouter를 agent framework로 만들지 않습니다. Orchestration, conversation, memory, graph control, model-provider strategy는 application/framework의 책임이며 SchemaRouter는 typed tool-schema planning, validation, policy, execution boundary를 유지합니다.

주요 변경사항

Local 및 provider-neutral decision backend

  • schemarouter[laya]를 통한 optional local LayaDecisionBackend
  • Laya의 automatic English/multilingual routing, explicit checkpoint selection, confidence abstention, CPU/CUDA/MPS 선택, requested/actual device reporting, selective preload
  • Ollama는 필수가 아닌 optional general local-LLM decision backend로 유지
  • ModelQueryAnalyzer와 CallableDecisionBackend를 통해 기존 GPT/Gemini/Claude/기타 hosted client를 provider-neutral하게 재사용
  • 모든 decision backend를 locally authorized candidate ID와 local validation 범위로 제한

Workload-specific benchmark evidence가 수집되기 전에는 live model/provider quality claim을 이 release에 포함하지 않습니다.

Operational inspection과 dashboard

  • persistent registry/run trace를 위한 read-only schemarouter inspect
  • analyzer, decision policy, execution policy, 실제 trusted invoker binding을 보여주는 live SchemaRouter.inspect()
  • 독립적으로 열 수 있는 읽기 전용 HTML 대시보드 내보내기
  • arbitrary metadata, credential, invoker object, request/result payload, trace payload value를 default observation surface에서 제외
  • runnable dashboard example과 in-document visual preview

OpenAPI fidelity

0.6은 fail-closed OpenAPI subset을 크게 확장합니다.

  • response oneOf/anyOf object field를 planner에 노출하면서 composed runtime validation 보존
  • 동일 출처에 한정된 JSON Schema $id 기준 재설정, 중첩 가상 리소스 및 정적 $anchor 해석
  • dynamic/recursive reference semantics는 fail-closed 유지
  • strict discriminated oneOf request body를 typed root body 하나로 지원
  • 배열·스칼라·nullable root·discriminator 없는 composition까지 명시적인 JSON root body로 지원하며, 서로 호환되지 않는 스키마 variant를 임의로 평탄화하지 않음
  • literal JSON null root body 보존, missing required root body fail-closed
  • OpenAPI 3.0 nullable: true를 동등한 JSON Schema type union으로 normalize
  • path/header simple, query form default parameter style serialization; unsupported style과 allowReserved=true는 fail-closed
  • timestamp처럼 보이는 YAML scalar를 ingestion 시 JSON-compatible string으로 보존

Platform과 CI

  • Python 3.10~3.14 및 Windows는 required release gate
  • Python 3.15 preview는 non-blocking
  • wheel/sdist, minimum-dependency, Pyright, coverage, docs, MCP, LangChain, LlamaIndex, Jev, Laya, OpenTelemetry check 보호
  • Laya CI는 불필요한 CUDA download를 피하도록 CPU-only PyTorch wheel path 사용
  • release 전 public OpenAPI/OPTIMADE compatibility smoke green

Compatibility

0.6.0은 0.5.0의 public API를 제거하지 않습니다. 프로젝트는 pre-1.0이므로 minor release가 문서화된 compatibility change를 추가할 수 있습니다. 새 model-assisted/operational surface는 opt-in이며 unsupported schema semantics는 추측하지 않고 fail-closed합니다.

0.7 development로 연기된 항목

다음은 0.6.0 release blocker가 아닙니다.

  • shared corpus에서 GPT/Gemini/Claude/Ollama/Laya/Jev live decision-routing performance evidence
  • standalone LangChain/LlamaIndex ecosystem publication 및 upstream inclusion

이 track은 external provider, credential, hardware, maintainer 또는 third-party review가 필요하므로 0.7 development line에서 계속합니다.