docs(http): document canonical outbound HTTP clients - #2260
Conversation
ce03258 to
0e4a8e6
Compare
Greptile SummaryThe PR documents the canonical outbound HTTP client and updates action, lifecycle, testing, retry, and observability guidance.
|
| Filename | Overview |
|---|---|
| docs/configure-rails/actions/outbound-http.mdx | Adds the canonical outbound HTTP usage, ownership, retry, instrumentation, security, and testing guide. |
| docs/configure-rails/actions/creating-actions.mdx | Updates action examples for explicit rail outcomes and canonical HTTP calls, but retains incorrect Colang 1.0 message-context keys in two safety examples. |
| docs/configure-rails/custom-initialization/init-function.mdx | Replaces unmanaged initialization-time HTTP client guidance with an application-owned lifecycle example. |
| docs/observability/metrics/reference.mdx | Extends the metrics reference with explicitly enabled outbound HTTP client instrumentation. |
| docs/observability/tracing/span-reference.mdx | Documents canonical outbound HTTP client spans and privacy-safe attributes. |
| docs/index.yml | Adds the outbound HTTP guide to Custom Actions navigation. |
Flowchart
%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[Custom action] --> B{Injected HTTPClient?}
B -->|Yes| C[Borrow shared client]
B -->|No| D[Create call-scoped client]
C --> E[http_call]
D --> E
E --> F[Materialized HTTPResponse]
D --> G[Close call-scoped client]
C --> H[Application closes shared client]
Reviews (10): Last reviewed commit: "docs(http): clarify IORails client owner..." | Re-trigger Greptile
📝 WalkthroughWalkthroughThis documentation update adds references for RailOutcome, outbound HTTP, observability, and Rail Manifests. It updates action examples for canonical HTTP clients, lifecycle ownership, timeout handling, and migration from ChangesDocumentation references
Estimated code review effort: 4 (Complex) | ~45 minutes Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 6✅ Passed checks (6 passed)
✨ Finishing Touches 💡 1🛠️ Fix failing CI checks 💡
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 5
🤖 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/actions/creating-actions.mdx`:
- Around line 82-91: Import action in each standalone example before its `@action`
decorator: docs/configure-rails/actions/creating-actions.mdx lines 82-91,
189-201, and 248-263. Preserve the existing HTTP imports and example
implementations.
In `@docs/configure-rails/actions/outbound-http.mdx`:
- Around line 149-154: Update the RetryPolicy example to preserve the default
retryable methods while adding POST to the set, or explicitly state that
retrying only POST is intentional. Adjust the retryable_methods configuration in
the shown policy example without changing unrelated settings.
In `@docs/configure-rails/actions/rail-outcomes.mdx`:
- Around line 78-80: Update the metadata guidance in the rail outcomes
documentation to recommend only redacted provider status and error codes as
provider-related evidence. Explicitly state that raw request and response
payloads, including user content, must not be stored in metadata, while
preserving the existing guidance that metadata is non-load-bearing and
potentially observable.
In `@docs/observability/tracing/span-reference.mdx`:
- Around line 11-12: Update the introductory sentence to refer to “the NVIDIA
NeMo Guardrails library” instead of “The NeMo Guardrails library,” preserving
the rest of the span-reference description unchanged.
In `@docs/reference/rail-manifests.mdx`:
- Line 68: Update the example rail’s docs_url value to use a rendered Fern route
defined in docs/index.yml; alternatively remove docs_url if no target page
exists. Verify the selected route is included in navigation and is not a
source-file path.
🪄 Autofix
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: 84146a49-a13e-4b94-95ac-49feb26ee140
📒 Files selected for processing (10)
docs/configure-rails/actions/creating-actions.mdxdocs/configure-rails/actions/index.mdxdocs/configure-rails/actions/outbound-http.mdxdocs/configure-rails/actions/rail-outcomes.mdxdocs/configure-rails/actions/registering-actions.mdxdocs/configure-rails/custom-initialization/init-function.mdxdocs/index.ymldocs/observability/metrics/reference.mdxdocs/observability/tracing/span-reference.mdxdocs/reference/rail-manifests.mdx
3fd8233 to
328ef88
Compare
46a1295 to
5f86491
Compare
Signed-off-by: Pouyanpi <13303554+Pouyanpi@users.noreply.github.com>
Signed-off-by: Pouyanpi <13303554+Pouyanpi@users.noreply.github.com>
Signed-off-by: Miyoung Choi <miyoungc@nvidia.com>
Signed-off-by: Pouyanpi <13303554+Pouyanpi@users.noreply.github.com>
5f86491 to
9978e97
Compare
|
@greptileai do you confirm that all your review concerns are either addressed in the latest commits or are invalid? |
|
All 10 review threads are resolved. My specific comments were:
All threads are marked resolved and the "outdated" status confirms the underlying code was updated after each comment was posted. Yes, all my review concerns are addressed. |
Documents the canonical outbound HTTP client contract, lifecycle, and observability behavior.
Summary by CodeRabbit