URL probing sends a ranged streaming GET request through an SSRF-safe client across a threaded pool of workers, categorizing status codes and caching verdicts for an hour.
flowchart TD
A[Draft Markdown] --> B[URL Extraction]
B --> C[Parallel SSRF-Safe Range GETs]
C --> D{Status Classifier}
D -->|2xx / 3xx| E[Mark Live]
D -->|4xx| F[Mark Gone]
D -->|5xx| G[Mark Server Error]
D -->|Timeout / Fail| H[Mark Dead]
E --> I[URL Cache: 1 hr TTL]
F --> J[Dead Link Unwrapper]
G --> J
H --> J
J --> K{Is Target URL?}
K -->|Yes| L[Shield & Retain]
K -->|No| M[Strip Link, Keep Anchor Text]
L --> N[Verified Output]
M --> N