Added
make docs-lint— sweep docs//*.md for stale cross-references (closes #1075)** — newscripts/docs-lint.pywalks every markdown link indocs/(excluding the rendereddocs/website/site dir), parses[text](target.md)patterns, and reports any whose relative target doesn't resolve. Mirrorsmake roadmap-lintfrom Action #142 — manualmake docs-lint, with optionalVERBOSE=1to list every stale ref. Also wired into.pre-commit-config.yamlas a pre-push hook so the stale-ref class can't regress.
Fixed
- 53 stale .md cross-references across 16 files in docs/ (closes #1075) — follow-up to #1010. Sweep found 53 broken refs across 16 files: 34 relocatable (file moved to a different docs/ subdir; rewrote relative path), 12 marketing-cluster files that no longer exist (unlinked — kept link text without the
[](url)syntax), 7 references toforms/PYTHONIC_FORMS_IMPLEMENTATION.mdredirected to the canonicaldocs/website/guides/forms.md. Fixer script at/tmp/scratch/fix_stale_md_refs.py(one-shot; not committed). After fix: 0 stale refs remaining.