- P1: Use _resolve_execution_mode() instead of hardcoding SKILL_REACT in semantic_low_complexity, semantic_high, and merged_llm paths - P1: QualityGate escalation uses name-based check (c.name) instead of identity check (c is) for robustness - P2: Remove tautological complexity >= 0.3 in short_text_llm_hint - P2: Add empty query guard in SemanticRouter.route() - P2: Upgrade debug → warning log level for low-complexity fallback errors - P2: Validate skill_hint against _SKILL_NAME_RE in _classify_merged - P2: Rename has_high_signal → has_non_low_signal for clarity |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| semantic_router.py | ||
| skill_routing.py | ||