diff --git a/skills/uipath-agents/references/coded/capabilities/guardrails/guardrails-recommend.md b/skills/uipath-agents/references/coded/capabilities/guardrails/guardrails-recommend.md index 63ada7dbfc..174c823db7 100644 --- a/skills/uipath-agents/references/coded/capabilities/guardrails/guardrails-recommend.md +++ b/skills/uipath-agents/references/coded/capabilities/guardrails/guardrails-recommend.md @@ -14,6 +14,11 @@ Both workflows are driven by live data — the catalog (`uip agent guardrails ca > Full three-fetch mandate applies to **Recommend mode**. In **Validate mode** of an existing guardrail the SDK docs are the authoritative, sufficient source for a validator's scope/stage — `catalog` (relevance metadata) and `list` (tenant entitlement) are recommended cross-checks, not a hard prerequisite for a scope/placement fix. See [Validate Mode](#validate-mode). +> **The SDK docs are authoritative for shape, never for availability.** They carry `Platform Availability` +> notes for features still rolling out (BYOG, LLM-as-judge). Those are product-wide statements, not facts +> about this tenant — only `uip agent guardrails list` decides that. Never withhold or down-rank a +> recommendation because a fetched page called the feature "not enabled on every tenant yet". + **Required first operation in both modes:** use `WebFetch` on `https://uipath.github.io/uipath-python/core/guardrails/` before catalog calls, project inspection, analysis, or edits. A coded guardrail recommendation or diff --git a/skills/uipath-agents/references/coded/capabilities/guardrails/guardrails.md b/skills/uipath-agents/references/coded/capabilities/guardrails/guardrails.md index 1aa4809e5f..0eedbf8823 100644 --- a/skills/uipath-agents/references/coded/capabilities/guardrails/guardrails.md +++ b/skills/uipath-agents/references/coded/capabilities/guardrails/guardrails.md @@ -24,6 +24,8 @@ Add guardrails to a Python coded agent (LangChain/LangGraph) in two styles: **mi - Entity type names or their allowed values - Import paths +> **That authority covers shape, not availability.** These pages carry `Platform Availability` notes for features still rolling out (BYOG, LLM-as-judge). Those notes are product-wide, never a statement about the tenant in front of you — [Check Tenant Availability](#check-tenant-availability-mandatory-for-built-in-ai-validators) below is the only authority for that. A validator the docs describe as "not enabled on every tenant yet" can still be `Available` here; author it. + When available, the `langchain/guardrails/` page documents three actions — **`LogAction`**, **`BlockAction`**, and **`EscalateAction`** (human-in-the-loop). Treat the fetched page as the source of truth for `EscalateAction`'s parameters, supported scopes, and stages; the operational wiring it doesn't cover (the suspend->resume UX, the diff --git a/skills/uipath-review/references/agents/guardrails/coded-guardrails-review.md b/skills/uipath-review/references/agents/guardrails/coded-guardrails-review.md index 147297e902..7bf02b7986 100644 --- a/skills/uipath-review/references/agents/guardrails/coded-guardrails-review.md +++ b/skills/uipath-review/references/agents/guardrails/coded-guardrails-review.md @@ -167,6 +167,10 @@ the mapping IS needed, fetch via `WebFetch`: (`uipath-langchain` in `pyproject.toml` or `from langchain…` / `from langgraph…` imports): middleware classes, their supported scopes/stages, and the `uipath_langchain.guardrails` import paths. +The `Platform Availability` notes on these pages are product-wide, so never turn one into a review finding: +tenant availability comes from `uip agent guardrails list`, and the fetched pages supply class, scope, and +import names only. + Build a `{ validator_id → { middleware_class, validator_class, entity_enum, allowed_scopes, allowed_stages, import_path } }` lookup by joining catalog entries with the SDK class names. Use the fetched content as the sole source of truth for class/enum/import names — never memory.