From 8572518a7360075e68542d07348ca94064bb7fcb Mon Sep 17 00:00:00 2001 From: Yimin-Jin <139844715+Yimin-Jin@users.noreply.github.com> Date: Mon, 28 Sep 2026 05:43:17 +0000 Subject: [PATCH 1/2] ci: sync sample catalog from foundry-samples (yimin/catalog-review-correction-e2e-20260928) --- samples/hosted-agent/sample-catalog.json | 27 +++++++++++++++++------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/samples/hosted-agent/sample-catalog.json b/samples/hosted-agent/sample-catalog.json index b4ce6cd..cd732ae 100644 --- a/samples/hosted-agent/sample-catalog.json +++ b/samples/hosted-agent/sample-catalog.json @@ -1,7 +1,7 @@ { - "commitSha": "be4706c76acfe44e2ae99c2818efdc4c5ab25bd9", + "commitSha": "5642c45da33220d5bb95bbe08fa67f34373bd96d", "repo": "https://github.com/microsoft-foundry/foundry-samples/", - "generatedAt": "2026-09-23T05:22:25Z", + "generatedAt": "2026-09-28T05:42:37Z", "dimensions": { "language": { "title": "Select a Language", @@ -1155,6 +1155,15 @@ "description": "Agent that uses custom persistence stores for conversation chains and response records.", "path": "samples/python/hosted-agents/langgraph/responses/13-custom-store", "requiresModel": true + }, + { + "language": "python", + "framework": "agent-framework", + "protocol": "invocations", + "displayName": "Content Safety Guardrail", + "description": "This deliberately overlong end-to-end test description describes a hosted agent using an RAI content safety guardrail to screen prompts and responses against a configured Responsible AI policy.", + "path": "samples/python/hosted-agents/agent-framework/invocations/02-content-safety-guardrail", + "requiresModel": true } ], "patterns": [ @@ -2090,23 +2099,25 @@ "title": "Content Safety Guardrail", "categoryId": "security-governance-ops", "details": { - "summary": "Apply a Responsible AI policy to check prompts and responses in the hosting platform.", - "whatItDoes": "Associates an RAI policy with the hosted agent so the platform applies configured input and output checks. These checks reduce risk but do not guarantee safe outputs.", + "summary": "Apply a Responsible AI policy to check prompts and responses in the hosting platform. Supports both Responses and Invocations protocols; the Invocations protocol requires additional invocationsModeration configuration to locate text fields.", + "whatItDoes": "Associates an RAI policy with the hosted agent so the platform applies configured input and output checks. These checks reduce risk but do not guarantee safe outputs. On the Responses protocol the platform can find message text automatically; on the Invocations protocol you must supply an invocationsModeration block (inputPaths, outputPaths, streamSelectors, etc.) so the platform knows which fields to screen.", "whyUseIt": "Explore definition-level safety configuration separately from application code.", - "exampleScenario": "Compare how the configured policy handles permitted and blocked test prompts.", + "exampleScenario": "Compare how the configured policy handles permitted and blocked test prompts. For Invocations, also test that inputPaths/outputPaths/streamSelectors match your request/response shape so the policy actually screens the intended fields.", "bestFit": "Teams evaluating platform safety configuration for hosted agents.", "capabilities": [ "References an RAI policy", "Applies configured platform checks", - "Separates policy setup from basic chat code" + "Separates policy setup from basic chat code", + "Requires invocationsModeration to screen custom request/response shapes (Invocations only)" ], - "whatItGenerates": "A Python chat agent with policy-aware hosting configuration. Merely copying the code does not activate a cloud policy.", + "whatItGenerates": "A Python chat agent project that declares an RAI policy in its hosting configuration. The Invocations protocol variant in this set includes an invocationsModeration example showing how to map request/response fields and streamed frames; the Responses variant relies on the platform's known message shape.", "requirements": [ "Model deployment, RAI policy" ] }, "templatePaths": [ - "samples/python/hosted-agents/agent-framework/responses/16-content-safety-guardrail" + "samples/python/hosted-agents/agent-framework/responses/16-content-safety-guardrail", + "samples/python/hosted-agents/agent-framework/invocations/02-content-safety-guardrail" ] }, { From 9045400ae322f3e57386a443249b84dba6c4b505 Mon Sep 17 00:00:00 2001 From: "foundry-toolkit-sync-bot[bot]" <288230154+foundry-toolkit-sync-bot[bot]@users.noreply.github.com> Date: Mon, 28 Sep 2026 05:44:31 +0000 Subject: [PATCH 2/2] fix(samples): apply skill-reviewed catalog corrections --- samples/hosted-agent/sample-catalog.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/hosted-agent/sample-catalog.json b/samples/hosted-agent/sample-catalog.json index cd732ae..a5cfad2 100644 --- a/samples/hosted-agent/sample-catalog.json +++ b/samples/hosted-agent/sample-catalog.json @@ -1161,7 +1161,7 @@ "framework": "agent-framework", "protocol": "invocations", "displayName": "Content Safety Guardrail", - "description": "This deliberately overlong end-to-end test description describes a hosted agent using an RAI content safety guardrail to screen prompts and responses against a configured Responsible AI policy.", + "description": "Hosted Python agent using an RAI content safety guardrail (Invocations protocol).", "path": "samples/python/hosted-agents/agent-framework/invocations/02-content-safety-guardrail", "requiresModel": true }