Skip to content

docs(guardrails): note BYOG and LLM-as-judge are not enabled on every tenant yet - #1868

Merged
apetraru-uipath merged 1 commit into
mainfrom
docs/byog-availability-note
Aug 24, 2026
Merged

docs(guardrails): note BYOG and LLM-as-judge are not enabled on every tenant yet#1868
apetraru-uipath merged 1 commit into
mainfrom
docs/byog-availability-note

Conversation

@apetraru-uipath

@apetraru-uipath apetraru-uipath commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

The BYOG and LLM-as-judge sections read as if both features are live. Their SDK halves are — ByoValidator and LLMAsJudgeValidator ship on PyPI — but the platform side of each is still behind a feature flag and isn't enabled on every tenant. A customer already hit this on BYOG.

Adds a Platform Availability note to each section instead of removing the docs. The docs are correct for their audience (coded-agent developers consuming the PyPI package) — they just never said where the boundary is. Removing them would break the audience they serve; versioned docs were already ruled out as too costly to maintain.

No release number, on review feedback. A date published here is a date we then have to hit, and this repo is public. The notes say the feature isn't enabled everywhere yet and point at the product release notes instead. That reference is deliberately not a link to core/release_notes.md — that page tracks PyPI package releases (uipath, uipath-langchain, uipath-runtime) and will never say when a guardrail lands on a tenant; linking it would repeat the exact SDK-version/platform-rollout conflation these notes exist to prevent. For BYOG the note also gives a self-service check that needs no date at all: whether the Guardrails Configurations page is in your Admin panel.

The two notes are worded differently on purpose. BYOG's gate is one admin step — configuring a guardrail connection from a guardrail connection template under Admin → AI Trust Layer → Guardrails Configurations — with the rest of the feature live. For LLM-as-judge the whole guardrail is gated, so its note says it's unavailable regardless of which judge models the governance policy permits. Without that clause, the "must be a model your governance policy allows" line directly below reads as if a policy change fixes it.

Title: Platform Availability, not Version Availability. The latter is already taken and means a uipath PyPI version floor — all three existing uses say "available starting from uipath version 2.1.168 / 2.2.12 / 2.2.13", and the package is on 2.14.7. This page renders both kinds of note, so they need to be tellable apart. See the review thread.

Blast radius: additive, docs only. Two markdown blocks. No SDK or behavior change.

Cleanup: the <!-- REMOVE WHEN: ... --> comments are the hook — grep -rn "REMOVE WHEN" docs/ finds them. One per feature, since the two flags may not clear together. They carry no date either; HTML comments still ship in the published page source.

Paired change: UiPath/uipath-langchain-python#1045 carries the same notes, since publish-docs.yml symlinks that repo's docs/ into this site as docs/langchain. Merging it fires a repository_dispatch that republishes the whole site, so land this PR first or alongside.

Verified: built the full site locally with the langchain docs symlinked exactly the way publish-docs.yml does. Confirmed in the rendered HTML that all notes come out as styled admonition info blocks titled Platform Availability, that no literal !!! leaks, that the #llm-as-judge and #bring-your-own-guardrail-byog anchors still resolve, and that no release number appears anywhere in the built page. --strict was not used — it aborts on a pre-existing google_tag_manager_id config warning unrelated to this change. Build produced no new warnings.

🤖 Generated with Claude Code

Copilot AI 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.

Pull request overview

Adds a documentation-only availability note to clarify that BYOG’s SDK pieces are available, but the required Admin UI configuration is still rolling out (Enterprise ring in 26.10), reducing tenant-level confusion without removing the BYOG docs.

Changes:

  • Adds an !!! info admonition under the “Bring Your Own Guardrail (BYOG)” section describing feature-flag/rollout status.
  • Adds a <!-- REMOVE WHEN: ... --> cleanup hook comment to ensure the note is removed once rollout completes.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread packages/uipath/docs/core/guardrails.md Outdated
apetraru-uipath added a commit to UiPath/uipath-langchain-python that referenced this pull request Aug 24, 2026
Matches the retitle in UiPath/uipath-python#1868 so both pages of the same
site use one label. "Version Availability" is taken, and means a uipath PyPI
version floor — not a platform ring, which is what 26.10 is.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
apetraru-uipath added a commit to UiPath/uipath-langchain-python that referenced this pull request Aug 24, 2026
Matches UiPath/uipath-python#1868. One note here, not two: this page has a
single "### LLM-as-judge" heading (decorator pattern), and
UiPathLLMAsJudgeMiddleware only appears in the middleware table, whose bullet
already deep-links to the core page's #llm-as-judge anchor — which now carries
the same note. The note names both classes so either reader is covered.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@apetraru-uipath apetraru-uipath changed the title docs(guardrails): note BYOG admin config lands on Enterprise ring in 26.10 docs(guardrails): note BYOG and LLM-as-judge land on the Enterprise ring in 26.10 Aug 24, 2026
@apetraru-uipath
apetraru-uipath force-pushed the docs/byog-availability-note branch from 3098e17 to 5f5609e Compare August 24, 2026 12:10
apetraru-uipath added a commit to UiPath/uipath-langchain-python that referenced this pull request Aug 24, 2026
…ing in 26.10

Pairs with UiPath/uipath-python#1868. This repo's docs/ is symlinked into the
SDK site as docs/langchain by that repo's publish-docs.yml, so the guardrails
guidance here is published alongside the core page and needs the same notes.

The BYOG and LLM-as-judge sections read as if the features were live. Their
SDK halves are — UiPathByoGuardrailMiddleware, UiPathLLMAsJudgeMiddleware,
ByoValidator and LLMAsJudgeValidator all ship on PyPI — but the platform side
of each is still behind a feature flag and reaches the Enterprise ring in
26.10.

Three notes, not four. BYOG has a section under both the middleware and
decorator patterns and both get one: the decorator section has its own anchor
that people deep-link to, so a bare cross-reference was not enough.
LLM-as-judge has a single heading (decorator pattern) —
UiPathLLMAsJudgeMiddleware appears only in the middleware table, whose bullet
already deep-links to the core page's #llm-as-judge anchor, which now carries
the same note. That note names both classes so either reader is covered.

Also drops the vaguer "if the Guardrails Configurations page is not available,
BYOG is not enabled on your tenant yet" from the Admin prerequisite paragraph
— the note now says that two paragraphs above, with a version attached.

Merging this fires a repository_dispatch that republishes the whole site, so
land the uipath-python PR first or alongside.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
… tenant yet

Both sections read as if the features were live. Their SDK halves are —
ByoValidator and LLMAsJudgeValidator ship on PyPI — but the platform side of
each is still behind a feature flag and is not enabled on every tenant. A
customer already hit this on BYOG.

Adds a "Platform Availability" note to each section rather than removing the
docs: they are correct for their audience (coded-agent developers consuming
the PyPI package), they just never said where the boundary is. Versioned docs
were already ruled out as too costly to maintain.

No release number in the notes, on review feedback — a date we publish here is
a date we have to hit, and this repo is public. The notes say the feature is
not enabled everywhere yet and point at the product release notes instead.
That reference is deliberately not a link to core/release_notes.md: that page
tracks PyPI package releases (uipath, uipath-langchain, uipath-runtime) and
will never say when a guardrail lands on a tenant. For BYOG the note also
gives a self-service check that needs no date at all — whether the Guardrails
Configurations page is in your Admin panel.

The two notes are worded differently on purpose. BYOG's gate is one admin step
— configuring a guardrail connection from a guardrail connection template —
with the rest of the feature live. For LLM-as-judge the whole guardrail is
gated, so its note says it is unavailable regardless of which judge models the
governance policy permits; without that clause the "must be a model your
governance policy allows" line right below reads as if a policy change fixes
it.

Title is "Platform Availability", not "Version Availability". The latter is
taken and means a uipath PyPI version floor (2.1.168, 2.2.12, 2.2.13, package
on 2.14.7). This page renders both kinds, so they have to be tellable apart.

The REMOVE WHEN comments are the cleanup hook, one per feature since the two
flags may not clear together. They carry no date either — HTML comments still
ship in the published page source.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@apetraru-uipath
apetraru-uipath force-pushed the docs/byog-availability-note branch from 5f5609e to 502beda Compare August 24, 2026 13:29
apetraru-uipath added a commit to UiPath/uipath-langchain-python that referenced this pull request Aug 24, 2026
… tenant yet

Pairs with UiPath/uipath-python#1868. This repo's docs/ is symlinked into the
SDK site as docs/langchain by that repo's publish-docs.yml, so the guardrails
guidance here is published alongside the core page and needs the same notes.

The BYOG and LLM-as-judge sections read as if the features were live. Their
SDK halves are — UiPathByoGuardrailMiddleware, UiPathLLMAsJudgeMiddleware,
ByoValidator and LLMAsJudgeValidator all ship on PyPI — but the platform side
of each is still behind a feature flag and is not enabled on every tenant.

No release number in the notes, on review feedback — a date we publish here is
a date we have to hit, and this repo is public. The notes say the feature is
not enabled everywhere yet and point at the product release notes instead.

Three notes, not four. BYOG has a section under both the middleware and
decorator patterns and both get one: the decorator section has its own anchor
that people deep-link to, so a bare cross-reference was not enough.
LLM-as-judge has a single heading (decorator pattern) —
UiPathLLMAsJudgeMiddleware appears only in the middleware table, whose bullet
already deep-links to the core page's #llm-as-judge anchor, which now carries
the same note. That note names both classes so either reader is covered.

Also drops the vaguer "if the Guardrails Configurations page is not available,
BYOG is not enabled on your tenant yet" from the Admin prerequisite paragraph
— the note now says that two paragraphs above.

Merging this fires a repository_dispatch that republishes the whole site, so
land the uipath-python PR first or alongside.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@apetraru-uipath apetraru-uipath changed the title docs(guardrails): note BYOG and LLM-as-judge land on the Enterprise ring in 26.10 docs(guardrails): note BYOG and LLM-as-judge are not enabled on every tenant yet Aug 24, 2026
@sonarqubecloud

Copy link
Copy Markdown

@apetraru-uipath
apetraru-uipath merged commit 358b4af into main Aug 24, 2026
97 of 98 checks passed
@apetraru-uipath
apetraru-uipath deleted the docs/byog-availability-note branch August 24, 2026 14:11
apetraru-uipath added a commit to UiPath/uipath-langchain-python that referenced this pull request Aug 24, 2026
… tenant yet

Pairs with UiPath/uipath-python#1868. This repo's docs/ is symlinked into the
SDK site as docs/langchain by that repo's publish-docs.yml, so the guardrails
guidance here is published alongside the core page and needs the same notes.

The BYOG and LLM-as-judge sections read as if the features were live. Their
SDK halves are — UiPathByoGuardrailMiddleware, UiPathLLMAsJudgeMiddleware,
ByoValidator and LLMAsJudgeValidator all ship on PyPI — but the platform side
of each is still behind a feature flag and is not enabled on every tenant.

No release number in the notes, on review feedback — a date we publish here is
a date we have to hit, and this repo is public. The notes say the feature is
not enabled everywhere yet and point at the product release notes instead.

Three notes, not four. BYOG has a section under both the middleware and
decorator patterns and both get one: the decorator section has its own anchor
that people deep-link to, so a bare cross-reference was not enough.
LLM-as-judge has a single heading (decorator pattern) —
UiPathLLMAsJudgeMiddleware appears only in the middleware table, whose bullet
already deep-links to the core page's #llm-as-judge anchor, which now carries
the same note. That note names both classes so either reader is covered.

Also drops the vaguer "if the Guardrails Configurations page is not available,
BYOG is not enabled on your tenant yet" from the Admin prerequisite paragraph
— the note now says that two paragraphs above.

Merging this fires a repository_dispatch that republishes the whole site, so
land the uipath-python PR first or alongside.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
apetraru-uipath added a commit to UiPath/skills that referenced this pull request Aug 25, 2026
…lity

Three coded-guardrail references tell the agent to WebFetch
core/guardrails/ and langchain/guardrails/ and treat them as a source of
truth. Those pages just gained "Platform Availability" notes saying BYOG and
LLM-as-judge are not enabled on every tenant (UiPath/uipath-python#1868,
UiPath/uipath-langchain-python#1045). Nothing told the agent that prose is
product-wide, not a statement about the tenant in front of it.

The risk is a false stop: an agent refusing to author, or filing a review
finding, for a validator that `uip agent guardrails list` reports as Available
on this tenant. guardrails-recommend.md is the sharpest case — in Validate
mode it already calls the SDK docs "authoritative, sufficient" and demotes the
tenant list to a non-mandatory cross-check.

So: a precedence line in each of the three, placed where each file scopes what
to take from the fetched pages. Deliberately no availability note of the docs'
kind in any skill — skills resolve availability at runtime against the live
tenant, and a static "not available yet" line would go stale the moment the
flag flips and could cause the very refusal this guards against.

Verified: skills:validate OK (26 skills, both flavors). Evals on Sonnet 5
(coder-eval 0.10.2, the version tests/.coder-eval-version pins) over the 17
tasks covering these three files — 15/17 pass. The two failures,
coded-byog-middleware (0.000) and coded-byog-decorator (0.231), reproduce
identically on unmodified main with the same flags: same scores, same checker
messages. Pre-existing, not caused by this change, and worth its own look
since a prior recorded Sonnet run had both at 1.0.

Not fixed here, found while checking: getGuardrailDefinitions drops
"FeatureDisabled" outright, so a flagged-off validator yields no list entry at
all rather than a bad status. The coded authoring rule keys on
Status != "Available" and so never fires for it, while the low-code twin
handles absence explicitly. No skill reads the "FeatureDisabled" status the
catalog does expose. Needs its own issue.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
gabrielavaduva pushed a commit to UiPath/skills that referenced this pull request Aug 25, 2026
…lity (#2787)

Three coded-guardrail references tell the agent to WebFetch
core/guardrails/ and langchain/guardrails/ and treat them as a source of
truth. Those pages just gained "Platform Availability" notes saying BYOG and
LLM-as-judge are not enabled on every tenant (UiPath/uipath-python#1868,
UiPath/uipath-langchain-python#1045). Nothing told the agent that prose is
product-wide, not a statement about the tenant in front of it.

The risk is a false stop: an agent refusing to author, or filing a review
finding, for a validator that `uip agent guardrails list` reports as Available
on this tenant. guardrails-recommend.md is the sharpest case — in Validate
mode it already calls the SDK docs "authoritative, sufficient" and demotes the
tenant list to a non-mandatory cross-check.

So: a precedence line in each of the three, placed where each file scopes what
to take from the fetched pages. Deliberately no availability note of the docs'
kind in any skill — skills resolve availability at runtime against the live
tenant, and a static "not available yet" line would go stale the moment the
flag flips and could cause the very refusal this guards against.

Verified: skills:validate OK (26 skills, both flavors). Evals on Sonnet 5
(coder-eval 0.10.2, the version tests/.coder-eval-version pins) over the 17
tasks covering these three files — 15/17 pass. The two failures,
coded-byog-middleware (0.000) and coded-byog-decorator (0.231), reproduce
identically on unmodified main with the same flags: same scores, same checker
messages. Pre-existing, not caused by this change, and worth its own look
since a prior recorded Sonnet run had both at 1.0.

Not fixed here, found while checking: getGuardrailDefinitions drops
"FeatureDisabled" outright, so a flagged-off validator yields no list entry at
all rather than a bad status. The coded authoring rule keys on
Status != "Available" and so never fires for it, while the low-code twin
handles absence explicitly. No skill reads the "FeatureDisabled" status the
catalog does expose. Needs its own issue.

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants