tegwick 82468c2165 IB-WP-0020-T02: routing config loader
build_routing_policy_from_config(config, *, workspace=None, env=None,
adapter_factory=None) materialises a parsed RoutingConfig into a live
llm-connect routing policy:

- Static RoutingPolicy when the config has no adaptive signals; one
  RoutingRule per task type, prefer = first candidate, fallback =
  second candidate (when present), max_cost_per_1k pulled from the
  preferred candidate.
- AdaptiveRoutingPolicy when default_quality_floor, any per-task
  quality_floor, or ledger_path is set. ledger_path resolves relative
  to the supplied workspace; parent directory is created so the
  ledger writes never fail on first call.
- API-key resolution from env (default os.environ) using the
  per-provider DEFAULT_API_KEY_ENV map; candidate.api_key_env overrides
  the default. Missing key raises InfospaceError("missing_routing_api_key")
  before any provider constructor runs.
- claude_code candidates need no API key (shells out to the local CLI).
- adapter_factory hook lets tests inject a sentinel-returning factory
  so policy construction stays network- and llm-adapter-free.

Eight new tests cover: static-policy default, adaptive selection via
ledger_path, adaptive selection via quality_floor, multi-candidate
fallback rule, real-factory smoke (OpenRouterAdapter constructed with
env API key), missing-key fast-fail, claude_code zero-key path, and
custom api_key_env override.

168 tests pass, 1 skipped.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-18 19:58:15 +02:00
2026-05-03 19:25:29 +02:00
2026-05-18 16:55:43 +02:00
2026-05-18 16:55:43 +02:00
2026-05-03 19:25:29 +02:00
2026-05-03 16:52:54 +00:00
2026-05-15 16:01:35 +02:00

infospace-bench

Workspace and service for creating, developing, evaluating, and inspecting structured knowledge spaces.

This repo is the application-layer successor for the infospace work that began inside markitect-main. It focuses on concrete infospaces and their lifecycle, while lower-level markdown tooling and runtime orchestration remain in sibling projects.

Start with:

  • INTENT.md
  • wiki/ProductRequirementsDocument.md
  • wiki/FunctionalRequirementsSpecification.md
  • SCOPE.md
  • docs/infospace-layout.md
  • docs/evaluation-and-inspection.md
  • docs/reference-pilot-decision.md
  • docs/markitect-main-scope-assessment.md
  • docs/markitect-tool-adapter.md
  • docs/entity-relation-model.md
  • docs/evaluation-history-and-metrics.md
  • docs/workflow-generation-pipeline.md
  • docs/kontextual-engine-boundary.md
  • docs/orthogonal-successor-roadmap.md
  • docs/legacy-infospace-feature-inventory.md
  • docs/successor-boundary-interface-map.md
  • docs/replacement-acceptance-matrix.md
  • docs/legacy-command-parity.md
  • docs/legacy-infospace-migration-guide.md
  • docs/replacement-readiness-decision.md
  • docs/wealth-vsm-generation-pipeline.md
  • docs/generic-source-generator.md
  • docs/agentic-memory-profile-pilot.md
  • docs/lefevre-epub3-validation.md
  • infospaces/bootstrap-pilot/
  • infospaces/wealth-vsm-legacy-slice/
  • infospaces/wealth-vsm-generation-pilot/
  • infospaces/agentic-memory-profile-pilot/
  • workplans/

Current development command:

python3 -m pytest
Description
Infospace project/workbench layer to create, develop, evaluate, and inspect concrete infospaces such as books, departments, projects, domains, or research corpora.
Readme MIT-0 1.4 MiB
Languages
Python 99.9%
Makefile 0.1%