Cross-doc links in docs/docs/ that omit the .md extension are treated by Docusaurus as raw URL paths rather than doc cross-references — the convention the project already mandates (AGENTS.md §12, docs/CONTRIBUTING_DOCS.md).
Observed
- 333 relative doc links without the extension across 62 files (verified 2026-08-20, count includes fragment links such as
../reference/glossary#backend).
- The main-repo docs publish today at the root baseUrl, where those raw paths happen to resolve to pretty routes, so the build is green. But
docs/docusaurus.config.ts sets onBrokenLinks: 'throw', and .github/workflows/docs-publish.yml:54 sets the base URL to /mellea/ for any repository that isn't generative-computing/mellea:
DOCS_BASE_URL: ${{ github.repository == 'generative-computing/mellea' && '/' || '/mellea/' }}
- So a fork preview build (or any
/mellea/ deploy) hits the broken-link check with every one of those links failing.
Largest offenders: reference/glossary.md (38), how-to/evaluate-with-llm-as-a-judge.md (15), community/building-extensions.md (12), concepts/requirements-system.md (11), concepts/instruct-validate-repair.md and concepts/generative-programming.md (10 each).
Expected
Every internal doc link uses the .md form (e.g. ../advanced/lora-and-alora-adapters.md) so it resolves identically under any baseUrl.
Repro
In docs/:
DOCS_BASE_URL=/mellea/ npm run build
Sweep pattern (verified against the count above):
rg -n -P '\]\(((?:\./|\.\./)[a-z0-9][a-zA-Z0-9._/-]*)(#[a-z0-9-]*)?\)' docs/docs -g '*.md' | rg -v '\.md(\)|#)'
Mechanical fix, no content changes. docs/versioned_docs/ left alone — historical snapshots. Flagged while reviewing PR #1557, which only touches docs/examples/aLora/, so this is out of that diff's scope.
Cross-doc links in
docs/docs/that omit the.mdextension are treated by Docusaurus as raw URL paths rather than doc cross-references — the convention the project already mandates (AGENTS.md §12, docs/CONTRIBUTING_DOCS.md).Observed
../reference/glossary#backend).docs/docusaurus.config.tssetsonBrokenLinks: 'throw', and.github/workflows/docs-publish.yml:54sets the base URL to/mellea/for any repository that isn'tgenerative-computing/mellea:/mellea/deploy) hits the broken-link check with every one of those links failing.Largest offenders:
reference/glossary.md(38),how-to/evaluate-with-llm-as-a-judge.md(15),community/building-extensions.md(12),concepts/requirements-system.md(11),concepts/instruct-validate-repair.mdandconcepts/generative-programming.md(10 each).Expected
Every internal doc link uses the
.mdform (e.g.../advanced/lora-and-alora-adapters.md) so it resolves identically under any baseUrl.Repro
In
docs/:Sweep pattern (verified against the count above):
Mechanical fix, no content changes.
docs/versioned_docs/left alone — historical snapshots. Flagged while reviewing PR #1557, which only touchesdocs/examples/aLora/, so this is out of that diff's scope.