Documentation Location
docs/hardware/ (4 pages)
docs/troubleshooting/ (7 pages)
docs/remote-l3-worker-design/ (6 pages)
docs/troubleshooting/device-error-codes/ (4 pages)
Linked as directories from docs/README.md (three rows), docs/dfx/README.md, and docs/user/how-to/debug-a-failed-run.md.
What's Wrong or Missing?
These four directories are linked with a trailing slash — [hardware/](hardware/) — rather than at a specific page. GitHub renders that as a directory listing, so it works when reading the repo. MkDocs leaves the link as-is and there is no index.html to serve, so every one of them 404s on https://hw-native-sys.github.io/simpler/.
MkDocs does report it, at INFO:
INFO - Doc file 'README.md' contains an unrecognized relative link 'hardware/', it was left as is.
INFO - Doc file 'README.md' contains an unrecognized relative link 'troubleshooting/', it was left as is.
INFO - Doc file 'README.md' contains an unrecognized relative link 'remote-l3-worker-design/', it was left as is.
INFO - Doc file 'dfx/README.md' contains an unrecognized relative link '../troubleshooting/', it was left as is.
INFO - Doc file 'user/how-to/debug-a-failed-run.md' contains an unrecognized relative link '../../troubleshooting/device-error-codes/', it was left as is.
--strict only fails on warn and above, so this builds clean today. The knob is validation.links.unrecognized_links in mkdocs.yml, currently at its default of info. It was deliberately left there in #1581 — that PR raised validation.links.anchors to warn and fixed the six broken anchors it exposed, and recorded that these five directory links are the remaining class, because fixing them means adding index pages, not editing links.
Twenty-one pages across the four directories are therefore reachable on the site only through nav, and the three that are excluded from nav on purpose (remote-l3-worker-design/*, troubleshooting/device-error-codes/*, investigations/* — see not_in_nav) are reachable only through these dead links.
Suggested Improvement
Add a README.md to each of the four directories, in the shape docs/dfx/README.md and docs/investigations/README.md already use — a short statement of what the directory is for, plus a table of its pages and what each covers. Then register them in mkdocs.yml's nav so the sidebar reaches them too.
Once all four exist, raise validation.links.unrecognized_links to warn in mkdocs.yml so --strict catches the next one. That step is the point of the exercise: without it, the same class of link rots back in silently, exactly as the anchors did before #1581.
docs/README.md already states the rule this would satisfy: "New docs belong in one of the groups below, and in a subdirectory when the group already has one." Four of the five subdirectories it names have no index of their own.
Additional Context
Related: #1581 (raised anchors to warn, fixed the six broken anchors, and scoped these out explicitly).
Discovered while making mkdocs build --strict meaningful; the site is built and deployed by .github/workflows/docs.yml on every push to main.
Documentation Location
docs/hardware/(4 pages)docs/troubleshooting/(7 pages)docs/remote-l3-worker-design/(6 pages)docs/troubleshooting/device-error-codes/(4 pages)Linked as directories from
docs/README.md(three rows),docs/dfx/README.md, anddocs/user/how-to/debug-a-failed-run.md.What's Wrong or Missing?
These four directories are linked with a trailing slash —
[hardware/](hardware/)— rather than at a specific page. GitHub renders that as a directory listing, so it works when reading the repo. MkDocs leaves the link as-is and there is noindex.htmlto serve, so every one of them 404s on https://hw-native-sys.github.io/simpler/.MkDocs does report it, at
INFO:--strictonly fails onwarnand above, so this builds clean today. The knob isvalidation.links.unrecognized_linksinmkdocs.yml, currently at its default ofinfo. It was deliberately left there in #1581 — that PR raisedvalidation.links.anchorstowarnand fixed the six broken anchors it exposed, and recorded that these five directory links are the remaining class, because fixing them means adding index pages, not editing links.Twenty-one pages across the four directories are therefore reachable on the site only through
nav, and the three that are excluded fromnavon purpose (remote-l3-worker-design/*,troubleshooting/device-error-codes/*,investigations/*— seenot_in_nav) are reachable only through these dead links.Suggested Improvement
Add a
README.mdto each of the four directories, in the shapedocs/dfx/README.mdanddocs/investigations/README.mdalready use — a short statement of what the directory is for, plus a table of its pages and what each covers. Then register them inmkdocs.yml'snavso the sidebar reaches them too.Once all four exist, raise
validation.links.unrecognized_linkstowarninmkdocs.ymlso--strictcatches the next one. That step is the point of the exercise: without it, the same class of link rots back in silently, exactly as the anchors did before #1581.docs/README.mdalready states the rule this would satisfy: "New docs belong in one of the groups below, and in a subdirectory when the group already has one." Four of the five subdirectories it names have no index of their own.Additional Context
Related: #1581 (raised
anchorstowarn, fixed the six broken anchors, and scoped these out explicitly).Discovered while making
mkdocs build --strictmeaningful; the site is built and deployed by.github/workflows/docs.ymlon every push tomain.