Skip to content

docs: fix 12 broken internal links (relative-path drift)#265

Merged
Destynova2 merged 1 commit intomainfrom
fix/lychee-internal-link-cleanup
Apr 25, 2026
Merged

docs: fix 12 broken internal links (relative-path drift)#265
Destynova2 merged 1 commit intomainfrom
fix/lychee-internal-link-cleanup

Conversation

@Destynova2
Copy link
Copy Markdown
Contributor

Summary

Final cleanup follow-up to #261/#263/#264. Validated locally with lychee --offline --include-fragments docs/**/*.md README.md CLAUDE.md (0 errors after fix, was 12).

Three recurring patterns:

  1. Doubled subdirectory in relative links (e.g. how-to/oauth-setup.md written from inside docs/how-to/ → resolves to docs/how-to/how-to/oauth-setup.md):

    • docs/how-to/providers.md (oauth-setup, gemini-integration)
    • docs/reference/configuration.md (dlp)
    • docs/reference/openai-compatibility.md (api-compatibility)
    • docs/reference/responses-api-compatibility.md (api-compatibility)
  2. Missing parent traversal (link from one Diátaxis category to another without ../):

    • docs/tutorials/quickstart.md (4 next-step links to explanation/, how-to/, reference/, openapi.yaml)
    • docs/reference/configuration.md (ADR-0005 link)
  3. Stale or out-of-tree references:

    • docs/how-to/auto-tune-routing.md: removed link to docs/explanation/complexity-scoring.md (file was never created).
    • docs/decisions/0018-nature-inspired-routing.md: unlinked two internal Obsidian-vault references (path was absolute to the author's machine, never resolvable in CI). Text retained as non-hyperlinked references.

Test plan

  • lychee --offline --include-fragments docs/**/*.md README.md CLAUDE.md0 Errors
  • CI: Broken link check (lychee) finally green on main

Validated locally with `lychee --offline --include-fragments docs/**/*.md
README.md CLAUDE.md` (0 errors after fix, was 12).

Three recurring patterns:

1. Doubled subdirectory in relative links (resolves to nonexistent
   `docs/how-to/how-to/...`, `docs/reference/reference/...`):
   - docs/how-to/providers.md: oauth-setup.md, gemini-integration.md
   - docs/reference/configuration.md: dlp.md
   - docs/reference/openai-compatibility.md: api-compatibility.md
   - docs/reference/responses-api-compatibility.md: api-compatibility.md

2. Missing parent traversal (link from one Diataxis category to another
   without `../`):
   - docs/tutorials/quickstart.md: 4 next-step links
   - docs/reference/configuration.md: ADR-0005 link

3. Stale or out-of-tree references:
   - docs/how-to/auto-tune-routing.md: removed link to
     docs/explanation/complexity-scoring.md (file was never created).
   - docs/decisions/0018-nature-inspired-routing.md: unlinked two
     internal Obsidian-vault references (path was absolute to the
     author's machine, never resolvable in CI). Text retained as
     non-hyperlinked references.
@Destynova2 Destynova2 enabled auto-merge April 25, 2026 15:41
@Destynova2 Destynova2 merged commit 19c49a2 into main Apr 25, 2026
29 checks passed
@Destynova2 Destynova2 deleted the fix/lychee-internal-link-cleanup branch April 25, 2026 15:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant