The dead-link probe tests every external link in a draft using an SSRF guard and a ranged streaming GET request, then unwraps broken hyperlinks into plain text to preserve sentence structure while shielding the primary target URL from deletion.
flowchart TD
A[Extracted Links] --> B{Valid Scheme?}
B -->|No| C[Keep As-Is]
B -->|Yes| D[SSRF Guard Check]
D -->|Blocked/Private IP| E[Verdict: Dead]
D -->|Safe IP| F[Ranged GET Probe]
F -->|2xx/3xx| G[Verdict: Live]
F -->|4xx/5xx/Error| E
G --> H[Keep Hyperlink]
E --> I{Is Target URL?}
I -->|Yes| J[Report but Retain]
I -->|No| K[Unwrap to Plain Text]