| @@ -274,8 +274,19 @@ | ||
| 274 | 274 | // NEW: Log approved URLs count |
| 275 | 275 | if (testingData.approved_urls && testingData.approved_urls.length > 0) { |
| 276 | 276 | this.log(`🔗 Approved URLs for citations: ${testingData.approved_urls.length}`); |
| 277 | 277 | } |
| 278 | + | |
| 279 | + // 58f8b4: URL-guard outcome — stripping used to be completely silent, | |
| 280 | + // which is why fabricated/stripped links were invisible from this panel. | |
| 281 | + if (testingData.url_validation) { | |
| 282 | + const uv = testingData.url_validation; | |
| 283 | + if (uv.removed_count > 0) { | |
| 284 | + this.log(`🚫 URL guard stripped ${uv.removed_count} unapproved link${uv.removed_count !== 1 ? 's' : ''}: ${(uv.removed_urls || []).join(', ')}`); | |
| 285 | + } else if (uv.checked > 0) { | |
| 286 | + this.log(`🔗 URL guard: all ${uv.checked} link${uv.checked !== 1 ? 's' : ''} in the answer approved (${uv.strict ? 'strict' : 'lenient'} mode)`); | |
| 287 | + } | |
| 288 | + } | |
| 278 | 289 | |
| 279 | 290 | // Show summary in debug console |
| 280 | 291 | if (testingData.top_matches && testingData.top_matches.length > 0) { |
| 281 | 292 | const aboveThreshold = testingData.top_matches.filter(match => match.above_threshold).length; |