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]