diff --git a/src/mir/builder/control_flow/joinir/patterns/extractors/mod.rs b/src/mir/builder/control_flow/joinir/patterns/extractors/mod.rs
new file mode 100644
index 00000000..b6298ea3
--- /dev/null
+++ b/src/mir/builder/control_flow/joinir/patterns/extractors/mod.rs
@@ -0,0 +1,22 @@
+//! Phase 282 P3: Common extraction interfaces for loop patterns
+//!
+//! This module provides pure extraction functions for pattern detection.
+//! Extraction functions follow the ExtractionBased strategy (Phase 272 P0.2).
+//!
+//! # Design Principles
+//!
+//! - **Pure Functions**: No builder mutations, no side effects
+//! - **Fail-Fast**: `Err` for logic bugs, `Ok(None)` for non-matches
+//! - **SSOT**: Extraction is re-run in `lower()` (no caching assumptions)
+//! - **Result