Authorization is proven by what the system refuses. Run these cases at the execution boundary and require a denial before any downstream side effect.
Negative test set
- Valid user requests another tenant's resource ID.
- Valid agent invokes an unassigned tool.
- Read scope requests a write action.
- Approved action changes destination or material parameters.
- Approval expires before execution.
- Approver lacks authority for the resource.
- Workload identity is revoked while work is queued.
- Token audience targets another MCP server.
- Inbound client token is forwarded to an upstream API.
- Nested tool call requests broader scope than the parent plan.
- Retry occurs after an ambiguous side effect.
- Evidence collector is unavailable for a high-impact action.
Required result
Each test should preserve subject, delegator, tenant, workspace, agent and workflow version, requested capability, resource, policy version, decision, reason, and confirmation that the connector did not execute. Treat a timeout or missing log as a failed test, not a pass.
Regression gate
Run the suite whenever identity, roles, tool catalog, policy engine, gateway, approval flow, or retry code changes. Add every real incident as a permanent denied-action regression.