Skip to content

docs: fix dead links and anchors left by the docs path re-alignment - #13318

Open
azrabano23 wants to merge 3 commits into
ai-dynamo:mainfrom
azrabano23:docs-fix-dead-links
Open

docs: fix dead links and anchors left by the docs path re-alignment#13318
azrabano23 wants to merge 3 commits into
ai-dynamo:mainfrom
azrabano23:docs-fix-dead-links

Conversation

@azrabano23

@azrabano23 azrabano23 commented Aug 15, 2026

Copy link
Copy Markdown

Overview

Fixes 15 dead cross-references (13 files) left behind by the docs restructure and path re-alignment (#10855, #12243, #12373). Every link touched here pointed at a file, directory, or heading that no longer exists on main; every replacement target was verified to exist. Related to the follow-up tracker #13278.

What was broken

Renamed directoryoperations/dynosim/ became operations/simulation-with-dynosim/ in #12373, but four references still used the old path (404 on GitHub):

  • lib/mocker/README.md (2 links)
  • lib/mocker/src/replay/offline/README.md
  • components/src/dynamo/mocker/README.md (this one's link text also displayed a pre-Fern path, docs/dynosim/mocker.md — updated to name the real destination)

Doc contradicts codeREADME.md / README.zh-CN.md say generate-frontend-openapi writes to docs/reference/api/openapi.json; the binary hardcodes docs/frontends/openapi.json (lib/llm/src/bin/generate_frontend_openapi.rs:63). Neither docs/reference/api/ nor any committed openapi.json exists.

Wrong relative paths in recipes:

  • qwen-3-8-2-4t-a95b-fp8.mdx linked ../kubernetes/quickstart.mdx (nonexistent) instead of ../../kubernetes/getting-started/quickstart.mdx, which every sibling recipe uses.
  • recipes/kimi-k2.5/tokenspeed/agg/nvidia/README.md pointed at ../../trtllm/agg/nvidia/ — wrong depth and wrong directory name. The description (TP=8, single DGD) matches recipes/kimi-k2.5/trtllm/agg-round-robin/ (deploy.yaml sets tensor_parallel_size: 8).

Anchors to renamed headings (no matching heading or <Step> title in the target, so broken on both GitHub and the hosted site):

  • tests/README.md: #filtering-by-vram → the section is now VRAM Markers and Filtering
  • profiler-guide.md: #generated-dgd-overrides → the section is now Optional: Customize the generated DGD
  • deploy/observability/logging/README.md: observability.mdx#logging → no such heading; retargeted to #configure-structured-logs (and the link text displayed another pre-Fern path)

Links to sections that no longer exist:

  • components/src/dynamo/planner/tests/manual/README.md: planner-guide.md#prerequisites — the guide has no Prerequisites section; dropped the dead fragment
  • recipes/README.md: deploy/inference-gateway/README.md#2-deploy-inference-gateway — that README is now a stub with a single heading; retargeted to the Gateway API Inference Extension guide it defers to
  • examples/backends/trtllm/deploy/README.md: backends/vllm/overview.md#client — the vLLM overview has no client section (and linking trtllm users to vLLM docs was itself odd); retargeted to the Kubernetes quickstart's "Send a request" step

Notes

  • Anchors that resolve to <Step title="..."> components on the hosted site were deliberately left alone, even though GitHub's markdown view doesn't resolve them — only anchors with no matching heading or Step title anywhere in the target were treated as broken.
  • Verified by script: every relative link in the changed files resolves to an existing file, and every fragment matches a heading in its target.

Open in Devin Review

Summary by CodeRabbit

  • Documentation
    • Updated OpenAPI generation instructions in English and Chinese documentation.
    • Refreshed links to mocker, planner, logging, profiler, Kubernetes, and deployment guides.
    • Corrected references for model recipes, offline replay, GAIE integration, and TRT-LLM deployments.
    • Updated GPU profiler guidance to reference the current VRAM markers and filtering section.

- repoint mocker/DynoSim doc references to operations/simulation-with-dynosim/
  (directory renamed in ai-dynamo#12373)
- correct the generate-frontend-openapi output path in README.md and
  README.zh-CN.md (the binary writes docs/frontends/openapi.json)
- fix recipe cross-references: qwen-3-8-2-4t-a95b-fp8 quickstart path and the
  kimi-k2.5 tokenspeed pointer to its TRT-LLM sibling recipe
- retarget anchors whose headings were renamed: tests/README VRAM filtering,
  profiler-guide generated-DGD section, observability logging README
- replace links to sections that no longer exist: planner manual-test
  prerequisites, recipes GAIE install guide, trtllm deploy client section

Signed-off-by: Azra Bano <azrabano.work@gmail.com>
@azrabano23
azrabano23 requested review from a team as code owners August 15, 2026 20:44
@copy-pr-bot

copy-pr-bot Bot commented Aug 15, 2026

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@azrabano23
azrabano23 temporarily deployed to external_collaborator August 15, 2026 20:44 — with GitHub Actions Inactive
@azrabano23
azrabano23 temporarily deployed to external_collaborator August 15, 2026 20:44 — with GitHub Actions Inactive
@github-actions

Copy link
Copy Markdown
Contributor

👋 Hi azrabano23! Thank you for contributing to ai-dynamo/dynamo.

Just a reminder: The NVIDIA Test Github Validation CI runs an essential subset of the testing framework to quickly catch errors.Your PR reviewers may elect to test the changes comprehensively before approving your changes.

🚀

@github-actions github-actions Bot added external-contribution Pull request is from an external contributor docs documentation Improvements or additions to documentation backend::trtllm Relates to the trtllm backend planner labels Aug 15, 2026

@devin-ai-integration devin-ai-integration 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.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no bugs or issues to report.

Open in Devin Review

@coderabbitai

coderabbitai Bot commented Aug 15, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 370d4d3e-20a9-4de5-9d5e-0157eafc849a

📥 Commits

Reviewing files that changed from the base of the PR and between e147cee and ef02942.

📒 Files selected for processing (13)
  • README.md
  • README.zh-CN.md
  • components/src/dynamo/mocker/README.md
  • components/src/dynamo/planner/tests/manual/README.md
  • deploy/observability/logging/README.md
  • docs/fern/pages/developer-guide/knowledge-base/modular-components/profiler/profiler-guide.md
  • docs/fern/pages/recipes/model-recipes/qwen-3-8-2-4t-a95b-fp8.mdx
  • examples/backends/trtllm/deploy/README.md
  • lib/mocker/README.md
  • lib/mocker/src/replay/offline/README.md
  • recipes/README.md
  • recipes/kimi-k2.5/tokenspeed/agg/nvidia/README.md
  • tests/README.md

Walkthrough

This change updates documentation links and anchors across project READMEs and guides. The links now reference current OpenAPI output, Kubernetes deployment and operations pages, simulation documentation, planner guidance, profiler sections, and recipe paths.

Changes

Documentation link updates

Layer / File(s) Summary
Deployment and operations guide links
components/src/dynamo/mocker/README.md, deploy/observability/logging/README.md, docs/fern/pages/recipes/model-recipes/..., examples/backends/trtllm/deploy/README.md, recipes/README.md, recipes/kimi-k2.5/...
Deployment and operations references now point to current Kubernetes guides, observability sections, and recipe paths.
API and developer guide references
README.md, README.zh-CN.md, docs/fern/pages/developer-guide/..., tests/README.md
API output paths and profiler guidance now use current documentation paths and section anchors.
Simulation and planner references
lib/mocker/README.md, lib/mocker/src/replay/offline/README.md, components/src/dynamo/planner/tests/manual/README.md
Mocker, offline replay, and planner instructions now link to updated documentation pages.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Merge Risk: ⚪ Minimal · up to ef029

This change only repairs documentation links and anchors without altering product behavior; no actionable merge-blocking risk remains beyond normal checks and review.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description is detailed and relevant but omits the required Related Issues section and its required issue-link or no-issue confirmation format. Add the required Related Issues section and specify the relationship to #13278, such as “Relates to #13278.”
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the primary change: fixing dead links and anchors caused by documentation path realignment.
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.

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

## Testing the Deployment

Send a test request to verify your deployment. See the [client section](../../../../docs/fern/pages/developer-guide/knowledge-base/modular-components/backends/vllm/overview.md#client) for detailed instructions.
Send a test request to verify your deployment. See the [Send a request step of the Kubernetes quickstart](../../../../docs/fern/pages/kubernetes/getting-started/quickstart.mdx#send-a-request) for detailed instructions.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

The #send-a-request fragment targets a Step in quickstart.mdx that has no explicit id, so the anchor is not stable for Fern link checks. Fix: add id="send-a-request" to the target Step or remove the fragment.

🤖 AI Fix

In docs/fern/pages/kubernetes/getting-started/quickstart.mdx, change <Step title="Send a request"> to <Step title="Send a request" id="send-a-request"> so the link from examples/backends/trtllm/deploy/README.md resolves.

@azrabano23

Copy link
Copy Markdown
Author

The failing lychee check is the pre-existing external 404s on xgrammar.mlc.ai in structural-tag.md (a file this PR doesn't touch) — #13314 already repoints those links. All links changed in this diff resolve.

@ayaangazali

Copy link
Copy Markdown
Contributor

Adding a data point for this PR rather than opening a competing one, since it already covers dead links in both README files.

README.md:169 and README.zh-CN.md:146 point at:

https://docs.nvidia.com/dynamo/kubernetes-deployment/start-here/installation-guide

That link started failing lychee in CI within the last day. It is reported as a 404 on the /latest/ variant, which is a path the README does not contain, so what is failing is the redirect rather than the literal URL.

Timing suggests why: #13269 promoted v1.4.0 to current release. The redirect declared in docs/fern/docs.yml:459 sends this source to /dynamo/dev/kubernetes/installation/install-dynamo, and that resolves, but the newly promoted latest channel does not appear to carry the same mapping.

Checked from outside CI:

/dynamo/kubernetes-deployment/start-here/installation-guide  -> 200, redirects to /dynamo/dev/kubernetes/installation/install-dynamo
/dynamo/latest/kubernetes/installation/install-dynamo        -> 200, no redirect
/dynamo/dev/kubernetes/installation/install-dynamo           -> 200, no redirect

So pointing the two READMEs straight at https://docs.nvidia.com/dynamo/latest/kubernetes/installation/install-dynamo would resolve without depending on a channel-specific redirect, and would take the link out of lychee's error list.

Happy to leave it entirely to you, or to send it as a separate commit if you would rather keep this PR's scope fixed. Not opening my own PR for it since it is the same two files and the same purpose as yours.

Signed-off-by: Azra Bano <azrabano.work@gmail.com>

# Conflicts:
#	lib/mocker/src/replay/offline/README.md
@azrabano23
azrabano23 temporarily deployed to external_collaborator August 24, 2026 02:52 — with GitHub Actions Inactive
@pull-request-size pull-request-size Bot added size/S and removed size/M labels Aug 24, 2026
…nd-a-request step

The kubernetes-deployment/start-here/installation-guide URL relies on a
channel-specific redirect that the newly promoted latest channel does not
carry (diagnosed by @ayaangazali on the PR); link the /latest/ page
directly. Give the quickstart's 'Send a request' Step an explicit id so
the fragment link added in this PR is stable.

Signed-off-by: Azra Bano <azrabano.work@gmail.com>
@azrabano23
azrabano23 temporarily deployed to external_collaborator August 24, 2026 03:30 — with GitHub Actions Inactive
@azrabano23

Copy link
Copy Markdown
Author

Both follow-ups are in (a6a4b36):

  • @ayaangazali's install-link diagnosis — exactly right, thank you for the careful redirect archaeology instead of a competing PR. Both READMEs now point straight at https://docs.nvidia.com/dynamo/latest/kubernetes/installation/install-dynamo (verified 200, no redirect dependency), taking the link out of lychee's error list regardless of which channel carries the old redirect.
  • dynamo-review-agent's anchor finding — the quickstart's Send a request Step now carries an explicit id="send-a-request", so the fragment link this PR adds is stable for Fern.

Branch is also merged up to current main.

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

Labels

backend::trtllm Relates to the trtllm backend docs documentation Improvements or additions to documentation external-contribution Pull request is from an external contributor planner size/M

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants