infospace-bench/docs
tegwick c11a942bb7 IB-WP-0020-T01: routing config schema and parser
Add a small YAML routing config schema (schema_version 1) and a
parser-only loader at src/infospace_bench/routing_config.py. The
loader validates the declarative shape — task_types with candidates,
optional per-task quality_floor, optional default_quality_floor,
optional ledger_path, optional stage_to_task_type override map — and
refuses bad shapes before any network or workspace work happens.

Supported provider names: openrouter, claude_code, openai, gemini.
Unknown providers, missing required candidate fields, out-of-range
quality floors, negative max_cost_per_1k, duplicate candidate ids
within a task type, and non-mapping stage_to_task_type all raise
focused InfospaceError codes that callers can pattern-match.

docs/routing-config.md documents the schema with two annotated
examples (OpenRouter-only two-tier, and adaptive with a ClaudeCode
baseline) plus the full "what fails fast" list.

16 parser tests cover happy-path round-trip, file load, missing file,
malformed YAML, and every validation surface (wrong/missing schema
version, empty task_types, empty candidates, missing required fields,
unsupported provider, negative cost, out-of-range quality_floor,
duplicate ids, non-mapping stage_map, non-string ledger_path).

T02 will turn a RoutingConfig into a live llm-connect RoutingPolicy /
AdaptiveRoutingPolicy with constructed LLMAdapter instances.

160 tests pass, 1 skipped.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-18 18:09:28 +02:00
..
agentic-memory-profile-pilot.md Agentic memory profile 2026-05-15 16:01:35 +02:00
archive-integration.md IB-WP-0014: archive-list, restore, retention annotation, docs (T03-T05) 2026-05-17 11:46:23 +02:00
entity-relation-model.md entity relationship model 2026-05-14 15:06:17 +02:00
evaluation-and-inspection.md Initial implementation 2026-05-14 11:32:25 +02:00
evaluation-history-and-metrics.md eval history and metrics 2026-05-14 15:35:04 +02:00
generic-source-generator.md IB-WP-0016-T06: OpenRouter live-run guardrails 2026-05-17 23:04:19 +02:00
infospace-layout.md engine and lifecycle 2026-05-14 16:26:42 +02:00
kontextual-engine-boundary.md engine and lifecycle 2026-05-14 16:26:42 +02:00
lefevre-epub3-validation.md IB-WP-0016: refresh validation baseline after T01/T02 smoke run 2026-05-17 16:13:39 +02:00
lefevre-readiness.md IB-WP-0016-T07: review report and output policy; close IB-WP-0016 2026-05-18 01:22:41 +02:00
legacy-command-parity.md infospace pipeline for wealth of nations example 2026-05-14 18:04:38 +02:00
legacy-infospace-feature-inventory.md docs and stuff 2026-05-14 13:47:36 +02:00
legacy-infospace-migration-guide.md command parity and migration guide 2026-05-14 17:16:39 +02:00
markitect-main-scope-assessment.md State-hub connect and initial workplans 2026-05-03 20:43:56 +02:00
markitect-tool-adapter.md markitect-tool integration 2026-05-14 14:53:16 +02:00
markitect-tool-and-infospace-replacement-assessment.md Reestablishing intent based goals and workplans 2026-05-14 13:09:58 +02:00
orthogonal-successor-roadmap.md docs and stuff 2026-05-14 13:47:36 +02:00
reference-pilot-decision.md Initial implementation 2026-05-14 11:32:25 +02:00
replacement-acceptance-matrix.md infospace pipeline for wealth of nations example 2026-05-14 18:04:38 +02:00
replacement-readiness-decision.md command parity and migration guide 2026-05-14 17:16:39 +02:00
routing-config.md IB-WP-0020-T01: routing config schema and parser 2026-05-18 18:09:28 +02:00
routing-task-types.md IB-WP-0018-T01+T02+T05: routing bridge to llm-connect 2026-05-18 11:33:58 +02:00
successor-boundary-interface-map.md engine and lifecycle 2026-05-14 16:26:42 +02:00
wealth-vsm-generation-pipeline.md infospace pipeline for wealth of nations example 2026-05-14 18:04:38 +02:00
workflow-generation-pipeline.md acceptance matrix and workflow generation 2026-05-14 16:01:32 +02:00