docs: migration to Fern#1973
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
📝 WalkthroughWalkthroughDocs are being migrated to Fern/MDX, with site navigation rebuilt, many internal links normalized to absolute routes, and large Colang 1/2 documentation sections rewritten or moved. Supporting workflows, Makefile targets, and an OpenAPI spec are added for the new docs pipeline. ChangesDocumentation migration and site configuration
Sequence Diagram(s)Estimated code review effort🎯 5 (Critical) | ⏱️ ~90+ minutes Suggested labels
Suggested reviewers
✨ Finishing Touches🧪 Generate unit tests (beta)
|
There was a problem hiding this comment.
Actionable comments posted: 5
Note
Due to the large number of review comments, Critical, Major severity comments were prioritized as inline comments.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (13)
docs/configure-rails/colang/colang-1/colang-language-syntax-guide.mdx (1)
12-14:⚠️ Potential issue | 🟠 Major | ⚡ Quick winConvert MyST admonitions to MDX equivalents before publishing.
This page still uses MyST directive blocks (
warning/note). In a Fern MDX migration, these commonly render as plain code fences instead of callouts.#!/bin/bash # Find remaining MyST admonition directives in MDX docs. rg -n --type=mdx -C2 '^\s*```{(warning|note|important|tip|admonition)}'Expected: zero matches, or an explicit compatibility layer documented in the repo.
Also applies to: 40-42, 93-95
🤖 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/configure-rails/colang/colang-1/colang-language-syntax-guide.mdx` around lines 12 - 14, This document contains MyST admonition fences like ```{warning} and ```{note} which must be converted to your project's MDX callout components before publishing; replace each MyST block (e.g., ```{warning}...```) with the repo's MDX admonition component (for example <Warning>...</Warning> or the configured Admonition/Callout component) and ensure the converted markup preserves the original title/body and any inline code, then apply the same conversion to the other occurrences noted (the second `warning`/`note` pairs) or document an explicit compatibility layer if you intend to keep MyST syntax.docs/observability/tracing/adapter-configurations.mdx (1)
17-19:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winUse hash-fragment links for in-page adapter anchors.
The table links won’t target the new
<a id="...">anchors unless they use#.... As written, they look like relative-page links and can break in-page navigation.Suggested fix
-| [FileSystem](filesystem-adapter) | Development, debugging, local logging | `filepath: "./logs/traces.jsonl"` | -| [OpenTelemetry](opentelemetry-adapter) | Production, monitoring platforms, distributed systems | Requires SDK configuration | -| [Custom](custom-adapter) | Specialized backends or formats | Implement `InteractionLogAdapter` | +| [FileSystem](`#filesystem-adapter`) | Development, debugging, local logging | `filepath: "./logs/traces.jsonl"` | +| [OpenTelemetry](`#opentelemetry-adapter`) | Production, monitoring platforms, distributed systems | Requires SDK configuration | +| [Custom](`#custom-adapter`) | Specialized backends or formats | Implement `InteractionLogAdapter` |Also applies to: 23-24, 38-39, 52-53
🤖 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/observability/tracing/adapter-configurations.mdx` around lines 17 - 19, Table links for the adapter anchors are using relative-page links instead of hash fragments; update the three link targets for FileSystem, OpenTelemetry, and Custom (the table entries referencing filesystem-adapter, opentelemetry-adapter, custom-adapter) to use in-page hash-fragment links (`#filesystem-adapter`, `#opentelemetry-adapter`, `#custom-adapter`) and apply the same change to the other occurrences of those three links in the file so they target the in-page <a id="..."> anchors.docs/configure-rails/guardrail-catalog/community/active-fence.mdx (1)
19-19:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winFix article usage before numeric threshold.
Use “a 0.85 threshold” instead of “an 0.85 threshold” for correct grammar in user-facing docs.
🤖 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/configure-rails/guardrail-catalog/community/active-fence.mdx` at line 19, Replace the incorrect article "an" before the numeric threshold in the sentence that reads "an 0.85 threshold" with "a 0.85 threshold" in the active-fence.mdx content describing "activefence moderation on input" and "activefence moderation on input detailed" so the sentence reads "...uses the maximum risk score with a 0.85 threshold..." ensuring the user-facing docs use correct grammar.docs/configure-rails/guardrail-catalog/agentic-security.mdx (1)
63-65:⚠️ Potential issue | 🟠 Major | ⚡ Quick winConvert remaining MyST directives to MDX-compatible components.
This page still uses MyST/Sphinx directive syntax (
{list-table}and{literalinclude}), which is not MDX-native and can break rendering in the Fern pipeline. Please migrate these blocks to MDX/Markdown equivalents (table markdown + fenced code includes or Fern-supported include components).🤖 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/configure-rails/guardrail-catalog/agentic-security.mdx` around lines 63 - 65, The page still contains MyST/Sphinx directives `{list-table}` and `{literalinclude}`; replace each `{list-table}` block with a standard Markdown table (pipe-separated header and rows) and replace each `{literalinclude}` with either a fenced code block containing the included file's contents or the project’s Fern-supported include component (e.g., an <Include> style component) as appropriate; update any adjacent directive options (like headers or captions) into the Markdown table header or a preceding paragraph and ensure code block language is set for syntax highlighting so rendering in MDX/Fern is preserved (search for `{list-table}` and `{literalinclude}` tokens to locate the spots).docs/configure-rails/guardrail-catalog/jailbreak-protection.mdx (1)
42-44:⚠️ Potential issue | 🟠 Major | ⚡ Quick winReplace the MyST fenced
\``{note}block with MDX callout markup indocs/configure-rails/guardrail-catalog/jailbreak-protection.mdx` (lines 42-44).
\``{note}is MyST/Sphinx syntax and may not render correctly in Fern’s MDX pipeline; use the existing` callout format instead.🔧 Proposed fix
-```{note} -If the `server_endpoint` parameter is not set, the checks will run in-process. This is useful for TESTING PURPOSES ONLY and **IS NOT RECOMMENDED FOR PRODUCTION DEPLOYMENTS**. -``` +<Note> +If the `server_endpoint` parameter is not set, the checks will run in-process. This is useful for TESTING PURPOSES ONLY and **IS NOT RECOMMENDED FOR PRODUCTION DEPLOYMENTS**. +</Note>🤖 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/configure-rails/guardrail-catalog/jailbreak-protection.mdx` around lines 42 - 44, Replace the MyST fenced note block (the ```{note}``` block) with the MDX callout component format using the existing <Note> callout; specifically, remove the ```{note} ... ``` fenced block and wrap the text about the `server_endpoint` parameter in a <Note> ... </Note> element so it renders correctly in Fern’s MDX pipeline and preserves the warning about in-process checks being for testing only.docs/configure-rails/yaml-schema/tracing-configuration.mdx (1)
187-188:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winInconsistent link format in Related Topics section.
The migration to Fern is updating links to use absolute site paths (e.g.,
/configure-rails/...,/migration/0.22), but the Related Topics section still uses relative paths. For consistency with the rest of the migration, consider updating these to absolute paths.🔗 Suggested fix
## Related Topics -- [Tracing Guide](../../observability/tracing/index) - Detailed tracing setup and examples -- [Detailed Logging](../../observability/logging/README) - Additional logging options +- [Tracing Guide](/observability/tracing) - Detailed tracing setup and examples +- [Detailed Logging](/observability/logging) - Additional logging options🤖 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/configure-rails/yaml-schema/tracing-configuration.mdx` around lines 187 - 188, Update the two relative links in the "Related Topics" section so they use absolute site paths; replace the link target for "Tracing Guide" (currently "../../observability/tracing/index") with the absolute path (e.g., "/observability/tracing") and replace the link target for "Detailed Logging" (currently "../../observability/logging/README") with the absolute path (e.g., "/observability/logging") to match the Fern migration style and other docs.docs/configure-rails/custom-initialization/init-function.mdx (1)
13-15:⚠️ Potential issue | 🟠 Major | ⚡ Quick winReplace MyST ```{important} fence with Fern/MDX admonition syntax
docs/configure-rails/custom-initialization/init-function.mdxuses a MyST fenced directive block (```{important}... ``` `).docs/convert-docs-to-fern.mjsconverts fenced directives fortoctree,mermaid,include,figure, andadmonition, but does not handleimportant, so this block will likely render incorrectly as raw code.- Replace it with the repo’s MDX admonition component, e.g.
<Warning title="Important"> The `init` function **must be synchronous** (`def init`, not `async def init`). The framework calls it without `await`, so an async function would silently do nothing. </Warning>🤖 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/configure-rails/custom-initialization/init-function.mdx` around lines 13 - 15, Replace the MyST fenced directive block using the ```{important} ... ``` fence (the `important` admonition around the init guidance) with the repo MDX admonition component by wrapping the same text in <Warning title="Important">...</Warning> (i.e., remove the code fence and put the sentence "The `init` function **must be synchronous** (`def init`, not `async def init`). The framework calls it without `await`, so an async function would silently do nothing." between the opening and closing Warning tags) so the converter (docs/convert-docs-to-fern.mjs) will render it correctly.docs/configure-rails/colang/index.mdx (1)
29-33:⚠️ Potential issue | 🟠 Major | ⚡ Quick winConvert MyST image directives to MDX-compatible image syntax.
Lines 29 and 135 use
```{image}blocks. In Fern MDX migration these frequently fail rendering and appear as literal code blocks.#!/bin/bash # Detect remaining MyST image directives in MDX docs rg -n '```\\{image\\}' docs fern/static/python-sdk-referenceAlso applies to: 135-139
🤖 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/configure-rails/colang/index.mdx` around lines 29 - 33, The MyST image directive block starting with the literal text "```{image} colang-2/images/use_cases_llms.png" (and the other similar "```{image}" blocks in this file) must be converted to MDX-compatible image usage; replace each ```{image}...``` block with a standard MDX image expression (either a Markdown image like  or an MDX <img> component/imported Image component with the same src, alt text, width and center alignment) so the images render instead of appearing as code blocks.docs/run-rails/using-python-apis/event-based-api.mdx (1)
231-233: 🛠️ Refactor suggestion | 🟠 Major | ⚡ Quick winMigrate to MDX Note component for consistency.
This still uses the old MyST admonition syntax
```{note}instead of the MDX<Note>component used elsewhere in the migration (e.g.,docs/telemetry.mdxlines 10-12).📝 Proposed fix to use MDX Note component
-```{note} -You need to make sure that the guardrails logic can handle the custom event. You do this by updating your flows to deal with the new events where needed. Otherwise, the custom event will just be ignored. -``` +<Note> +You need to make sure that the guardrails logic can handle the custom event. You do this by updating your flows to deal with the new events where needed. Otherwise, the custom event will just be ignored. +</Note>🤖 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/run-rails/using-python-apis/event-based-api.mdx` around lines 231 - 233, Replace the MyST admonition block (the ```{note} ... ``` construct) with the MDX Note component by removing the triple-backtick MyST syntax and wrapping the existing text inside a <Note> ... </Note> element; ensure the paragraph text and any inline code inside the note are preserved as-is and that you use the Note component consistently with other files (see other uses of the Note component) so the guardrails guidance is rendered correctly.docs/run-rails/using-fastapi-server/actions-server.mdx (1)
23-26: 🛠️ Refactor suggestion | 🟠 Major | ⚡ Quick winMigrate to MDX Note component for consistency.
This still uses the old MyST admonition syntax
```{note}instead of the MDX<Note>component used elsewhere in the migration.📝 Proposed fix to use MDX Note component
-```{note} -Using an actions server is optional but highly recommended for production deployments. -If no actions server is configured, actions run in the same process as the guardrails server. -``` +<Note> +Using an actions server is optional but highly recommended for production deployments. +If no actions server is configured, actions run in the same process as the guardrails server. +</Note>🤖 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/run-rails/using-fastapi-server/actions-server.mdx` around lines 23 - 26, Replace the MyST admonition block (the ```{note} ... ``` snippet) with the MDX Note component: locate the note block containing "Using an actions server is optional..." and swap the opening ```{note} and closing ``` with an opening <Note> and a closing </Note>, preserving the inner text and formatting; ensure there are no leftover backticks or MyST markers so the page uses the MDX <Note> component consistently.docs/getting-started/installation-guide.mdx (2)
69-101: 🛠️ Refactor suggestion | 🟠 Major | ⚡ Quick winRemove unnecessary outer Note wrapper.
The outer
<Note>wrapper (lines 69, 101) serves no purpose and creates confusing nesting. The two titled<Note>blocks for pip and Poetry can stand alone.🔧 Proposed fix
-<Note> - <Note title="pip"> ```bash git clone https://github.com/NVIDIA-NeMo/Guardrails.git nemoguardrails cd nemoguardrails python -m venv .venv source .venv/bin/activate pip install -e .git clone https://github.com/NVIDIA-NeMo/Guardrails.git nemoguardrails cd nemoguardrails python -m venv .venv source .venv/bin/activate poetry installWhen using Poetry, prefix CLI commands with
poetry run:- - ```poetry run nemoguardrails server --config examples/configs🤖 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/getting-started/installation-guide.mdx` around lines 69 - 101, Remove the unnecessary outer <Note> wrapper that encloses the two standalone notes; keep the inner <Note title="pip"> and <Note title="Poetry"> blocks as top-level elements, deleting the opening and closing outer <Note> tags so the pip and Poetry notes are no longer nested.
132-164: 🛠️ Refactor suggestion | 🟠 Major | ⚡ Quick winRemove unnecessary outer Note wrapper.
The outer
<Note>wrapper (lines 132, 164) is unnecessary and creates confusing nesting. The titled platform-specific notes can stand alone.🔧 Proposed fix
-<Note> - <Note title="Linux/macOS"> ```bash g++ --versionIf the command prints a version number (for example,
g++ (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0), a C++ compiler is already installed and no action is needed.If the command is not found, install the compiler:
apt-get install gcc g++ python3-devOpen a terminal (CMD or PowerShell) and run:
where clIf the command prints a file path, a C++ compiler is already installed and no action is needed.
If the command is not found, install Microsoft C++ Build Tools (version 14.0 or greater).
- - ```🤖 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/getting-started/installation-guide.mdx` around lines 132 - 164, The outer <Note> wrapper around the platform-specific notes creates unnecessary nesting; remove the outer <Note> start and end tags so the two inner blocks <Note title="Linux/macOS"> and <Note title="Windows"> are top-level siblings in the MDX file, ensuring each titled Note remains intact and properly closed and no extra wrapping tags remain.docs/configure-rails/guardrail-catalog/self-check.mdx (1)
13-15:⚠️ Potential issue | 🔴 Critical | ⚡ Quick winMyST directive syntax is incompatible with MDX.
The file contains MyST-style directives (
{important},{note},{image}) that will not render correctly in Fern's MDX processor. These need to be converted to MDX components.📝 Recommended conversion patterns
Convert MyST directives to MDX components:
For
{important}blocks (lines 13-15, 37-41):-```{important} -You should only use the example self-check prompts as a starting point. -``` +<Warning> +You should only use the example self-check prompts as a starting point. +</Warning>For
{note}blocks (lines 67-69, 177-179):-```{note} -If a prompt is not defined, an exception will be raised. -``` +<Note> +If a prompt is not defined, an exception will be raised. +</Note>For
{image}blocks (lines 252-256, 270-274):-```{image} ../../_static/puml/dialog_rails_flow.png -:alt: "Sequence diagram showing..." -:width: 500px -:align: center -``` +<img + src="../../_static/puml/dialog_rails_flow.png" + alt="Sequence diagram showing..." + width="500px" + style={{ display: 'block', margin: '0 auto' }} +/>Also applies to: 37-41, 67-69, 177-179, 252-256, 270-274
🤖 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/configure-rails/guardrail-catalog/self-check.mdx` around lines 13 - 15, Replace all MyST directives in this file ({important}, {note}, {image}) with MDX-compatible components: swap {important} blocks for a <Warning>...</Warning> component, swap {note} blocks for <Note>...</Note>, and replace {image} blocks with an MDX <img> element including src, alt, width and inline style for centering; ensure the text and fenced code inside those blocks are preserved as children of the new components and that no leftover MyST braces remain. Use the exact directive tokens ({important}, {note}, {image}) to find each occurrence and update them consistently so the MDX processor renders the content correctly.
🟡 Minor comments (26)
fern/static/python-sdk-reference/guardrails-python-sdk/nemoguardrails/actions/llm/generation.mdx-364-365 (1)
364-365:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winFix typo in phase description (Line 364).
“user canonical from” should be “user canonical form”.
🤖 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 `@fern/static/python-sdk-reference/guardrails-python-sdk/nemoguardrails/actions/llm/generation.mdx` around lines 364 - 365, Fix the typo in the phase description sentence that currently reads "user canonical from (user intent)..." by changing "from" to "form" so it reads "user canonical form (user intent)..."; update the sentence in the paragraph that begins "The three phases are:" in generation.mdx to correct this single-word typo.docs/configure-rails/exceptions.mdx-40-40 (1)
40-40:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winAdd visible anchor text to the link on Line 40.
The current markdown uses an empty label, which renders as a blank clickable area.
Suggested fix
-By default, all the guardrails included in the [](/configure-rails/guardrail-catalog) return a predefined message +By default, all the guardrails included in the [guardrail catalog](/configure-rails/guardrail-catalog) return a predefined message🤖 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/configure-rails/exceptions.mdx` at line 40, The markdown link uses an empty label "[](/configure-rails/guardrail-catalog)" which renders as a blank clickable area; update that link to include visible anchor text (for example "guardrail catalog" or "Guardrail Catalog") so it reads "[guardrail catalog](/configure-rails/guardrail-catalog)" and replace the empty-label link in the sentence that currently begins "By default, all the guardrails included in the ...".docs/observability/metrics/opentelemetry-integration.mdx-188-188 (1)
188-188:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winFix empty link label on Line 188.
The link target is present, but anchor text is empty, so the rendered docs show a blank link.
Suggested fix
-For full tracing setup, refer to [](/observability/tracing/opentelemetry-integration). +For full tracing setup, refer to the [OpenTelemetry tracing integration guide](/observability/tracing/opentelemetry-integration).🤖 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/observability/metrics/opentelemetry-integration.mdx` at line 188, Replace the empty link label in the markdown snippet "For full tracing setup, refer to [](/observability/tracing/opentelemetry-integration)." with descriptive anchor text (e.g., "OpenTelemetry tracing guide" or "tracing integration") so the line becomes something like "For full tracing setup, refer to [OpenTelemetry tracing guide](/observability/tracing/opentelemetry-integration)." This will ensure the link renders with visible text.fern/static/python-sdk-reference/guardrails-python-sdk/nemoguardrails/actions/llm/generation.mdx-465-467 (1)
465-467:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winRepair malformed newline description in
clean_utterance_contentdocs.The bullet text is broken across lines and currently renders incorrectly.
Suggested fix
-Clean an utterance by performing the following operations: - - replacing "\n" with " -". +Clean an utterance by performing the following operation: + - replacing `"\\n"` with a real newline character.🤖 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 `@fern/static/python-sdk-reference/guardrails-python-sdk/nemoguardrails/actions/llm/generation.mdx` around lines 465 - 467, The markdown bullet for clean_utterance_content is broken across lines; update the bullet so the replacement is rendered on one line and the newline escape is shown correctly (for example, wrap the sequence backslash-n in inline code or escape the backslash so it reads replacing "\\n" with a newline) so the phrase doesn't wrap into a raw line break. Edit the bullet under clean_utterance_content to use a single-line, properly escaped representation (e.g., `"\n"` or `\\n`) so it renders correctly.docs/configure-rails/yaml-schema/prompt-configuration.mdx-45-45 (1)
45-45:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winFix empty link label on Line 45.
The link renders with no visible anchor text (
[](...)), so readers can’t discover/click it properly.Suggested fix
-For a complete list of available prompt attributes and tasks, refer to the [](/configure-rails/configuration-reference#prompts-configuration). +For a complete list of available prompt attributes and tasks, refer to the [prompts configuration reference](/configure-rails/configuration-reference#prompts-configuration).🤖 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/configure-rails/yaml-schema/prompt-configuration.mdx` at line 45, Replace the empty markdown link label in prompt-configuration.mdx so the anchor text is visible; update the markdown fragment "[](/configure-rails/configuration-reference#prompts-configuration)" by adding descriptive link text like "Prompts configuration" (or similar) while keeping the target "/configure-rails/configuration-reference#prompts-configuration" intact so the link renders correctly.docs/configure-rails/other-configurations/index.mdx-18-18 (1)
18-18:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winUse “Markdown” capitalization in user-facing docs.
Please capitalize “Markdown” in this sentence for consistency with standard terminology.
🤖 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/configure-rails/other-configurations/index.mdx` at line 18, Update the user-facing sentence "Configure the knowledge base folder for RAG-based responses using markdown documents." to capitalize Markdown; replace "markdown documents" with "Markdown documents" so the sentence reads "Configure the knowledge base folder for RAG-based responses using Markdown documents." and maintain punctuation and surrounding wording in index.mdx.fern/static/python-sdk-reference/guardrails-python-sdk/nemoguardrails/cli/chat.mdx-22-22 (1)
22-22:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winFix article typo in function description.
Use “an event string” instead of “a event string” for user-facing docs consistency.
Suggested diff
-| [`parse_events_inputs`](`#nemoguardrails-cli-chat-parse_events_inputs`) | Parses a event string and creates an event dictionary. | +| [`parse_events_inputs`](`#nemoguardrails-cli-chat-parse_events_inputs`) | Parses an event string and creates an event dictionary. | @@ -Parses a event string and creates an event dictionary. +Parses an event string and creates an event dictionary.Also applies to: 195-195
🤖 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 `@fern/static/python-sdk-reference/guardrails-python-sdk/nemoguardrails/cli/chat.mdx` at line 22, Fix the typo in the function description for parse_events_inputs by changing "a event string" to "an event string"; update both occurrences of the table entry/description for parse_events_inputs (the one at the top and the repeated instance later) so the user-facing docs read "Parses an event string and creates an event dictionary." and keep the rest of the line unchanged.fern/static/python-sdk-reference/guardrails-python-sdk/nemoguardrails/cli/debugger.mdx-17-17 (1)
17-17:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winCorrect the
resumefunction description.
resumeis documented as “Pause current interaction.” Update it to “Resume current interaction.” to avoid misleading CLI users.Also applies to: 126-126
🤖 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 `@fern/static/python-sdk-reference/guardrails-python-sdk/nemoguardrails/cli/debugger.mdx` at line 17, The description for the CLI command/function named resume (reference: nemoguardrails-cli-debugger-resume) is incorrect — it currently reads “Pause current interaction.” Update the documentation entry (and the duplicate at the other location) to read “Resume current interaction.” so the resume command correctly reflects its behavior.docs/run-rails/index.mdx-21-21 (1)
21-21:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winFix empty link text in installation sentence.
See [](/getting-started/installation-guide)renders a blank link label. Use descriptive anchor text so readers can navigate it.Suggested fix
-To use the Python API or the Guardrails API server, you need to install the NeMo Guardrails library. See [](/getting-started/installation-guide) for instructions. +To use the Python API or the Guardrails API server, you need to install the NeMo Guardrails library. See the [installation guide](/getting-started/installation-guide) for instructions.🤖 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/run-rails/index.mdx` at line 21, Replace the empty Markdown link text "[](/getting-started/installation-guide)" with descriptive anchor text (e.g., "installation guide" or "Getting Started installation guide") so the sentence reads like "See the installation guide (/getting-started/installation-guide) for instructions"; update the fragment in docs/run-rails/index.mdx where the current sentence contains "See [](/getting-started/installation-guide)" to use the chosen anchor text.docs/configure-rails/before-configuration.mdx-28-28 (1)
28-28:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winFix the in-page anchor link target.
[](supported-nemoguard-nim-microservices)is missing#, so it won’t jump to the section anchor declared later in the page.🔧 Proposed fix
-- [ ] (Recommended) NemoGuard NIM endpoints deployed. Refer to [](supported-nemoguard-nim-microservices) for more details. +- [ ] (Recommended) NemoGuard NIM endpoints deployed. Refer to [](`#supported-nemoguard-nim-microservices`) for more details.🤖 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/configure-rails/before-configuration.mdx` at line 28, The markdown link in the checklist is missing the anchor prefix; update the link target from [](supported-nemoguard-nim-microservices) to include the hash so it points to the in-page section (for example change to [Supported NemoGuard NIM microservices](`#supported-nemoguard-nim-microservices`) or at minimum to []( `#supported-nemoguard-nim-microservices`) using the existing link text), ensuring the anchor matches the section ID declared later in the page.docs/run-rails/using-python-apis/streaming.mdx-204-204 (1)
204-204:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winUse descriptive text for the new absolute links.
Line 204 and Line 207 also use empty link text (
[](...)). Please add visible labels so these references are usable in rendered docs.Also applies to: 207-207
🤖 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/run-rails/using-python-apis/streaming.mdx` at line 204, The two absolute links in the markdown currently have empty link text; update them to include descriptive labels so rendered docs show visible anchors: replace [](/run-rails/using-python-apis/generation-options#detailed-logging-information) with a label like "detailed logging information" (or similar) and replace [](/observability/logging) with a label like "observability logging" (or "logging and observability"); ensure the link texts clearly describe the target pages so readers can see and click them when the docs render.docs/run-rails/using-python-apis/streaming.mdx-16-18 (1)
16-18:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winReplace empty link labels in the streaming references list.
The links at Line 16 and Line 17 use empty anchor text (
[](...)), so readers see unlabeled links. Add descriptive labels for both links.🤖 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/run-rails/using-python-apis/streaming.mdx` around lines 16 - 18, Replace the two empty-link labels in the streaming references: change the first link with URL "/configure-rails/yaml-schema/streaming/output-rail-streaming" to include a descriptive label like "Streaming output rail configuration" and change the second link with URL "/getting-started/tutorials" to include a descriptive label like "Sample Python client tutorial"; edit the markdown line(s) in the streaming.mdx where the links currently appear as [](...) to use the suggested anchor text so readers see meaningful link labels.fern/static/python-sdk-reference/guardrails-python-sdk/nemoguardrails/actions/actions.mdx-66-70 (1)
66-70:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winUnify
ActionResult.context_updatesdefault representation.Line 69 documents
context_updateswith= dict(), while Line 83 documentsfield(default_factory=dict). Please keep one canonical default form so the API docs don’t present conflicting behavior.Also applies to: 83-84
🤖 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 `@fern/static/python-sdk-reference/guardrails-python-sdk/nemoguardrails/actions/actions.mdx` around lines 66 - 70, The docs show two conflicting default representations for nemoguardrails.actions.actions.ActionResult.context_updates (one as = dict() and another as field(default_factory=dict)); pick one canonical form and make both occurrences consistent — preferably replace the inline = dict() representation with field(default_factory=dict) (or vice versa if project convention dictates) so the documented signature and the dataclass/field declaration for ActionResult.context_updates match exactly across the file.docs/run-rails/using-python-apis/overview.mdx-17-17 (1)
17-17:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winReplace empty-label links with descriptive link text.
Line 17 and Line 27 use
[](/...)links without visible text, so readers can’t see what to click.Suggested fix
-Upon initializing the core classes (`RailsConfig` and `LLMRails`), the library loads the configuration files you created in the previous chapter [](/configure-rails). +Upon initializing the core classes (`RailsConfig` and `LLMRails`), the library loads the configuration files you created in the previous chapter [Configure Guardrails](/configure-rails). -1. If you haven't already, install the NeMo Guardrails library with the `nvidia` extra, following the instructions in [](/getting-started/installation-guide). +1. If you haven't already, install the NeMo Guardrails library with the `nvidia` extra, following the instructions in [Installation Guide](/getting-started/installation-guide).Also applies to: 27-27
🤖 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/run-rails/using-python-apis/overview.mdx` at line 17, Replace the empty-label markdown links `[](/configure-rails)` used in the sentences about initializing `RailsConfig` and `LLMRails` with descriptive link text (e.g., `[Configure Rails](/configure-rails)` or similar), so readers see a visible clickable label; update both occurrences (the one referencing `/configure-rails` at the `RailsConfig`/`LLMRails` sentence and the similar empty link at line 27) to use meaningful anchor text.docs/observability/metrics/reference.mdx-143-144 (1)
143-144:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winAdd visible link text for the related resource links.
Line 143 and Line 144 use
[](...), which renders unlabeled links. This creates poor UX and accessibility issues in the “Related Resources” list.Suggested fix
-- [](/observability/metrics/enable-metrics) — Minimal SDK setup with console output. -- [](/observability/metrics/opentelemetry-integration) — Production exporters: OTLP, Prometheus. +- [Enable Guardrails Metrics](/observability/metrics/enable-metrics) — Minimal SDK setup with console output. +- [OpenTelemetry Metrics Integration](/observability/metrics/opentelemetry-integration) — Production exporters: OTLP, Prometheus.🤖 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/observability/metrics/reference.mdx` around lines 143 - 144, The two related-resources entries use empty link text ([](/observability/metrics/enable-metrics) and [](/observability/metrics/opentelemetry-integration)); update them to include visible, descriptive labels (e.g., "Enable Metrics" and "OpenTelemetry Integration" or similar) so the links render with readable text and improve accessibility—edit the lines referencing /observability/metrics/enable-metrics and /observability/metrics/opentelemetry-integration accordingly.docs/configure-rails/yaml-schema/guardrails-configuration/index.mdx-72-72 (1)
72-72:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winAdd visible anchor text for these links.
Lines 72, 88, 101, and 118 use empty link labels (
[](...)), which produces non-discoverable links and hurts usability/accessibility.Also applies to: 88-88, 101-101, 118-118
🤖 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/configure-rails/yaml-schema/guardrails-configuration/index.mdx` at line 72, Replace the empty link labels ([](...)) with meaningful, visible anchor text for each occurrence (lines referencing the configuration reference and input flows), e.g., change [](/configure-rails/configuration-reference#input-rails) to "input rails" or "Input Rails configuration" and do the same for the other three empty labels so each link has descriptive anchor text; locate the four empty-link instances and update their link text to be human-readable and accessible.fern/static/python-sdk-reference/guardrails-python-sdk/nemoguardrails/actions/llm/utils.mdx-872-872 (1)
872-872:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winFix typo in user-facing docs text.
Line 872 says “Empty lines at the begging of the string...”; this should be “beginning”.
🤖 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 `@fern/static/python-sdk-reference/guardrails-python-sdk/nemoguardrails/actions/llm/utils.mdx` at line 872, Locate the user-facing doc string that currently reads "Empty lines at the begging of the string are skipped." and correct the misspelling by replacing "begging" with "beginning" so the sentence reads "Empty lines at the beginning of the string are skipped."; update the text in the MDX content (the exact string occurrence) and run a quick preview to confirm the rendered docs reflect the fix.docs/scripts/update_cards/README.mdx-139-151 (1)
139-151:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winFix the generated-output example to match the documented markup format.
Lines 139-151 show nested
<Note>blocks, but the page describes Sphinx-Design grid-card output. This inconsistency is confusing for users validating script output.🤖 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/scripts/update_cards/README.mdx` around lines 139 - 151, The example output uses nested <Note> blocks instead of the expected Sphinx-Design "grid-card" markup; update the generated-output example to match the documented markup format by replacing the nested <Note> elements with the equivalent Sphinx-Design grid-card structure (e.g., grid-card/grid-column/grid-card items) so the sample demonstrates the correct output shape. Locate the sample in the README where the nested <Note> tags appear and transform them into the proper Sphinx-Design components, preserving the titles and content (e.g., "Getting Started" and "Configuration Guide") and ensuring the wrapper/container reflects the documented grid-card hierarchy.fern/static/python-sdk-reference/guardrails-python-sdk/nemoguardrails/actions/action_dispatcher.mdx-244-246 (1)
244-246:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winAlign parameter type docs with the documented signature.
load_actions_from_pathis documented withpath: pathlib.Pathin the signature, but the parameter block saystype="str". Please keep these consistent to avoid confusion in the SDK reference.Proposed fix
-<ParamField path="path" type="str"> - A string representing the path from which to load actions. +<ParamField path="path" type="pathlib.Path"> + A pathlib.Path representing the path from which to load actions. </ParamField>Also applies to: 261-263
🤖 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 `@fern/static/python-sdk-reference/guardrails-python-sdk/nemoguardrails/actions/action_dispatcher.mdx` around lines 244 - 246, The parameter type in the docs for ActionDispatcher.load_actions_from_path is inconsistent: update the parameter documentation for the `path` parameter to `pathlib.Path` (instead of `"str"`) to match the function signature in nemoguardrails.actions.action_dispatcher.ActionDispatcher.load_actions_from_path; apply the same change for the second occurrence of the `path` parameter in the duplicate block (the one around lines 261-263) so both parameter blocks correctly list `pathlib.Path`.fern/static/python-sdk-reference/guardrails-python-sdk/nemoguardrails/actions/action_dispatcher.mdx-351-351 (1)
351-351:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winFix broken inline code formatting for
__init__.py.The inline code span is missing a closing backtick, which can break rendering.
Proposed fix
-Currently, it only excludes the `__init__.py files. +Currently, it only excludes `__init__.py` files.🤖 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 `@fern/static/python-sdk-reference/guardrails-python-sdk/nemoguardrails/actions/action_dispatcher.mdx` at line 351, The inline code span for `__init__.py` in action_dispatcher.mdx is missing its closing backtick, breaking markdown rendering; locate the occurrence of `__init__.py` in the file and add the missing trailing backtick to close the inline code span so it reads `__init__.py` (ensuring any surrounding text or backticks remain balanced).fern/static/python-sdk-reference/guardrails-python-sdk/nemoguardrails/cli/providers.mdx-71-73 (1)
71-73:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winFix truncated
find_providerssignature rendering.The signature text is cut off at Line 72 (
'--list...), so the API reference is incomplete.Suggested fix
nemoguardrails.cli.providers.find_providers( - list_only: bool = typer.Option(False, '--list... + list_only: bool = typer.Option(False, "--list", help="List providers only") )🤖 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 `@fern/static/python-sdk-reference/guardrails-python-sdk/nemoguardrails/cli/providers.mdx` around lines 71 - 73, The rendered signature for nemoguardrails.cli.providers.find_providers is truncated because the MDX line breaks/wrapping cuts off the option text; update the providers.mdx entry to include the full function signature on a single unwrapped line or place it in a fenced code block so the entire signature (including "--list...") renders intact, ensuring the complete parameter list and typer.Option call for find_providers are present verbatim.docs/user-guides/testing-your-config.mdx-258-259 (1)
258-259:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winUpdate adjacent
advancedlink to MDX route/path format.Line 259 still references
./advanced/index.rst, which is likely a stale Sphinx-era path in the Fern/MDX docs.Suggested fix
-[advanced topics](./advanced/index.rst) for examples. +[advanced topics](/user-guides/advanced/align-score-deployment) for examples.If this should point to a different landing page, please swap to the correct
/user-guides/advanced/...route.🤖 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/user-guides/testing-your-config.mdx` around lines 258 - 259, Update the stale Sphinx link for the "advanced topics" anchor: replace the link URL './advanced/index.rst' (the link with text "advanced topics") with the MDX route path, e.g. '/user-guides/advanced/' (or the correct '/user-guides/advanced/<page>' if there’s a more specific landing page); ensure the link text remains the same and that the new path uses MDX routing rather than a .rst file.fern/static/python-sdk-reference/guardrails-python-sdk/nemoguardrails/cli/migration.mdx-925-925 (1)
925-925:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winFix typo: "form" should be "from".
The description contains the same typo as Line 44.
📝 Proposed fix
-Convert a co file form v2-alpha to v2-beta +Convert a co file from v2-alpha to v2-beta🤖 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 `@fern/static/python-sdk-reference/guardrails-python-sdk/nemoguardrails/cli/migration.mdx` at line 925, Fix the typo in the migration doc by changing "form" to "from" in the sentence "Convert a co file form v2-alpha to v2-beta" (the occurrence in the migration.mdx snippet) and also update the other identical occurrence noted at line 44 so both read "Convert a co file from v2-alpha to v2-beta".fern/static/python-sdk-reference/guardrails-python-sdk/nemoguardrails/cli/migration.mdx-44-44 (1)
44-44:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winFix typo: "form" should be "from".
The description contains a typo.
📝 Proposed fix
-| [`convert_colang_2alpha_syntax`](`#nemoguardrails-cli-migration-convert_colang_2alpha_syntax`) | Convert a co file form v2-alpha to v2-beta | +| [`convert_colang_2alpha_syntax`](`#nemoguardrails-cli-migration-convert_colang_2alpha_syntax`) | Convert a co file from v2-alpha to v2-beta |🤖 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 `@fern/static/python-sdk-reference/guardrails-python-sdk/nemoguardrails/cli/migration.mdx` at line 44, Fix the typo in the description of the CLI migration entry for convert_colang_2alpha_syntax: change the word "form" to "from" in the table row that reads "`convert_colang_2alpha_syntax` | Convert a co file form v2-alpha to v2-beta" so it reads "Convert a co file from v2-alpha to v2-beta"; update the text near the symbol convert_colang_2alpha_syntax in the migration.mdx file accordingly.fern/static/python-sdk-reference/guardrails-python-sdk/nemoguardrails/actions_server/actions_server.mdx-139-141 (1)
139-141:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winFix the typo in
api_description.
Guardrails Action Sever API.should beGuardrails Action Server API.in the rendered reference.🤖 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 `@fern/static/python-sdk-reference/guardrails-python-sdk/nemoguardrails/actions_server/actions_server.mdx` around lines 139 - 141, The api_description string has a typo; update nemoguardrails.actions_server.actions_server.api_description to use the correct wording "Guardrails Action Server API." (replace "Sever" with "Server") so the rendered reference reads correctly.docs/observability/metrics/index.mdx-20-24 (1)
20-24:⚠️ Potential issue | 🟡 Minor | ⚡ Quick winDocument the sync-API telemetry caveat here.
This warning currently reads as if enabling
IORailsis sufficient, but the synchronousgenerate()path intentionally disables both metrics and tracing on the ephemeralIORailsinstance. Readers using the sync API will otherwise expect metrics that never appear.Based on learnings, in
nemoguardrails/guardrails/iorails.pythe syncgenerate()method intentionally sets bothsync_config.tracing.enabled = Falseandsync_config.metrics.enabled = Falseon the ephemeralIORailsinstance.🤖 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/observability/metrics/index.mdx` around lines 20 - 24, Update the metrics warning to explicitly document the sync-API caveat: state that although enabling IORails (NEMO_GUARDRAILS_IORAILS_ENGINE=1) is required for metrics, the synchronous generate() path in nemoguardrails/guardrails/iorails.py intentionally disables telemetry (it sets sync_config.tracing.enabled = False and sync_config.metrics.enabled = False on the ephemeral IORails instance), so users calling the sync API will not see metrics or traces; add a short note describing this behavior and, if appropriate, link to the iorails.generate() behavior for more details.
🧹 Nitpick comments (3)
docs/integration/langchain/index.mdx (1)
13-15: 💤 Low valueConsider adding content under section headers.
The "LangChain" and "LangGraph" section headers have no content beneath them. If these sections are placeholders for child pages, consider either adding brief introductory text or removing the empty headers to avoid confusion.
🤖 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/integration/langchain/index.mdx` around lines 13 - 15, The "LangChain" and "LangGraph" section headings are empty; add brief explanatory text or remove them to avoid confusion. Edit the "LangChain" and "LangGraph" headings in the document and either (a) add a one- or two-sentence summary under each heading describing what the section will cover and link to any child pages, or (b) delete the empty headers if the content lives only in child pages, or (c) replace them with a short "See child pages" note or a TOC include so readers aren’t presented with blank sections.fern/static/python-sdk-reference/guardrails-python-sdk/nemoguardrails/_compat/langchain_kwargs.mdx (1)
7-7: 💤 Low valueUse readable arrow symbol instead of HTML entity.
The HTML entity
->should be replaced with a more readable arrow symbol for better documentation quality.📝 Proposed fix
-0.21 -> 0.22 LangChain config migration helper. +0.21 → 0.22 LangChain config migration helper.🤖 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 `@fern/static/python-sdk-reference/guardrails-python-sdk/nemoguardrails/_compat/langchain_kwargs.mdx` at line 7, Replace the HTML entity `->` in the heading text "0.21 -> 0.22 LangChain config migration helper." with a readable arrow symbol (for example the Unicode right arrow "→") so the line reads "0.21 → 0.22 LangChain config migration helper." Update this single text occurrence in the markdown file referenced (look for the exact string "0.21 -> 0.22 LangChain config migration helper.") to improve documentation readability.docs/getting-started/.cursor/rules/quickstart-focus/RULE.mdx (1)
1-30: ⚡ Quick winAvoid shipping Cursor rule files as part of the docs tree
This repo’s Fern docs conversion step only processes
docs/**/*.md(not*.mdx), sodocs/getting-started/.cursor/rules/quickstart-focus/RULE.mdxwon’t be picked up bydocs/convert-docs-to-fern.mjs, and a repo search shows it’s not referenced fromdocs/index.yml(Fern navigation source). Still, keeping IDE configuration underdocs/is easy to misinterpret and could be accidentally included by other tooling—consider relocating these to a top-level.cursor/directory or adding an explicit docs-build exclusion for.cursor/**.🤖 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/getting-started/.cursor/rules/quickstart-focus/RULE.mdx` around lines 1 - 30, The RULE.mdx file named "Getting Started Context" (quickstart-focus rule) is an IDE/configuration artifact placed under the docs tree and will not be processed by the docs conversion; move this rule file out of the docs content (e.g., into a top-level .cursor configuration directory) or add an explicit docs build exclusion for the .cursor/** pattern so it is not treated as documentation, and update any navigation source (e.g., docs index) to remove references if present.
eb3773e to
26f9c7e
Compare
|
Staged Fern docs preview: https://nvidia-preview-pr-1973.docs.buildwithfern.com/nemo/guardrails |
|
@tgasser-nv the Fern conversion is complete for the published Markdown/MDX docs outside the expected SDK/API reference changes. About, Get Started, Run Rails, Integration, Deployment, Reference, Observability, Evaluation, Migration, Resources, Troubleshooting, and the migrated Configure Rails pages all have page and section parity. The real gap is docs/configure-rails/colang/colang-2/: that RST subtree remains unconverted and absent from docs/index.yml, including whats-changed.rst. Also, docs/configure-rails/colang/colang-2/migration-guide.mdx is converted but missing from Fern nav. Secondary cleanup: several user-guides/**, research.mdx, and observability/logging/README.mdx files are off-nav, but that matches develop Sphinx exclusions. Treat those as a nav/discoverability decision, not missed conversion. I'm working on resolving the two gaps. |
|
colang 2 gap fixed, moved research.mdx to resources. |
|
Finished the remaining cleanup for the user-guides migration and docs links. Updates include:
Validation:
|
tgasser-nv
left a comment
There was a problem hiding this comment.
Thanks Miyoung, can you check the following before merging:
- Can you address the Code Rabbit feedback? You can send a message to @coderabbitai to ask it to re-review if these are stale. There are some critical ones in there like MyST admonitions not being removed, absolute paths not being used in related topics, etc.
- I spot-checked the staging docs and it's incredibly slow. The first time I visit a page it takes about 10 - 20 seconds to load (while the green bar moves from left-to-right). Then after that something is getting cached because it loads normally. If it's really this slow when deployed I don't think it's usable. Do you know the cause of this?
- The search function seems to be broken. I searched for content-safety and nothing came up:
|
@CodeRabbit review |
✅ Action performedReview finished.
|
|
@tgasser-nv The coderabbit review is stale. I rerun in case. |
|
@tgasser-nv Per the TME who's the PIC working with Fern, the preview loads slower than prod. Also after caching, the sites load normal. Also Fern is prioritizing to keep the websites perform fast. |
There was a problem hiding this comment.
Actionable comments posted: 17
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
docs/README.mdx (1)
40-63:⚠️ Potential issue | 🟠 Major | ⚡ Quick winRemove stale
serve.pyguidance from the Fern workflow section.Line 40 still labels this as a Python-script flow, and Lines 48-63 describe
python serve.pyoptions/examples that no longer match Line 43 (make docs-fern-preview-watch). Lines 75-77 also reference legacy file types. This creates conflicting setup instructions.Suggested cleanup
-### Option 2: Using the Python Script (Cross-Platform) +### Option 2: Using Preview Watch (Cross-Platform) ```bash make docs-fern-preview-watch-Options:
--
--port PORT: Port to serve on (default: 8000)
----host HOST: Host to bind to (default: 0.0.0.0)
----open: Automatically open browser-Examples:
-```bash
-# Start server on default port (8000)
-python serve.py-# Start server on custom port with auto-open browser
-python serve.py --port 8080 --open-# Start server accessible only from localhost
-python serve.py --host 127.0.0.1
-```
+This publishes/updates a Fern preview for the current branch while watching local changes.@@
-- Edit any documentation file (.md,.rst,.pyconfigs)
+- Edit documentation sources (.mdx) and Fern config/navigation files</details> Also applies to: 74-77 <details> <summary>🤖 Prompt for AI Agents</summary>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/README.mdxaround lines 40 - 63, Remove the stale Python "serve.py"
instructions and legacy file-type guidance and replace them with the current
Fern workflow described by the make target; specifically, update the section
referencing "Option 2: Using the Python Script" and the examples that call
"python serve.py" to instead document the "make docs-fern-preview-watch" flow
(keep the make target name "make docs-fern-preview-watch" as the entry symbol),
remove mentions of "serve.py" and the old--port/--host/--openexamples, and
change the file-edit guidance from "Edit any documentation file (.md,.rst,
.pyconfigs)" to the current text "Edit documentation sources (.mdx) and
Fern config/navigation files" so the README only describes the modern Fern
preview workflow.</details> <!-- cr-comment:v1:30a62ad3d437aa3609c2d061 --> </blockquote></details> </blockquote></details>🤖 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 @.github/workflows/docs-build.yaml: - Around line 59-61: The preview-docs job should be guarded so it only runs when the DOCS_FERN_TOKEN secret is available (or the PR is not from a fork); update the job condition for preview-docs to check both github.event_name == 'pull_request' and that either github.event.pull_request.head.repo.fork is false or secrets.DOCS_FERN_TOKEN is set (i.e. add a combined if: condition referencing preview-docs and secrets.DOCS_FERN_TOKEN) to avoid running the publish step on forked PRs without the secret. - Around line 47-50: Replace floating action tags with pinned references and disable persisted checkout credentials: update each usage of actions/checkout@v6, actions/setup-node@v6 and actions/github-script@v8 to use specific pinned commit SHAs (or fully-qualified tags) instead of floating major tags, and add persist-credentials: false to every actions/checkout step (the checkout steps currently using actions/checkout@v6) so the runner does not retain repository credentials after checkout; ensure the three checkout occurrences are all updated consistently. - Around line 34-37: The workflow currently grants pull-requests: write at top-level under the permissions block, which applies to all jobs; remove pull-requests: write from the global permissions and instead add a job-scoped permissions block under the preview-docs job that sets pull-requests: write (keep contents: read global or job-scoped as needed) so only the preview-docs job has write access to pull requests; update the permissions key and the preview-docs job definition (look for the top-level permissions block and the preview-docs job name) accordingly. In @.github/workflows/docs-links-pr.yaml: - Around line 25-33: Update the GitHub Actions steps that use actions/checkout and actions/setup-node: replace the floating refs actions/checkout@v6 and actions/setup-node@v6 with explicit commit SHAs (pin to the action's canonical SHA) and add persist-credentials: false to the Checkout step (the step named "Checkout") to avoid leaving repository credentials in the workspace; ensure you make the same changes for both job occurrences in the workflow so the steps referencing actions/checkout and actions/setup-node are pinned and checkout credentials are disabled. In `@docs/configure-rails/colang/colang-1/bot-thinking-guardrails.mdx`: - Line 109: Replace the phrase "pattern matching flow" with the hyphenated compound modifier "pattern-matching flow" in the sentence that currently reads "This demonstrates how to set up a basic pattern matching flow for learning purposes." so the documentation uses the correct compound adjective ("pattern-matching flow") for technical clarity; search for the exact phrase "pattern matching flow" to find and update it. In `@docs/configure-rails/colang/colang-1/tutorials/2-core-colang-concepts/core-colang-concepts.ipynb`: - Line 475: The "single LLM call option" link in the documentation is a broken placeholder ("#"); update the anchor so it points to the actual documentation section or file that describes the setting (config.yml) — replace the "#" target in the text that references "single LLM call option" with the proper anchor or URL for the config key rails.dialog.single_call in config.yml (or the specific section name/anchor used in the notebook/docs) so readers can navigate directly to the explanation. In `@docs/configure-rails/colang/colang-1/tutorials/4-input-rails/input-rails.ipynb`: - Line 479: Replace the relative link to the self_check_input flow with the absolute GitHub URL so published docs resolve correctly: locate the string referencing "../../../nemoguardrails/library/self_check/input_check/flows.co" (the mention of the `self_check_input` flow) and update that markdown link to the full GitHub repository path used in the README (the canonical absolute URL) so links remain stable in generated documentation. In `@docs/configure-rails/colang/colang-1/tutorials/4-input-rails/README.mdx`: - Line 8: Links in README.mdx use the /configure-guardrails/... prefix while the paired notebook uses /configure-rails/...; update every link that points to /configure-guardrails/colang/... (including the instances referenced in the review) to use the canonical /configure-rails/colang/... prefix so all internal cross-links match the notebook routing. In `@docs/configure-rails/colang/colang-1/tutorials/5-output-rails/README.mdx`: - Line 8: The page is using the inconsistent route prefix "/configure-guardrails" — update all occurrences of "/configure-guardrails/colang/colang-1/tutorials/..." to the canonical "/configure-rails/colang/colang-1/tutorials/..." throughout the README.mdx (including the other occurrences flagged) so links match the migrated docs; search for the string "/configure-guardrails" in this file and replace it with "/configure-rails" ensuring link targets and any referenced notebook paths are updated accordingly. In `@docs/configure-rails/colang/colang-2/getting-started/dialog-rails.mdx`: - Line 98: Replace the typo "precessed events" with "processed events" in the user-facing docs sentence that references the NeMo Guardrails CLI and the `--verbose` flag (the sentence containing "--verbose" and "precessed events"); ensure the updated sentence now reads that the flag shows all the processed events. In `@docs/configure-rails/colang/colang-2/getting-started/index.mdx`: - Line 15: The two placeholder links "Installation Guide" and "NeMo Guardrails Getting Started Guide" on the line containing "For complete details..." are non-functional; update the anchor hrefs for those link texts to point to the real documentation URLs (or appropriate relative doc paths/MDX slugs) so users can reach the required setup instructions, e.g., replace `#` with the canonical installation and getting-started doc URLs or site variables used elsewhere in the docs so the "Installation Guide" and "NeMo Guardrails Getting Started Guide" links are valid. In `@docs/configure-rails/colang/colang-2/getting-started/llm-flows.mdx`: - Line 18: The config path in the testing command is inconsistent: the example file is listed as examples/v2_x/tutorial/llm_flows/main.co but the command uses --config=examples/v2_x/other/llm_flow; update the command to point to the actual example (e.g. --config=examples/v2_x/tutorial/llm_flows/main.co) or change the example path to match the command so both references (the example path and the --config value) are identical; ensure you update every occurrence of --config=examples/v2_x/other/llm_flow and/or examples/v2_x/tutorial/llm_flows/main.co to keep them consistent. In `@docs/configure-rails/colang/colang-2/getting-started/multimodal-rails.mdx`: - Line 52: Update the explanatory sentence to reference the correct line numbers for the pre-defined flows: replace the incorrect "lines 9 and 17" with the actual line numbers where `user gestured` and `bot gesture` appear in the snippet (the lines showing those flow names, e.g., where `user gestured` and `bot gesture` are defined in the example) so the sentence accurately points to the `user gestured` and `bot gesture` flow definitions. In `@docs/configure-rails/colang/colang-2/language-reference/defining-flows.mdx`: - Line 335: There's a typo in the sentence "based on an internal event form another flow" inside the "C) The pattern..." paragraph; change "form" to "from" so it reads "based on an internal event from another flow" and ensure the reference to the section [Internal Events](defining-flows#internal-events-defining-flows) remains intact. In `@docs/configure-rails/colang/colang-2/language-reference/development-and-debugging.mdx`: - Line 15: Change the brand spelling in the Colang docs line that references the extension link: replace the link text "Github link" with "GitHub link" (i.e., update the string in the Markdown that follows "Colang highlighting extension" so the platform name uses the correct capitalization "GitHub"). Ensure only the display text is updated and the URL remains unchanged. In `@docs/configure-rails/colang/colang-2/language-reference/make-use-of-llms.mdx`: - Line 100: Update the markdown link text to use "GitHub" (proper capitalization) and remove the stray trailing underscore and parenthesis after the link so it renders correctly: in the sentence referencing the llm standard library module and the flows "automating intent detection" and "generating user intent for unhandled user utterance", replace "( [Github link](../../../../../nemoguardrails/colang/v2_x/library/llm.co)_) " with a properly formatted "(GitHub link](../../../../../nemoguardrails/colang/v2_x/library/llm.co))" or similar correct Markdown so the URL is clickable and the extra "_)" is removed while keeping the reference to the llm module and the two flow names intact. In `@docs/configure-rails/colang/colang-2/language-reference/the-standard-library.mdx`: - Line 11: Update the link text in the file the-standard-library.mdx: replace the misspelled "Github link" string with the correct "GitHub link" so the link text uses the proper capitalization; locate the phrase in the line containing "nemoguardrails/colang/v2_x/library/ ([Github link](../../../../../nemoguardrails/colang/v2_x/library))" and change only the visible link label to "GitHub link". --- Outside diff comments: In `@docs/README.mdx`: - Around line 40-63: Remove the stale Python "serve.py" instructions and legacy file-type guidance and replace them with the current Fern workflow described by the make target; specifically, update the section referencing "Option 2: Using the Python Script" and the examples that call "python serve.py" to instead document the "make docs-fern-preview-watch" flow (keep the make target name "make docs-fern-preview-watch" as the entry symbol), remove mentions of "serve.py" and the old `--port/--host/--open` examples, and change the file-edit guidance from "Edit any documentation file (`.md`, `.rst`, `.py` configs)" to the current text "Edit documentation sources (`.mdx`) and Fern config/navigation files" so the README only describes the modern Fern preview workflow.🪄 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:
5774c761-62e6-4829-b31c-04b0876632f8📒 Files selected for processing (194)
.github/workflows/docs-build.yaml.github/workflows/docs-links-pr.yaml.github/workflows/docs-preview-pr.yaml.gitignoreCHANGELOG.mdCONTRIBUTING.mdMakefiledocs/LIVE_DOCS.mdxdocs/README.mdxdocs/about/how-it-works.mdxdocs/about/overview.mdxdocs/about/release-notes.mdxdocs/about/supported-llms.mdxdocs/configure-rails/actions/action-parameters.mdxdocs/configure-rails/actions/built-in-actions.mdxdocs/configure-rails/actions/creating-actions.mdxdocs/configure-rails/actions/index.mdxdocs/configure-rails/before-configuration.mdxdocs/configure-rails/caching/index.mdxdocs/configure-rails/caching/kv-cache-reuse.mdxdocs/configure-rails/colang/colang-1/bot-thinking-guardrails.mdxdocs/configure-rails/colang/colang-1/colang-language-syntax-guide.mdxdocs/configure-rails/colang/colang-1/tutorials/1-hello-world/README.mdxdocs/configure-rails/colang/colang-1/tutorials/1-hello-world/hello-world.ipynbdocs/configure-rails/colang/colang-1/tutorials/2-core-colang-concepts/README.mdxdocs/configure-rails/colang/colang-1/tutorials/2-core-colang-concepts/core-colang-concepts.ipynbdocs/configure-rails/colang/colang-1/tutorials/3-demo-use-case/README.mdxdocs/configure-rails/colang/colang-1/tutorials/4-input-rails/README.mdxdocs/configure-rails/colang/colang-1/tutorials/4-input-rails/input-rails.ipynbdocs/configure-rails/colang/colang-1/tutorials/5-output-rails/README.mdxdocs/configure-rails/colang/colang-1/tutorials/5-output-rails/output-rails.ipynbdocs/configure-rails/colang/colang-1/tutorials/6-topical-rails/README.mdxdocs/configure-rails/colang/colang-1/tutorials/7-rag/README.mdxdocs/configure-rails/colang/colang-1/tutorials/7-rag/rag.ipynbdocs/configure-rails/colang/colang-1/tutorials/8-tracing/1_tracing_quickstart.ipynbdocs/configure-rails/colang/colang-1/tutorials/8-tracing/2_tracing_with_jaeger.ipynbdocs/configure-rails/colang/colang-2/getting-started/dialog-rails.mdxdocs/configure-rails/colang/colang-2/getting-started/dialog-rails.rstdocs/configure-rails/colang/colang-2/getting-started/hello-world.mdxdocs/configure-rails/colang/colang-2/getting-started/hello-world.rstdocs/configure-rails/colang/colang-2/getting-started/index.mdxdocs/configure-rails/colang/colang-2/getting-started/index.rstdocs/configure-rails/colang/colang-2/getting-started/input-rails.mdxdocs/configure-rails/colang/colang-2/getting-started/input-rails.rstdocs/configure-rails/colang/colang-2/getting-started/interaction-loop.mdxdocs/configure-rails/colang/colang-2/getting-started/interaction-loop.rstdocs/configure-rails/colang/colang-2/getting-started/llm-flows.mdxdocs/configure-rails/colang/colang-2/getting-started/llm-flows.rstdocs/configure-rails/colang/colang-2/getting-started/multimodal-rails.mdxdocs/configure-rails/colang/colang-2/getting-started/multimodal-rails.rstdocs/configure-rails/colang/colang-2/getting-started/recommended-next-steps.mdxdocs/configure-rails/colang/colang-2/getting-started/recommended-next-steps.rstdocs/configure-rails/colang/colang-2/index.mdxdocs/configure-rails/colang/colang-2/index.rstdocs/configure-rails/colang/colang-2/language-reference/csl/attention.mdxdocs/configure-rails/colang/colang-2/language-reference/csl/attention.rstdocs/configure-rails/colang/colang-2/language-reference/csl/avatars.mdxdocs/configure-rails/colang/colang-2/language-reference/csl/avatars.rstdocs/configure-rails/colang/colang-2/language-reference/csl/core.mdxdocs/configure-rails/colang/colang-2/language-reference/csl/core.rstdocs/configure-rails/colang/colang-2/language-reference/csl/guardrails.mdxdocs/configure-rails/colang/colang-2/language-reference/csl/guardrails.rstdocs/configure-rails/colang/colang-2/language-reference/csl/lmm.mdxdocs/configure-rails/colang/colang-2/language-reference/csl/lmm.rstdocs/configure-rails/colang/colang-2/language-reference/csl/timing.mdxdocs/configure-rails/colang/colang-2/language-reference/csl/timing.rstdocs/configure-rails/colang/colang-2/language-reference/defining-flows.mdxdocs/configure-rails/colang/colang-2/language-reference/defining-flows.rstdocs/configure-rails/colang/colang-2/language-reference/development-and-debugging.mdxdocs/configure-rails/colang/colang-2/language-reference/development-and-debugging.rstdocs/configure-rails/colang/colang-2/language-reference/event-generation-and-matching.mdxdocs/configure-rails/colang/colang-2/language-reference/event-generation-and-matching.rstdocs/configure-rails/colang/colang-2/language-reference/flow-control.mdxdocs/configure-rails/colang/colang-2/language-reference/flow-control.rstdocs/configure-rails/colang/colang-2/language-reference/index.mdxdocs/configure-rails/colang/colang-2/language-reference/index.rstdocs/configure-rails/colang/colang-2/language-reference/introduction.mdxdocs/configure-rails/colang/colang-2/language-reference/introduction.rstdocs/configure-rails/colang/colang-2/language-reference/make-use-of-llms.mdxdocs/configure-rails/colang/colang-2/language-reference/make-use-of-llms.rstdocs/configure-rails/colang/colang-2/language-reference/more-on-flows.mdxdocs/configure-rails/colang/colang-2/language-reference/more-on-flows.rstdocs/configure-rails/colang/colang-2/language-reference/python-actions.mdxdocs/configure-rails/colang/colang-2/language-reference/python-actions.rstdocs/configure-rails/colang/colang-2/language-reference/the-standard-library.mdxdocs/configure-rails/colang/colang-2/language-reference/the-standard-library.rstdocs/configure-rails/colang/colang-2/language-reference/working-with-actions.mdxdocs/configure-rails/colang/colang-2/language-reference/working-with-actions.rstdocs/configure-rails/colang/colang-2/language-reference/working-with-variables-and-expressions.mdxdocs/configure-rails/colang/colang-2/language-reference/working-with-variables-and-expressions.rstdocs/configure-rails/colang/colang-2/migration-guide.mdxdocs/configure-rails/colang/colang-2/whats-changed.mdxdocs/configure-rails/colang/colang-2/whats-changed.rstdocs/configure-rails/colang/index.mdxdocs/configure-rails/colang/usage-examples/bot-message-instructions.mdxdocs/configure-rails/colang/usage-examples/extract-user-provided-values.mdxdocs/configure-rails/configuration-reference.mdxdocs/configure-rails/custom-initialization/custom-data.mdxdocs/configure-rails/custom-initialization/custom-llm-framework.mdxdocs/configure-rails/custom-initialization/custom-llm-model.mdxdocs/configure-rails/custom-initialization/custom-llm-providers.mdxdocs/configure-rails/custom-initialization/index.mdxdocs/configure-rails/custom-initialization/init-function.mdxdocs/configure-rails/custom-initialization/testing-your-config.mdxdocs/configure-rails/exceptions.mdxdocs/configure-rails/guardrail-catalog/agentic-security.mdxdocs/configure-rails/guardrail-catalog/community/ai-defense.mdxdocs/configure-rails/guardrail-catalog/community/alignscore.mdxdocs/configure-rails/guardrail-catalog/community/auto-align.mdxdocs/configure-rails/guardrail-catalog/community/gliner.mdxdocs/configure-rails/guardrail-catalog/community/llama-guard.mdxdocs/configure-rails/guardrail-catalog/community/patronus-evaluate-api.mdxdocs/configure-rails/guardrail-catalog/community/patronus-lynx.mdxdocs/configure-rails/guardrail-catalog/content-safety.mdxdocs/configure-rails/guardrail-catalog/fact-checking.mdxdocs/configure-rails/guardrail-catalog/index.mdxdocs/configure-rails/guardrail-catalog/jailbreak-protection.mdxdocs/configure-rails/guardrail-catalog/pii-detection.mdxdocs/configure-rails/guardrail-catalog/self-check.mdxdocs/configure-rails/guardrail-catalog/third-party.mdxdocs/configure-rails/index.mdxdocs/configure-rails/other-configurations/embedding-search-providers.mdxdocs/configure-rails/other-configurations/index.mdxdocs/configure-rails/other-configurations/knowledge-base.mdxdocs/configure-rails/overview.mdxdocs/configure-rails/yaml-schema/guardrails-configuration.mdxdocs/configure-rails/yaml-schema/index.mdxdocs/configure-rails/yaml-schema/model-configuration.mdxdocs/configure-rails/yaml-schema/prompt-configuration.mdxdocs/configure-rails/yaml-schema/streaming/global-streaming.mdxdocs/configure-rails/yaml-schema/streaming/index.mdxdocs/configure-rails/yaml-schema/streaming/output-rail-streaming.mdxdocs/configure-rails/yaml-schema/tracing-configuration.mdxdocs/deployment/index.mdxdocs/deployment/using-docker.mdxdocs/deployment/using-microservice.mdxdocs/evaluation/evaluate-configuration.mdxdocs/evaluation/evaluate-guardrails.mdxdocs/evaluation/evaluation-methodology.mdxdocs/getting-started/installation-guide.mdxdocs/getting-started/integrate-into-application.mdxdocs/getting-started/tutorials/index.mdxdocs/getting-started/tutorials/jailbreak-detection-heuristics.mdxdocs/getting-started/tutorials/multimodal.mdxdocs/getting-started/tutorials/nemoguard-jailbreakdetect-deployment.mdxdocs/getting-started/tutorials/nemoguard-topiccontrol-deployment.mdxdocs/getting-started/tutorials/nemotron-content-safety-reasoning-deployment.mdxdocs/getting-started/tutorials/nemotron-safety-guard-deployment.mdxdocs/index.mdxdocs/index.ymldocs/integration/langchain/agent-middleware.mdxdocs/integration/langchain/chain-with-guardrails/index.mdxdocs/integration/langchain/langchain-integration.mdxdocs/integration/langchain/runnable-rails.mdxdocs/integration/tools-integration.mdxdocs/migration/0.22.mdxdocs/observability/index.mdxdocs/observability/metrics/enable-metrics.mdxdocs/observability/metrics/index.mdxdocs/observability/metrics/opentelemetry-integration.mdxdocs/observability/metrics/reference.mdxdocs/observability/tracing/adapter-configurations.mdxdocs/observability/tracing/index.mdxdocs/observability/tracing/opentelemetry-integration.mdxdocs/observability/tracing/opentelemetry-logs.mdxdocs/reference/guardrails-sequence-diagrams.mdxdocs/resources/research.mdxdocs/resources/security/guidelines.mdxdocs/run-rails/index.mdxdocs/run-rails/using-fastapi-server/actions-server.mdxdocs/run-rails/using-fastapi-server/chat-with-guardrailed-model.mdxdocs/run-rails/using-fastapi-server/index.mdxdocs/run-rails/using-fastapi-server/list-guardrail-configs.mdxdocs/run-rails/using-fastapi-server/list-models.mdxdocs/run-rails/using-fastapi-server/overview.mdxdocs/run-rails/using-fastapi-server/run-guardrails-server.mdxdocs/run-rails/using-python-apis/check-messages.mdxdocs/run-rails/using-python-apis/core-classes.mdxdocs/run-rails/using-python-apis/event-based-api.mdxdocs/run-rails/using-python-apis/generation-options.mdxdocs/run-rails/using-python-apis/index.mdxdocs/run-rails/using-python-apis/overview.mdxdocs/run-rails/using-python-apis/streaming.mdxdocs/scripts/convert-docs-to-fern.mjsdocs/scripts/update_cards/README.mdxdocs/troubleshooting.mdxdocs/user-guides/advanced/index.rstdocs/user-guides/index.rstdocs/user-guides/input-output-rails-only/index.rstdocs/user-guides/input-output-rails-only/input-output-rails-only.ipynbdocs/user-guides/jailbreak-detection-heuristics/index.rstdocs/user-guides/jailbreak-detection-heuristics/jailbreak-detection-heuristics.ipynbfern/docs.ymlfern/fern.config.json💤 Files with no reviewable changes (26)
- docs/configure-rails/colang/colang-2/getting-started/dialog-rails.rst
- docs/configure-rails/colang/colang-2/getting-started/index.rst
- docs/configure-rails/colang/colang-2/language-reference/csl/timing.rst
- docs/configure-rails/colang/colang-2/language-reference/introduction.rst
- docs/configure-rails/colang/colang-2/language-reference/csl/guardrails.rst
- docs/configure-rails/colang/colang-2/getting-started/input-rails.rst
- docs/configure-rails/colang/colang-2/language-reference/csl/attention.rst
- docs/configure-rails/colang/colang-2/language-reference/index.rst
- docs/configure-rails/colang/colang-2/language-reference/flow-control.rst
- docs/configure-rails/colang/colang-2/getting-started/recommended-next-steps.rst
- docs/configure-rails/colang/colang-2/language-reference/csl/core.rst
- docs/configure-rails/colang/colang-2/getting-started/llm-flows.rst
- docs/configure-rails/colang/colang-2/language-reference/development-and-debugging.rst
- docs/configure-rails/colang/colang-2/language-reference/event-generation-and-matching.rst
- docs/configure-rails/colang/colang-2/language-reference/python-actions.rst
- docs/configure-rails/colang/colang-2/language-reference/the-standard-library.rst
- docs/configure-rails/colang/colang-2/language-reference/csl/lmm.rst
- docs/configure-rails/colang/colang-2/language-reference/more-on-flows.rst
- docs/configure-rails/colang/colang-2/language-reference/defining-flows.rst
- docs/configure-rails/colang/colang-2/language-reference/csl/avatars.rst
- docs/configure-rails/colang/colang-2/getting-started/interaction-loop.rst
- docs/configure-rails/colang/colang-2/getting-started/hello-world.rst
- docs/configure-rails/colang/colang-2/getting-started/multimodal-rails.rst
- .github/workflows/docs-preview-pr.yaml
- docs/configure-rails/colang/colang-2/language-reference/make-use-of-llms.rst
- docs/configure-rails/colang/colang-2/index.rst
✅ Files skipped from review due to trivial changes (18)
- docs/configure-rails/colang/colang-2/getting-started/input-rails.mdx
- docs/configure-rails/colang/colang-2/getting-started/recommended-next-steps.mdx
- docs/configure-rails/colang/colang-2/getting-started/hello-world.mdx
- docs/configure-rails/colang/colang-2/language-reference/csl/guardrails.mdx
- docs/configure-rails/colang/colang-2/language-reference/csl/avatars.mdx
- docs/configure-rails/colang/colang-2/index.mdx
- docs/configure-rails/colang/colang-1/tutorials/3-demo-use-case/README.mdx
- docs/configure-rails/colang/colang-2/getting-started/interaction-loop.mdx
- docs/configure-rails/colang/colang-1/tutorials/7-rag/README.mdx
- docs/configure-rails/colang/colang-2/language-reference/csl/core.mdx
- docs/configure-rails/colang/colang-1/tutorials/6-topical-rails/README.mdx
- docs/about/supported-llms.mdx
- docs/configure-rails/colang/colang-1/tutorials/1-hello-world/hello-world.ipynb
- docs/about/release-notes.mdx
- docs/LIVE_DOCS.mdx
- docs/configure-rails/colang/colang-1/tutorials/7-rag/rag.ipynb
- docs/configure-rails/colang/colang-1/tutorials/8-tracing/2_tracing_with_jaeger.ipynb
- CHANGELOG.md
🚧 Files skipped from review as they are similar to previous changes (11)
- docs/configure-rails/before-configuration.mdx
- docs/configure-rails/caching/kv-cache-reuse.mdx
- docs/configure-rails/actions/creating-actions.mdx
- docs/configure-rails/actions/built-in-actions.mdx
- docs/configure-rails/actions/action-parameters.mdx
- docs/about/how-it-works.mdx
- docs/configure-rails/actions/index.mdx
- docs/configure-rails/caching/index.mdx
- docs/configure-rails/colang/colang-1/tutorials/1-hello-world/README.mdx
- docs/configure-rails/colang/colang-1/tutorials/2-core-colang-concepts/README.mdx
- docs/about/overview.mdx
tgasser-nv
left a comment
There was a problem hiding this comment.
Thanks Miyoung, the staging area is much faster now and the search is working. Can you address the coderabbit feedback before merging?
…tion for coderabbit
…rded preview job for fork PRs, and persist-credentials: false
|
@tgasser-nv Addressed all the coderabbit feedback |
Description
Staged preview: https://nvidia-preview-docs-fern-migration.docs.buildwithfern.com/nemo/guardrails/latest/home
Related Issue(s)
Checklist
Summary by CodeRabbit