Skip to content

OSSS.ai.routing.routing_decision

OSSS.ai.routing.routing_decision

Routing Decision Data Structures.

This module defines the data structures for routing decisions, providing comprehensive reasoning and confidence tracking.

RoutingConfidenceLevel

Bases: Enum

Confidence levels for routing decisions.

RoutingReasoning

Bases: BaseModel

Detailed reasoning for routing decisions.

Migrated from dataclass to Pydantic BaseModel for enhanced validation, serialization, and integration with the OSSS Pydantic ecosystem.

to_dict()

Convert to dictionary for serialization.

Maintained for backward compatibility. Uses Pydantic's model_dump() internally for consistent serialization.

RoutingDecision

Bases: BaseModel

Comprehensive routing decision with reasoning and metadata.

Migrated from dataclass to Pydantic BaseModel for enhanced validation, serialization, and integration with the OSSS Pydantic ecosystem.

This class captures all aspects of an intelligent routing decision, including the selected agents, reasoning, confidence, and predictions.

model_post_init(__context)

Post-initialization to set derived fields.

add_reasoning(category, key, value)

Add reasoning information to the decision.

add_agent_rationale(agent, rationale, included=True)

Add rationale for including or excluding an agent.

add_risk(risk, mitigation=None)

Add identified risk and optional mitigation strategy.

add_fallback_option(fallback)

Add fallback option for failure scenarios.

set_performance_prediction(total_time_ms, success_probability, resource_utilization=None)

Set performance predictions for the routing decision.

add_optimization_opportunity(opportunity)

Add identified optimization opportunity.

is_high_confidence()

Check if this is a high-confidence decision.

is_risky()

Check if this decision has identified risks.

has_fallbacks()

Check if fallback options are available.

get_excluded_agents()

Get list of agents that were available but not selected.

to_dict()

Convert to dictionary for serialization.

Maintained for backward compatibility. Uses Pydantic's model_dump() internally for consistent serialization with datetime handling.

from_dict(data) classmethod

Create routing decision from dictionary.

Uses Pydantic's model_validate() for cleaner deserialization and automatic type conversion.