This is a finding from https://github.com/krokoko/cairn (action item CA-12).
Component
Documentation
Describe the feature
Add a broken-link check (markdown-link-check or linkinator) to the docs CI so broken cross-references in the Markdown sources (docs/guides/, docs/design/, root docs) are detected automatically.
Use case
Doc-build verification is at Level 2/3 — astro check and the fail-on-mutation Starlight-sync gate are strong, but link validation is absent. Broken cross-refs between guides, design docs, and ADRs currently go undetected and rot silently. Since the docs are also agent context (e.g. API_CONTRACT.md, design docs), dead links degrade the context an agent reads. A link checker is a cheap fitness function that catches this class of decay at PR time.
Proposed solution
- Add
markdown-link-check (or linkinator) as a dev dependency in docs.
- Configure it to scan
docs/guides/, docs/design/, ADRs, and root Markdown (README.md, CONTRIBUTING.md, AGENTS.md).
- Wire it into the docs CI workflow (
docs.yml); allowlist known-flaky external hosts to avoid false negatives.
- Run it alongside the existing
astro check.
Acceptance criteria
Other information
Source reports: readiness-roadmap.md, verification-report.md (Documentation Verification — "Link validation: No"), verification-strategy.md (Documentation Verification). Effort: S. Per ADR-003 this issue needs the approved label before work begins.
Component
Documentation
Describe the feature
Add a broken-link check (
markdown-link-checkorlinkinator) to the docs CI so broken cross-references in the Markdown sources (docs/guides/,docs/design/, root docs) are detected automatically.Use case
Doc-build verification is at Level 2/3 —
astro checkand the fail-on-mutation Starlight-sync gate are strong, but link validation is absent. Broken cross-refs between guides, design docs, and ADRs currently go undetected and rot silently. Since the docs are also agent context (e.g.API_CONTRACT.md, design docs), dead links degrade the context an agent reads. A link checker is a cheap fitness function that catches this class of decay at PR time.Proposed solution
markdown-link-check(orlinkinator) as a dev dependency indocs.docs/guides/,docs/design/, ADRs, and root Markdown (README.md,CONTRIBUTING.md,AGENTS.md).docs.yml); allowlist known-flaky external hosts to avoid false negatives.astro check.Acceptance criteria
AGENTS.mddocs-workflow notes.Other information
Source reports:
readiness-roadmap.md,verification-report.md(Documentation Verification — "Link validation: No"),verification-strategy.md(Documentation Verification). Effort: S. Per ADR-003 this issue needs theapprovedlabel before work begins.