refactor(joinir): Phase 183-1 Unify pattern detection in loop_pattern_detection
Consolidates duplicate pattern detection logic across two routing layers. ## Changes 1. **Unified Detection Documentation**: - Added Phase 183 comments to `loop_pattern_detection::classify()` - Documented that this is the single source of truth for pattern classification - Both routers now reference this centralized function 2. **Router Documentation Updates**: - `patterns/router.rs`: Added Phase 183 comments explaining structure-based routing - `loop_pattern_router.rs`: Added unified detection section - Both routers now explicitly reference shared detection logic 3. **Improved Debug Output**: - Added `pattern_kind` to debug message in `route_loop_pattern()` - Helps diagnose pattern matching failures ## Benefits - **Single source of truth**: Pattern classification logic in one place - **Consistency**: Both routers use same detection algorithm - **Maintainability**: Changes to classification rules only needed once - **Documentation**: Clear references between routers and detection module ## Testing ✅ All loop_pattern_detection tests pass ✅ Pattern 2 tests pass ✅ No behavioral changes, pure documentation/organization refactoring 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
@ -21,9 +21,14 @@
|
||||
//!
|
||||
//! This router uses structure-based pattern classification (Phase 194):
|
||||
//! 1. Extract CFG features from LoopForm
|
||||
//! 2. Classify into pattern kind (1-4 or Unknown)
|
||||
//! 2. Classify into pattern kind (1-4 or Unknown) using `loop_pattern_detection::classify`
|
||||
//! 3. Route to appropriate pattern lowerer
|
||||
//!
|
||||
//! # Phase 183: Unified Detection
|
||||
//!
|
||||
//! This router shares pattern detection logic with `patterns/router.rs`.
|
||||
//! Both use `loop_pattern_detection::classify()` for consistent classification.
|
||||
//!
|
||||
//! # Pattern Priority (Phase 188)
|
||||
//!
|
||||
//! Patterns are tried in complexity order:
|
||||
|
||||
Reference in New Issue
Block a user