Skip to content

docs: fix remaining links after migration and rm temporary local link checker#2018

Merged
miyoungc merged 11 commits into
developfrom
docs/fix-remaining-links
Jun 15, 2026
Merged

docs: fix remaining links after migration and rm temporary local link checker#2018
miyoungc merged 11 commits into
developfrom
docs/fix-remaining-links

Conversation

@miyoungc

@miyoungc miyoungc commented Jun 11, 2026

Copy link
Copy Markdown
Collaborator

Description

This PR fixes the remaining broken documentation links found after the Fern migration and removes the temporary local link checker that is no longer needed.

Changes include:

  • Add Fern redirects for legacy /about URLs, old Colang 2.0 language-reference routes, legacy Sphinx routes, and generated SDK helper-module URLs that do not publish as standalone pages.
  • Update broken internal documentation links to canonical Fern routes.
  • Replace stale external links with current third-party documentation, GitHub source links, or checker-friendly paper URLs.
  • Remove the temporary local link checker workflow, script, tests, Make target, and stale CodeRabbit guidance.

Related Issue(s)

None.

Validation

  • make docs-fern-strict
  • git diff --check
  • Fern YAML parsed successfully during local validation.
  • Re-ran Fern link checker against staging while iterating on remaining broken-link rows.

Checklist

  • I've read the CONTRIBUTING guidelines.
  • I've updated the documentation if applicable.
  • I've added tests if applicable. Existing temporary link-checker tests were removed with the checker.
  • @mentions of the person or team responsible for reviewing proposed changes.

Summary by CodeRabbit

  • Documentation

    • Updated internal documentation links to use absolute paths across Colang 2.0 getting-started and language-reference guides
    • Corrected external resource URLs and integration documentation links for improved accuracy
    • Added redirect mappings for legacy documentation URLs to maintain accessibility
  • Chores

    • Updated documentation link verification approach and configuration
    • Removed documentation link checking workflow and related scripts from the project

@miyoungc miyoungc requested a review from tgasser-nv June 11, 2026 19:58
@greptile-apps

greptile-apps Bot commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR cleans up post-Fern-migration documentation debt: it adds redirect entries for legacy URL patterns, rewrites internal MDX links to use absolute Fern routes, swaps stale external URLs for working replacements, and removes the temporary local link-checker workflow, script, tests, and Makefile target.

  • fern/docs.yml gains ~130 new redirect rules covering legacy /about, Colang 2.0 language-reference pages that moved under /language-reference/, and private SDK helper-module slugs that Fern doesn't publish as standalone pages. Existing destinations pointing at the stale /about/ prefix are updated to /about-nemo-guardrails-library/.
  • Documentation MDX files across colang-2/ getting-started and language-reference sections switch from relative slugs to absolute Fern routes; external links in the guardrail-catalog, research, telemetry, and evaluation pages are replaced with working GitHub source or archive URLs.
  • Tooling cleanup: the docs-links-pr.yaml CI workflow (146 lines), scripts/check-docs-links.sh (719 lines), tests/test_docs_links.py (184 lines), and the docs-check-links Makefile target are all removed since Fern's built-in checker (make docs-fern-strict) now handles this.

Confidence Score: 5/5

Documentation-only maintenance PR with no runtime logic changes; safe to merge.

All changed Python source files touch only comments, docstrings, or whitespace-only reformatting. The Fern redirects are additive and consistent with the existing slug hierarchy. The removal of the link-checker tooling is intentional and validated by the author against the Fern-native checker. No runtime paths, API contracts, or data schemas are affected.

No files require special attention. The three inline comments cover cosmetic observations (a generic replacement URL in constants.py, a possibly missing 0.14.0 archive entry, and GitHub blob rendering behaviour for HTML reports).

Important Files Changed

Filename Overview
fern/docs.yml Adds ~130 new redirect entries for legacy /about, Colang 2.0 language-reference, and private SDK helper-module URLs; updates ~30 existing destinations from stale /about/... to /about-nemo-guardrails-library/.... Changes are internally consistent and follow the documented Fern slug hierarchy.
nemoguardrails/tracing/constants.py Replaces a precise YAML spec link (/gen-ai/events.yaml) with the top-level semantic-conventions landing page; otherwise no logic changes.
nemoguardrails/colang/v1_0/lang/comd_parser.py Rewrites the parse_pattern docstring to avoid literal URL-like tokens (user=CURRENT, deal__status) that the link checker was flagging; no logic changes.
nemoguardrails/utils.py Reformats a multi-line lambda for readability; no behavior changes.
docs/about/release-notes.mdx Switches to archive.docs.nvidia.com URLs and removes the 0.14.0 entry from the Previous Releases list; the omission may be intentional (0.14.1 supersedes it) but is undocumented.
docs/evaluation/llm-vulnerability-scanning.mdx Replaces broken relative static-file links with GitHub blob URLs pointing to HTML report files; blob URLs render raw HTML source rather than the rendered report in the browser.
docs/configure-rails/guardrail-catalog/community/fiddler.mdx Updates three stale Fiddler docs URLs; the new anchor for 'Create a new Fiddler environment key' now points to the product overview page instead of a credentials/API-key page.
.github/workflows/docs-links-pr.yaml Entire file deleted; the temporary link-checker CI job is removed as Fern's built-in checker (make docs-fern-strict) now covers this responsibility.
docs/configure-rails/colang/colang-2/language-reference/index.mdx All card and list links updated from relative slugs to absolute Fern routes; changes are systematic and consistent with the slug hierarchy.
scripts/check-docs-links.sh Entire 719-line script deleted; replaced by Fern's native link checker.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[Incoming legacy URL] --> B{Category}
    B --> C["/about/... URLs"]
    B --> D["Colang 2.0 /language-reference/... URLs"]
    B --> E["Private SDK helper-module URLs"]
    B --> F["Sphinx /architecture, /release-notes, etc."]
    C --> G["/nemo/guardrails/latest/about-nemo-guardrails-library/..."]
    D --> H["/nemo/guardrails/latest/configure-guardrails/colang/colang-2/language-reference/..."]
    E --> I["Nearest public SDK page\n(e.g. /guardrails-python-sdk/nemoguardrails/llm/...)"]
    F --> J["Canonical Fern route\n(already existed, destination updated)"]
    G --> K[Fern renders page]
    H --> K
    I --> K
    J --> K
Loading

Reviews (6): Last reviewed commit: "Merge branch 'develop' of github.com:NVI..." | Re-trigger Greptile

@github-actions

Copy link
Copy Markdown
Contributor

@miyoungc miyoungc marked this pull request as draft June 11, 2026 20:01
@codecov

codecov Bot commented Jun 11, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@coderabbitai

coderabbitai Bot commented Jun 11, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

This PR removes the automated documentation link-checking infrastructure (CI workflow, shell script, tests) and refactors all documentation links throughout the codebase to use absolute site-root paths or corrected external URLs. It adds comprehensive Fern redirect rules to map legacy documentation URL patterns to the new site structure.

Changes

Documentation Link Refactoring and Infrastructure Removal

Layer / File(s) Summary
Link-checking infrastructure removal
Makefile, .coderabbit.yaml
Removes docs-check-links Makefile target and CI checks; updates CodeRabbit configuration to reference docs/index.yml instead of the removed link-checking script. Full CI workflow (.github/workflows/docs-links-pr.yaml), shell script (scripts/check-docs-links.sh), and test module (tests/test_docs_links.py) are deleted (146, 719, and 176 lines respectively).
Colang 2.0 documentation link standardization
docs/configure-rails/colang/colang-2/getting-started/*.mdx, docs/configure-rails/colang/colang-2/index.mdx, docs/configure-rails/colang/colang-2/language-reference/*.mdx, docs/configure-rails/colang/index.mdx
Converts all Colang 2.0 getting-started and language-reference documentation from relative paths to absolute /configure-guardrails/colang/colang-2/… routes; updates card navigation href attributes, cross-document links, and external GitHub example references (hello-world, dialog-rails, input-rails, multimodal-rails, recommended-next-steps, index pages, language-reference index, make-use-of-llms, the-standard-library, parent colang index).
Integration and guardrail catalog documentation updates
docs/configure-rails/guardrail-catalog/community/*.mdx, docs/configure-rails/guardrail-catalog/content-safety.mdx, docs/configure-rails/guardrail-catalog/third-party.mdx, docs/configure-rails/guardrail-catalog/topic-control.mdx
Updates third-party integration documentation links: Cisco AI Defense to developer.cisco.com, Clavata to docs.clavata.ai, Cleanlab playground URL, Fiddler docs to protection/guardrails pages, Llama Guard to arXiv, Patronus to correct Quick Start path; updates action-reference links in content-safety and topic-control from relative paths to GitHub blob/develop URLs; updates third-party overview links.
Evaluation, tutorials, and auxiliary documentation
docs/evaluation/evaluate-guardrails.mdx, docs/evaluation/llm-vulnerability-scanning.mdx, docs/getting-started/tutorials/jailbreak-detection-heuristics.mdx, docs/integration/langchain/agent-middleware.mdx, docs/resources/research.mdx, docs/telemetry.mdx, nemoguardrails/tracing/constants.py
Updates evaluation docs with absolute GitHub paths for static Garak reports and microsoft/ms_marco dataset; updates tutorial self-check-input link from GitHub to documentation site; updates LangChain integration security reference to internal site URL; updates research citations to arXiv; updates telemetry docstring OpenTelemetry spec reference; updates integration documentation links.
Fern redirect configuration
fern/docs.yml
Adds 164 lines of redirect rules mapping legacy documentation URL patterns to new Fern site structure: routes legacy "about", "architecture", "release-notes", "llm-support" paths to about-nemo-guardrails-library destinations; corrects Colang 2.0 language-reference page paths; routes SDK private module pages to public SDK routes.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

  • NVIDIA-NeMo/Guardrails#1973: Introduces documentation link-checking infrastructure (docs-check-links.sh script, CI workflow, tests) that this PR removes as part of the link standardization refactoring.

Suggested labels

documentation

🚥 Pre-merge checks | ✅ 5 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Test Results For Major Changes ⚠️ Warning PR includes major refactoring (removes docs link-check workflow/tests/scripts), but the PR description has no test results or testing info beyond an empty template. Update PR description to include testing performed (e.g., CI/manual steps, link checks, command output or evidence) or justify why changes are non-major/minor.
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title directly summarizes the main changes: fixing remaining documentation links after a migration and removing a temporary local link checker tool.
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.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/fix-remaining-links

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: 2

🤖 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/configure-rails/colang/colang-2/language-reference/the-standard-library.mdx`:
- Line 27: The Card component with title "LLM Flows" has a typo in its href
attribute; update the href value on the Card (the Card title="LLM Flows"
instance) from
"/configure-guardrails/colang/colang-2/language-reference/the-standard-library/lmm"
to
"/configure-guardrails/colang/colang-2/language-reference/the-standard-library/llm"
so the link points to the correct LLM Flows page.

In `@fern/docs.yml`:
- Around line 1086-1130: The destination paths in the Colang 2.0 redirect block
use the wrong prefix "configure-guardrails" — update each destination string in
the shown redirect entries so "/configure-guardrails/" is replaced with
"/configure-rails/" (i.e., change destination values for entries referencing
colang-2/language-reference/*); ensure all listed destination lines in
fern/docs.yml are updated to the correct
"/nemo/guardrails/latest/configure-rails/..." prefix.
🪄 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: Enterprise

Run ID: a4ebd898-ea96-415b-8b45-366265978dba

📥 Commits

Reviewing files that changed from the base of the PR and between 13739de and 4e22e53.

📒 Files selected for processing (33)
  • .coderabbit.yaml
  • .github/workflows/docs-links-pr.yaml
  • Makefile
  • docs/configure-rails/colang/colang-2/getting-started/dialog-rails.mdx
  • docs/configure-rails/colang/colang-2/getting-started/hello-world.mdx
  • docs/configure-rails/colang/colang-2/getting-started/index.mdx
  • docs/configure-rails/colang/colang-2/getting-started/input-rails.mdx
  • docs/configure-rails/colang/colang-2/getting-started/multimodal-rails.mdx
  • docs/configure-rails/colang/colang-2/getting-started/recommended-next-steps.mdx
  • docs/configure-rails/colang/colang-2/index.mdx
  • docs/configure-rails/colang/colang-2/language-reference/index.mdx
  • docs/configure-rails/colang/colang-2/language-reference/make-use-of-llms.mdx
  • docs/configure-rails/colang/colang-2/language-reference/the-standard-library.mdx
  • docs/configure-rails/colang/index.mdx
  • docs/configure-rails/guardrail-catalog/community/ai-defense.mdx
  • docs/configure-rails/guardrail-catalog/community/clavata.mdx
  • docs/configure-rails/guardrail-catalog/community/cleanlab.mdx
  • docs/configure-rails/guardrail-catalog/community/fiddler.mdx
  • docs/configure-rails/guardrail-catalog/community/llama-guard.mdx
  • docs/configure-rails/guardrail-catalog/community/patronus-evaluate-api.mdx
  • docs/configure-rails/guardrail-catalog/content-safety.mdx
  • docs/configure-rails/guardrail-catalog/third-party.mdx
  • docs/configure-rails/guardrail-catalog/topic-control.mdx
  • docs/evaluation/evaluate-guardrails.mdx
  • docs/evaluation/llm-vulnerability-scanning.mdx
  • docs/getting-started/tutorials/jailbreak-detection-heuristics.mdx
  • docs/integration/langchain/agent-middleware.mdx
  • docs/resources/research.mdx
  • docs/telemetry.mdx
  • fern/docs.yml
  • nemoguardrails/tracing/constants.py
  • scripts/check-docs-links.sh
  • tests/test_docs_links.py
💤 Files with no reviewable changes (3)
  • scripts/check-docs-links.sh
  • tests/test_docs_links.py
  • .github/workflows/docs-links-pr.yaml

Comment thread fern/docs.yml
@miyoungc miyoungc marked this pull request as ready for review June 11, 2026 20:52
@miyoungc miyoungc added the documentation Improvements or additions to documentation label Jun 11, 2026
@greptile-apps

greptile-apps Bot commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

Want your agent to iterate on Greptile's feedback? Try greploops.

@tgasser-nv tgasser-nv left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

LGTM, thanks Miyoung for these fixes.

There are still 248 broken links because of a rename from configure-rails to configure-guardrails. The issue is make docs-check-redirects checks the legacy Sphynx conf.py redirects, not the new fern/docs.yml redirects. These can be fixed in a follow-on PR though, no need to block this one. Will sync up with you on this

@miyoungc miyoungc merged commit fb73f41 into develop Jun 15, 2026
11 checks passed
@miyoungc miyoungc deleted the docs/fix-remaining-links branch June 15, 2026 17:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants