Skip to content

Findings: routing-adapters-models (8, health: adequate) — system review 2026-05-31 #3155

@williamzujkowski

Description

@williamzujkowski

Findings catalog — routing-adapters-models

From the 2026-05-31 full-codebase review (epic #3143). Domain health: adequate. This issue is the durable, individually-trackable list of findings for this domain; thematic work is tracked under epic #3143 (related phase: #3150).

Findings

Composability notes

The domain is currently adequate for the CLI orchestrator use case (cli/orchestrate-command.ts) but NOT composable as building blocks. UnifiedAdapterRegistry, model registry, and adapter factories are internal primitives. External pipelines cannot import registry to implement custom routing, observe model fallback/retirement events, hot-reload model metadata post-startup, or implement custom adapters via factory pattern. To enable building-blocks→pipelines vision: export UnifiedAdapterRegistry and factories as public API, implement subscription-based model registry updates, define adapter lifecycle event contracts, and replace hardcoded CLI switch with extensible factory."

Mission gaps

  • Routing decisions express CLI choice only, not model preference; decouples model selection from task requirements
  • UnifiedAdapterRegistry is not publicly composable; operators cannot implement domain-specific routing strategies
  • Model metadata changes post-startup (manifest overlays) do not propagate to cached routing decisions
  • Adapter lifecycle events (failover, retirement, disposal) are not observable to external systems for telemetry and orchestration
  • CLI adapters hardcoded in switch statement; no plugin/extensibility path for custom CLI implementations

Part of epic #3143. Full review record: docs/archive/system-review-2026-05-31.md.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestp3Priority 3 - Lower impact, significant changes needed

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions