Chapter 4 of 6
Decisions and stop conditions#
Responsible-AI record#
Record one AI system. The record must point to the selected Foundry project, agent, and version. The target scope is one-approved-foundry-agent.
Stop if the Foundry reference is missing, if more than one agent is in scope, or if the record names a production system without a separate approval.
Article 5 and risk class#
The Article 5 screen must be passed or flagged-resolved. A blocked result stops the module.
The risk class must use one of the schema values. If the class is prohibited, stop. If legal or compliance cannot review the class, stop. Do not use this module to work around a legal decision.
Transparency#
The transparency note must include first-interaction disclosure text, upstream Microsoft documentation, known limits, evaluation summary, user notice channel, monitoring route, and review cadence.
Stop if the disclosure text is missing, if the system generates synthetic media and the Article 50 marking decision is unresolved, or if the product owner cannot name who approves the published wording.
Human oversight#
The gated tool must be write or irreversible. The approval mode must stay always_require, and rejection must mean do-not-execute-tool.
The start endpoint stores the requester principal. The resume endpoint must use App Service authentication headers for the approver identity. It rejects a resume call without X-MS-CLIENT-PRINCIPAL, X-MS-CLIENT-PRINCIPAL-ID, and X-MS-CLIENT-PRINCIPAL-NAME. It also rejects self-approval and any approver missing the configured role or group claim.
Stop if the proposed tool is read-only, if the action has no trained approver role, if the approver cannot reject it, if there is no decision store, if the approval gate is not behind App Service authentication, or if the stop mechanism is outside the runtime owner's control.
Pending request store#
The HTTP endpoint in this module stores pending task state in process memory. That is acceptable for a nonproduction module check. It is not a production store. The runtime owner must replace it with the approved durable store before production use or before any scenario where a restart, scale-out, or multi-instance deployment can lose pending approvals.
Stop if the runtime host uses more than one approval-gate instance and does not have a shared pending-task store.
Field reference#
| Field | Required value |
|---|---|
implementationSession | optional-module-responsible-ai-impact-oversight in both JSON records |
targetScope | one-approved-foundry-agent |
system.systemType | agent for this module |
system.autonomyLevel | approval-required when the selected tool is consequential |
euAiAct.article5Screening.outcome | passed or flagged-resolved |
euAiAct.article50Obligations | One or more allowed values, or none by itself |
gatedTool.actionClass | write or irreversible |
gatedTool.approvalMode | always_require |
gatedTool.rejectionBehavior | do-not-execute-tool |
authentication.principalSource | app-service-authentication-headers |
authentication.requiredHeaders | X-MS-CLIENT-PRINCIPAL, X-MS-CLIENT-PRINCIPAL-ID, X-MS-CLIENT-PRINCIPAL-NAME |
authentication.approverClaim.claimType | roles or groups |
authentication.approverClaim.claimValue | Approved app role or group claim value |
records.pendingRequestStore | in-memory-nonproduction |
verification.approvedDecision | approved-executed |
verification.rejectedDecision | rejected-not-executed |