# Archive link practice kit

Original synthetic fixtures by HowCurio. These are NOT Notion exports.
Requires Python 3.9 or later, standard library only. No network requests.

Unzip into a short local folder. Run from the extracted kit:
python archive-links.py examples/broken > broken-report.json
python archive-links.py examples/working > working-report.json

Broken exit code 1: 5 existing local targets, 2 missing, 1 external skipped, 1 anchor unchecked.
Working exit code 0: 7 existing local targets, 1 external skipped, 1 anchor unchecked.

For your own extracted archive:
python archive-links.py "C:/ArchiveCopy" > report.json
Keep the output OUTSIDE the scanned directory. The script never writes to the input.

Scope: HTML href/src and simple Markdown inline links only. No Markdown reference links, raw HTML in Markdown, nested parentheses, CSS URLs, srcset, JavaScript links, fragment validation, remote URL checks, archive extraction, Notion access checking or restoration. HTML base tags are flagged and that page is not resolved. UTF-8 HTML/Markdown expected; parse/read failures return 2. Symlinks are skipped and reported. Ordinary directories, Windows junctions and unusual reparse points are not a supported hostile-input security boundary: inspect only your own trusted extracted export.

File SHA256 records support copy comparisons; they do not prove an export captured everything. Exit 0 means no findings in the supported local-link scan, not a complete backup.

License: CC0 for synthetic fixtures; MIT for archive-links.py (copyright 2026 HowCurio). Permission to use/copy/modify/distribute is granted without warranty.
