| 133 | const DEFAULT_HOT_LENSES = { |
| 134 | '.ts': ['programmatic', 'structural', 'performance'], |
| 135 | '.tsx': ['programmatic', 'structural', 'performance'], |
| 136 | '.js': ['structural', 'performance'], |
| 137 | '.jsx': ['structural', 'performance'], |
| 138 | '.mjs': ['performance'], |
| 139 | '.cjs': ['performance'], |
| 140 | '.py': ['programmatic', 'structural'], |
| 141 | '.go': ['programmatic', 'structural'], |
| 142 | '.rs': ['programmatic'], |
| 143 | '.css': ['performance'], |
| 144 | '.scss': ['performance'], |
| 145 | '.md': ['cross-reference'], |
| 146 | }; |
| 147 | |
| 148 | function selectHotPathLenses(filePath, relativePath) { |
| 149 | const config = health.readConfig(); |
| 150 | const verification = config.verification || {}; |
| 151 | const disabled = new Set(verification.disabled || []); |
| 152 | const ext = path.extname(filePath).toLowerCase(); |
| 153 | |
| 154 | // Use configured hot lenses or fall back to defaults |
| 155 | const candidates = DEFAULT_HOT_LENSES[ext] || []; |
| 156 | |
| 157 | // Always include dependency and design checks for source files (they're fast) |