Skip to content

docs: fix 50 broken links pointing at repo files (yaml/rs/py/sh/README) - #9384

Closed
dagil-nvidia wants to merge 1 commit into
mainfrom
dagil-nvidia/fix-docs-broken-links
Closed

docs: fix 50 broken links pointing at repo files (yaml/rs/py/sh/README)#9384
dagil-nvidia wants to merge 1 commit into
mainfrom
dagil-nvidia/fix-docs-broken-links

Conversation

@dagil-nvidia

@dagil-nvidia dagil-nvidia commented May 11, 2026

Copy link
Copy Markdown
Collaborator

Overview

Resolves the May 4 SW Docs broken-link scan by repointing markdown links that target repo files (not docs pages). The docs-website branch ships only fern/, so links like ](../../lib/foo/bar.rs) or ](../../examples/baz/deploy.yaml) resolve as docs.nvidia.com/dynamo/lib/... and 404 on the published site.

What changed

Replaced 50 broken link targets across 14 source files with full GitHub URLs (github.com/ai-dynamo/dynamo/blob/main/...) or, for orphan .md pages not in the Fern nav, the same pattern Ryan used in #9378.

Files:

  • docs/api/nixl-connect/README.md
  • docs/backends/mocker_backend/README.md
  • docs/backends/sglang/{README.md, sglang-examples.md, sglang-reference-guide.md}
  • docs/backends/trtllm/multinode/trtllm-multinode-examples.md
  • docs/backends/trtllm/trtllm-reference-guide.md
  • docs/benchmarks/mocker-trace-replay.md
  • docs/components/router/{router-testing.md, standalone-indexer.md}
  • docs/digest/agentic-inference/agentic-inference.md
  • docs/kubernetes/{disagg-communication-guide.md, snapshot.md}
  • docs/mocker/mocker.md

Why

This isn't a Fern bug or an autodoc problem — it's an authoring habit (repo-relative paths in markdown) made invisible by the docs-only branch layout. fern check and fern docs broken-links don't validate paths with non-doc extensions, so these slipped through.

Validation

grep -rnE '\]\(\.\.?/[^)]*\.(yaml|yml|rs|py|sh|toml|jsonl|cfg)\)' docs/
# (no matches)

grep -rnE '\]\((\.\./){3,}(lib|components/src|examples|recipes|tests|deploy)/' docs/
# (no matches)

Out of scope

  • The remaining 04-20 / 05-04 entries are versioned-snapshot drift (v1.0.2, v0.9.1, v0.7.1 snapshots reference files that were added to main after the tag was cut). Those require either docs-website branch edits or a snapshot-rewriter change — separate work.

Test plan

  • Wait for fern check + fern docs broken-links + lychee + detect_broken_links.py to pass
  • Check the Fern preview URL on the PR for the modified pages

Made with Cursor


Open in Devin Review

Summary by CodeRabbit

  • Documentation
    • Updated documentation references across API guides, backend documentation, Kubernetes deployment guides, and feature references for improved consistency.

Review Change Stack

The docs-website branch contains only fern/ — no examples/, lib/,
components/src/, or recipes/. Markdown links to those paths render as
broken docs.nvidia.com URLs because Fern publishes them as if they
were docs pages.

Repoint all such links to full github.com/ai-dynamo/dynamo/blob/main
or tree/main URLs so they resolve correctly on both GitHub and the
published docs site. Also fix two cross-tree .md README links and a
broken anchor on the agentic-inference blog post.

Clears the residual entries from the 2026-05-04 SW Docs link-checker
scan that aren't versioned-snapshot drift.

Signed-off-by: Dan Gil <dagil@nvidia.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@github-actions github-actions Bot added docs documentation Improvements or additions to documentation labels May 11, 2026
@github-actions

Copy link
Copy Markdown
Contributor

@coderabbitai

coderabbitai Bot commented May 11, 2026

Copy link
Copy Markdown
Contributor

Walkthrough

This PR systematically converts 24 documentation link references across 14 files from relative filesystem paths and in-page anchors to absolute GitHub URLs. All changes are documentation-only with no modifications to code logic, public APIs, or user-facing behavior.

Changes

Documentation Link Normalization to GitHub URLs

Layer / File(s) Summary
Multimodal Feature Documentation Links
docs/api/nixl-connect/README.md, docs/backends/sglang/README.md, docs/backends/sglang/sglang-examples.md, docs/backends/sglang/sglang-reference-guide.md, docs/backends/trtllm/trtllm-reference-guide.md
Multimodal support references across backends converted to GitHub absolute URLs. Covers multimodal disaggregated examples, SGLang multimodal docs, and TensorRT-LLM multimodal guides.
Backend Documentation and References
docs/backends/mocker_backend/README.md
Backend-common crate, LLMEngine trait docs, engine.rs contract documentation, and references section links updated from relative paths to GitHub URLs (6 line changes).
TensorRT-LLM Deployment Examples
docs/backends/trtllm/multinode/trtllm-multinode-examples.md
Largest change group: recipe entrypoints, model-level setup prerequisites, engine config README, and supported recipes catalog links converted to absolute GitHub URLs (16 line changes across 3 sections).
Router Testing and Component Documentation
docs/components/router/router-testing.md, docs/components/router/standalone-indexer.md
Bench-backed test files, E2E test fixtures, and standalone router references updated to GitHub-hosted links. Maintains cross-reference structure for testing guides.
Infrastructure and Operational Documentation
docs/benchmarks/mocker-trace-replay.md, docs/kubernetes/disagg-communication-guide.md, docs/kubernetes/snapshot.md, docs/mocker/mocker.md
Offline replay README, NIXL benchmark deployment, snapshotctl documentation, KV block manager, eviction backends, and mocker deployment examples updated to GitHub URLs (6 line changes in mocker.md, updates in 3 other infrastructure files).
Agentic Inference Documentation Updates
docs/digest/agentic-inference/agentic-inference.md
cache_control subsection changed from anchored section reference to standalone page references for Agent Hints and NVIDIA Request Extensions documentation.

🎯 1 (Trivial) | ⏱️ ~3 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly and specifically describes the main change: fixing 50 broken documentation links that point to repository files, using concise language with appropriate file type indicators.
Description check ✅ Passed The description includes all required template sections: a clear Overview explaining the problem and solution, detailed explanation of What changed with specific files listed, comprehensive Why section with context, thorough Validation with grep commands, explicit Out of Scope statement, and a Test plan checklist.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/backends/trtllm/multinode/trtllm-multinode-examples.md`:
- Around line 20-21: The two markdown links labeled "Qwen3-235B-A22B-FP8
aggregated" and "Qwen3-235B-A22B-FP8 disaggregated" point to non-existent
deploy.yaml files; update their hrefs to the parent agg/ and disagg/ directories
(or to specific hardware subdirs like hopper/ or blackwell/ with clarified link
text) so the links resolve to the actual deploy manifest locations.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: bd892841-9126-4bdf-b169-036bba722517

📥 Commits

Reviewing files that changed from the base of the PR and between 7b99c51 and aa91b34.

📒 Files selected for processing (14)
  • docs/api/nixl-connect/README.md
  • docs/backends/mocker_backend/README.md
  • docs/backends/sglang/README.md
  • docs/backends/sglang/sglang-examples.md
  • docs/backends/sglang/sglang-reference-guide.md
  • docs/backends/trtllm/multinode/trtllm-multinode-examples.md
  • docs/backends/trtllm/trtllm-reference-guide.md
  • docs/benchmarks/mocker-trace-replay.md
  • docs/components/router/router-testing.md
  • docs/components/router/standalone-indexer.md
  • docs/digest/agentic-inference/agentic-inference.md
  • docs/kubernetes/disagg-communication-guide.md
  • docs/kubernetes/snapshot.md
  • docs/mocker/mocker.md

Comment on lines +20 to +21
- [Qwen3-235B-A22B-FP8 aggregated](https://github.com/ai-dynamo/dynamo/blob/main/recipes/qwen3-235b-a22b-fp8/trtllm/agg/deploy.yaml)
- [Qwen3-235B-A22B-FP8 disaggregated](https://github.com/ai-dynamo/dynamo/blob/main/recipes/qwen3-235b-a22b-fp8/trtllm/disagg/deploy.yaml)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Read-only verification: find the actual deploy manifests under the qwen3-235b recipe tree.
# Expected result: identify the real paths to agg/disagg manifests, then update the two markdown links.

fd -HI 'deploy*.ya?ml' recipes/qwen3-235b-a22b-fp8 -t f
rg -n --glob 'recipes/qwen3-235b-a22b-fp8/**' 'kind:\s*DynamoGraphDeployment|trtllm|agg|disagg' -S

Repository: ai-dynamo/dynamo

Length of output: 8324


Update the two Qwen3 recipe links to point to the correct directories.

The markdown links at lines 20–21 reference paths that don't exist:

  • recipes/qwen3-235b-a22b-fp8/trtllm/agg/deploy.yaml → no such file
  • recipes/qwen3-235b-a22b-fp8/trtllm/disagg/deploy.yaml → no such file

The actual deploy manifests are hardware-specific (in hopper/ and blackwell/ subdirectories). Link to the parent directories instead:

  • https://github.com/ai-dynamo/dynamo/blob/main/recipes/qwen3-235b-a22b-fp8/trtllm/agg/
  • https://github.com/ai-dynamo/dynamo/blob/main/recipes/qwen3-235b-a22b-fp8/trtllm/disagg/

Alternatively, if you want to reference specific variants, update the link text to clarify which hardware is being documented.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/backends/trtllm/multinode/trtllm-multinode-examples.md` around lines 20
- 21, The two markdown links labeled "Qwen3-235B-A22B-FP8 aggregated" and
"Qwen3-235B-A22B-FP8 disaggregated" point to non-existent deploy.yaml files;
update their hrefs to the parent agg/ and disagg/ directories (or to specific
hardware subdirs like hopper/ or blackwell/ with clarified link text) so the
links resolve to the actual deploy manifest locations.

@saturley-hall

Copy link
Copy Markdown
Member

I get the utility of pointing to a fixed reference here but will this break on release branches where the documentation for a specific version might diverge from what is on main?

@dmitry-tokarev-nv dmitry-tokarev-nv left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will lock URLs to use main - it will pass on PRs that introduce broken links and once PR is merged main will get broken

@github-actions

Copy link
Copy Markdown
Contributor

This PR is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days.

@github-actions github-actions Bot added the Stale label Jun 12, 2026
@dagil-nvidia
dagil-nvidia marked this pull request as draft June 15, 2026 10:41
@github-actions github-actions Bot removed the Stale label Jun 21, 2026
@dagil-nvidia

Copy link
Copy Markdown
Collaborator Author

Closing as superseded.

The docs tree moved to docs/fern/ in #10855, so all 14 files this PR edits no longer exist at those paths and the branch is unmergeable. The fix itself has also largely landed: #9429 took the TensorRT-LLM multinode file, including the Hopper/Blackwell split CodeRabbit asked for, and #10855 converted the rest to blob/main/ GitHub URLs while codifying that pattern in the documentation style guide.

Some of this diff would now be a regression - the multimodal pages moved inside the Fern tree, so their current relative links are correct and this PR would replace working in-site links with external GitHub URLs.

A scan of the current tree found 17 cross-tree links remaining, small enough for a fresh PR rather than a rebase of this one.

The reviewer concerns about pinning to main (link rot on delete, and release/** divergence) are real, but they are now a policy question about the style guide rather than about this diff.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs documentation Improvements or additions to documentation size/M

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants